.auth-page{background:var(--bg);min-height:100dvh;display:grid}.auth-brand{color:var(--white);background:radial-gradient(circle at 18% 20%, #20c9d847, transparent 32%), radial-gradient(circle at 88% 78%, #67e0e82e, transparent 36%), linear-gradient(165deg, var(--primary-dark) 0%, var(--primary) 52%, var(--primary-light) 100%);padding:48px 56px;display:none;position:relative;overflow:hidden}.auth-brand:after{content:"";border:1px solid #67e0e838;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-70px;right:-80px}.auth-brand-inner{z-index:1;flex-direction:column;justify-content:center;max-width:420px;height:100%;display:flex;position:relative}.auth-brand .logo{width:min(320px,100%);margin-bottom:36px}.auth-brand h2{letter-spacing:-.03em;margin-bottom:12px;font-size:clamp(1.6rem,2.4vw,2.15rem);font-weight:700;line-height:1.25}.auth-brand p{color:#ffffffc7;margin-bottom:32px;font-size:1rem}.auth-brand-points{gap:14px;display:grid}.auth-brand-points span{color:#ffffffe6;align-items:center;gap:12px;font-size:.95rem;display:flex}.auth-brand-points i{background:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 6px #20c9d829}.auth-panel{justify-content:center;align-items:center;padding:24px 16px 32px;display:flex}.auth-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);box-shadow:var(--shadow);padding:28px 22px 24px}.auth-card.auth-card-register{width:min(480px,100%)}.auth-card-mobile-logo{justify-content:center;margin-bottom:22px;display:flex}.auth-card-mobile-logo .logo{width:min(230px,82%)}.auth-card h1{letter-spacing:-.03em;color:var(--text);font-size:1.55rem;font-weight:700}.auth-card>p.auth-subtitle{color:var(--text-secondary);margin-top:6px;margin-bottom:22px;font-size:.92rem}.auth-form{gap:14px;display:grid}.auth-field{gap:6px;display:grid}.auth-field label{color:var(--text);font-size:.82rem;font-weight:600}.auth-input-wrap{position:relative}.auth-input-wrap svg{width:18px;height:18px;color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-input-wrap input{border:1px solid var(--border);background:var(--bg);width:100%;height:48px;color:var(--text);border-radius:12px;outline:none;padding:0 44px;transition:border-color .15s,box-shadow .15s,background .15s}.auth-input-wrap input::placeholder{color:#98a2b3}.auth-input-wrap input:focus{background:var(--white);border-color:var(--primary-light);box-shadow:0 0 0 4px #3028a01f}.auth-field.has-error input{border-color:var(--error);background:#fff7f7}.auth-field.has-error input:focus{box-shadow:0 0 0 4px #d645451f}.auth-toggle{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-toggle:hover,.auth-toggle:focus-visible{color:var(--primary);background:#140c750f}.auth-error{color:var(--error);min-height:1em;font-size:.75rem}.auth-banner{border-radius:12px;padding:10px 12px;font-size:.85rem;font-weight:600}.auth-banner.success{color:var(--success);background:#e9f8f1}.auth-banner.error{color:var(--error);background:#fdecec}.auth-submit{background:linear-gradient(180deg, var(--primary-light) 0%, var(--primary) 100%);height:48px;color:var(--white);cursor:pointer;border:0;border-radius:12px;margin-top:4px;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 10px 20px #140c7538}.auth-submit:hover{filter:brightness(1.05);transform:translateY(-1px)}.auth-submit:active{transform:translateY(0)}.auth-submit:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.auth-submit:disabled{opacity:.7;cursor:not-allowed;filter:none;transform:none}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:18px;font-size:.9rem}.auth-footer a{color:var(--primary);font-weight:700;text-decoration:none}.auth-footer a:hover{color:var(--accent)}@media (width>=640px){.auth-panel{padding:40px 24px}.auth-card{padding:36px 34px 30px}}@media (width>=960px){.auth-page{grid-template-columns:minmax(320px,1.05fr) minmax(360px,1fr)}.auth-brand{display:block}.auth-card-mobile-logo{display:none}.auth-panel{padding:40px}}@media (width<=380px){.auth-card{padding:22px 16px 20px}.auth-card h1{font-size:1.35rem}.auth-input-wrap input{height:46px}}.app-header{background:linear-gradient(135deg, var(--primary-dark), var(--primary) 55%, var(--primary-light));padding:16px 20px}.app-header-inner{align-items:center;gap:16px;width:min(1100px,100%);margin:0 auto;display:flex}.app-header .logo{flex-shrink:0;width:min(180px,42vw)}.app-header-meta{color:var(--white);flex:1;min-width:0}.app-header-meta p{font-size:.95rem;font-weight:700}.app-header-meta span{color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.app-logout{color:var(--white);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff38;border-radius:10px;height:40px;padding:0 16px;font-weight:700}.app-logout:hover{background:#fff3}.dept-header-inner{flex-wrap:wrap;gap:18px}.dept-nav{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.dept-nav a{color:#ffffffc7;border-radius:10px;align-items:center;height:38px;padding:0 12px;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.dept-nav a.is-active,.dept-nav a:hover{color:#fff;background:#ffffff24}.dept-header-user{color:#fffc;align-items:center;gap:10px;margin-left:auto;font-size:.8rem;display:flex}.range-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.range-tabs{gap:8px;display:flex}.range-tabs button{border:1px solid var(--border,#e2e6f0);color:#172033;cursor:pointer;background:#fff;border-radius:999px;height:38px;padding:0 14px;font-weight:700}.range-tabs button.is-active{color:#fff;background:#140c75;border-color:#140c75}.range-shift{align-items:center;gap:10px;display:flex}.panel-head-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.panel-head-row .add-department-btn{width:auto;min-width:140px;margin:0}.app-shell{background:var(--bg);min-height:100dvh}.app-main{width:min(1100px,100% - 32px);margin:0 auto;padding:24px 0 40px}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:22px 24px}.stat-card span{color:var(--text-secondary);font-size:.88rem;font-weight:600}.stat-card strong{color:var(--primary);letter-spacing:-.04em;margin-top:4px;font-size:2rem;display:block}.dashboard-grid{gap:20px;display:grid}.panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.panel h2{margin-bottom:6px;font-size:1.15rem}.panel p.panel-copy{color:var(--text-secondary);margin-bottom:18px;font-size:.9rem}.hospital-form{gap:12px;display:grid}.hospital-list{gap:10px;display:grid}.hospital-row{border:1px solid var(--border);background:var(--bg);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.hospital-row strong{color:var(--text);display:block}.hospital-row span{color:var(--text-secondary);font-size:.85rem}.hospital-row-body{flex:1;min-width:0}.hospital-row-body span{display:block}.today-field{text-align:left;gap:6px;display:grid}.today-field>span,.today-field>label{color:#172033;font-size:.82rem;font-weight:700}.today-field input[type=text]{border:1px solid var(--border);background:var(--bg);width:100%;height:48px;color:var(--text);border-radius:12px;padding:0 14px}.row-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hospital-row>.row-actions{flex-shrink:0;margin-top:0}.row-action{cursor:pointer;border:1px solid var(--border);background:var(--white);height:32px;color:var(--primary);border-radius:8px;padding:0 12px;font-weight:700}.row-action:hover{background:var(--bg)}.row-action.danger{color:var(--danger,#d64545);border-color:color-mix(in srgb, var(--danger,#d64545) 35%, var(--border))}.status-pill{text-transform:capitalize;color:#22a06b;background:#edf9f3;border-radius:999px;flex-shrink:0;height:fit-content;padding:6px 10px;font-size:.75rem;font-style:normal;font-weight:800}.empty-note{color:var(--text-secondary);font-size:.92rem}.slot-day.is-today{border:1px solid var(--border,#e2e6f0);background:#fff;border-radius:16px;padding:14px 16px}.slot-doctor{margin-bottom:14px}.slot-doctor-name{color:var(--text,#172033);margin-bottom:8px;font-size:.88rem;font-weight:700}.welcome-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow);text-align:center;margin:48px auto 0;padding:36px 28px}.welcome-card h1{letter-spacing:-.04em;color:var(--primary);font-size:clamp(1.6rem,4vw,2.2rem)}.welcome-card p{color:var(--text-secondary);margin-top:10px}.hospital-admin-card{max-width:none;margin:0 0 20px}.add-department-btn{width:min(240px,100%);margin:20px auto 0}.admin-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.admin-actions .add-department-btn{margin:20px 0 0}.form-plain-input,.auth-field select.form-plain-input{border:1px solid var(--border);background:var(--bg);width:100%;height:48px;color:var(--text);border-radius:12px;outline:none;padding:0 14px}.form-plain-input:focus,.auth-field select.form-plain-input:focus{background:var(--white);border-color:var(--primary-light);box-shadow:0 0 0 4px #3028a01f}.form-plain-input[readonly]{color:var(--text);cursor:default;box-shadow:none;background:#eef1f8}.photo-card{border:1px dashed var(--border);background:linear-gradient(180deg, #fff 0%, var(--bg) 100%);border-radius:16px;align-items:center;gap:16px;padding:14px 16px;display:flex;position:relative}.photo-card.has-error{border-color:var(--error);background:#fff7f7}.photo-card-frame{border:1px solid var(--border);background:var(--white);border-radius:16px;flex-shrink:0;place-items:center;width:88px;height:88px;display:grid;overflow:hidden;box-shadow:0 8px 20px #140c7514}.photo-card-image{object-fit:cover;width:100%;height:100%}.photo-card-placeholder{color:var(--text-secondary);font-size:.78rem;font-weight:700}.photo-card-meta{flex:1;min-width:0}.photo-card-title{color:var(--text);margin-bottom:8px;font-weight:700}.photo-card-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.photo-card-button{background:var(--primary);height:38px;color:var(--white);pointer-events:none;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;display:inline-flex}.photo-card:hover .photo-card-button{background:var(--primary-light)}.photo-card .field-hint{margin-top:8px}.photo-card .auth-error:empty{display:none}.auth-field.has-error .form-plain-input{border-color:var(--error);background:#fff7f7}.field-hint{color:var(--text-secondary);margin-top:6px;font-size:.75rem;display:block}.photo-preview{object-fit:cover;border:1px solid var(--border);border-radius:12px;width:72px;height:72px;margin-top:8px}.doctor-form{gap:16px;min-width:0;max-height:none;padding-right:2px;display:grid;overflow:hidden auto}.doctor-form-grid,.auth-field{min-width:0}.doctor-form-grid{gap:12px;display:grid}.day-pills{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.day-pill{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;flex:0 auto;height:38px;padding:0 12px;font-weight:700}.day-pill.is-selected{background:var(--primary);border-color:var(--primary);color:var(--white)}.modal-card-wide{flex-direction:column;max-width:100%;max-height:calc(100dvh - 32px);display:flex;overflow:hidden}.modal-card-wide .modal-head,.modal-card-wide .panel-copy{flex-shrink:0}.modal-card-wide .doctor-form{flex:auto;min-height:0}.doctor-row{align-items:center;gap:12px;display:flex}.doctor-thumb{object-fit:cover;border-radius:10px;flex-shrink:0;width:48px;height:48px}@media (width>=760px){.doctor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.doctor-form{gap:16px}}.modal-overlay{z-index:40;-webkit-overflow-scrolling:touch;background:#0d08547a;place-items:center;padding:16px 20px;display:grid;position:fixed;inset:0;overflow:hidden auto}.modal-card{background:var(--white);border-radius:var(--radius);width:min(440px,100%);box-shadow:var(--shadow);margin:auto 0;padding:18px 16px 20px}.modal-card.modal-card-wide{width:min(920px,100vw - 48px);padding:22px 24px 24px}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.modal-head h2{color:var(--primary);font-size:1.2rem}.modal-close{background:var(--bg);width:36px;height:36px;color:var(--text);cursor:pointer;border:0;border-radius:10px;font-size:1.4rem;line-height:1}.modal-close:hover{background:var(--border)}@media (width>=860px){.dashboard-grid{grid-template-columns:1fr 1fr;align-items:start}.app-header{padding:18px 32px}}@media (width<=520px){.app-header-inner{flex-wrap:wrap}.app-logout{margin-left:auto}.app-main{width:calc(100% - 20px);padding:16px 0 28px}.welcome-card,.panel,.stat-card{padding:18px 14px}.welcome-card h1{font-size:1.35rem}.admin-actions{flex-direction:column}.admin-actions .add-department-btn{width:100%}.modal-overlay{place-items:start center;padding:8px}.modal-card,.modal-card.modal-card-wide{width:100%;max-height:none;padding:16px 14px 18px}.doctor-form{max-height:none;overflow:visible}.doctor-form-grid{grid-template-columns:1fr}.doctor-row{align-items:flex-start}.hospital-row span{overflow-wrap:anywhere;display:block}.day-pill{flex:calc(33.33% - 8px)}}.patient-visit-list{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.patient-visit-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.patient-visit-list .row-actions{margin-top:0}.patient-visit-list strong,.patient-visit-list span{display:block}.visit-tiles{gap:10px;display:grid}.visit-tile{text-align:left;border:1px solid var(--border,#e2e6f0);background:var(--bg,#f6f8ff);cursor:pointer;border-radius:14px;padding:14px 16px}.visit-tile strong{color:var(--primary,#140c75);margin-bottom:4px;display:block}.visit-tile span{color:var(--text-secondary,#667085);font-size:.88rem}.report-stack{gap:12px;display:grid}.report-card{border:1px solid var(--border,#e2e6f0);background:var(--bg,#f6f8ff);border-radius:14px;padding:14px}.report-card p,.report-card ul{color:var(--text-secondary,#667085);margin-top:8px;font-size:.9rem}.visit-textarea{resize:vertical;min-height:120px;height:auto!important;padding:12px!important}.medicine-row{border:1px solid var(--border,#e2e6f0);border-radius:12px;margin-bottom:10px;padding:12px}.dose-checks{flex-wrap:wrap;gap:10px 14px;margin:8px 0 4px;font-size:.88rem;font-weight:700;display:flex}.dose-checks label{align-items:center;gap:6px;display:inline-flex}.scan-list{margin:0 0 12px;padding-left:18px}.notice-wrap{position:relative}.notice-bell{cursor:pointer;color:#fff;background:#ffffff1f;border:1px solid #ffffff38;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;position:relative}.notice-bell.is-light{color:#140c75;background:#fff;border-color:#e2e6f0}.notice-bell svg{width:20px;height:20px}.notice-count{color:#fff;background:#d64545;border:2px solid #fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:4px;right:4px}.notice-panel{color:#172033;z-index:80;background:#fff;border:1px solid #e2e6f0;border-radius:16px;width:min(360px,84vw);max-height:min(420px,70vh);padding:10px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 16px 40px #140c7529}.notice-panel-head{justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 10px;display:flex}.notice-panel-head strong{color:#140c75}.notice-empty{color:#667085;padding:18px 8px;font-size:.9rem}.notice-item{text-align:left;cursor:pointer;background:#f6f8ff;border:0;border-radius:12px;width:100%;margin-bottom:0;padding:14px 16px}.notice-item.is-unread{background:#eef6ff;box-shadow:inset 3px 0 #140c75}.notice-item strong,.notice-item span{display:block}.notice-item strong{color:#140c75;font-size:.9rem}.notice-item span{color:#667085;margin-top:3px;font-size:.78rem}.notice-inbox{gap:10px;display:grid}.about-ask{width:100%;box-shadow:var(--shadow,0 8px 24px #140c750f);text-align:left;background:#fff;border:1px solid #e2e6f0;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;padding:20px 22px;display:flex}.about-ask.is-button{cursor:pointer;font:inherit;color:inherit}.about-ask.is-button:hover{border-color:#140c75}.about-ask-copy h2{color:#140c75;margin-bottom:4px;font-size:1.2rem}.about-ask-copy p{color:#667085;font-size:.92rem}.about-ask-logo{object-fit:cover;border:1px solid #e2e6f0;border-radius:14px;flex-shrink:0;width:56px;height:56px}.about-ask-actions .auth-submit{width:auto;min-width:160px;margin:0}.about-page-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.about-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.about-step-pill{color:#667085;cursor:pointer;background:#fff;border:1px solid #e2e6f0;border-radius:12px;min-height:44px;font-size:.82rem;font-weight:700}.about-step-pill.is-done{color:#140c75;border-color:#140c75}.about-step-pill.is-active{color:#fff;background:#140c75;border-color:#140c75}.about-form{gap:14px;display:grid}.about-form textarea.form-plain-input{resize:vertical;min-height:110px;padding:12px 14px}.about-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.about-actions .auth-submit,.about-actions .row-action{width:auto;min-width:160px;margin:0}.about-preview-hero{align-items:center;gap:16px;margin-bottom:18px;display:flex}.about-preview-hero img{object-fit:cover;border:1px solid #e2e6f0;border-radius:18px;width:88px;height:88px}.about-dept-list{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.about-dept-list li{color:#140c75;background:#f6f8ff;border:1px solid #e2e6f0;border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:700}.about-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.about-stat{background:#f6f8ff;border:1px solid #e2e6f0;border-radius:14px;padding:12px 14px}.about-stat span{color:#667085;font-size:.78rem;font-weight:700;display:block}.about-stat strong{color:#140c75;font-size:1.05rem}.about-map{border:1px solid #e2e6f0;border-radius:16px;width:100%;height:240px}.about-feedback-list,.about-gallery-list{gap:12px;display:grid}.about-feedback-item,.about-gallery-card{background:#f6f8ff;border:1px solid #e2e6f0;border-radius:14px;padding:12px 14px}.about-feedback-item{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.about-gallery-thumbs{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:10px;display:grid}.about-gallery-thumb{position:relative}.about-gallery-thumb img{object-fit:cover;border:1px solid #e2e6f0;border-radius:10px;width:100%;height:92px}.about-gallery-thumb button{color:#fff;cursor:pointer;background:#0d0854cc;border:0;border-radius:8px;width:24px;height:24px;position:absolute;top:4px;right:4px}.about-file-btn{color:#fff;cursor:pointer;background:#140c75;border-radius:10px;justify-content:center;align-items:center;width:fit-content;height:38px;padding:0 16px;font-weight:700;display:inline-flex}.about-feature-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.about-feature{color:#140c75;cursor:pointer;background:#f6f8ff;border:1px solid #e2e6f0;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:0 14px;font-weight:700;display:flex}.about-feature input{accent-color:#140c75;width:18px;height:18px}@media (width<=720px){.about-ask{flex-direction:column;align-items:stretch}.about-ask-actions,.about-actions,.about-ask-actions .auth-submit,.about-actions .auth-submit,.about-actions .row-action{width:100%}.about-stats,.about-feature-list{grid-template-columns:1fr}.about-preview-hero{flex-direction:column;align-items:flex-start}}.admin-tabbar,.admin-mobile-top{display:none}.admin-nav{flex-wrap:wrap}.admin-screen .about-ask{width:min(1100px,100% - 32px);margin:20px auto 0}@media (width<=720px){.admin-shell{background:#f4f6ff}.admin-site-header{display:none}.admin-device{width:100%;min-height:100dvh}.admin-mobile-top{z-index:40;background:#fff;border-bottom:1px solid #e2e6f0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.admin-mobile-top .logo{width:min(148px,48vw)}.admin-mobile-logout{color:#140c75;cursor:pointer;background:#f6f8ff;border:1px solid #e2e6f0;border-radius:10px;height:36px;padding:0 14px;font-weight:700}.admin-screen{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.admin-screen .about-ask{border-radius:22px;flex-direction:column;align-items:stretch;width:calc(100% - 20px);margin:12px auto 0}.admin-shell .app-main{width:calc(100% - 20px);padding:16px 0 28px}.admin-shell .panel,.admin-shell .stat-card,.admin-shell .welcome-card{border-radius:22px;padding:16px}.admin-shell .hospital-row,.admin-shell .doctor-row{flex-wrap:wrap}.admin-shell .row-action,.admin-shell .auth-submit{min-height:44px}.admin-tabbar{-webkit-overflow-scrolling:touch;width:100%;height:calc(72px + env(safe-area-inset-bottom));padding:8px 8px calc(8px + env(safe-area-inset-bottom));color:#98a2b3;z-index:50;background:#fff;border-radius:18px 18px 0 0;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -8px 24px #140c7514}.admin-tab{color:inherit;border-radius:12px;flex:0 0 68px;place-items:center;gap:3px;min-height:44px;font-size:.58rem;font-weight:700;text-decoration:none;display:grid}.admin-tab svg{fill:none;width:20px;height:20px}.admin-tab.is-active{color:#140c75;background:0 0}}.pharm-page-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.pharm-back{color:#140c75;cursor:pointer;background:#fff;border:0;border-radius:14px;flex-shrink:0;width:40px;height:40px;font-size:1.6rem;line-height:1;box-shadow:0 8px 20px #140c750f}.pharm-page-copy{flex:1;min-width:0}.pharm-kicker{color:#667085;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:.72rem;font-weight:800}.pharm-page-copy h1{color:#140c75;letter-spacing:-.03em;font-size:1.45rem}.pharm-page-copy p{color:#667085;margin-top:4px;font-size:.88rem}.pharm-page-action{flex-shrink:0}.pharm-page-action .pharm-btn,.pharm-page-action .auth-submit{margin:0}.pharm-page .panel{margin-bottom:12px;padding:16px 18px}.pharm-page .panel h2{color:#140c75;font-size:1.02rem}.pharm-page .panel p.panel-copy{margin-bottom:12px}.pharm-btn,.pharm-page .auth-submit,.pharm-page .add-department-btn{width:auto;min-width:132px;height:42px;margin:12px 0 0;padding:0 18px}.pharm-search .pharm-btn,.pharm-search .auth-submit{margin:0}.pharm-empty{text-align:center;color:#667085;padding:18px 10px;font-size:.88rem}.pharm-list{gap:8px;display:grid}.pharm-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.pharm-stat{box-shadow:var(--shadow,0 8px 24px #140c750f);background:#fff;border:1px solid #e2e6f0;border-radius:16px;padding:16px 18px}.pharm-stat span{color:#667085;font-size:.8rem;font-weight:700;display:block}.pharm-stat strong{color:#140c75;letter-spacing:-.03em;margin-top:6px;font-size:1.45rem;display:block}.pharm-stat.is-warn strong{color:#d64545}.pharm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pharm-grid .span-2,.pharm-field.span-2{grid-column:1/-1}.pharm-field{gap:6px;display:grid}.pharm-field label{color:#172033;font-size:.82rem;font-weight:700}.pharm-field input,.pharm-field select,.pharm-field textarea{width:100%;min-height:42px;font:inherit;color:#172033;background:#fff;border:1px solid #e2e6f0;border-radius:10px;padding:0 12px}.pharm-field textarea{resize:vertical;min-height:84px;padding:10px 12px}.pharm-table{border-collapse:collapse;width:100%;font-size:.88rem}.pharm-table th,.pharm-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e6f0;padding:10px 8px}.pharm-table th{color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.pharm-search{gap:10px;margin-bottom:16px;display:flex}.pharm-search input{min-height:42px;font:inherit;border:1px solid #e2e6f0;border-radius:10px;flex:1;padding:0 12px}.pharm-home-head h1{color:#140c75;letter-spacing:-.04em;font-size:clamp(1.6rem,3vw,2rem)}.pharm-home-head p{color:#667085;margin-top:6px}.pharm-section{margin:22px 0 20px}.pharm-section h2{color:#140c75;margin-bottom:12px;font-size:1.15rem}.pharm-dash-stats,.pharm-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pharm-dash-stat,.pharm-action{color:inherit;background:#fff;border:1px solid #eef1f8;border-radius:18px;text-decoration:none;box-shadow:0 10px 22px #140c750d}.pharm-dash-stat{text-align:center;justify-items:center;gap:6px;padding:14px 10px 12px;display:grid}.pharm-dash-stat i,.pharm-action i{border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.pharm-dash-stat i svg,.pharm-action i svg{width:18px;height:18px}.pharm-dash-stat strong{color:#172033;font-size:1.15rem}.pharm-dash-stat span{color:#667085;font-size:.72rem;font-weight:700}.pharm-action{text-align:center;color:#172033;cursor:pointer;align-content:center;justify-items:center;gap:10px;min-height:104px;padding:16px 8px 12px;font-family:inherit;font-size:.74rem;font-weight:700;display:grid}.pharm-action i.is-purple{color:#7a3cff;background:#f3e8ff}.pharm-action i.is-teal,.pharm-dash-stat i.is-teal{color:#0f9d8e;background:#e6fbf8}.pharm-action i.is-blue,.pharm-dash-stat i.is-blue{color:#3028a0;background:#e8e6ff}.pharm-action i.is-green{color:#22a06b;background:#e8f8ee}.pharm-action i.is-orange,.pharm-dash-stat i.is-orange{color:#e67a1a;background:#fff0e4}.pharm-action i.is-pink,.pharm-dash-stat i.is-pink{color:#d6457a;background:#ffe8ef}.pharm-alert{color:#d64545;background:#fff5f5;border:1px solid #f3c4c4;border-radius:12px;margin-bottom:10px;padding:10px 12px;font-size:.88rem}.pharm-ok{color:#22a06b;background:#f0fff4;border:1px solid #b7e4c7;border-radius:12px;margin-bottom:10px;padding:10px 12px;font-size:.88rem}.pharm-cart{gap:8px;display:grid}.pharm-cart-item{background:#f6f8ff;border:1px solid #e2e6f0;border-radius:12px;grid-template-columns:1fr 90px 90px 28px;align-items:center;gap:8px;padding:10px 12px;display:grid}.pharm-totals{color:#172033;gap:6px;margin:14px 0;display:grid}.pharm-totals strong{color:#140c75;font-size:1.2rem}.pharm-invoice{background:#fff;border:1px solid #e2e6f0;border-radius:16px;padding:20px}.pharm-invoice h3{color:#140c75;margin-bottom:4px}.pharm-actions{flex-wrap:wrap;gap:8px;display:flex}.pharm-page-head+.auth-banner{margin-bottom:12px}@media (width<=900px){.pharm-stats,.pharm-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.pharm-stats,.pharm-grid,.pharm-cart-item{grid-template-columns:1fr}.pharm-dash-stats,.pharm-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pharm-action{min-height:92px;font-size:.68rem}.pharm-page-head{flex-wrap:wrap}.pharm-page-action{width:100%}.pharm-table{display:block;overflow-x:auto}}@media print{.app-header,.admin-mobile-top,.admin-tabbar,.about-ask,.pharm-page-head,.pharm-no-print,.app-logout{display:none!important}.pharm-invoice{box-shadow:none;border:0}}.dept-tabbar,.dept-mobile-top{display:none}@media (width<=720px){.dept-shell{background:#f4f6ff}.dept-site-header{display:none}.dept-device{width:100%;min-height:100dvh}.dept-mobile-top{z-index:40;background:#fff;border-bottom:1px solid #e2e6f0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.dept-mobile-top .dept-header-user{color:#140c75;margin-left:0}.dept-mobile-top .logo{width:min(148px,48vw)}.dept-mobile-logout{color:#140c75;cursor:pointer;background:#f6f8ff;border:1px solid #e2e6f0;border-radius:10px;height:36px;padding:0 14px;font-weight:700}.dept-shell .app-main{width:calc(100% - 20px);padding:16px 0 calc(96px + env(safe-area-inset-bottom))}.dept-shell .panel,.dept-shell .stat-card,.dept-shell .welcome-card{border-radius:22px;padding:16px}.dept-shell .panel h2{font-size:1.2rem}.dept-shell .slot-day.is-today{background:#fff;border:1px solid #e2e6f0;border-radius:18px;padding:12px}.dept-shell .slot-card{border-radius:16px}.dept-shell .range-bar{flex-direction:column;align-items:stretch}.dept-shell .range-tabs,.dept-shell .range-shift{justify-content:space-between}.dept-shell .hospital-list li,.dept-shell .doctor-row,.dept-shell .patient-visit-list li{flex-wrap:wrap}.dept-shell .row-actions{width:100%}.dept-shell .row-action{min-height:44px}.dept-shell .visit-tiles{grid-template-columns:1fr}.dept-shell .visit-tile{border-radius:18px;min-height:72px}.dept-shell .modal-overlay{z-index:80;align-items:start;padding:8px}.dept-tabbar{width:100%;height:calc(72px + env(safe-area-inset-bottom));padding:8px 6px calc(8px + env(safe-area-inset-bottom));color:#98a2b3;z-index:50;background:#fff;border-radius:18px 18px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #140c7514}.dept-tab{color:inherit;border-radius:12px;place-items:center;gap:3px;min-height:44px;font-size:.58rem;font-weight:700;text-decoration:none;display:grid}.dept-tab svg{fill:none;width:20px;height:20px}.dept-tab.is-active{color:#140c75;background:0 0}}.patient-root{background:var(--bg,#f6f8ff);min-height:100dvh}.patient-site-header{background:linear-gradient(135deg,#0d0854,#140c75 55%,#3028a0);padding:16px 32px}.patient-site-header-inner{align-items:center;gap:24px;width:min(1100px,100%);margin:0 auto;display:flex}.patient-site-header .logo{flex-shrink:0;width:min(180px,32vw)}.patient-site-nav{flex:1;align-items:center;gap:6px;display:flex}.patient-site-nav a{color:#ffffffc7;border-radius:10px;align-items:center;gap:8px;height:40px;padding:0 14px;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.patient-site-nav a svg{fill:currentColor;width:18px;height:18px}.patient-site-nav a svg[fill=none]{fill:none}.patient-site-nav a.is-active,.patient-site-nav a:hover{color:#fff;background:#ffffff24}.patient-site-user{color:#fffc;align-items:center;gap:12px;font-size:.82rem;display:flex}.patient-site-logout{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff38;border-radius:10px;height:40px;padding:0 16px;font-weight:700}.patient-site-logout:hover{background:#fff3}.patient-device{background:0 0;width:100%;min-height:calc(100dvh - 72px);margin:0 auto}.patient-screen{width:min(1100px,100% - 48px);margin:0 auto;padding:32px 0 48px}.patient-tabbar{display:none}.patient-ticket{background:#fff;border:1px solid #e2e6f0;border-radius:16px;padding:20px}.patient-ticket h2{color:#140c75;margin:6px 0 16px;font-size:1.8rem}.patient-ticket dl{gap:10px;margin-bottom:16px;display:grid}.patient-ticket dt{color:#667085;font-size:.72rem;font-weight:700}.patient-ticket dd{color:#172033;font-weight:700}.slot-board{gap:18px;display:grid}.slot-day h3{color:#140c75;margin-bottom:10px;font-size:1rem}.slot-card{border:1px solid var(--border,#e2e6f0);background:var(--bg,#f6f8ff);border-radius:12px;margin-bottom:10px;padding:12px 14px}.slot-card-head{justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.slot-card ul{color:#667085;margin:0;padding-left:18px;font-size:.88rem}.patient-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.patient-top-inner{align-items:center}.patient-kicker{color:#20c9d8;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.patient-top h1{color:#140c75;letter-spacing:-.04em;margin-top:2px;font-size:1.55rem}.patient-top p{color:#667085;margin-top:4px;font-size:.88rem}.patient-avatar{color:#fff;background:linear-gradient(#3028a0,#140c75);border-radius:16px;flex-shrink:0;place-items:center;width:44px;height:44px;font-weight:800;text-decoration:none;display:grid}.patient-avatar.large{border-radius:24px;width:72px;height:72px;margin:0 auto 12px;font-size:1.6rem}.patient-back{color:#140c75;cursor:pointer;background:#fff;border:0;border-radius:14px;flex-shrink:0;width:40px;height:40px;font-size:1.6rem;line-height:1}.patient-search{background:#fff;border:1px solid #e2e6f0;border-radius:14px;align-items:center;gap:10px;max-width:560px;height:52px;padding:0 16px;display:flex;box-shadow:0 10px 24px #140c750f}.patient-search-icon{color:#3028a0;font-size:1.2rem}.patient-search input{width:100%;font:inherit;color:#172033;background:0 0;border:0;outline:none}.patient-section{margin-top:22px}.patient-section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.patient-section-head h2{color:#140c75;font-size:1rem}.patient-section-head span,.patient-card em{color:#3028a0;background:#3028a014;border-radius:999px;padding:4px 8px;font-size:.75rem;font-style:normal;font-weight:700}.patient-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=980px){.patient-list{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-split{grid-template-columns:1fr}}.patient-card{color:inherit;background:#fff;border:1px solid #e2e6f0;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:18px;text-decoration:none;display:flex;box-shadow:0 8px 20px #140c750d}.patient-card:hover{border-color:#3028a0}.patient-card strong,.patient-detail strong,.patient-profile h2{color:#172033;display:block}.patient-card span,.patient-detail span{color:#667085;margin-top:3px;font-size:.82rem;display:block}.doctor-card,.patient-detail{justify-content:flex-start}.patient-doctor-photo,.patient-detail-photo{object-fit:cover;background:#ecefff;border-radius:16px;flex-shrink:0;width:52px;height:52px}.patient-doctor-photo.fallback,.patient-detail-photo.fallback{color:#140c75;place-items:center;font-weight:800;display:grid}.patient-split{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.patient-detail{background:#fff;border:1px solid #e2e6f0;border-radius:16px;gap:16px;padding:20px;display:flex}.patient-book{background:#fff;border:1px solid #e2e6f0;border-radius:16px;gap:12px;margin-top:0;padding:20px;display:grid}.patient-profile{text-align:left;background:#fff;border:1px solid #e2e6f0;border-radius:16px;max-width:480px;padding:28px 24px}.patient-profile .patient-avatar.large{margin:0 0 12px}.patient-primary{width:fit-content;min-width:220px;padding:0 24px}.patient-detail-photo{border-radius:22px;width:84px;height:84px}.patient-time{font-weight:700;color:#3028a0!important}.patient-fee{font-weight:800;color:#22a06b!important;margin-top:8px!important}.patient-book h2{color:#140c75;font-size:1.05rem}.patient-field{color:#667085;gap:6px;font-size:.82rem;font-weight:700;display:grid}.patient-field input,.patient-field select{height:46px;font:inherit;color:#172033;background:#f6f8ff;border:1px solid #e2e6f0;border-radius:12px;padding:0 12px}.patient-hint{color:#22a06b;font-size:.8rem}.patient-hint.is-warn{color:#d64545}.patient-slots{flex-wrap:wrap;gap:8px;display:flex}.patient-slot{color:#172033;cursor:pointer;background:#f6f8ff;border:1px solid #e2e6f0;border-radius:999px;height:38px;padding:0 12px;font-weight:700}.patient-slot.is-selected{color:#fff;background:#140c75;border-color:#140c75}.patient-primary,.patient-logout{cursor:pointer;border:0;border-radius:14px;height:48px;font-weight:800}.patient-primary{color:#fff;background:linear-gradient(#3028a0,#140c75)}.patient-logout{color:#d64545;background:#fff;border:1px solid #f3c4c4;width:100%;margin-top:18px}.patient-banner{border-radius:12px;padding:10px 12px;font-size:.85rem;font-weight:700}.patient-banner.error{color:#d64545;background:#fff1f1}.patient-banner.success{color:#22a06b;background:#edf9f3}.patient-muted{color:#667085;font-size:.9rem}.patient-profile p{color:#667085}.patient-meta{text-align:left;gap:10px;margin-top:18px;display:grid}.patient-meta div{background:#f6f8ff;border-radius:14px;padding:12px}.patient-meta dt{color:#667085;font-size:.72rem;font-weight:700}.patient-meta dd{color:#172033;margin-top:2px;font-weight:700}.patient-location-btn{color:#fff;cursor:pointer;background:#140c75;border:0;border-radius:10px;height:38px;margin-top:10px;padding:0 14px;font-weight:700}.patient-location-btn:disabled{opacity:.7;cursor:wait}.status-pill{text-transform:capitalize;color:#22a06b;background:#edf9f3;border-radius:999px;height:fit-content;padding:6px 10px;font-size:.75rem;font-style:normal;font-weight:800}.status-pill.cancelled,.status-pill.absent{color:#d64545;background:#fdecec}.status-pill.booked{color:#140c75;background:#f0eeff}.status-pill.present{color:#22a06b;background:#edf9f3}.visit-detail-stack{gap:12px;margin-top:16px;display:grid}.visit-block strong{margin-bottom:6px}.visit-block-list{gap:6px;display:grid}.visit-detail-link{color:#140c75;margin-top:10px;font-weight:700;text-decoration:none;display:inline-block}.visit-detail-card{margin-bottom:8px}.visit-detail-top{justify-content:flex-start;align-items:center}.dash-screen{gap:18px;display:grid}.dash-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dash-date{color:#667085;font-size:.82rem;font-weight:600}.dash-head h1{color:#140c75;letter-spacing:-.04em;margin-top:4px;font-size:clamp(1.45rem,4vw,1.9rem)}.dash-head-actions{align-items:center;gap:10px;display:flex}.dash-bell,.dash-avatar{border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;text-decoration:none;display:grid}.dash-bell{color:#140c75;cursor:pointer;background:#fff;border:1px solid #e2e6f0;position:relative}.dash-bell svg{width:20px;height:20px}.dash-bell.has-dot:after{content:"";background:#d64545;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:11px}.dash-avatar{color:#c23b6a;background:#ffe4ec;font-size:.82rem;font-weight:800}.dash-appoint{color:#fff;background:linear-gradient(160deg,#3028a0 0%,#140c75 62%,#0d0854 100%);border-radius:24px;padding:20px 18px 16px;box-shadow:0 16px 32px #140c7538}.dash-appoint.is-empty{gap:8px;display:grid}.dash-appoint.is-empty span{color:#ffffffb8;font-size:.88rem}.dash-appoint-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffffb8;margin-bottom:14px;font-size:.68rem;font-weight:800}.dash-appoint-doctor{align-items:center;gap:12px;display:flex}.dash-appoint-icon{color:#67e0e8;background:#ffffff24;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.dash-appoint-icon svg{width:24px;height:24px}.dash-appoint-doctor strong{color:#fff;font-size:1.05rem;display:block}.dash-appoint-doctor span{color:#ffffffb8;margin-top:2px;font-size:.86rem;display:block}.dash-appoint-meta{color:#ffffffe6;flex-wrap:wrap;gap:14px 18px;margin:16px 0 8px;font-size:.88rem;font-weight:600;display:flex}.dash-appoint-meta span{align-items:center;gap:8px;display:inline-flex}.dash-appoint-meta svg{width:16px;height:16px}.dash-appoint-token{color:#67e0e8;margin-bottom:14px;font-size:.8rem;font-weight:700}.dash-appoint-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dash-appoint.is-empty .dash-appoint-actions{grid-template-columns:1fr}.dash-appoint-actions button{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:12px;height:40px;font-weight:700}.dash-appoint-actions button.is-danger{background:#d64545}.dash-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dash-stat,.dash-action{color:inherit;background:#fff;border:1px solid #eef1f8;border-radius:18px;text-decoration:none;box-shadow:0 10px 22px #140c750d}.dash-stat{text-align:center;justify-items:center;gap:6px;padding:14px 10px 12px;display:grid}.dash-stat i,.dash-action i{border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.dash-stat i svg,.dash-action i svg{width:18px;height:18px}.dash-stat strong{color:#172033;font-size:1.15rem}.dash-stat span,.dash-action{color:#667085;font-size:.72rem;font-weight:700}.dash-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dash-action{text-align:center;color:#172033;align-content:center;justify-items:center;gap:10px;min-height:104px;padding:16px 8px 12px;font-size:.74rem;display:grid}.dash-stat i.is-purple,.dash-action i.is-purple{color:#7a3cff;background:#f3e8ff}.dash-stat i.is-teal,.dash-action i.is-teal{color:#0f9d8e;background:#e6fbf8}.dash-stat i.is-gold{color:#d29a00;background:#fff4d8}.dash-action i.is-blue{color:#3028a0;background:#e8e6ff}.dash-action i.is-green{color:#22a06b;background:#e8f8ee}.dash-action i.is-orange{color:#e67a1a;background:#fff0e4}.dash-action i.is-pink{color:#d6457a;background:#ffe8ef}.chat-screen{flex-direction:column;min-height:calc(100dvh - 180px);display:flex}.chat-list{flex:1;align-content:start;gap:10px;padding-bottom:12px;display:grid;overflow:auto}.chat-bubble{white-space:pre-wrap;border-radius:16px;max-width:86%;padding:12px 14px;font-size:.92rem;line-height:1.45}.chat-bubble.is-user{color:#fff;background:#140c75;border-bottom-right-radius:6px;justify-self:end}.chat-bubble.is-model{color:#172033;background:#fff;border:1px solid #e2e6f0;border-bottom-left-radius:6px;justify-self:start}.chat-bubble.is-typing{color:#667085;align-items:center;gap:8px;display:flex}.chat-dots{gap:4px;display:inline-flex}.chat-dots i{background:#3028a0;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite chat-dot}.chat-dots i:nth-child(2){animation-delay:.15s}.chat-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-form{background:#f6f8ff;gap:8px;padding-top:8px;display:flex;position:sticky;bottom:0}.chat-form .form-plain-input,.chat-form input{height:48px;font:inherit;background:#fff;border:1px solid #e2e6f0;border-radius:12px;flex:1;padding:0 14px}.chat-form .auth-submit{width:auto;min-width:88px;height:48px;margin:0}@media (width<=720px){.patient-site-header{display:none}.patient-root{background:#f4f6ff}.patient-device{flex-direction:column;width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.patient-screen{width:100%;min-height:0;padding:18px 16px calc(92px + env(safe-area-inset-bottom));flex:1;overflow:auto}.patient-list,.patient-split{grid-template-columns:1fr}.patient-search{border-radius:20px;max-width:none;height:56px}.patient-top h1{font-size:1.7rem}.patient-card,.patient-detail,.patient-book,.patient-ticket,.patient-profile{border-radius:22px;padding:16px}.patient-profile{text-align:center;max-width:none}.patient-profile .patient-avatar.large{margin:0 auto 12px}.patient-primary{width:100%;min-width:0}.patient-slot,.patient-primary,.patient-logout,.patient-back,.patient-tab{min-height:44px}.dash-head h1{font-size:1.55rem}.dash-appoint,.dash-stat,.dash-action{border-radius:22px}.patient-tabbar{width:100%;height:calc(72px + env(safe-area-inset-bottom));padding:8px 6px calc(8px + env(safe-area-inset-bottom));color:#98a2b3;z-index:50;background:#fff;border-radius:18px 18px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;transform:none;box-shadow:0 -8px 24px #140c7514}.patient-tab{color:inherit;border-radius:12px;place-items:center;gap:3px;font-size:.58rem;font-weight:700;text-decoration:none;display:grid}.patient-tab svg{fill:currentColor;width:20px;height:20px}.chat-screen{min-height:0;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.patient-tab svg[fill=none]{fill:none}.patient-tab.is-active{color:#140c75;background:0 0}.patient-avatar{width:48px;height:48px}}.setup-screen{min-height:100dvh}.setup-screen.is-cover{padding:0}.setup-cover{min-height:100dvh;padding:32px 24px calc(28px + env(safe-area-inset-bottom));color:#fff;background:radial-gradient(circle at 18% 18%,#20c9d847,#0000 34%),radial-gradient(circle at 88% 82%,#67e0e833,#0000 38%),linear-gradient(165deg,#0d0854 0%,#140c75 52%,#3028a0 100%);flex-direction:column;justify-content:center;align-items:center;animation:.7s both setup-admit;display:flex}.setup-cover-inner{text-align:center;flex:1;place-content:center;justify-items:center;gap:18px;animation:.8s .12s both setup-rise;display:grid}.setup-cover .logo{aspect-ratio:auto;width:min(240px,70vw);overflow:visible}.setup-cover .logo img{filter:none;object-fit:contain;height:auto}.setup-cover h1{letter-spacing:-.04em;font-size:clamp(1.8rem,6vw,2.4rem);line-height:1.2}.setup-cover p{color:#ffffffd1;max-width:28ch;font-size:1.02rem;line-height:1.55}.setup-arrow{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:50%;place-items:center;width:64px;height:64px;font-size:1.8rem;line-height:1;animation:1.4s ease-in-out infinite setup-arrow;display:grid}.setup-panel{width:min(520px,100% - 32px);min-height:100dvh;padding:32px 0 calc(28px + env(safe-area-inset-bottom));align-content:center;margin:0 auto;animation:.55s both setup-admit;display:grid}.setup-panel h1{color:#140c75;letter-spacing:-.03em;margin:6px 0 12px;font-size:1.7rem}.setup-panel p{color:#667085;margin-bottom:12px;line-height:1.5}.setup-form{gap:8px;margin-top:8px;display:grid}.setup-address{background:#f6f8ff;border:1px solid #e2e6f0;border-radius:14px;padding:12px 14px;font-weight:600;color:#172033!important}.setup-panel .patient-primary,.setup-panel .patient-secondary{width:100%;margin-top:8px}.setup-later{color:#140c75;cursor:pointer;background:0 0;border:0;width:100%;min-height:44px;margin-top:10px;font-weight:700}.patient-secondary{color:#140c75;cursor:pointer;background:#f6f8ff;border:1px solid #e2e6f0;border-radius:12px;height:48px;font-weight:700}.patient-root.is-setup,.patient-root.is-setup .patient-device{background:#140c75;height:100dvh;min-height:100dvh}.patient-root.is-setup .setup-screen:not(.is-cover){background:#f4f6ff;min-height:100dvh}.patient-root.is-setup .patient-site-nav,.patient-root.is-setup .patient-tabbar,.patient-root.is-setup .patient-site-header{display:none}@keyframes setup-admit{0%{opacity:.4;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes setup-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes setup-arrow{0%,to{transform:translate(0)}50%{transform:translate(8px)}}@media (width<=720px){.patient-root.is-setup .patient-device{overflow:hidden}.patient-root.is-setup .setup-screen:not(.is-cover){overflow:auto}.setup-panel{align-content:start;width:calc(100% - 32px);padding-top:48px}}:root{--primary:#140c75;--primary-dark:#0d0854;--primary-light:#3028a0;--accent:#20c9d8;--accent-light:#67e0e8;--bg:#f6f8ff;--white:#fff;--text:#172033;--text-secondary:#667085;--border:#e2e6f0;--success:#22a06b;--error:#d64545;--shadow:0 18px 50px #140c751f;--radius:18px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}.page-loading{min-height:100dvh;color:var(--text-secondary);place-items:center;display:grid}body{background:var(--bg);min-height:100dvh}img{max-width:100%;display:block}.logo{aspect-ratio:3.62;width:min(260px,100%);overflow:hidden}.logo img{object-fit:cover;object-position:center;width:100%;height:100%}button,input{font:inherit}a{color:inherit}
