.mobile-topbar.themed[data-v-45a43b8e]{display:none;height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;align-items:center;background:var(--bg);color:var(--text);border-bottom:none;position:sticky;top:0;z-index:30;box-shadow:none}@media (max-width: 768px){.mobile-topbar.themed[data-v-45a43b8e]{display:flex}}.mtb-left[data-v-45a43b8e],.mtb-right[data-v-45a43b8e]{flex:0 0 56px;display:flex;align-items:center;justify-content:center;gap:4px}.mtb-right[data-v-45a43b8e]{justify-content:flex-end;padding-right:4px}.mtb-left[data-v-45a43b8e]{justify-content:flex-start;padding-left:4px}.mtb-title[data-v-45a43b8e]{flex:1;text-align:center;font-size:16px;font-weight:700;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mtb-icon-btn[data-v-45a43b8e]{width:38px;height:38px;border-radius:11px;border:none;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,transform .15s var(--ease-spring);will-change:transform;backface-visibility:hidden}@media (hover: hover) and (pointer: fine){.mtb-icon-btn[data-v-45a43b8e]:hover{background:transparent;color:var(--text2)}}.mtb-icon-btn[data-v-45a43b8e]:active{transform:scale(.94)}.update-body[data-v-1b008169]{text-align:center}.update-icon[data-v-1b008169]{width:58px;height:58px;margin:0 auto 16px;display:grid;place-items:center;border-radius:18px;color:var(--blue);background:var(--blue-light)}.update-body p[data-v-1b008169]{margin:0;color:var(--text3);font-size:13px;line-height:1.6}.update-footer[data-v-1b008169]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.update-actions[data-v-1b008169]{display:flex;gap:10px}.ignore-btn[data-v-1b008169]{border:0;background:transparent;color:var(--text3);font-size:12px;cursor:pointer}@media (hover: hover) and (pointer: fine){.ignore-btn[data-v-1b008169]:hover{color:var(--text2)}}.update-progress-matrix[data-v-1b008169]{--matrix-dot: clamp(3px, 1.5vw, 5px);--matrix-gap: clamp(2px, .8vw, 3px);--matrix-block-gap: clamp(4px, 1.5vw, 7px);position:relative;isolation:isolate;width:min(100%,420px);margin:22px auto 0;display:flex;justify-content:center;align-items:center;gap:var(--matrix-block-gap);padding:12px 14px;border-radius:4px;background:transparent;overflow:hidden;transform:translateZ(0);backface-visibility:hidden;will-change:transform;contain:layout paint style}.matrix-block[data-v-1b008169]{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,var(--matrix-dot));grid-template-rows:repeat(4,var(--matrix-dot));gap:var(--matrix-gap);transform:translateZ(0);backface-visibility:hidden;will-change:transform,filter,opacity}.matrix-dot[data-v-1b008169]{width:var(--matrix-dot);height:var(--matrix-dot);border:1px solid color-mix(in srgb,var(--blue) 18%,var(--border));border-radius:1px;background:color-mix(in srgb,var(--blue) 4%,var(--bg3));opacity:.78;transform:translateZ(0) scale(.92);transition:background-color .16s var(--ease-smooth),border-color .16s var(--ease-smooth),box-shadow .16s var(--ease-smooth),opacity .16s var(--ease-smooth),transform .16s var(--ease-spring);will-change:transform,opacity,background-color,box-shadow;backface-visibility:hidden}.matrix-dot.filled[data-v-1b008169]{background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 62%,var(--green)));border-color:color-mix(in srgb,var(--blue) 88%,white);box-shadow:0 0 7px color-mix(in srgb,var(--blue) 62%,transparent);opacity:1;transform:translateZ(0) scale(1);animation:downloadedDotPulse-1b008169 1.4s var(--ease-smooth) infinite alternate}@keyframes downloadedDotPulse-1b008169{0%{box-shadow:0 0 4px color-mix(in srgb,var(--blue) 42%,transparent);filter:brightness(1)}to{box-shadow:0 0 10px color-mix(in srgb,var(--blue) 76%,transparent);filter:brightness(1.12)}}.update-progress-meta[data-v-1b008169]{display:flex;justify-content:space-between;width:100%;color:var(--text3);font-size:12px}.update-error[data-v-1b008169]{margin-top:12px;color:var(--red);font-size:12px}[data-theme=dark]{background:transparent}[data-theme=dark]{border-color:color-mix(in srgb,var(--blue) 26%,var(--border));background:color-mix(in srgb,var(--blue) 8%,var(--bg3))}@media (max-width: 420px){.update-progress-matrix[data-v-1b008169]{--matrix-dot: 3px;--matrix-gap: 2px;--matrix-block-gap: 4px;padding-inline:10px}}@media (prefers-reduced-motion: reduce){.matrix-dot.filled[data-v-1b008169]{animation:none}.matrix-dot[data-v-1b008169]{transition-duration:.01ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--white: #ffffff;--bg: #f5f7fa;--bg2: #ffffff;--bg3: #f0f4f8;--border: #e2e8f0;--border2: #cbd5e1;--text: #0f172a;--text2: #475569;--text3: #94a3b8;--blue: #2563eb;--blue-light: #eff6ff;--blue-mid: #dbeafe;--blue-dark: #1d4ed8;--green: #16a34a;--green-light: #f0fdf4;--amber: #d97706;--amber-light: #fffbeb;--red: #dc2626;--red-light: #fef2f2;--purple: #7c3aed;--purple-light: #f5f3ff;--shadow-sm: 0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(15,23,42,.1),0 4px 12px rgba(15,23,42,.06);--r: 12px;--r-sm: 8px;--r-lg: 16px;--font-serif: "Noto Serif SC", serif;--font-sans: "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", monospace;--nav-w: 248px;--bottom-h: 60px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--white: #1e293b;--bg: #0f172a;--bg2: #1e293b;--bg3: #334155;--border: #334155;--border2: #475569;--text: #f1f5f9;--text2: #cbd5e1;--text3: #94a3b8;--blue: #3b82f6;--blue-light: #1e3a8a;--blue-mid: #1e40af;--blue-dark: #60a5fa;--green-light: #14532d;--amber-light: #422006;--red-light: #450a0a;--purple-light: #2e1065;--shadow-sm: 0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);--shadow: 0 4px 12px rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.2);--shadow-lg: 0 10px 30px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.3)}[data-theme=dark] body{color-scheme:dark}[data-theme=dark] .badge-green{background:#14532d;color:#4ade80;border-color:#166534}[data-theme=dark] .badge-amber{background:#422006;color:#fbbf24;border-color:#854d0e}[data-theme=dark] .badge-red{background:#450a0a;color:#f87171;border-color:#991b1b}[data-theme=dark] .badge-purple{background:#2e1065;color:#a78bfa;border-color:#4c1d95}[data-theme=dark] .badge-role-patient{background:#0c4a6e;color:#7dd3fc;border-color:#075985}[data-theme=dark] .badge-role-doctor{background:#14532d;color:#4ade80;border-color:#166534}[data-theme=dark] .badge-role-admin{background:#422006;color:#fbbf24;border-color:#854d0e}[data-theme=dark] .badge-role-super-admin{background:#2e1065;color:#a78bfa;border-color:#4c1d95}[data-theme=dark] .badge-unit-hospital{background:#1e3a8a;color:#93c5fd;border-color:#1e40af}[data-theme=dark] .badge-unit-clinic{background:#14532d;color:#4ade80;border-color:#166534}[data-theme=dark] .badge-unit-partner{background:#2e1065;color:#a78bfa;border-color:#4c1d95}html,body,#app{height:100%;width:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:14px;overflow:hidden;transition:background-color .25s var(--ease-smooth),color .25s var(--ease-smooth)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}a{color:var(--blue);text-decoration:none}@media (max-width: 768px),(hover: none),(pointer: coarse){button:hover,a:hover,[role=button]:hover,.btn:hover,.settings-row:hover,.session-item:hover,.im-session-row:hover,.app-nav-item:hover,.app-subnav-item:hover,.tier-status-card:hover,.clickable-row:hover{filter:none!important;box-shadow:inherit}button:not(:disabled),.btn:not(:disabled),[role=button],.settings-row,.session-item,.im-session-row,.bottom-nav-item,.mobile-topbar .mtb-icon-btn,.mobile-topbar .back-btn,.mobile-topbar .icon-btn{transition:transform .12s var(--ease-spring),opacity .12s var(--ease-smooth),background-color .15s var(--ease-smooth),color .15s var(--ease-smooth),border-color .15s var(--ease-smooth);will-change:transform,opacity;backface-visibility:hidden}button:not(:disabled):active,.btn:not(:disabled):active,[role=button]:active,.settings-row:active,.session-item:active,.im-session-row:active,.bottom-nav-item:active,.mobile-topbar .mtb-icon-btn:active,.mobile-topbar .back-btn:active,.mobile-topbar .icon-btn:active{transform:scale(.96);opacity:.86}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (hover: hover) and (pointer: fine){::-webkit-scrollbar-thumb:hover{background:var(--border2)}}.table-scroll-wrap{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.table-scroll-wrap::-webkit-scrollbar{display:none}.section-title{font-family:var(--font-serif);font-size:18px;font-weight:700;color:var(--text)}.section-sub{font-size:12.5px;color:var(--text3);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--r-sm);font-size:13px;font-weight:500;border:1.5px solid transparent;background:transparent;color:var(--text);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--blue);color:#fff}@media (hover: hover) and (pointer: fine){.btn-primary:hover{background:var(--blue-dark)}}.btn-ghost{border-color:var(--border);color:var(--text2);background:var(--white)}@media (hover: hover) and (pointer: fine){.btn-ghost:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}}.btn-danger{background:var(--red);color:#fff}@media (hover: hover) and (pointer: fine){.btn-danger:hover{background:#b91c1c}}.btn-sm{padding:5px 10px;font-size:12px}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 9px;border-radius:20px;background:var(--blue-light);color:var(--blue);border:1px solid var(--blue-mid)}.badge-green{background:var(--green-light);color:var(--green);border-color:#bbf7d0}.badge-amber{background:var(--amber-light);color:var(--amber);border-color:#fde68a}.badge-red{background:var(--red-light);color:var(--red);border-color:#fecaca}.badge-gray{background:var(--bg3);color:var(--text2);border-color:var(--border)}.badge-purple{background:var(--purple-light);color:var(--purple);border-color:#ddd6fe}.badge-role-patient{background:#e0f2fe;color:#0369a1;border-color:#bae6fd}.badge-role-doctor{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.badge-role-admin{background:#fffbeb;color:#b45309;border-color:#fde68a}.badge-role-super-admin{background:var(--purple-light);color:var(--purple);border-color:#ddd6fe}.badge-unit-hospital{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.badge-unit-clinic{background:#ecfdf5;color:#059669;border-color:#bbf7d0}.badge-unit-partner{background:var(--purple-light);color:var(--purple);border-color:#ddd6fe}.badge-unit-other{background:var(--bg3);color:var(--text2);border-color:var(--border)}[data-theme=dark] .badge-green{border-color:#16a34a66}[data-theme=dark] .badge-amber{color:#fbbf24;border-color:#d9770680}[data-theme=dark] .badge-red{border-color:#dc262680}[data-theme=dark] .badge-purple{border-color:#7c3aed80}[data-theme=dark] .badge-role-patient{background:#082f49;color:#7dd3fc;border-color:#0369a180}[data-theme=dark] .badge-role-doctor{background:var(--green-light);color:#4ade80;border-color:#16a34a66}[data-theme=dark] .badge-role-admin{background:var(--amber-light);color:#fbbf24;border-color:#d9770680}[data-theme=dark] .badge-role-super-admin{border-color:#7c3aed80}[data-theme=dark] .badge-unit-hospital{background:var(--blue-light);color:var(--blue-dark);border-color:var(--blue-mid)}[data-theme=dark] .badge-unit-clinic{background:var(--green-light);color:#4ade80;border-color:#16a34a66}[data-theme=dark] .badge-unit-partner{border-color:#7c3aed80}.input,.textarea,.select{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-size:13.5px;color:var(--text);background:var(--white);outline:none;transition:border-color .12s,box-shadow .12s;height:38px}.input::placeholder,.textarea::placeholder,.select::placeholder{color:var(--text3)}.textarea{height:auto;resize:vertical;min-height:80px;line-height:1.6}.input:focus,.textarea:focus,.select:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2563eb14}.field-label{font-size:12px;font-weight:500;color:var(--text2);margin-bottom:5px;display:block}.toggle{display:inline-flex;align-items:center;position:relative;cursor:pointer;flex-shrink:0}.toggle .slider{display:inline-block;width:38px;height:22px;border-radius:11px;background:var(--border2);position:relative;transition:background .18s;vertical-align:middle}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column}.modal-lg{max-width:640px}.modal-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.modal-title{font-size:15px;font-weight:600;flex:1}.modal-close{background:none;border:none;padding:4px;color:var(--text3);cursor:pointer;border-radius:6px}@media (hover: hover) and (pointer: fine){.modal-close:hover{background:var(--bg3);color:var(--text)}}.modal-body{padding:18px 20px;overflow-y:auto;flex:1}.modal-foot{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .2s var(--ease-smooth);will-change:opacity}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-active .modal,.modal-fade-leave-active .modal{transition:opacity .24s var(--ease-smooth),transform .28s var(--ease-spring);will-change:opacity,transform;backface-visibility:hidden}.modal-fade-enter-from .modal,.modal-fade-leave-to .modal{opacity:0;transform:translateY(12px) scale(.985)}.toast-container{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:500;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--text);color:#fff;padding:9px 18px;border-radius:22px;font-size:13px;box-shadow:var(--shadow-lg);animation:toastIn .2s ease;will-change:opacity,transform;backface-visibility:hidden}[data-theme=dark] .toast{background:#334155;color:#f8fafc;border:1px solid #475569}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.stat-card{padding:16px 18px;background:var(--white);border:1px solid var(--border);border-radius:var(--r);display:flex;align-items:center;gap:14px}.stat-icon{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:6px}.stat-value{font-family:var(--font-serif);font-size:24px;font-weight:700;color:var(--text);line-height:1.1}.stat-trend{font-size:11px;color:var(--green);display:flex;align-items:center;gap:3px}.stat-trend.down{color:var(--red)}.page{padding:20px 24px;max-width:1100px;margin:0 auto;width:100%}.page-title-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:18px}.page-title-row>div:first-child{flex:1;min-width:0}.grid{display:grid;gap:14px}.grid-2{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width: 900px){.grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-5>:last-child:nth-child(odd){grid-column:span 2}}@media (max-width: 560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-5>:last-child:nth-child(odd){grid-column:span 2}}.list-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.list-card.flat{box-shadow:none}.list-row{display:grid;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;gap:12px}.list-row>div{min-width:0}.list-row>div>span:first-child:only-of-type,.list-row>div>span.cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.list-row:last-child{border-bottom:none}.list-row.head{background:var(--bg3);color:var(--text3);font-size:11.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@media (hover: hover) and (pointer: fine){.list-row:hover:not(.head){background:var(--bg)}}.empty{padding:40px 20px;text-align:center;color:var(--text3);font-size:13px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative}.avatar-square{border-radius:9px;background:var(--blue-light);color:var(--blue)}.avatar-lg{width:56px;height:56px;font-size:18px}.profile-avatar-wrap,.sidebar-avatar-wrap{overflow:hidden}.profile-avatar-img,.sidebar-avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filter-bar .input{flex:1;min-width:180px}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card.flat{box-shadow:none}.card.padded{padding:18px}.fade-enter-active,.fade-leave-active{transition:opacity .2s;will-change:opacity}.fade-enter-from,.fade-leave-to{opacity:0}.select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:13px;background:var(--white);outline:none;transition:border-color .15s}.select:focus{border-color:var(--blue)}.list-row.list-head,.list-row.head{background:var(--bg3);color:var(--text3);font-size:11.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@media (hover: hover) and (pointer: fine){.list-row.list-head:hover,.list-row.head:hover{background:var(--bg3)}}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.toggle input[type=checkbox]{display:none}.toggle .slider{display:inline-block;width:38px;height:22px;border-radius:11px;background:var(--border2);position:relative;cursor:pointer;transition:background .18s;vertical-align:middle}.toggle .slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s;will-change:transform;backface-visibility:hidden}.toggle input[type=checkbox]:checked+.slider{background:var(--blue)}.toggle input[type=checkbox]:checked+.slider:after{transform:translate(16px)}.approval-diff .col .lbl{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.approval-card .head .info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.approval-card .head .info .doctor-name{font-size:14px;font-weight:600}.approval-card .head .info .field-name{font-size:12.5px;color:var(--text2)}.approval-card .head .info .time{font-size:11px;color:var(--text3)}@media (max-width: 768px){.list-row.list-head,.list-row.head{display:none}.list-row{display:block;padding:12px 14px}.list-row>div{display:grid;grid-template-columns:74px minmax(0,1fr);justify-content:start;align-items:center;padding:5px 0;font-size:13px;gap:10px;min-width:0}.list-row>div:before{content:attr(data-label);color:var(--text3);font-size:12px;font-weight:500;flex-shrink:0}.list-row>div:not([data-label]):before{display:none}.list-row>div[data-label=操作]{display:flex;flex-wrap:wrap;justify-content:flex-start;padding-top:10px}.list-row>div[data-label=操作]:before{display:none}}.list-row.cols-3{grid-template-columns:1.4fr 1fr 1fr}.list-row.cols-4{grid-template-columns:1.4fr 1fr 1.6fr 1.2fr}.list-row.cols-5{grid-template-columns:1fr 1.3fr 1.3fr .9fr 1.6fr}.list-row.cols-6{grid-template-columns:.5fr 1fr 1fr 2fr 1fr 1.5fr}@media (max-width: 768px){.list-row.cols-3,.list-row.cols-4,.list-row.cols-5,.list-row.cols-6{grid-template-columns:none}}.desktop-only{display:block}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:block}.mobile-list{display:flex;flex-direction:column;gap:10px}.mc-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:13px 14px 11px;box-shadow:var(--shadow-sm)}.mc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.mc-name{font-size:14px;font-weight:600;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-badges{display:flex;gap:5px;flex-shrink:0}.mc-meta{font-size:12px;color:var(--text3);margin-bottom:2px}.mc-affil{display:flex;flex-direction:column;gap:1px;font-size:12px;color:var(--text3);margin-bottom:8px}.mc-dept{color:var(--text3)}.mc-row{display:flex;align-items:flex-end;gap:6px;font-size:12.5px;padding:5px 0}.mc-lbl{color:var(--text);flex-shrink:0;width:30px}.mc-val{color:var(--text3);flex:1;line-height:1.45}.mc-val .muted-inline{font-size:11.5px}.mc-foot{display:flex;gap:6px;flex-wrap:wrap}.mc-foot .btn{flex:1;justify-content:center;min-width:72px}}button,a,input,select,textarea,[role=button],[tabindex]{-webkit-tap-highlight-color:rgba(0,0,0,0)}button{outline:none}button:focus,button:focus-visible{outline:none;box-shadow:none}*:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}@media (max-width: 768px){*:focus,*:active{outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:rgba(0,0,0,0)!important}input:focus,textarea:focus{outline:none;box-shadow:none}}[data-theme=dark] .chat-title{color:var(--text)}[data-theme=dark] .header-badge{background:#14532d;color:#4ade80;border-color:#166534}[data-theme=dark] .tool-progress-steps{background:var(--bg2);border-top-color:var(--border)}[data-theme=dark] .progress-index{background:#1e3a8a;color:#93c5fd}[data-theme=dark] .progress-count{color:var(--text3);background:var(--bg3)}[data-theme=dark] .tool-json{color:var(--text2)}[data-theme=dark] .tool-dur{color:var(--text3)}[data-theme=dark] .skill-icon{color:#a78bfa}[data-theme=dark] .dept-chip:nth-child(2){background:#14532d;border-color:#166534;color:#4ade80}[data-theme=dark] .dept-chip:nth-child(3){background:#2e1065;border-color:#4c1d95;color:#a78bfa}[data-theme=dark] .send-btn{background:var(--blue)}@media (hover: hover) and (pointer: fine){[data-theme=dark] .send-btn:hover{background:var(--blue-dark)}}[data-theme=dark] .floating-file-card{background:var(--bg3)}@media (hover: hover) and (pointer: fine){[data-theme=dark] .floating-file-card:hover{background:var(--bg2)}}[data-theme=dark] .floating-file-icon.icon-image{background:#1e3a8a;color:#93c5fd}[data-theme=dark] .floating-file-icon.icon-video{background:#2e1065;color:#a78bfa}[data-theme=dark] .floating-file-icon.icon-audio{background:#500724;color:#f9a8d4}[data-theme=dark] .floating-file-icon.icon-code{background:#14532d;color:#4ade80}[data-theme=dark] .floating-file-icon.icon-sheet{background:#064e3b;color:#34d399}[data-theme=dark] .floating-file-icon.icon-archive{background:#431407;color:#fb923c}[data-theme=dark] .floating-file-icon.icon-pdf,[data-theme=dark] .floating-file-icon.icon-error{background:#450a0a;color:#f87171}[data-theme=dark] .floating-file-icon.icon-default{background:var(--bg3);color:var(--text2)}[data-theme=dark] .floating-chat-input{color:var(--text)}[data-theme=dark] .floating-chat-input::placeholder{color:var(--text3)}[data-theme=dark] .floating-send-btn{background:var(--blue)}[data-theme=dark] .floating-send-btn.is-stop{background:var(--red)}[data-theme=dark] .pc-topbar{background:var(--bg2);border-bottom-color:var(--border)}[data-theme=dark] .pc-topbar .crumb{color:var(--text3)}[data-theme=dark] .pc-topbar .crumb b{color:var(--text)}[data-theme=dark] .session-unread,[data-theme=dark] .badge-unread{background:#450a0a;color:#f87171}.chat-sidebar{width:248px;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;z-index:80;transition:transform .3s cubic-bezier(.4,0,.2,1)}.chat-sidebar-logo{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.logo-icon{width:30px;height:30px;background:var(--blue);border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-name{font-family:var(--font-serif);font-size:14px;font-weight:700}.logo-sub{font-size:10px;color:var(--text3)}.new-chat-btn{margin:10px 12px 6px;padding:8px 12px;background:var(--blue);color:#fff;border:none;border-radius:var(--r-sm);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s}@media (hover: hover) and (pointer: fine){.new-chat-btn:hover{background:var(--blue-dark)}}.session-list{flex:1;overflow-y:auto;padding:4px 8px}.session-group-label{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:10px 8px 4px}.session-item{padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .12s;margin-bottom:1px}@media (hover: hover) and (pointer: fine){.session-item:hover{background:var(--bg3)}}.session-item.active{background:var(--blue-light)}.session-text{font-size:12.5px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-item.active .session-text{color:var(--blue);font-weight:500}.chat-sidebar-footer{padding:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px}.avatar-sm{width:28px;height:28px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}.user-info .name{font-size:12.5px;font-weight:500}.user-info .role{font-size:10.5px;color:var(--text3)}.chat-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg);height:100%}.pc-only{display:flex}.mobile-only{display:none}@media (max-width: 768px){.pc-only{display:none!important}.mobile-only{display:flex!important}}.chat-header{padding:11px 24px;border-bottom:1px solid #dbeafe;background:linear-gradient(135deg,#eff6ff,#eef2ff);display:flex;align-items:center;gap:10px;flex-shrink:0}.chat-header-icon{width:32px;height:32px;background:linear-gradient(135deg,#2563eb,#6366f1);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px -3px #2563eb61}.chat-title{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e3a5f}.chat-subtitle{font-size:10.5px;color:var(--text3)}.header-badge{margin-left:auto;font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px;background:#e0faf4;color:#059669;border:1px solid #a7f3d0;display:flex;align-items:center;gap:4px;flex-shrink:0}.messages-container{flex:1;overflow-y:auto;padding:20px 0 8px;min-height:0}.msg-wrapper{max-width:720px;margin:0 auto;padding:0 24px}.msg-user{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-end;gap:8px;margin-bottom:16px;animation:chatBubbleInRight .42s cubic-bezier(.2,1.35,.32,1) both;transform-origin:right center}.msg-user,.msg-ai{backface-visibility:hidden;will-change:opacity,transform,filter;contain:layout paint}.msg-user-body{display:flex;flex-direction:column;align-items:flex-end;min-width:0;max-width:70%}.msg-user .bubble{background:var(--blue);color:#fff;border-radius:16px 4px 16px 16px;padding:10px 14px;max-width:100%;width:fit-content;font-size:13.5px;line-height:1.65;overflow-wrap:break-word;word-break:normal;white-space:pre-wrap}.msg-user .timestamp{font-size:10px;color:var(--text3);margin-top:4px}.msg-avatar-badge{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--blue, #2563eb);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:2px}.msg-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.msg-avatar-initials{line-height:1;-webkit-user-select:none;user-select:none}.msg-ai{margin-bottom:8px;animation:chatBubbleInLeft .34s cubic-bezier(.18,.86,.28,1) both;transform-origin:left center}.msg-ai-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ai-avatar{width:27px;height:27px;border-radius:7px;background:linear-gradient(135deg,#2563eb,#6366f1);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px -2px #2563eb66}.ai-name{font-size:13px;font-weight:600}.ai-label{font-size:10px;color:var(--text3);background:var(--bg3);padding:1px 7px;border-radius:10px}.ai-text{font-size:13.5px;line-height:1.75;color:var(--text);padding-left:35px}.ai-text.ai-token-text{white-space:pre-wrap}.ai-text h1,.ai-text h2,.ai-text h3,.ai-text h4,.ai-text h5,.ai-text h6{font-weight:700;color:var(--text);line-height:1.4;margin:14px 0 6px}.ai-text h1{font-size:18px}.ai-text h2{font-size:16px}.ai-text h3{font-size:15px}.ai-text h4{font-size:14px}.ai-text h5,.ai-text h6{font-size:13.5px;color:var(--text2)}.ai-text p{margin:6px 0}.ai-text ul,.ai-text ol{margin:6px 0;padding-left:22px}.ai-text li{margin:2px 0}.ai-text code{background:var(--bg3);padding:1px 5px;border-radius:4px;font-family:var(--font-mono);font-size:12.5px}.ai-text strong{font-weight:600}.token{display:inline;animation:tokenIn .28s ease forwards;opacity:0;will-change:opacity}@keyframes tokenIn{0%{opacity:0}to{opacity:1}}@keyframes chatBubbleInLeft{0%{opacity:0;transform:translate(-18px) translateY(4px) scale(.985);filter:blur(2px)}72%{opacity:1;transform:translate(1px) translateY(0) scale(1.002);filter:blur(0)}to{opacity:1;transform:translate(0) translateY(0) scale(1);filter:blur(0)}}@keyframes chatBubbleInRight{0%{opacity:0;transform:translate(22px) translateY(5px) scale(.96);filter:blur(2px)}62%{opacity:1;transform:translate(-2px) translateY(0) scale(1.018);filter:blur(0)}to{opacity:1;transform:translate(0) translateY(0) scale(1);filter:blur(0)}}.ai-streaming-md .stream-token-in,.stream-token-in{display:inline-block;opacity:0;transform:translateY(.35em);filter:blur(1px);animation:streamTokenIn 1s cubic-bezier(.2,.75,.2,1) forwards;will-change:opacity,transform,filter;backface-visibility:hidden}.ai-streaming-md-complex .stream-token-in{display:inline;opacity:.22;transform:none;filter:none;animation-name:streamTokenFadeOnly;will-change:opacity;backface-visibility:hidden}.ai-streaming-md-complex li:has(.stream-token-in),.ai-streaming-md-complex tr:has(.stream-token-in),.ai-streaming-md-complex pre:has(.stream-token-in),.ai-streaming-md-complex blockquote:has(.stream-token-in){animation:streamStructuralIn .24s ease-out both;will-change:opacity}@keyframes streamTokenIn{0%{opacity:0;transform:translateY(.35em);filter:blur(1px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes streamTokenFadeOnly{0%{opacity:.22}to{opacity:1}}@keyframes streamStructuralIn{0%{opacity:.65}to{opacity:1}}@keyframes pendingPulse{0%,to{opacity:1}50%{opacity:.35}}.ai-text.pending{color:var(--text3);animation:pendingPulse 1.4s ease-in-out infinite;will-change:opacity}.reasoning-block{margin:5px 0 5px 35px;border-radius:6px;border:1px solid #e9d5ff;background:var(--white);font-family:var(--font-mono);overflow:hidden;position:relative}.reasoning-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#7c3aed,#a855f7);border-radius:3px 0 0 3px;z-index:1;pointer-events:none}.reasoning-header{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 13px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s;border:none;background:transparent;width:100%;text-align:left;position:relative;overflow:hidden}@media (hover: hover) and (pointer: fine){.reasoning-header:hover{background:#faf5ff}}.reasoning-icon{color:#7c3aed;flex-shrink:0;width:13px;height:13px}.reasoning-title{font-size:11px;font-weight:500;color:#6d28d9;font-family:var(--font-sans);flex:1}.reasoning-chev{color:var(--text3);transition:transform .2s;display:flex;align-items:center;flex-shrink:0;will-change:transform;backface-visibility:hidden}.reasoning-open .reasoning-chev{transform:rotate(90deg)}.reasoning-body{padding:8px 12px 10px;font-size:12px;line-height:1.7;color:var(--text3);white-space:pre-wrap;word-break:break-word;font-family:var(--font-sans);border-top:1px solid #e9d5ff;max-height:280px;overflow-y:auto;background:#faf5ff}@keyframes reasoningTitleGlow{0%,to{color:#6d28d9;text-shadow:none}40%{color:#a855f7;text-shadow:0 0 8px rgba(168,85,247,.55)}60%{color:#c084fc;text-shadow:0 0 12px rgba(192,132,252,.7)}}.reasoning-block:not(.reasoning-done) .reasoning-title{animation:reasoningTitleGlow 2s ease-in-out infinite;will-change:color,text-shadow}@keyframes reasoningTextPulse{0%,to{opacity:1}50%{opacity:.4}}.reasoning-block:not(.reasoning-done) .reasoning-body{animation:reasoningTextPulse 1.8s ease-in-out infinite;will-change:opacity}@keyframes reasoningShimmer{0%{transform:translate(-120%)}to{transform:translate(320%)}}.reasoning-block:not(.reasoning-done) .reasoning-header:after{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;background:linear-gradient(90deg,transparent 0%,rgba(167,139,250,.18) 35%,rgba(192,132,252,.32) 50%,rgba(167,139,250,.18) 65%,transparent 100%);animation:reasoningShimmer 2s ease-in-out infinite;pointer-events:none;will-change:transform;backface-visibility:hidden}.tool-call-block{margin:5px 0 5px 35px;border-radius:6px;border:1px solid var(--border);background:var(--white);font-family:var(--font-mono);overflow:hidden;position:relative;backface-visibility:hidden;contain:layout paint}.tool-call-block:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#6366f1;border-radius:3px 0 0 3px;z-index:1;pointer-events:none}.tool-call-block[data-tool=read_skill]:before{background:#0d9488}.tool-call-block[data-tool=questionnaire]:before{background:#3b82f6}.tool-call-block[data-tool=summary]:before{background:#6366f1}.tool-call-block[data-tool=search_doctors]:before{background:#10b981}.tool-call-block[data-tool=propose_slots]:before{background:#ea580c}.tool-call-block[data-tool=connect_im]:before{background:#ec4899}.tool-call-block[data-tool=web_search]:before{background:#0ea5e9}.tool-call-block[data-tool=web_read]:before{background:#8b5cf6}.tool-call-block[data-tool=generate_document]:before{background:#64748b}.tool-call-block.is-running:before{background:linear-gradient(180deg,#2563eb,#6366f1)}.tool-call-block[data-tool=read_skill].is-running:before{background:linear-gradient(180deg,#0f766e,#0d9488)}.tool-call-block[data-tool=questionnaire].is-running:before{background:linear-gradient(180deg,#2563eb,#3b82f6)}.tool-call-block[data-tool=summary].is-running:before{background:linear-gradient(180deg,#4f46e5,#6366f1)}.tool-call-block[data-tool=search_doctors].is-running:before{background:linear-gradient(180deg,#059669,#10b981)}.tool-call-block[data-tool=propose_slots].is-running:before{background:linear-gradient(180deg,#c2410c,#ea580c)}.tool-call-block[data-tool=connect_im].is-running:before{background:linear-gradient(180deg,#db2777,#ec4899)}.tool-call-block[data-tool=web_search].is-running:before{background:linear-gradient(180deg,#0369a1,#0ea5e9)}.tool-call-block[data-tool=web_read].is-running:before{background:linear-gradient(180deg,#6d28d9,#8b5cf6)}.tool-call-block[data-tool=generate_document].is-running:before{background:linear-gradient(180deg,#334155,#64748b)}.tool-call-block[data-tool=read_skill] .tool-icon{color:#0f766e}.tool-call-block[data-tool=questionnaire] .tool-icon{color:#2563eb}.tool-call-block[data-tool=summary] .tool-icon{color:#4f46e5}.tool-call-block[data-tool=search_doctors] .tool-icon{color:#059669}.tool-call-block[data-tool=propose_slots] .tool-icon{color:#c2410c}.tool-call-block[data-tool=connect_im] .tool-icon{color:#db2777}.tool-call-block[data-tool=web_search] .tool-icon{color:#0369a1}.tool-call-block[data-tool=web_read] .tool-icon{color:#6d28d9}.tool-call-block[data-tool=generate_document] .tool-icon{color:#475569}@keyframes toolShimmer{0%{transform:translate(-120%)}to{transform:translate(320%)}}.tool-call-header{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s;position:relative;overflow:hidden}@media (hover: hover) and (pointer: fine){.tool-call-header:hover{background:var(--bg3)}}.tool-icon{flex-shrink:0;color:#6366f1}.tool-call-block.is-running .tool-call-header:after{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;pointer-events:none;animation:toolShimmer 2s ease-in-out infinite;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.16) 35%,rgba(129,140,248,.28) 50%,rgba(99,102,241,.16) 65%,transparent 100%);will-change:transform;backface-visibility:hidden}.tool-call-block[data-tool=read_skill].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(15,118,110,.16) 35%,rgba(20,184,166,.28) 50%,rgba(15,118,110,.16) 65%,transparent 100%)}.tool-call-block[data-tool=questionnaire].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(37,99,235,.16) 35%,rgba(96,165,250,.28) 50%,rgba(37,99,235,.16) 65%,transparent 100%)}.tool-call-block[data-tool=summary].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(79,70,229,.16) 35%,rgba(129,140,248,.28) 50%,rgba(79,70,229,.16) 65%,transparent 100%)}.tool-call-block[data-tool=search_doctors].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(5,150,105,.16) 35%,rgba(52,211,153,.28) 50%,rgba(5,150,105,.16) 65%,transparent 100%)}.tool-call-block[data-tool=propose_slots].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(194,65,12,.16) 35%,rgba(251,146,60,.28) 50%,rgba(194,65,12,.16) 65%,transparent 100%)}.tool-call-block[data-tool=connect_im].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(219,39,119,.16) 35%,rgba(249,168,212,.28) 50%,rgba(219,39,119,.16) 65%,transparent 100%)}.tool-call-block[data-tool=web_search].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(3,105,161,.16) 35%,rgba(56,189,248,.28) 50%,rgba(3,105,161,.16) 65%,transparent 100%)}.tool-call-block[data-tool=web_read].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(109,40,217,.16) 35%,rgba(192,132,252,.28) 50%,rgba(109,40,217,.16) 65%,transparent 100%)}.tool-call-block[data-tool=generate_document].is-running .tool-call-header:after{background:linear-gradient(90deg,transparent 0%,rgba(71,85,105,.16) 35%,rgba(148,163,184,.28) 50%,rgba(71,85,105,.16) 65%,transparent 100%)}.tool-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-running{background:var(--amber);box-shadow:0 0 0 3px #d9770629}.dot-running{will-change:box-shadow}.dot-done{background:var(--green)}@keyframes statusPulse{0%{box-shadow:0 0 #d9770680}70%{box-shadow:0 0 0 5px #d9770600}to{box-shadow:0 0 #d9770600}}.tool-fn{color:var(--blue);font-size:11px;font-weight:500}.tool-sep{color:var(--text3);font-family:var(--font-sans);font-size:11px;margin:0 3px}.tool-desc{font-size:11px;color:var(--text3);font-family:var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.tool-dur{font-size:10px;color:#cbd5e1;font-family:var(--font-sans)}.tool-chev{color:var(--text3);transition:transform .2s;display:flex;align-items:center;flex-shrink:0;will-change:transform;backface-visibility:hidden}.tool-chev.open{transform:rotate(90deg)}.tool-progress-steps{border-top:1px solid #eef2f7;background:#fbfdff;padding:6px 10px 7px 15px;display:flex;flex-direction:column;gap:5px}.tool-progress-step{display:flex;align-items:center;gap:7px;min-width:0;font-family:var(--font-sans)}.progress-index{width:15px;height:15px;border-radius:50%;background:#eef2ff;color:#4f46e5;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}.progress-main{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.progress-title{font-size:11px;color:var(--text2);font-weight:600;white-space:nowrap}.progress-detail{font-size:10.5px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.progress-count{font-size:10px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:1px 6px;white-space:nowrap;flex-shrink:0}.tool-body{display:none;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg3)}.tool-body.show{display:block}.tool-lbl{font-size:9.5px;color:var(--text3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:4px;font-family:var(--font-sans)}.tool-json{background:var(--white);border:1px solid var(--border);border-radius:5px;padding:7px 10px;color:#334155;white-space:pre-wrap;word-break:break-all;font-size:10.5px;line-height:1.6;margin-bottom:8px;overflow-x:auto}.tool-json.res{color:var(--green)}.skill-header-bar{display:flex;align-items:center;gap:5px;padding:3px 10px 5px}.skill-icon{color:#a78bfa;flex-shrink:0}.skill-labels{font-size:10.5px;color:var(--text3);font-family:var(--font-sans);letter-spacing:.3px}.q-card{margin:10px 0 10px 35px;border-radius:var(--r);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;max-width:440px}.q-head{padding:14px 16px 10px;border-bottom:1px solid #dbeafe;background:linear-gradient(135deg,#eff6ff,#eef2ff)}.q-tag{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:5px;margin-bottom:4px}.q-title{font-size:13.5px;font-weight:600}.q-prog-row{display:flex;align-items:center;gap:10px;padding:8px 16px 0}.q-prog-track{flex:1;height:3px;background:var(--border);border-radius:3px;overflow:hidden}.q-prog-fill{height:100%;background:var(--blue);border-radius:3px;transition:width .4s ease;will-change:width}.q-prog-lbl{font-size:10px;color:var(--text3);white-space:nowrap}.q-body{padding:14px 16px 16px}.q-question{font-size:13px;font-weight:500;margin-bottom:12px;line-height:1.55}.q-opts{display:flex;flex-direction:column;gap:6px}.q-opt{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--r-sm);border:1.5px solid var(--border);cursor:pointer;font-size:13px;color:var(--text2);transition:all .12s;-webkit-user-select:none;user-select:none}@media (hover: hover) and (pointer: fine){.q-opt:hover{border-color:var(--blue);color:var(--text);background:var(--blue-light)}}.q-opt.sel{border-color:var(--blue);background:var(--blue-light);color:var(--blue-dark);font-weight:500}.q-radio{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;flex-shrink:0}.q-opt.sel .q-radio:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue)}.q-check{width:14px;height:14px;border-radius:3px;border:2px solid currentColor;display:flex;align-items:center;justify-content:center;flex-shrink:0}.q-opt.sel .q-check:after{content:"✓";font-size:9px;color:var(--blue);font-weight:700;line-height:1}.q-custom{margin-top:8px;display:none}.q-custom.show{display:block}.q-input{width:100%;padding:8px 11px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-sans);font-size:13px;color:var(--text);outline:none;transition:border-color .12s}.q-input:focus{border-color:var(--blue)}.q-input::placeholder{color:var(--text3)}.q-action{margin-top:12px}.q-next{width:100%;padding:9px;background:var(--blue);color:#fff;border:none;border-radius:var(--r-sm);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-sans);display:flex;align-items:center;justify-content:center;gap:6px;transition:background .12s}@media (hover: hover) and (pointer: fine){.q-next:hover{background:var(--blue-dark)}}.q-foot{padding:8px 16px;font-size:10.5px;color:var(--text3);border-top:1px solid var(--border);display:flex;align-items:center;gap:5px}.q-slide-wrap{overflow:hidden}.q-slide-inner{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform;backface-visibility:hidden}.q-slide-page{min-width:100%}.sum-card{margin:10px 0 10px 35px;border-radius:var(--r);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;max-width:420px}.sum-head{padding:13px 16px;border-bottom:1px solid #dbeafe;background:linear-gradient(135deg,#eff6ff,#f5f3ff);display:flex;align-items:center;gap:10px;justify-content:space-between}.sum-head-icon{width:32px;height:32px;background:linear-gradient(135deg,#2563eb,#6366f1);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px -2px #2563eb59}.sum-tag{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text3)}.sum-title{font-size:13.5px;font-weight:600}.risk-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;flex-shrink:0}.risk-mid{background:var(--amber-light);color:var(--amber);border:1px solid #fde68a}.risk-low{background:var(--green-light);color:var(--green);border:1px solid #bbf7d0}.risk-high{background:var(--red-light);color:var(--red);border:1px solid #fecaca}.sum-body{padding:14px 16px;display:flex;flex-direction:column;gap:11px}.sum-field-lbl{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:3px}.sum-field-val{font-size:13px;color:var(--text);line-height:1.55}.dept-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.dept-chip{font-size:11.5px;padding:3px 10px;border-radius:20px;background:var(--blue-light);border:1px solid var(--blue-mid);color:var(--blue);font-weight:500}.dept-chip:nth-child(2){background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.dept-chip:nth-child(3){background:#f5f3ff;border-color:#ddd6fe;color:#7c3aed}.sum-actions{padding:11px 16px;border-top:1px solid var(--border);display:flex;gap:7px}.btn-p{flex:1;padding:8px 12px;background:var(--blue);color:#fff;border:none;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--font-sans);display:flex;align-items:center;justify-content:center;gap:5px;transition:background .12s}@media (hover: hover) and (pointer: fine){.btn-p:hover{background:var(--blue-dark)}}.btn-g{padding:8px 12px;background:transparent;border:1.5px solid var(--border);color:var(--text2);border-radius:var(--r-sm);font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--font-sans);display:flex;align-items:center;justify-content:center;gap:5px;transition:all .12s}@media (hover: hover) and (pointer: fine){.btn-g:hover{border-color:var(--blue);color:var(--blue)}}.docs-section{margin:10px 0 10px 35px;max-width:540px}.docs-label{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:5px;margin-bottom:8px}.docs-toolbar{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.docs-sort-btn{font-size:11.5px;padding:4px 10px;border-radius:14px;border:1px solid var(--border);background:var(--white);color:var(--text2);cursor:pointer;transition:all .12s;display:flex;align-items:center;gap:4px}@media (hover: hover) and (pointer: fine){.docs-sort-btn:hover{border-color:var(--blue);color:var(--blue)}}.docs-sort-btn.on{border-color:var(--blue);background:var(--blue-light);color:var(--blue);font-weight:500}.docs-pages{overflow:hidden;border-radius:var(--r);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.docs-pages:active{cursor:grabbing}.docs-pages-inner{display:flex;transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform;backface-visibility:hidden}.docs-page{min-width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:2px;align-items:start}.doc-card{width:auto;flex-shrink:0;border-radius:var(--r);background:var(--white);border:1px solid var(--border);padding:13px;transition:border-color .15s,box-shadow .15s,transform .15s}.doc-card,.input-box,.send-btn{will-change:transform;backface-visibility:hidden}@media (hover: hover) and (pointer: fine){.doc-card:hover{border-color:var(--blue);box-shadow:0 4px 12px -4px #2563eb2e;transform:translateY(-1px)}}.dc-head{display:flex;align-items:center;gap:9px;margin-bottom:9px}.dc-av{width:34px;height:34px;border-radius:8px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dc-name{font-size:13px;font-weight:600}.dc-dept{font-size:10.5px;color:var(--text3);margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.dc-dept-badge{font-size:10px;font-weight:600;padding:1px 7px;border-radius:10px;line-height:1.6}.dc-unit{font-size:10px;color:var(--text3);margin-top:2px;display:flex;align-items:flex-start;gap:3px;opacity:.8;flex-direction:column}.dc-unit-addr{color:var(--text3);opacity:.75}.dc-spec{font-size:11.5px;color:var(--text2);margin-bottom:8px;line-height:1.45;min-height:32px;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dc-meta-row{display:flex;align-items:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}.dc-time{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--green);background:var(--green-light);border:1px solid #bbf7d0;padding:3px 8px;border-radius:20px}.dc-fee{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-light);padding:3px 8px;border-radius:20px}.dc-acts{display:flex;gap:5px}.dc-btn-p{flex:1;padding:6px;background:var(--blue);color:#fff;border:none;border-radius:7px;font-size:11.5px;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:background .12s}@media (hover: hover) and (pointer: fine){.dc-btn-p:hover{background:var(--blue-dark)}}.dc-btn-o{padding:6px 9px;background:transparent;border:1px solid var(--border);color:var(--text2);border-radius:7px;font-size:11.5px;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:all .12s}@media (hover: hover) and (pointer: fine){.dc-btn-o:hover{border-color:var(--blue);color:var(--blue)}}.docs-pager{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.docs-pager .pager-btn{padding:5px 10px;border-radius:14px;border:1px solid var(--border);background:var(--white);font-size:11.5px;color:var(--text2);cursor:pointer;display:flex;align-items:center;gap:3px;transition:all .12s}@media (hover: hover) and (pointer: fine){.docs-pager .pager-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}}.docs-pager .pager-btn:disabled{opacity:.4;cursor:not-allowed}.docs-pager .pager-dots{display:flex;gap:5px}.docs-pager .pager-dot{width:6px;height:6px;border-radius:50%;background:var(--border2);cursor:pointer;transition:all .15s}.docs-pager .pager-dot.on{background:var(--blue);width:18px;border-radius:3px}.book-card{margin:10px 0 10px 35px;border-radius:var(--r);background:var(--white);border:1.5px solid var(--border);box-shadow:var(--shadow);overflow:hidden;max-width:340px}.book-head{padding:12px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.book-back{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;flex-shrink:0}@media (hover: hover) and (pointer: fine){.book-back:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}}.book-icon{width:30px;height:30px;background:var(--blue-light);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center}.book-title{font-size:13px;font-weight:600}.book-sub{font-size:11px;color:var(--text3)}.book-body{padding:13px 15px}.book-lbl{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:7px}.slot-track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-padding:0 4px;padding-bottom:4px;margin-bottom:4px;scrollbar-width:none}.slot-track::-webkit-scrollbar{display:none}.book-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px 14px;border-radius:var(--r-sm);border:1.5px solid var(--border);cursor:pointer;font-size:12px;color:var(--text2);transition:all .12s;scroll-snap-align:start;flex-shrink:0;min-width:96px;white-space:nowrap;user-select:none;-webkit-user-select:none}@media (hover: hover) and (pointer: fine){.book-slot:hover{border-color:var(--blue);color:var(--text)}}.book-slot.sel{border-color:var(--blue);background:var(--blue-light);color:var(--blue-dark);font-weight:500}.book-slot span{font-size:12px;line-height:1.3;text-align:center}.slot-dots{display:flex;gap:5px;justify-content:center;margin-bottom:8px}.slot-dot{width:5px;height:5px;border-radius:50%;background:var(--border);cursor:pointer;transition:background .15s,transform .15s;will-change:transform}.slot-dot.on{background:var(--blue);transform:scale(1.3)}.book-confirm{margin-top:12px;width:100%;padding:9px;background:var(--blue);color:#fff;border:none;border-radius:var(--r-sm);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:background .12s;display:flex;align-items:center;justify-content:center;gap:6px}@media (hover: hover) and (pointer: fine){.book-confirm:hover{background:var(--blue-dark)}}.book-confirm.ok{background:var(--green);cursor:default}.im-card{margin:10px 0 10px 35px;border-radius:var(--r);background:var(--white);border:1.5px solid var(--border);box-shadow:var(--shadow);padding:13px 15px;max-width:340px;display:flex;align-items:center;gap:12px}.im-icon{width:38px;height:38px;background:var(--blue-light);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.im-info{flex:1}.im-title{font-size:13.5px;font-weight:600}.im-sub{font-size:11.5px;color:var(--text3);margin-top:2px}.im-btn{padding:7px 13px;background:var(--blue);color:#fff;border:none;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--font-sans);display:flex;align-items:center;gap:5px;flex-shrink:0;transition:background .12s}@media (hover: hover) and (pointer: fine){.im-btn:hover{background:var(--blue-dark)}}.disclaimer{margin:3px 0 0 35px;font-size:10.5px;color:var(--text3);display:flex;align-items:center;gap:4px}.intro-banner{margin-bottom:18px;padding:12px 15px;background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:var(--r);font-size:13px;color:var(--text2);line-height:1.6;display:flex;gap:10px}.input-area{padding:14px 24px 18px;background:var(--white);border-top:1px solid var(--border);flex-shrink:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.quick-tags,.quick-tag{display:none}.input-box{max-width:720px;margin:0 auto;background:var(--white);border:1px solid rgba(226,232,240,.9);border-radius:18px;display:flex;flex-direction:column;gap:8px;min-height:132px;padding:14px;box-shadow:0 8px 24px -12px #0f172a3d,0 4px 12px -8px #0f172a29;transition:border-color .15s,box-shadow .15s,transform .15s}@media (hover: hover) and (pointer: fine){.input-box:hover{box-shadow:0 10px 28px -14px #0f172a47,0 5px 14px -9px #0f172a2e}}.input-box:focus-within{border-color:var(--blue-mid);box-shadow:0 0 0 4px #2563eb14,0 10px 28px -14px #0f172a47}.input-add-btn{width:30px;height:30px;border-radius:50%;background:transparent;border:2px solid #111827;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#111827;flex-shrink:0;transition:all .15s}@media (hover: hover) and (pointer: fine){.input-add-btn:hover{background:var(--bg3);color:var(--text)}}textarea.chat-input{width:100%;flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:var(--font-sans);font-size:16px;resize:none;max-height:220px;line-height:1.6;min-height:70px;padding:0}textarea.chat-input::placeholder{color:var(--text3)}.input-tools{display:flex;align-items:center;gap:10px;min-height:34px}.input-tools-spacer{flex:1}.input-expand-btn{width:30px;height:30px;border:none;background:transparent;color:var(--text3);display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}@media (hover: hover) and (pointer: fine){.input-expand-btn:hover{background:var(--bg3);color:var(--text2)}}.send-btn{width:40px;height:40px;border-radius:50%;background:#111827;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}@media (hover: hover) and (pointer: fine){.send-btn:hover{background:#020617;transform:scale(1.04)}}.send-btn:disabled{background:var(--border2);cursor:not-allowed;transform:none}.input-hint{max-width:720px;margin:8px auto 0;font-size:11px;color:var(--text3);text-align:center}.chat-sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:79;opacity:0;transition:opacity .3s;will-change:opacity}.chat-sidebar-overlay.show{display:block;opacity:1}@media (max-width: 768px){.chat-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translate(-100%);box-shadow:var(--shadow)}.chat-sidebar.open{transform:translate(0)}.chat-header{padding:10px 16px}.msg-wrapper{padding:0 16px}.ai-text{padding-left:0;margin-top:4px}.tool-call-block,.q-card,.sum-card,.docs-section,.book-card,.im-card,.disclaimer{margin-left:0!important;max-width:100%}.msg-user-body{max-width:88%}.msg-user .bubble{max-width:100%}.chat-title{max-width:130px}.input-area{padding:10px 14px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.input-box{min-height:118px;border-radius:17px;padding:13px 14px 11px}textarea.chat-input{min-height:64px;font-size:16px}.quick-tags{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-ms-overflow-style:none;scrollbar-width:none;justify-content:flex-start}.quick-tags::-webkit-scrollbar{display:none}.quick-tag{flex-shrink:0}.docs-page{grid-template-columns:1fr}.docs-section{max-width:100%}}[data-theme=dark] .chat-header{background:linear-gradient(135deg,#1e3a8a,#1e1b4b);border-bottom-color:#1e40af}[data-theme=dark] .chat-title{color:#bfdbfe}[data-theme=dark] .header-badge{background:#0596692e;color:#34d399;border-color:#34d3994d}[data-theme=dark] .tool-progress-steps{background:#0f172a;border-top-color:#1e293b}[data-theme=dark] .progress-index{background:#1e1b4b;color:#a5b4fc}[data-theme=dark] .progress-count{background:#1e293b;color:#94a3b8}[data-theme=dark] .tool-json{color:#94a3b8}[data-theme=dark] .tool-json.res{color:#34d399}[data-theme=dark] .q-head,[data-theme=dark] .sum-head{background:linear-gradient(135deg,#1e3a8a,#1e1b4b);border-bottom-color:#1e40af}[data-theme=dark] .input-add-btn{border-color:var(--border2);color:var(--text2)}[data-theme=dark] .send-btn{background:#334155}[data-theme=dark] .send-btn:hover{background:#475569}[data-theme=dark] .input-box{background:var(--white);border-color:var(--border)}.app-shell{display:flex;width:100%;height:100%;position:relative}.app-sidebar{width:var(--nav-w);background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;z-index:50}.app-sidebar-logo{padding:18px 18px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.app-sidebar-logo .logo-name{font-family:var(--font-serif);font-size:15px;font-weight:700}.app-sidebar-logo .logo-sub{font-size:10.5px;color:var(--text3);margin-top:1px}.app-sidebar-nav{flex:1;padding:10px 8px 0;overflow:hidden;display:flex;flex-direction:column;min-height:0}.app-nav-group-label{font-size:10.5px;font-weight:600;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:14px 10px 6px;flex-shrink:0}.app-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);color:var(--text2);font-size:13.5px;font-weight:500;cursor:pointer;flex-shrink:0;transition:background .2s var(--ease-smooth),color .2s var(--ease-smooth),padding-left .25s var(--ease-spring);margin-bottom:2px;position:relative}.app-nav-item:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;background:var(--blue);border-radius:0 3px 3px 0;transform:translateY(-50%);transition:height .3s var(--ease-spring);will-change:height}@media (hover: hover) and (pointer: fine){.app-nav-item:hover{background:var(--bg3);color:var(--text);padding-left:14px}}.app-nav-item.active{background:var(--blue-light);color:var(--blue);font-weight:600;padding-left:16px}.app-nav-item.active:before{height:60%}.app-nav-item .nav-caret{margin-left:auto;transition:transform .25s var(--ease-smooth);color:var(--text3);display:flex;will-change:transform;backface-visibility:hidden}.app-nav-item.expanded .nav-caret{transform:rotate(90deg)}.app-nav-item .badge-num{margin-left:auto;background:var(--red);color:#fff;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.nav-section{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;flex-basis:auto;min-height:0;overflow:hidden;transition:flex-grow .32s var(--ease-smooth);will-change:flex-grow}.nav-section.open{flex-grow:1}.app-nav-submenu-wrap{display:grid;grid-template-rows:0fr;opacity:0;pointer-events:none;margin:0;flex:1 1 0;min-height:0;transition:grid-template-rows .32s var(--ease-smooth),opacity .22s var(--ease-smooth),margin .25s var(--ease-smooth);will-change:grid-template-rows,opacity,margin}.app-nav-submenu-wrap.open{grid-template-rows:1fr;opacity:1;pointer-events:auto;margin:2px 0 6px}.app-nav-submenu{min-height:0;overflow:hidden;background:var(--bg3);border-radius:var(--r-sm);display:flex;flex-direction:column}.app-nav-submenu-inner{flex:1;overflow-y:auto;padding:4px;min-height:0;max-height:340px}.nav-section.open .app-nav-submenu-inner{max-height:none}.app-nav-submenu-label{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:8px 10px 4px}.app-subnav-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:12.5px;color:var(--text2);cursor:pointer;transition:background .15s,color .15s;position:relative;margin-bottom:1px}@media (hover: hover) and (pointer: fine){.app-subnav-item:hover{background:var(--white);color:var(--text)}}.app-subnav-item.active{background:var(--white);color:var(--blue);font-weight:500}.app-subnav-item .preview{font-size:11px;color:var(--text3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-subnav-item .info{flex:1;min-width:0}.app-subnav-item .info .top{display:flex;justify-content:space-between;gap:6px}.app-subnav-item .info .top .name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-subnav-item .info .top .time{font-size:10px;color:var(--text3);flex-shrink:0}.app-subnav-item .unread-dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0}.subnav-delete{width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--text3);display:inline-flex;align-items:center;justify-content:center;opacity:0;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,opacity .15s}@media (hover: hover) and (pointer: fine){.app-subnav-item:hover .subnav-delete,.subnav-delete:focus-visible{opacity:1}}@media (hover: hover) and (pointer: fine){.subnav-delete:hover{background:#fee2e2;color:#dc2626}}.confirm-modal-message{color:var(--text2);font-size:14px;line-height:1.7;white-space:pre-wrap}.app-sidebar-footer{padding:12px 14px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.app-sidebar-footer .user-info{flex:1;min-width:0}.app-sidebar-footer .user-info .name{font-size:13px;font-weight:600}.app-sidebar-footer .user-info .role{font-size:11px;color:var(--text3)}.app-sidebar-footer .logout-btn{background:none;border:none;padding:6px;color:var(--text3);cursor:pointer;border-radius:6px}@media (hover: hover) and (pointer: fine){.app-sidebar-footer .logout-btn:hover{background:var(--bg3);color:var(--red)}}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg);background-image:linear-gradient(rgba(37,99,235,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.026) 1px,transparent 1px);background-size:48px 48px}[data-theme=dark] .patient-hero .hero-icon{background:linear-gradient(135deg,var(--blue-light),#2e1065)}[data-theme=dark] .app-main{background-image:linear-gradient(rgba(59,130,246,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.05) 1px,transparent 1px)}.app-main-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:0;position:relative}.mobile-topbar{display:none;align-items:center;gap:10px;padding:12px 16px;background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;padding-top:calc(12px + env(safe-area-inset-top));transition:background .2s,border-color .2s}.mobile-topbar .back-btn,.mobile-topbar .icon-btn{background:none;border:none;padding:6px;color:var(--text2);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s var(--ease-spring);will-change:transform;backface-visibility:hidden}.mobile-topbar .back-btn:active,.mobile-topbar .icon-btn:active{transform:scale(.9)}@media (hover: hover) and (pointer: fine){.mobile-topbar .back-btn:hover,.mobile-topbar .icon-btn:hover{background:var(--bg3)}}.mobile-topbar .title{font-size:15px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-topbar .subtitle{font-size:11px;color:var(--text3)}.mobile-topbar .action-area{display:flex;gap:6px;margin-left:auto}.mobile-topbar .mtb-icon-btn{width:38px;height:38px;border-radius:11px;border:none;background:transparent;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,transform .15s var(--ease-spring);will-change:transform;backface-visibility:hidden}@media (hover: hover) and (pointer: fine){.mobile-topbar .mtb-icon-btn:hover{background:transparent;color:var(--text2)}}.mobile-topbar .mtb-icon-btn:active{transform:scale(.94)}.theme-toggle{background:none;border:none;padding:6px;color:var(--text2);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .25s var(--ease-spring),color .25s;will-change:transform;backface-visibility:hidden}@media (hover: hover) and (pointer: fine){.theme-toggle:hover{background:var(--bg3);color:var(--blue)}}.theme-toggle:active{transform:scale(.85) rotate(20deg)}.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;height:calc(var(--bottom-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--white);border-top:1px solid var(--border);box-shadow:0 -2px 8px -2px #0f172a0f;z-index:40;justify-content:space-around;align-items:stretch}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;padding:6px 4px;color:var(--text3);font-size:10.5px;font-weight:500;cursor:pointer;position:relative;transition:color .2s var(--ease-smooth)}.bottom-nav-item.active{color:var(--blue)}.bottom-nav-item .badge-dot{position:absolute;top:4px;right:calc(50% - 16px);width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--white)}.pc-topbar{display:flex;align-items:center;gap:12px;padding:14px 28px;background:var(--white);border-bottom:1px solid var(--border)}.pc-topbar .crumb{font-size:12.5px;color:var(--text3)}.pc-topbar .crumb b{color:var(--text);font-weight:600}.route-wrap{width:100%}.page-enter-active{transition:opacity .25s var(--ease-smooth),transform .35s var(--ease-smooth);will-change:opacity,transform;backface-visibility:hidden}.page-leave-active{transition:opacity .2s var(--ease-smooth),transform .25s var(--ease-smooth);will-change:opacity,transform;backface-visibility:hidden;position:absolute;top:0;left:0;right:0;bottom:0;width:100%;pointer-events:none;z-index:0}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.fullchat-enter-active{transition:opacity .35s var(--ease-smooth),transform .45s var(--ease-spring);will-change:opacity,transform;backface-visibility:hidden}.fullchat-leave-active{transition:opacity .2s var(--ease-smooth),transform .25s var(--ease-smooth);will-change:opacity,transform;backface-visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.fullchat-enter-from{opacity:0;transform:scale(.96) translateY(20px)}.fullchat-leave-to{opacity:0;transform:scale(.98)}.app-main.is-fullchat{background:var(--bg)}.app-main.is-fullchat .app-main-scroll{overflow:hidden;padding:0;display:flex;flex-direction:column}.app-main.is-fullchat .app-main-scroll>.route-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.app-main.is-fullchat .app-main-scroll>.route-wrap>.chat-area,.app-main.is-fullchat .app-main-scroll>.route-wrap>.chat-panel-wrap,.app-main.is-fullchat .app-main-scroll>.route-wrap>.ai-consult-root,.app-main.is-fullchat .app-main-scroll>.route-wrap>.im-chat-root{flex:1;min-height:0}.app-main.is-fullchat .ai-consult-root,.app-main.is-fullchat .im-chat-root{display:flex;flex-direction:column;min-height:0}.app-main.is-fullchat .ai-consult-root>.chat-area,.app-main.is-fullchat .im-chat-root>.chat-area,.app-main.is-fullchat .im-chat-root>.chat-panel-wrap{flex:1;min-height:0}@media (max-width: 768px){.app-main.is-fullchat .app-main-scroll:not(.no-bottom-pad){padding-bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom))}}.role-switcher{position:relative}.role-switcher-menu{position:absolute;bottom:100%;left:0;right:0;margin-bottom:6px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100}.role-switcher-menu button{width:100%;text-align:left;padding:10px 14px;background:none;border:none;font-size:13px;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:10px}@media (hover: hover) and (pointer: fine){.role-switcher-menu button:hover{background:var(--bg3)}}.role-switcher-menu button .role-tag{font-size:10.5px;color:var(--text3);margin-left:auto}.split-pane{display:flex;height:100%;min-height:0}.split-pane>.split-list{width:320px;border-right:1px solid var(--border);background:var(--white);display:flex;flex-direction:column;flex-shrink:0}.split-pane>.split-detail{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}@media (max-width: 768px){.app-sidebar,.pc-topbar{display:none}.mobile-topbar,.bottom-nav.show{display:flex}.app-main-scroll{padding-bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom))}.app-main-scroll.no-bottom-pad{padding-bottom:0}.page{padding:16px}.page .in-page-header{display:none}.mobile-session-new{display:inline-flex;margin-bottom:12px;min-height:40px}.split-pane{flex-direction:column}.split-pane>.split-list{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:35vh}}.login-shell{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#eff6ff,#f5f7fa)}.login-card{width:100%;max-width:400px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:28px 24px 22px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px}.login-brand .logo-icon{width:52px;height:52px;background:var(--blue);border-radius:14px;display:flex;align-items:center;justify-content:center}.login-brand .name{font-family:var(--font-serif);font-size:22px;font-weight:700}.login-brand .slogan{font-size:12.5px;color:var(--text3)}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.role-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all .15s;font-size:12.5px;font-weight:500;color:var(--text2)}@media (hover: hover) and (pointer: fine){.role-tile:hover{border-color:var(--blue);color:var(--blue)}}.role-tile.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue);font-weight:600}.role-tile .role-icon-wrap{width:38px;height:38px;border-radius:var(--r-sm);background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center}.role-tile.active .role-icon-wrap{background:var(--blue);color:#fff}.patient-hero{background:var(--white);border:1px solid var(--border);color:var(--text);padding:22px;border-radius:var(--r-lg);position:relative;overflow:hidden;display:flex;align-items:center;gap:16px}.patient-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--blue) 0%,#6366f1 100%)}.patient-hero:after{content:"";position:absolute;right:-50px;bottom:-50px;width:160px;height:160px;background:radial-gradient(circle,rgba(37,99,235,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.patient-hero .hero-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--blue-light),#ede9fe);color:var(--blue);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}[data-theme=dark] .patient-hero .hero-icon{background:linear-gradient(135deg,#1e3a8a,#312e81);color:#93c5fd;box-shadow:inset 0 0 0 1px #93c5fd2e}.patient-hero .hero-content{flex:1;min-width:0;position:relative;z-index:1}.patient-hero .greet{font-size:13px;color:var(--text3);margin-bottom:4px}.patient-hero .name{font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--text)}.patient-hero .sub{font-size:12.5px;color:var(--text2);margin-top:6px;max-width:380px;line-height:1.55}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.entry-card{position:relative;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:14px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:8px;text-align:left}@media (hover: hover) and (pointer: fine){.entry-card:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-1px)}}.entry-card .icon-wrap{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--blue-light);color:var(--blue)}.entry-card.primary{background:linear-gradient(135deg,var(--blue) 0%,#6366f1 100%);color:#fff;border-color:transparent;box-shadow:0 6px 18px -8px #2563eb73}.entry-card.primary .icon-wrap{background:#ffffff38;color:#fff}.entry-card.primary .entry-sub{color:#ffffffe0}.entry-card.teal .icon-wrap{background:var(--green-light);color:var(--green)}.entry-card.amber .icon-wrap{background:var(--amber-light);color:var(--amber)}.entry-card.violet .icon-wrap{background:var(--purple-light);color:var(--purple)}@media (hover: hover) and (pointer: fine){.entry-card.teal:hover{border-color:var(--green)}}@media (hover: hover) and (pointer: fine){.entry-card.amber:hover{border-color:var(--amber)}}@media (hover: hover) and (pointer: fine){.entry-card.violet:hover{border-color:var(--purple)}}.entry-title{font-size:14px;font-weight:600}.entry-sub{font-size:11.5px;color:var(--text3);line-height:1.45}.im-session-list{display:flex;flex-direction:column}.im-session-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s;position:relative}@media (hover: hover) and (pointer: fine){.im-session-row:hover{background:var(--bg3)}}.im-session-row.active{background:var(--blue-light)}.im-session-row .info{flex:1;min-width:0}.im-session-row .row-top{display:flex;align-items:center;gap:8px}.im-session-row .row-top .name{font-size:13.5px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.im-session-row .row-top .time{font-size:11px;color:var(--text3)}.im-session-row .preview{font-size:12px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.im-session-row .unread{background:var(--red);color:#fff;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.im-chat{flex:1;display:flex;flex-direction:column;min-height:0}.im-chat-head{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--white);display:flex;align-items:center;gap:10px}.im-chat-head .name{font-size:14px;font-weight:600}.im-chat-head .sub{font-size:11px;color:var(--text3)}.im-chat-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.im-msg{display:flex;max-width:80%}.im-msg.me{margin-left:auto}.im-msg .body{padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.55;word-break:break-word}.im-msg.them .body{background:var(--white);border:1px solid var(--border);border-top-left-radius:4px}.im-msg.me .body{background:var(--blue);color:#fff;border-top-right-radius:4px}.im-input-area{padding:10px 16px;border-top:1px solid var(--border);background:var(--white);display:flex;gap:8px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.im-input-area .input{flex:1}.summary-panel{width:320px;border-left:1px solid var(--border);background:var(--white);display:flex;flex-direction:column;overflow-y:auto;padding:16px;gap:14px;flex-shrink:0}.summary-panel h4{font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.summary-panel .field-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px}.summary-panel .field-block .lbl{font-size:10.5px;color:var(--text3);margin-bottom:4px}.summary-panel .field-block .val{font-size:13px;line-height:1.55}.quick-replies{display:flex;gap:6px;padding:0 16px 8px;overflow-x:auto;scrollbar-width:none}.quick-replies::-webkit-scrollbar{display:none}.quick-reply{flex-shrink:0;background:var(--bg3);border:1px solid var(--border);border-radius:16px;padding:4px 12px;font-size:12px;color:var(--text2);cursor:pointer}@media (hover: hover) and (pointer: fine){.quick-reply:hover{background:var(--blue-light);border-color:var(--blue-mid);color:var(--blue)}}@media (max-width: 768px){.summary-panel{display:none}.summary-panel.mobile-show{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:100;border-left:none}}.doctor-card-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.doctor-card-row:last-child{border-bottom:none}.doctor-card-row .info{flex:1;min-width:0}.doctor-card-row .info .name{font-size:14px;font-weight:600}.doctor-card-row .info .meta{font-size:12px;color:var(--text3);margin-top:2px}.doctor-card-row .actions{display:flex;gap:6px;flex-shrink:0}.form-row{margin-bottom:14px}.form-row label{display:block;font-size:12px;font-weight:500;color:var(--text2);margin-bottom:5px}.in-page-header{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.in-page-header .title-block{flex:1;min-width:0}.in-page-header h1{font-family:var(--font-serif);font-size:22px;font-weight:700}.in-page-header .desc{font-size:12.5px;color:var(--text3);margin-top:2px}.mobile-session-new{display:none}@media (max-width: 768px){.mobile-session-new{display:inline-flex;margin-bottom:12px;min-height:40px}}.approval-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}.approval-card .head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.approval-card .head .name{font-size:14px;font-weight:600;flex:1}.approval-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--bg);border-radius:var(--r-sm);padding:10px;margin-bottom:10px}.approval-diff .col h5{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.approval-diff .col .val{font-size:13px;line-height:1.5}.approval-card .actions{display:flex;gap:8px}@media (max-width: 560px){.approval-diff{grid-template-columns:1fr}}.profile-header{background:var(--white);border:1px solid var(--border);color:var(--text);padding:20px 22px;border-radius:var(--r-lg);display:flex;align-items:center;gap:16px;margin-bottom:16px;position:relative;overflow:hidden}.profile-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--blue) 0%,#6366f1 100%)}.profile-header .avatar{width:56px;height:56px;font-size:20px;background:linear-gradient(135deg,var(--blue),#6366f1);color:#fff;flex-shrink:0}.profile-header .name{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--text)}.profile-header .meta{font-size:12.5px;color:var(--text3);margin-top:4px}.profile-header>div:nth-child(2){flex:1;min-width:0}.page-narrow{max-width:720px}.settings-userhead{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:18px;cursor:pointer;transition:border-color .15s,transform .12s;will-change:transform;backface-visibility:hidden}@media (hover: hover) and (pointer: fine){.settings-userhead:hover{border-color:var(--blue-mid)}}.settings-userhead:active{transform:scale(.995)}.settings-userhead .info{flex:1;min-width:0}.settings-userhead .info .name{font-size:16px;font-weight:600;color:var(--text)}.settings-userhead .info .meta{font-size:12.5px;color:var(--text3);margin-top:2px}.settings-userhead .hint{font-size:12px;color:var(--text3);flex-shrink:0}.settings-group{margin-bottom:18px}.settings-group-title{font-size:12px;font-weight:600;color:var(--text3);letter-spacing:.5px;text-transform:uppercase;padding:0 4px 8px}.settings-group-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.settings-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid var(--border);font-size:13.5px;color:var(--text);transition:background .12s}.settings-row:first-child{border-top:none}.settings-row.is-nav{cursor:pointer}@media (hover: hover) and (pointer: fine){.settings-row.is-nav:hover{background:var(--bg2)}}.settings-row.is-nav:active{background:var(--bg3)}.settings-row.is-disabled{opacity:.55;cursor:not-allowed}.settings-row-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-row-main{flex:1;min-width:0}.settings-row-label{font-weight:500;color:var(--text)}.settings-row-desc{font-size:11.5px;color:var(--text3);margin-top:2px;line-height:1.5}.settings-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.settings-row-value{font-size:12.5px;color:var(--text3)}.settings-row-chev{color:var(--text3)}.settings-row.is-danger .settings-row-label{color:var(--red)}.settings-field{padding:12px 16px;border-top:1px solid var(--border)}.settings-field:first-child{border-top:none}.settings-field>label{display:block;font-size:12px;font-weight:500;color:var(--text2);margin-bottom:6px}.settings-field-row{display:flex;gap:0}.settings-field-row .settings-field{flex:1;border-top:1px solid var(--border)}.settings-field-row .settings-field:first-child{border-top:none}.settings-field-row .settings-field+.settings-field{border-left:1px solid var(--border)}@media (max-width: 540px){.settings-field-row{flex-direction:column}.settings-field-row .settings-field+.settings-field{border-left:none;border-top:1px solid var(--border)}}.settings-field-action{padding:14px 16px;border-top:1px solid var(--border);background:var(--bg2)}.avatar-row{display:flex;align-items:center;gap:14px;padding:16px;border-top:1px solid var(--border);cursor:pointer;position:relative;transition:background .12s}.avatar-row:first-child{border-top:none}@media (hover: hover) and (pointer: fine){.avatar-row:hover{background:var(--bg2)}}.avatar-row .avatar-info{flex:1;min-width:0}.avatar-row .avatar-info .t{font-size:13.5px;font-weight:500;color:var(--text)}.avatar-row .avatar-info .d{font-size:11.5px;color:var(--text3);margin-top:3px}.avatar-row .avatar-cam{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;position:absolute;left:56px;top:38px;border:2px solid var(--white)}.avatar.avatar-xl{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px}.theme-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;background:var(--white);border:2px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:border-color .12s,transform .12s;will-change:transform;backface-visibility:hidden}@media (hover: hover) and (pointer: fine){.theme-card:hover{border-color:var(--blue-mid)}}.theme-card.active{border-color:var(--blue);background:var(--blue-light)}.theme-card:active{transform:scale(.97)}.theme-preview{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.theme-preview.light{background:#fff;color:#d97706}.theme-preview.dark{background:#0f172a;color:#fde68a;border-color:#1e293b}.theme-preview.auto{background:linear-gradient(135deg,#fff 50%,#0f172a 50%);color:var(--text)}.theme-name{font-size:12.5px;font-weight:500;color:var(--text)}[data-theme=dark] .unit-type.type-clinic{color:#4ade80;background:var(--green-light);border-color:#16a34a66}[data-theme=dark] .unit-type.type-partner{color:#c084fc;background:var(--purple-light);border-color:#7c3aed66}[data-theme=dark] .login-shell{background:linear-gradient(135deg,#0f172a,#1e293b)}
