*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--navy:#0a1628;--navy-mid:#112240;--navy-light:#1a3355;
--blue:#2563eb;--blue-light:#3b82f6;--teal:#0d9488;--teal-light:#14b8a6;
--mint:#d1fae5;--mint-pale:#ecfdf5;--white:#fff;
--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;
--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;
--red:#ef4444;--amber:#f59e0b;--green:#22c55e;--purple:#8b5cf6;--pink:#ec4899;
--radius:16px;--radius-sm:10px;
--shadow:0 4px 24px rgba(10,22,40,.08);--shadow-lg:0 12px 48px rgba(10,22,40,.12);
--transition:.3s cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans SC',system-ui,sans-serif;background:var(--gray-50);color:var(--navy);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;max-width:100vw}
#hb-app{overflow-x:hidden;width:100%;max-width:100vw}

/* NAV */
.main-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:blur(20px) saturate(1.8);border-bottom:1px solid rgba(37,99,235,.08)}
.nav-inner{max-width:960px;margin:0 auto;display:flex;padding:8px 12px;gap:6px}
.nav-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:12px 16px;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:15px;font-weight:500;color:var(--gray-500);background:transparent;cursor:pointer;transition:var(--transition)}
.nav-tab:hover{color:var(--navy);background:var(--gray-100)}
.nav-tab.active{color:var(--white);background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 4px 16px rgba(37,99,235,.3)}

.view{display:none}.view.active{display:block}

/* HERO */
.hero{position:relative;padding:86px 24px 66px;text-align:center;overflow:hidden;min-height:400px;display:flex;align-items:center;justify-content:center}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-mid) 40%,var(--blue) 100%)}
.hero-bg::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(13,148,136,.25) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(37,99,235,.2) 0%,transparent 50%)}
.hero-content{position:relative;z-index:1}
.hero-avatar{width:96px;height:96px;margin:0 auto 14px;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}
.avatar-ring{position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(20,184,166,.5);animation:pulse-ring 3s ease-in-out infinite}
.avatar-inner{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--blue-light),var(--teal));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(13,148,136,.4)}
.hero-name{font-size:30px;font-weight:900;color:var(--white);letter-spacing:3px;margin-bottom:4px}
.hero-title{font-size:14px;color:rgba(255,255,255,.8);margin-bottom:2px}
.hero-hospital{font-size:12px;color:rgba(255,255,255,.5);margin-bottom:14px}
.hero-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:16px}
.tag{padding:4px 11px;border-radius:20px;font-size:11px;font-weight:500;background:rgba(255,255,255,.12);color:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.15)}
.hero-slogan{font-size:13px;font-weight:300;color:var(--teal-light);letter-spacing:1px;font-style:italic}
.hero-wave{position:absolute;bottom:-2px;left:0;right:0}
.hero-wave svg{display:block;width:100%;height:50px}

/* OVERLAY */
.overlay{position:fixed;inset:0;z-index:2000;background:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.overlay.hidden{display:none}
.overlay-card{width:100%;max-width:400px;text-align:center}
.overlay-card h2{font-size:26px;font-weight:800;color:var(--navy);margin-bottom:6px}
.overlay-card .sub{font-size:14px;color:var(--gray-500);margin-bottom:28px}
.role-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.role-btn{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius);border:2px solid var(--gray-200);background:var(--white);cursor:pointer;transition:var(--transition);text-align:left;font-family:inherit}
.role-btn:hover{border-color:var(--blue-light);box-shadow:var(--shadow)}
.role-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.role-icon.out{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}
.role-icon.inp{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}
.role-icon.consult{background:linear-gradient(135deg,#fef3c7,#fde68a)}
.role-info h3{font-size:14px;font-weight:700;color:var(--navy)}
.role-info p{font-size:11px;color:var(--gray-500)}
.reg-form{display:flex;flex-direction:column;gap:11px;text-align:left}
.reg-form label{font-size:12px;font-weight:600;color:var(--gray-600)}
.reg-input{padding:13px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--gray-200);font-family:inherit;font-size:15px;color:var(--navy);background:var(--white);transition:var(--transition);outline:none;width:100%}
.reg-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.reg-input.error{border-color:var(--red)}
.reg-row{display:flex;gap:10px}
.reg-row>div{flex:1}
.gender-btns{display:flex;gap:8px}
.gender-btn{flex:1;padding:9px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);font-family:inherit;font-size:13px;cursor:pointer;transition:var(--transition);color:var(--gray-500)}
.gender-btn.selected{border-color:var(--blue);color:var(--blue);background:rgba(37,99,235,.05);font-weight:600}
.bind-result{background:var(--gray-50);border-radius:var(--radius-sm);padding:10px;font-size:12px;color:var(--gray-600);margin-top:6px;display:none}
.bind-result.visible{display:block}
.btn-primary{width:100%;padding:15px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--blue),var(--teal));color:var(--white);font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px rgba(37,99,235,.3)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-back{width:100%;padding:11px;border:none;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-600);font-family:inherit;font-size:13px;cursor:pointer;margin-top:4px}

