/* App-wide sheets. Keep the runtime's 34px wheel geometry intact. */
:root{--app-sheet-surface:#fff;--app-sheet-ink:#1e293b;--app-sheet-muted:#64748b;--app-sheet-mask:rgba(15,23,42,.38);--app-sheet-shadow:0 -12px 48px rgba(30,41,59,.16)}
.uni-picker-container .uni-mask.uni-picker-mask,uni-modal>.uni-mask{background:var(--app-sheet-mask);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.uni-picker-container .uni-picker-custom{position:fixed;box-sizing:border-box;width:100%!important;max-width:600px;left:50%;right:auto;top:auto;bottom:0;transform:translate(-50%,100%);opacity:1;visibility:hidden;border:1px solid rgba(226,232,240,.8);border-bottom:0;border-radius:24px 24px 0 0;padding-top:20px;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--app-sheet-surface);box-shadow:var(--app-sheet-shadow);overflow:hidden;transition:transform .26s cubic-bezier(.22,.7,.2,1),visibility .26s}
.uni-picker-container .uni-picker-custom.uni-picker-toggle{visibility:visible;transform:translate(-50%,0)}
.uni-picker-container .uni-picker-custom:before,.patient-register__sheet:before,uni-modal .uni-modal:before{content:"";position:absolute;top:10px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:4px;background:#d6dce6;pointer-events:none}
.uni-picker-container.uni-selector-select .uni-picker-header,.uni-picker-container .uni-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;height:64px;padding:8px 16px;border-radius:0;background:#fff}
.uni-picker-container .uni-picker-header:before{content:"请选择";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:17px;font-weight:600;color:var(--app-sheet-ink);pointer-events:none}
.uni-picker-container .uni-picker-header:after{border-color:#edf0f5}
.uni-picker-container .uni-picker-action{position:relative;float:none;flex:none;min-width:64px;height:44px;max-width:40%;padding:0 14px;border-radius:12px;font-size:16px;font-weight:600;line-height:44px;-webkit-tap-highlight-color:transparent}
.uni-picker-container .uni-picker-action.uni-picker-action-cancel{float:none;color:var(--app-sheet-muted);background:#f1f5f9}
.uni-picker-container .uni-picker-action.uni-picker-action-confirm{float:none;color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 12px rgba(79,70,229,.18)}
.uni-picker-container .uni-picker-action:active{filter:brightness(.95)}
.uni-picker-container.uni-selector-select .uni-picker-content,.uni-picker-container .uni-picker-content{display:block;height:238px;border-radius:0;background:#fff;overflow:hidden}
.uni-picker-container .uni-picker-select{display:none!important}
.uni-picker-container .uni-picker-item{height:34px;line-height:34px;padding:0 12px;font-size:18px;font-weight:500;color:var(--app-sheet-ink);background:transparent}
.uni-picker-container .uni-picker-view-indicator{left:10px;width:calc(100% - 20px);border-radius:10px;background:rgba(99,102,241,.065)}
.uni-picker-container .uni-picker-view-indicator:before,.uni-picker-container .uni-picker-view-indicator:after{border-color:rgba(99,102,241,.15)}
.uni-picker-container .uni-picker-view-mask{background-image:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.45)),linear-gradient(0deg,rgba(255,255,255,.98),rgba(255,255,255,.45))}

/* Confirmation and editable dialogs use the same reachable bottom surface. */
uni-modal .uni-modal{position:fixed;box-sizing:border-box;top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:600px;max-height:90vh;max-height:90dvh;padding:28px 20px calc(20px + env(safe-area-inset-bottom,0px));border:1px solid #e2e8f0;border-bottom:0;border-radius:24px 24px 0 0;background:#fff;box-shadow:var(--app-sheet-shadow);overflow-y:auto;overscroll-behavior:contain;text-align:left}
uni-modal .uni-modal__hd{padding:0 0 12px}
uni-modal .uni-modal__title{font-size:20px;line-height:1.5;font-weight:700;color:var(--app-sheet-ink)}
uni-modal .uni-modal__bd{padding:0 0 20px;min-height:0;max-height:55vh;max-height:55dvh;font-size:16px;line-height:1.7;color:#475569;word-break:break-word}
uni-modal .uni-modal__textarea{display:block;box-sizing:border-box;width:100%;min-height:112px;margin:0 0 20px;padding:14px;border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc;font-size:16px;line-height:1.6;color:var(--app-sheet-ink)}
uni-modal .uni-modal__textarea:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px rgba(99,102,241,.1)}
uni-modal .uni-modal__ft{display:flex;gap:12px;line-height:1.5;font-size:16px}
uni-modal .uni-modal__ft:after,uni-modal .uni-modal__btn:after{display:none}
uni-modal .uni-modal__btn{min-height:50px;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:14px;font-weight:600}
uni-modal .uni-modal__btn_default{border:1px solid #dbe3ef;background:#f8fafc}
uni-modal .uni-modal__btn_primary{background:#eef2ff;box-shadow:inset 0 0 0 1px #c7d2fe}
uni-modal .uni-modal__btn:active{background:#e0e7ff}

/* Existing physician sheet shares the same surface and safe-area treatment. */
#app .patient-register-page .patient-register__overlay{background:var(--app-sheet-mask);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#app .patient-register-page .patient-register__sheet{position:relative;max-width:600px;padding-top:24px;border:1px solid #e2e8f0;border-bottom:0;border-radius:24px 24px 0 0;background:#fff;box-shadow:var(--app-sheet-shadow)}
#app .patient-register-page .patient-register__sheet-close{min-width:64px;min-height:44px;padding:0 12px;border-radius:12px;background:#f1f5f9;color:#64748b;font-weight:600}
@media (prefers-reduced-motion:no-preference){
  .patient-register__sheet{animation:app-sheet-rise .26s cubic-bezier(.22,.7,.2,1)}
  uni-modal .uni-modal{animation:app-modal-rise .26s cubic-bezier(.22,.7,.2,1)}
  @keyframes app-sheet-rise{from{transform:translateY(100%);opacity:.7}to{transform:translateY(0);opacity:1}}
  @keyframes app-modal-rise{from{transform:translate(-50%,100%);opacity:.7}to{transform:translate(-50%,0);opacity:1}}
}
@media (prefers-reduced-motion:reduce){.uni-picker-container .uni-picker-custom{transition:none}}