/* PATIENT DASH */
.patient-dash{padding:56px 16px 100px;max-width:960px;margin:0 auto}
.pd-welcome{background:linear-gradient(135deg,var(--navy),var(--blue));border-radius:var(--radius);padding:18px;color:var(--white);margin-bottom:14px}
.pd-welcome h3{font-size:20px;font-weight:700;margin-bottom:3px}
.pd-welcome p{font-size:12px;color:rgba(255,255,255,.7)}
.pd-status-bar{display:flex;align-items:center;gap:4px;margin-top:12px;overflow-x:auto;padding-bottom:3px;flex-wrap:wrap}
.pd-step{padding:4px 10px;border-radius:14px;font-size:10px;font-weight:500;white-space:nowrap;background:rgba(255,255,255,.1);color:rgba(255,255,255,.5)}
.pd-step.current{background:var(--teal);color:var(--white)}
.pd-step.done{background:rgba(34,197,94,.2);color:#86efac}
.pd-step-arrow{color:rgba(255,255,255,.3);font-size:9px}
.pd-card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:12px;border:1px solid var(--gray-100)}
.pd-card-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:8px;display:flex;align-items:center;gap:7px}
.pd-messages{max-height:280px;overflow-y:auto}
.pd-msg{padding:10px 13px;border-radius:12px;margin-bottom:7px;font-size:14px;line-height:1.6;max-width:88%}
.pd-msg.doctor{background:linear-gradient(135deg,rgba(37,99,235,.06),rgba(13,148,136,.06));color:var(--navy);border-bottom-left-radius:4px}
.pd-msg .msg-time{font-size:10px;color:var(--gray-400);margin-top:3px}
.pd-msg .msg-from{font-size:10px;font-weight:600;color:var(--blue);margin-bottom:2px}
.pd-empty{text-align:center;padding:18px;color:var(--gray-400);font-size:12px}

/* SECTIONS */
.section{padding:28px 16px;max-width:960px;margin:0 auto}
.section-title{font-size:20px;font-weight:700;color:var(--navy);margin-bottom:6px;display:flex;align-items:center;gap:9px}
.title-accent{width:4px;height:19px;border-radius:2px;background:linear-gradient(to bottom,var(--blue),var(--teal));flex-shrink:0}
.spec-card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);border:1px solid var(--gray-200);overflow:hidden;margin-bottom:10px}
.spec-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}
.spec-header{display:flex;align-items:center;gap:11px}
.spec-icon{width:44px;height:44px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;overflow:hidden}
.spec-icon img{width:100%;height:100%;object-fit:cover;border-radius:11px}
.spec-icon.gb{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}
.spec-icon.liver{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}
.spec-icon.pancreas{background:linear-gradient(135deg,#fef3c7,#fde68a)}
.spec-icon.other{background:linear-gradient(135deg,#ede9fe,#c4b5fd)}
.spec-info{flex:1}
.spec-info h3{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:2px}
.spec-info p{font-size:13px;color:var(--gray-500);line-height:1.5}
.spec-arrow{width:24px;height:24px;border-radius:50%;background:var(--gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}
.spec-card.expanded .spec-arrow{transform:rotate(180deg);background:var(--blue)}
.spec-card.expanded .spec-arrow svg{stroke:white}
.spec-detail{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}
.spec-detail-inner{padding-top:14px;margin-top:14px;border-top:1px solid var(--gray-200)}
.spec-detail-inner h4{font-size:12px;font-weight:700;color:var(--blue);margin:10px 0 5px}
.spec-detail-inner h4:first-child{margin-top:0}
.spec-detail-inner p,.spec-detail-inner li{font-size:11px;color:var(--gray-600);line-height:1.7}
.spec-detail-inner ul{padding-left:16px}
.faq-item{margin-bottom:7px}
.faq-q{font-weight:600;color:var(--navy);font-size:11px}
.faq-a{color:var(--gray-600);font-size:11px}
.story-card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);margin-bottom:10px;border-left:4px solid var(--teal)}
.story-card h4{font-size:15px;font-weight:600;color:var(--navy);margin-bottom:3px}
.story-card p{font-size:13px;color:var(--gray-500);line-height:1.6}
.story-tag{display:inline-block;padding:2px 9px;border-radius:12px;font-size:10px;background:var(--mint-pale);color:var(--teal);font-weight:500;margin-top:5px}
.guide-card{background:var(--white);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.guide-row{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--gray-100)}
.guide-row:last-child{border-bottom:none}
.guide-icon{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--gray-50);font-size:15px}
.guide-text h4{font-size:12px;font-weight:600;color:var(--navy);margin-bottom:2px}
.guide-text p{font-size:11px;color:var(--gray-500)}
.qr-placeholder{width:100px;height:100px;border-radius:var(--radius-sm);background:var(--gray-100);display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:10px;text-align:center;margin:12px auto 0;border:2px dashed var(--gray-300)}

/* FAB */
.fab-bar{position:fixed;bottom:0;left:0;right:0;z-index:900;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);padding:9px 16px;padding-bottom:max(9px,env(safe-area-inset-bottom));display:flex;gap:7px;border-top:1px solid var(--gray-200)}
.fab-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:11px 13px;border-radius:var(--radius-sm);border:none;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none}
.fab-primary{flex:2;background:linear-gradient(135deg,var(--blue),var(--teal));color:var(--white);box-shadow:0 4px 16px rgba(37,99,235,.3)}
.fab-secondary{flex:1;background:var(--gray-100);color:var(--gray-600)}

/* ========= ADMIN ========= */
#adminView{background:var(--navy);min-height:100vh;padding-top:58px}
#adminView.light{background:var(--gray-50)}
#adminView.light .admin-tab{color:var(--gray-500)}
#adminView.light .admin-tab.active{background:var(--blue);color:var(--white)}
#adminView.light .sub-tab{color:var(--gray-500);border-color:var(--gray-200)}
#adminView.light .sub-tab.active{background:var(--blue);color:var(--white);border-color:var(--blue)}
#adminView.light .a-card{background:var(--white);border-color:var(--gray-200)}
#adminView.light .a-card:hover{border-color:var(--gray-300)}
#adminView.light .a-card-name{color:var(--navy)}
#adminView.light .a-card-info p{color:var(--gray-600)}
#adminView.light .a-card-info p strong{color:var(--navy)}
#adminView.light .cms-card,#adminView.light .team-card{background:var(--white);border-color:var(--gray-200)}
#adminView.light .cms-card h4,#adminView.light .team-card h4{color:var(--navy)}
#adminView.light .cms-field label,#adminView.light .team-field label{color:var(--gray-600)}
#adminView.light .cms-field input,#adminView.light .cms-field textarea,#adminView.light .team-field input{background:var(--gray-50);border-color:var(--gray-200);color:var(--navy)}
#adminView.light .admin-filters input{background:var(--white)!important;border-color:var(--gray-200)!important;color:var(--navy)!important}
#adminView.light .sort-btn{color:var(--gray-500);border-color:var(--gray-200)}
#adminView.light .sort-btn.active{background:rgba(13,148,136,.1);color:var(--teal);border-color:var(--teal)}
#adminView.light h3{color:var(--navy)}
#adminView.light p,#adminView.light .a-desc{color:var(--gray-600)}
#adminView.light .surg-record{background:var(--gray-50);border-color:var(--gray-200)}
#adminView.light .surg-record h5{color:var(--navy)}
#adminView.light .edit-form{background:var(--gray-50);border-color:var(--gray-200)}
#adminView.light .edit-form .a-input{background:var(--white);border-color:var(--gray-200);color:var(--navy)}
#adminView.light .edit-form label{color:var(--gray-600)!important}
#adminView.light .a-input{background:var(--white);border-color:var(--gray-200);color:var(--navy)}
#adminView.light .template-card{background:var(--white);border-color:var(--gray-200)}
#adminView.light .template-card h4{color:var(--navy)}
#adminView.light .template-body{color:var(--gray-600)}
#adminView.light .team-toggle-item span{color:var(--gray-600)!important}
.theme-toggle{display:flex;align-items:center;gap:8px;margin-bottom:12px;justify-content:flex-end}
.theme-toggle span{font-size:11px}
#adminView.light .theme-toggle span{color:var(--gray-500)}
.admin-login-overlay{position:fixed;inset:0;z-index:800;background:var(--navy);display:flex;align-items:center;justify-content:center;padding:20px}
.admin-login-card{background:var(--navy-mid);border-radius:var(--radius);padding:34px 26px;text-align:center;width:100%;max-width:340px;border:1px solid rgba(255,255,255,.08)}
.admin-login-card h3{color:var(--white);font-size:19px;margin-bottom:5px}
.admin-login-card>p{color:var(--gray-400);font-size:12px;margin-bottom:18px}
.admin-login-card input{width:100%;padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--white);font-family:inherit;font-size:13px;outline:none;margin-bottom:12px}
.admin-login-card input:focus{border-color:var(--teal)}
.admin-login-card>button{width:100%;padding:11px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--blue),var(--teal));color:var(--white);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.login-hint{color:var(--red);font-size:11px;margin-top:8px;min-height:16px}
.admin-back{padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--gray-400);font-family:inherit;font-size:11px;cursor:pointer;margin-bottom:12px}
.admin-back:hover{color:var(--white);border-color:rgba(255,255,255,.3)}

.admin-dashboard{padding:12px;max-width:960px;margin:0 auto;padding-bottom:40px}
.admin-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px;padding-bottom:3px}
.admin-tab{padding:7px 13px;border-radius:8px;border:none;font-family:inherit;font-size:13px;font-weight:500;color:var(--gray-400);background:transparent;cursor:pointer;white-space:nowrap;transition:var(--transition);text-align:center}
.admin-tab.active{background:rgba(255,255,255,.1);color:var(--white)}
.admin-panel{display:none}.admin-panel.active{display:block}

.sub-tabs{display:flex;gap:3px;margin-bottom:12px}
.sub-tab{padding:6px 12px;border-radius:7px;border:1px solid rgba(255,255,255,.08);font-family:inherit;font-size:11px;color:var(--gray-400);background:transparent;cursor:pointer;transition:var(--transition)}
.sub-tab.active{background:rgba(255,255,255,.08);color:var(--white);border-color:rgba(255,255,255,.15)}

.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}
.stat-card{background:var(--navy-mid);border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(255,255,255,.06)}
.stat-label{font-size:10px;color:var(--gray-400);margin-bottom:3px}
.stat-value{font-size:24px;font-weight:900;color:var(--white)}
.stat-value.teal{color:var(--teal-light)}.stat-value.amber{color:var(--amber)}.stat-value.blue{color:var(--blue-light)}.stat-value.green{color:var(--green)}.stat-value.purple{color:var(--purple)}

.a-card{background:var(--navy-mid);border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(255,255,255,.06);margin-bottom:10px;cursor:pointer;transition:var(--transition)}
.a-card:hover{border-color:rgba(255,255,255,.15)}
.a-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.a-card-name{font-size:15px;font-weight:600;color:var(--white)}
.a-card-badges{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.badge{padding:2px 8px;border-radius:10px;font-size:9px;font-weight:500}
.b-out{background:rgba(37,99,235,.15);color:#93c5fd}
.b-in{background:rgba(139,92,246,.15);color:#c4b5fd}
.b-consult{background:rgba(245,158,11,.15);color:#fcd34d}
.b-st{padding:2px 8px;border-radius:10px;font-size:9px;font-weight:500}
.b-surg-done{background:rgba(34,197,94,.15);color:#86efac}
.st-待处理{background:rgba(239,68,68,.15);color:#fca5a5}
.st-门诊就诊{background:rgba(37,99,235,.12);color:#93c5fd}
.st-等待床位{background:rgba(245,158,11,.15);color:#fcd34d}
.st-入院评估{background:rgba(139,92,246,.12);color:#c4b5fd}
.st-已出院{background:rgba(34,197,94,.15);color:#86efac}
.st-门诊随访{background:rgba(100,116,139,.15);color:var(--gray-300)}
.a-card-meta{display:flex;gap:10px;font-size:12px;color:var(--gray-400);flex-wrap:wrap}
.a-card-tags{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}
.ptag{padding:1px 7px;border-radius:8px;font-size:9px;font-weight:500}
.ptag-blacklist{background:rgba(239,68,68,.2);color:#fca5a5}
.ptag-vip{background:rgba(245,158,11,.2);color:#fcd34d}
.ptag-followup{background:rgba(37,99,235,.2);color:#93c5fd}

.a-detail{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}
.a-detail-inner{padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.a-desc{font-size:13px;color:var(--gray-300);margin-bottom:8px;line-height:1.6}
.a-notes{margin-bottom:8px}
.a-note-item{font-size:12px;color:var(--gray-400);padding:2px 0}
.a-actions{display:flex;gap:5px;flex-wrap:wrap}
.a-btn{padding:6px 11px;border-radius:7px;border:none;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition)}
.a-btn.primary{background:var(--blue);color:var(--white)}
.a-btn.success{background:var(--teal);color:var(--white)}
.a-btn.purple{background:var(--purple);color:var(--white)}
.a-btn.outline{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--gray-300)}
.a-btn.msg{background:rgba(37,99,235,.2);color:var(--blue-light)}
.a-btn.danger{background:rgba(239,68,68,.15);color:#f87171}
.a-btn.danger{background:rgba(239,68,68,.2);color:#fca5a5}
.a-btn:hover{opacity:.85}
.a-input-row{display:flex;gap:5px;margin-top:6px}
.edit-form{background:rgba(255,255,255,0.03);border:1px solid var(--gray-700);border-radius:8px;padding:10px}
.edit-form .a-input{margin-bottom:0;background:var(--navy-light);border:1px solid var(--gray-600);color:var(--gray-100);width:100%;padding:6px 8px;border-radius:5px;font-size:12px}
.a-card-info{padding:6px 0 2px;border-top:1px solid rgba(255,255,255,.05);margin-top:4px}
.a-input{flex:1;padding:8px 11px;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--white);font-family:inherit;font-size:11px;outline:none;display:none}
.a-input.vis{display:block}
.a-send{padding:8px 12px;border-radius:7px;border:none;background:var(--blue);color:var(--white);font-family:inherit;font-size:11px;cursor:pointer;display:none}
.a-send.vis{display:block}

.admin-filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.admin-filters select{flex:1;min-width:90px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:var(--navy-mid);color:var(--white);font-family:inherit;font-size:11px;outline:none}
.export-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:var(--radius-sm);border:none;background:rgba(13,148,136,.2);color:var(--teal-light);font-family:inherit;font-size:11px;cursor:pointer}
.sort-btn{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--gray-400);font-family:inherit;font-size:11px;cursor:pointer;transition:var(--transition);white-space:nowrap}
.sort-btn.active{background:rgba(13,148,136,.15);color:var(--teal-light);border-color:var(--teal)}
.pd-msg-input{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-200)}
.pd-msg-input input{flex:1;padding:9px 12px;border-radius:8px;border:1px solid var(--gray-200);font-family:inherit;font-size:12px;outline:none}
.pd-msg-input input:focus{border-color:var(--blue)}
.pd-msg-input button{padding:9px 16px;border-radius:8px;border:none;background:linear-gradient(135deg,var(--blue),var(--teal));color:var(--white);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}
.pd-msg.patient{background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(13,148,136,.08));margin-left:auto;text-align:right;border-bottom-right-radius:4px;max-width:85%;padding:8px 12px;border-radius:12px;margin-bottom:6px;font-size:12px}
.pd-msg.patient .msg-from{color:var(--blue);font-size:10px}

.cms-card{background:var(--navy-mid);border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(255,255,255,.06);margin-bottom:10px}
.cms-card h4{font-size:12px;font-weight:600;color:var(--teal-light);margin-bottom:8px}
.cms-field{margin-bottom:8px}
.cms-field label{display:block;font-size:10px;color:var(--gray-400);margin-bottom:3px}
.cms-field input,.cms-field textarea,.cms-field select{width:100%;padding:9px 11px;border-radius:7px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--white);font-family:inherit;font-size:14px;outline:none}
.cms-field textarea{min-height:50px;resize:vertical}
.cms-save{padding:7px 18px;border-radius:7px;border:none;background:var(--teal);color:var(--white);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer}
.cms-save.saved{background:var(--green)}
.cms-delete{padding:7px 14px;border-radius:7px;border:none;background:rgba(239,68,68,.2);color:#fca5a5;font-family:inherit;font-size:11px;cursor:pointer;margin-left:6px}
.cms-add{padding:7px 14px;border-radius:7px;border:1px dashed rgba(255,255,255,.2);background:transparent;color:var(--gray-400);font-family:inherit;font-size:11px;cursor:pointer;width:100%;margin-top:6px}
.cms-add:hover{border-color:var(--teal);color:var(--teal-light)}

.template-card{background:var(--navy-mid);border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(255,255,255,.06);margin-bottom:10px}
.template-card h4{font-size:12px;font-weight:600;color:var(--teal-light);margin-bottom:5px}
.template-body{font-size:11px;color:var(--gray-300);line-height:1.7;margin-bottom:8px}
.template-copy{padding:6px 12px;border-radius:7px;border:none;background:rgba(255,255,255,.08);color:var(--gray-300);font-family:inherit;font-size:10px;cursor:pointer}
.template-copy.copied{background:var(--teal);color:var(--white)}

/* Team */
.team-card{background:var(--navy-mid);border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(255,255,255,.06);margin-bottom:10px}
.team-card-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.team-avatar{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.team-avatar.student{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}
.team-avatar.colleague{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}
.team-avatar.ai{background:linear-gradient(135deg,#ede9fe,#c4b5fd)}
.team-avatar.doctor{background:linear-gradient(135deg,var(--blue),var(--teal))}
.team-info{flex:1}
.team-info h4{font-size:13px;font-weight:600;color:var(--white)}
.team-info p{font-size:11px;color:var(--gray-400)}
.toggle-switch{position:relative;width:40px;height:22px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;inset:0;background:rgba(255,255,255,.1);border-radius:11px;cursor:pointer;transition:var(--transition)}
.toggle-slider::before{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:var(--gray-400);left:2px;top:2px;transition:var(--transition)}
.toggle-switch input:checked+.toggle-slider{background:var(--teal)}
.toggle-switch input:checked+.toggle-slider::before{transform:translateX(18px);background:var(--white)}
.team-toggles{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
.team-toggle-item{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--gray-400)}
.team-field{margin-top:6px}
.team-field label{font-size:10px;color:var(--gray-400);display:block;margin-bottom:2px}
.team-field input{width:100%;padding:7px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--white);font-family:inherit;font-size:11px;outline:none}
.team-field input:focus{border-color:var(--teal)}

/* Surgery record */
.surg-record{background:rgba(255,255,255,.03);border-radius:8px;padding:12px;margin-top:8px;border:1px solid rgba(255,255,255,.06)}
.surg-record h5{font-size:11px;font-weight:600;color:var(--teal-light);margin-bottom:6px}
.surg-record p{font-size:11px;color:var(--gray-300);line-height:1.6}

/* Broadcast */
.broadcast-area{background:var(--navy-mid);border-radius:var(--radius-sm);padding:16px;border:1px solid rgba(255,255,255,.06)}
.broadcast-area h4{font-size:13px;font-weight:600;color:var(--white);margin-bottom:10px}
.bc-targets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.bc-target{padding:5px 11px;border-radius:8px;border:1px solid rgba(255,255,255,.1);font-family:inherit;font-size:11px;color:var(--gray-400);background:transparent;cursor:pointer}
.bc-target.selected{border-color:var(--teal);color:var(--teal-light);background:rgba(13,148,136,.1)}

/* AI Chat */
.ai-chat{background:var(--navy-mid);border-radius:var(--radius-sm);padding:14px;border:1px solid rgba(255,255,255,.06);margin-bottom:10px}
.ai-chat-msgs{max-height:260px;overflow-y:auto;margin-bottom:12px;padding:8px;background:rgba(0,0,0,.15);border-radius:8px}
.ai-msg{padding:10px 14px;border-radius:12px;margin-bottom:8px;font-size:12px;line-height:1.7;max-width:88%}
.ai-msg.user{background:rgba(37,99,235,.15);color:#93c5fd;margin-left:auto;text-align:right;border-bottom-right-radius:3px}
.ai-msg.assistant{background:rgba(139,92,246,.1);color:#c4b5fd;border-bottom-left-radius:3px}
.ai-input-area{display:flex;gap:6px;align-items:flex-end;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 10px}
.ai-input-area textarea{flex:1;padding:6px 8px;border:none;background:transparent;color:var(--white);font-family:inherit;font-size:12px;outline:none;resize:none;min-height:36px;max-height:100px;line-height:1.5}
.ai-input-area textarea::placeholder{color:var(--gray-500)}
.ai-input-area button{padding:8px 14px;border-radius:8px;border:none;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0}
.ai-send-btn{background:linear-gradient(135deg,var(--blue),var(--teal));color:var(--white)}
.ai-voice-btn{background:rgba(239,68,68,.15);color:#fca5a5;position:relative}
.ai-voice-btn.recording{background:var(--red);color:var(--white);animation:pulse-voice .8s ease-in-out infinite}

/* Voice button */
.voice-btn{padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:var(--gray-300);font-family:inherit;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.voice-btn.recording{border-color:var(--red);color:var(--red);background:rgba(239,68,68,.1);animation:pulse-voice .8s ease-in-out infinite}

/* Discharge reminder */
.discharge-alert{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:8px 12px;margin-top:6px;font-size:10px;color:#fcd34d}

/* Quick action editor */
.qa-item{display:flex;align-items:center;gap:5px;margin-bottom:6px}
.qa-item input{flex:1;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--white);font-family:inherit;font-size:11px;outline:none}
.qa-del{padding:4px 8px;border-radius:5px;border:none;background:rgba(239,68,68,.15);color:#fca5a5;font-size:10px;cursor:pointer}

/* Image upload button */
.img-upload-area{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.img-upload-btn{padding:7px 14px;border-radius:7px;border:1px dashed rgba(255,255,255,.2);background:transparent;color:var(--gray-400);font-family:inherit;font-size:11px;cursor:pointer}
.img-upload-btn:hover{border-color:var(--teal);color:var(--teal-light)}
.img-preview{width:44px;height:44px;border-radius:11px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}

@media(min-width:640px){.admin-stats{grid-template-columns:repeat(4,1fr)}}
@keyframes pulse-ring{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.12);opacity:.2}}
@keyframes pulse-voice{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes fadeIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeIn .4s ease both}

/* File attachment */
.file-attach-btn{display:inline-flex;align-items:center;gap:4px;padding:9px 14px;border-radius:8px;border:1px solid var(--gray-200);background:var(--white);color:var(--gray-500);font-family:inherit;font-size:13px;cursor:pointer;transition:var(--transition);flex-shrink:0}
.file-attach-btn:hover{border-color:var(--blue);color:var(--blue)}
.msg-attachment{margin-top:6px;padding:8px 12px;background:rgba(37,99,235,.06);border-radius:8px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--blue)}
.msg-attachment img{max-width:200px;max-height:150px;border-radius:8px;cursor:pointer}
.msg-attachment a{color:var(--blue);text-decoration:none;font-weight:500}
.msg-attachment a:hover{text-decoration:underline}

/* Save to desktop */
.save-desktop-card{background:linear-gradient(135deg,var(--blue),var(--teal));border-radius:var(--radius);padding:18px;color:var(--white);margin-bottom:12px;text-align:center;cursor:pointer;transition:var(--transition);border:2px solid transparent}
.save-desktop-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(37,99,235,.35)}
.save-desktop-card h3{font-size:16px;font-weight:700;margin-bottom:4px}
.save-desktop-card p{font-size:13px;opacity:.85}

/* Password change */
.pwd-change-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-200)}
.pwd-input-row{display:flex;gap:8px;margin-top:6px;align-items:center}
.pwd-input-row input{flex:1;padding:10px 14px;border-radius:8px;border:1.5px solid var(--gray-200);font-family:inherit;font-size:14px;outline:none}
.pwd-input-row input:focus{border-color:var(--blue)}
.pwd-input-row button{padding:10px 18px;border-radius:8px;border:none;background:var(--blue);color:var(--white);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}

/* Clear button */
.clear-btn{padding:6px 12px;border-radius:7px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.08);color:#ef4444;font-family:inherit;font-size:12px;cursor:pointer;transition:var(--transition)}
.clear-btn:hover{background:rgba(239,68,68,.15)}

/* System reset */
.system-reset-btn{display:block;width:100%;padding:14px;border-radius:var(--radius-sm);border:2px solid var(--red);background:rgba(239,68,68,.08);color:var(--red);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-top:16px;transition:var(--transition)}
.system-reset-btn:hover{background:rgba(239,68,68,.2)}

/* Admin file attach */
.admin-file-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border-radius:7px;border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--gray-300);font-family:inherit;font-size:12px;cursor:pointer}
.admin-file-btn:hover{border-color:var(--teal);color:var(--teal-light)}
#adminView.light .admin-file-btn{border-color:var(--gray-200);color:var(--gray-500)}
#adminView.light .admin-file-btn:hover{border-color:var(--blue);color:var(--blue)}

/* ===== WeChat-style Chat Bubbles ===== */
.chat-container{display:flex;flex-direction:column;gap:12px;padding:12px 4px;max-height:400px;overflow-y:auto}
.chat-row{display:flex;align-items:flex-start;gap:8px}
.chat-left{flex-direction:row}
.chat-right{flex-direction:row-reverse}
.chat-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;color:#fff}
.chat-avatar-doctor{background:linear-gradient(135deg,#2563eb,#1d4ed8)}
.chat-avatar-ai{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}
.chat-avatar-patient{background:linear-gradient(135deg,#10b981,#059669)}
.chat-bubble{max-width:72%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.6;position:relative;word-break:break-word}
.chat-bubble-doctor{background:#fff;color:var(--navy);border:1px solid var(--gray-100);border-top-left-radius:4px}
.chat-bubble-patient{background:linear-gradient(135deg,#2563eb,#1e90ff);color:#fff;border-top-right-radius:4px}
.chat-time{font-size:10px;margin-top:4px;opacity:.55}
.chat-bubble-patient .chat-time{text-align:right}
.chat-ai-tag{display:inline-block;font-size:10px;background:rgba(139,92,246,.15);color:#7c3aed;padding:1px 6px;border-radius:4px;margin-bottom:4px;font-weight:600}
.chat-input-bar{display:flex;gap:6px;align-items:center;padding:10px 0 0;border-top:1px solid var(--gray-100);margin-top:8px}
.chat-input-bar input[type="text"],.chat-input-bar input[id="patMsgInput"]{flex:1;border:1px solid var(--gray-200);border-radius:20px;padding:10px 16px;font-size:14px;font-family:inherit;outline:none;background:var(--gray-50);transition:border-color .2s}
.chat-input-bar input:focus{border-color:var(--blue)}
.chat-attach-btn{width:38px;height:38px;border-radius:50%;border:none;background:var(--gray-100);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.chat-attach-btn:hover{background:var(--gray-200)}
.chat-send-btn{padding:8px 18px;border-radius:20px;border:none;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;flex-shrink:0;transition:opacity .2s}
.chat-send-btn:hover{opacity:.85}
/* Hide third-party WP plugin elements */
.gtranslate_wrapper,.gt_switcher_wrapper,#gt-nvframe,#gt_float_wrapper,[class*="gtranslate"],[class*="gt_float"],.trp-language-switcher-container,.trp-ls-shortcode-current-language,[class*="trp-language"]{display:none!important}
[class*="cookie-consent"],[class*="cookie-notice"],[id*="cookie-consent"],[id*="cookie-notice"],[class*="gdpr"],[class*="cc-window"],[class*="cc-banner"],#moove_gdpr_cookie_modal,.moove-gdpr-infobar-container,[class*="Re-consen"],[class*="re-consen"],[id*="reconsent"],[id*="re-consent"]{display:none!important}
/* Hide WP admin bar */
#wpadminbar{display:none!important}
body.admin-bar,html.wp-toolbar{margin-top:0!important;padding-top:0!important}
iframe[src*="translate.google"],div[id*="goog-gt"]{display:none!important}

/* Save-to-desktop overlay */
.a2hs-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}
.a2hs-card{background:#fff;border-radius:20px;padding:28px 24px;max-width:360px;width:100%;text-align:center;position:relative}
.a2hs-card h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:6px}
.a2hs-card .a2hs-subtitle{font-size:13px;color:var(--gray-500);margin-bottom:18px}
.a2hs-steps{text-align:left;margin-bottom:18px}
.a2hs-step{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--gray-100)}
.a2hs-step:last-child{border-bottom:none}
.a2hs-step-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.a2hs-step-text{font-size:14px;color:var(--navy);line-height:1.5}
.a2hs-step-text strong{color:var(--blue)}
.a2hs-close{width:100%;padding:12px;border:none;border-radius:12px;background:var(--gray-100);color:var(--gray-600);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.a2hs-close:hover{background:var(--gray-200)}
.a2hs-icon-hint{font-size:28px;margin-bottom:4px}

/* ===== MOBILE RESPONSIVE ===== */
@media(max-width:480px){
  .nav-inner{padding:6px 8px;gap:4px}
  .nav-tab{padding:10px 8px;font-size:13px}
  .patient-dash{padding:52px 12px 90px}
  .pd-card{padding:14px 12px}
  .pd-welcome{padding:14px 12px}
  .pd-welcome h3{font-size:17px}
  .hero{padding:70px 16px 50px;min-height:320px}
  .hero-name{font-size:24px}
  .section{padding:20px 12px}
  .section-title{font-size:18px}
  .fab-bar{padding:7px 10px}
  .fab-btn{padding:9px 8px;font-size:11px}
  .chat-bubble{max-width:80%;font-size:13px;padding:8px 12px}
  .chat-avatar{width:32px;height:32px;font-size:11px}
  .chat-input-bar{gap:4px}
  .chat-input-bar input[id="patMsgInput"]{padding:8px 12px;font-size:13px}
  .chat-send-btn{padding:8px 14px;font-size:13px}
  .chat-attach-btn{width:34px;height:34px;font-size:16px}
  .pwd-input-row{flex-direction:column;gap:6px}
  .pwd-input-row button{width:100%}
  .pwd-input-row input{width:100%}
  .save-desktop-card{padding:14px 12px}
  .save-desktop-card h3{font-size:14px}
  .save-desktop-card p{font-size:12px}
  .overlay-card{max-width:100%;padding:0 4px}
  .overlay-card h2{font-size:22px}
  .reg-input{padding:11px 14px;font-size:14px}
  .btn-primary{padding:13px;font-size:15px}
  .spec-info h3{font-size:14px}
  .spec-info p{font-size:12px}
  .guide-card{padding:14px}
  .admin-dashboard{padding:8px}
  .admin-tabs{grid-template-columns:repeat(4,1fr);gap:4px}
  .admin-tab{padding:6px 4px;font-size:11px}
}
