@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:#4f8070;--accent-strong:#3a614f;--accent-hover:#446f5f;--accent-deep:#2e5142;--accent-on:#f3fbf7;--accent-soft:#4f807021;--accent-line:#4f807052;--accent-glow:#4f807029;--gold:#9a742c;--gold-deep:#6f521c;--gold-soft:#9a742c26;--rose:#b04b43;--rose-deep:#8a3a34;--rose-soft:#b04b4324;--info:#3d6fb6;--info-deep:#2c5590;--info-soft:#3d6fb621;--ink:#1e2a26;--muted:#566860;--muted-strong:#3f4f48;--faint:#7f8d85;--bg-base:#e7efec;--bg-fields:radial-gradient(58rem 34rem at 6% -12%, #4f80701f, transparent 60%), radial-gradient(50rem 30rem at 100% -4%, #48709612, transparent 58%), radial-gradient(46rem 30rem at 58% 116%, #9a742c0d, transparent 55%);--surface:#fffc;--surface-strong:#ffffffeb;--tile:#ffffffbd;--tile-soft:#ffffff8c;--blur:13px;--blur-soft:9px;--hairline:inset 0 1px 0 #fff9;--line:#1e382e1c;--line-soft:#1e382e12;--glass-line:#ffffffb8;--side-bg:#1a222ae0;--side-line:#ffffff17;--side-ink:#eef4f6;--side-muted:#eef4f6a3;--side-faint:#eef4f66b;--side-chip:#ffffff0f;--side-accent:#7cb4a0;--side-accent-soft:#7cb4a029;--side-active:#7cb4a029;--side-active-ink:#eef4f6;--side-danger:#e8a49d;--side-danger-soft:#c8504833;--radius-control:10px;--radius-card:14px;--radius-shell:20px;--shadow-soft:0 1px 2px #142c240a, 0 14px 32px -24px #122e2629;--shadow-elevated:0 2px 6px #142c240d, 0 22px 48px -30px #122e2638;--shadow-side:0 18px 44px -34px #0e282047;--focus-ring:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent);--font-sans:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-label:.72rem;--fs-xs:.78rem;--fs-sm:.86rem;--fs-base:.97rem;--fs-md:1.12rem;--fs-lg:1.4rem;--fs-xl:clamp(1.7rem, 2.4vw, 2.2rem);--w-regular:420;--w-medium:520;--w-semi:600;--w-bold:680}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#6fa892;--accent-strong:#58917b;--accent-hover:#79b39d;--accent-deep:#aad6c4;--accent-on:#0b1c16;--accent-soft:#6fa89229;--accent-line:#6fa89257;--accent-glow:#6fa89238;--gold:#cf9e52;--gold-deep:#e6c288;--gold-soft:#cf9e5229;--rose:#dc8079;--rose-deep:#efa9a2;--rose-soft:#dc807929;--info:#7fa7da;--info-deep:#a9c6ef;--info-soft:#7fa7da29;--ink:#e7efeb;--muted:#9aaca3;--muted-strong:#bccbc3;--faint:#7c8d85;--bg-base:#0f1815;--bg-fields:radial-gradient(58rem 34rem at 6% -12%, #2e8a7933, transparent 60%), radial-gradient(50rem 30rem at 100% -4%, #42689e29, transparent 58%), radial-gradient(46rem 30rem at 58% 116%, #a07a381a, transparent 55%);--surface:#ffffff14;--surface-strong:#ffffff1f;--tile:#ffffff0f;--tile-soft:#ffffff0b;--hairline:inset 0 1px 0 #ffffff12;--line:#ffffff1a;--line-soft:#ffffff0f;--glass-line:#ffffff1a;--shadow-soft:0 1px 2px #0000004d, 0 20px 46px -26px #0009;--shadow-elevated:0 2px 8px #00000057, 0 30px 64px -30px #000000b3;--shadow-side:0 26px 60px -34px #000000a8;--focus-ring:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#6fa892;--accent-strong:#58917b;--accent-hover:#79b39d;--accent-deep:#aad6c4;--accent-on:#0b1c16;--accent-soft:#6fa89229;--accent-line:#6fa89257;--accent-glow:#6fa89238;--gold:#cf9e52;--gold-deep:#e6c288;--gold-soft:#cf9e5229;--rose:#dc8079;--rose-deep:#efa9a2;--rose-soft:#dc807929;--info:#7fa7da;--info-deep:#a9c6ef;--info-soft:#7fa7da29;--ink:#e7efeb;--muted:#9aaca3;--muted-strong:#bccbc3;--faint:#7c8d85;--bg-base:#0f1815;--bg-fields:radial-gradient(58rem 34rem at 6% -12%, #2e8a7933, transparent 60%), radial-gradient(50rem 30rem at 100% -4%, #42689e29, transparent 58%), radial-gradient(46rem 30rem at 58% 116%, #a07a381a, transparent 55%);--surface:#ffffff0e;--surface-strong:#ffffff17;--tile:#ffffff0b;--tile-soft:#ffffff08;--hairline:inset 0 1px 0 #ffffff12;--line:#ffffff1a;--line-soft:#ffffff0f;--glass-line:#ffffff1a;--shadow-soft:0 1px 2px #0000004d, 0 20px 46px -26px #0009;--shadow-elevated:0 2px 8px #00000057, 0 30px 64px -30px #000000b3;--shadow-side:0 26px 60px -34px #000000a8;--focus-ring:0 0 0 2px var(--bg-base), 0 0 0 4px var(--accent)}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100vw;overflow-x:hidden}html{font-family:var(--font-sans);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{min-width:320px;min-height:100dvh;color:var(--ink);background-color:var(--bg-base);background-image:var(--bg-fields);font-size:var(--fs-base);font-weight:var(--w-regular);background-attachment:fixed;margin:0;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}:where(button,input,select,textarea,a,[tabindex]):focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-control);outline:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:var(--w-semi);letter-spacing:-.018em;text-wrap:balance;margin-bottom:0}h1{font-size:var(--fs-md);line-height:1.12}.eyebrow{color:var(--faint);font-size:var(--fs-label);font-weight:var(--w-semi);letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px}.app-shell{gap:12px;width:100%;height:100dvh;min-height:0;padding:12px;display:flex;overflow:hidden}.login-shell{grid-template-columns:minmax(300px,.95fr) minmax(320px,440px);align-content:center;gap:16px;width:min(1120px,100vw - 32px);min-height:100dvh;margin:0 auto;padding:32px 0;display:grid}.login-shell-status{grid-template-columns:minmax(280px,420px);justify-content:center}.login-brand,.login-panel,.auth-status{border:1px solid var(--glass-line);border-radius:var(--radius-shell);background:var(--surface-strong);box-shadow:var(--shadow-elevated), var(--hairline);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur))}.login-brand{background:linear-gradient(150deg, var(--accent-soft), transparent 60%), var(--surface-strong);align-content:space-between;min-height:520px;padding:30px;display:grid}.login-brand h2{max-width:620px;color:var(--ink);font-size:clamp(2rem,4vw,3.4rem);font-weight:var(--w-bold);letter-spacing:-.026em;line-height:1.03}.login-brand p:not(.eyebrow){max-width:520px;color:var(--muted-strong);font-size:1rem;font-weight:var(--w-regular);margin:16px 0 0}.security-strip{flex-wrap:wrap;gap:8px;display:flex}.security-strip span{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-deep);font-size:var(--fs-xs);font-weight:var(--w-semi);border-radius:999px;padding:.4rem .72rem}.login-panel{align-content:center;gap:16px;min-height:520px;padding:30px;display:grid}.login-panel h2{font-size:var(--fs-xl);font-weight:var(--w-bold)}.login-field{gap:7px;display:grid}.login-field span{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--w-medium)}.login-field input{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:46px;color:var(--ink);background:var(--surface-strong);padding:.72rem .82rem}.login-panel button{border-radius:var(--radius-control);min-height:46px;color:var(--accent-on);background:linear-gradient(180deg, var(--accent-hover), var(--accent));font-weight:var(--w-bold);box-shadow:0 14px 26px -16px var(--accent-strong), var(--hairline);border:0}.login-panel button:hover{background:linear-gradient(180deg, var(--accent), var(--accent-strong))}.login-error{border:1px solid var(--rose-soft);border-radius:var(--radius-control);background:var(--rose-soft);color:var(--rose-deep);font-size:var(--fs-sm);font-weight:var(--w-medium);margin:0;padding:.72rem .82rem}.auth-status{align-items:center;gap:12px;padding:20px;display:flex}.auth-status strong{color:var(--ink)}.auth-status span{color:var(--muted);font-size:var(--fs-sm);margin-top:3px;display:block}.auth-status-error{border-color:var(--rose-soft)}.sidebar{border:1px solid var(--side-line);border-radius:var(--radius-shell);background:var(--side-bg);min-width:17rem;height:calc(100dvh - 24px);min-height:0;box-shadow:var(--shadow-side), inset 0 1px 0 #ffffff12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;flex:0 0 17rem;display:flex;overflow:hidden}.brand-row{border-bottom:1px solid var(--side-line);min-height:64px;color:var(--side-ink);align-items:center;gap:10px;padding:15px 16px;display:flex}.login-brand .brand-row{color:var(--ink);border-bottom:0;padding:0}.login-brand .brand-row .eyebrow{color:var(--muted-strong)}.brand-mark,.avatar-mark{border-radius:var(--radius-control);width:42px;height:42px;color:var(--accent-on);background:linear-gradient(135deg, var(--accent), var(--accent-strong));box-shadow:inset 0 1px 0 #ffffff47, 0 12px 24px -14px var(--accent-strong);font-weight:var(--w-bold);flex:none;place-items:center;display:grid}.avatar-mark{width:40px;height:40px;font-size:.9rem}.patient-avatar{overflow:hidden}.patient-avatar img{object-fit:cover;width:100%;height:100%}.patient-avatar-large{width:54px;height:54px;font-size:1rem}.brand-row strong{font-size:.96rem;font-weight:var(--w-semi);letter-spacing:-.01em}.sidebar-head{border-bottom:1px solid var(--side-line);justify-content:space-between;align-items:center;gap:10px;min-height:60px;padding:12px 14px;display:flex}.sidebar-brand{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-brand .brand-mark{width:34px;height:34px;font-size:.9rem}.sidebar-brand-name{min-width:0;color:var(--side-ink);font-size:1rem;font-weight:var(--w-bold);letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-head-actions{flex:none;align-items:center;gap:6px;display:flex}.sidebar-logo{align-items:center;min-width:0;display:inline-flex}.brand-logo{object-fit:contain;width:auto;max-width:160px;max-height:32px;display:block}.brand-logo-onlight,[data-theme=dark] .brand-logo-color{display:none}[data-theme=dark] .brand-logo-onlight{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .brand-logo-color{display:none}:root:not([data-theme]) .brand-logo-onlight{display:block}}.login-logo{align-items:center;display:inline-flex}.login-logo .brand-logo{max-width:250px;max-height:54px}.portal-card{border:1px solid var(--side-line);border-radius:var(--radius-control);background:var(--side-chip);color:var(--side-ink);margin:14px 14px 2px;padding:10px 12px;display:block}.portal-card strong{min-width:0;color:var(--side-ink);font-size:.84rem;font-weight:var(--w-semi);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-card .eyebrow{color:var(--side-faint)}.sidebar nav{scrollbar-width:thin;flex:auto;align-content:start;gap:3px;min-height:0;padding:12px;display:grid;overflow-y:auto}.nav-group,.nav-item-group{gap:3px;display:grid}.nav-divider{background:var(--side-line);height:1px;margin:9px 6px}.nav-button,.mini-button{max-width:100%;font-weight:var(--w-medium);border:0}.nav-button{border-radius:var(--radius-control);min-height:42px;color:var(--side-muted);text-align:left;background:0 0;align-items:center;gap:10px;padding:.4rem .5rem;font-size:.88rem;transition:background .16s,color .16s;display:flex;position:relative}.nav-button svg,.logout-button svg{flex:none}.nav-button>svg:not(.nav-caret){background:var(--side-chip);width:32px;height:32px;color:var(--side-muted);border:1px solid #0000;border-radius:9px;padding:7px;transition:background .16s,border-color .16s,color .16s;display:grid}.logout-button svg{width:16px;height:16px}.nav-caret{opacity:.5;width:15px;height:15px;margin-left:auto;transition:transform .18s}.nav-button[aria-expanded=true] .nav-caret{transform:rotate(90deg)}.nav-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-button[aria-current=page]{background:var(--side-active);color:var(--side-active-ink);font-weight:var(--w-semi);box-shadow:inset 0 0 0 1px var(--side-line)}.nav-button:hover{background:var(--side-accent-soft);color:var(--side-active-ink)}.nav-button[aria-current=page]:before{background:var(--side-accent);content:"";border-radius:999px;width:2.5px;height:22px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-button[aria-current=page]>svg:not(.nav-caret){border-color:var(--side-accent-soft);background:var(--side-accent-soft);color:var(--side-accent)}.nav-button:hover>svg:not(.nav-caret){color:var(--side-accent)}.nav-subitems{gap:2px;padding-left:42px;display:grid}.nav-subbutton{min-height:30px;color:var(--side-muted);font-size:.78rem;font-weight:var(--w-medium);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:.28rem .44rem;transition:background .16s,color .16s;display:flex}.nav-subbutton svg{width:13px;height:13px}.nav-subbutton span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-subbutton:hover,.nav-subbutton[aria-current=page]{color:var(--side-active-ink);background:var(--side-accent-soft)}.sidebar-footer{border-top:1px solid var(--side-line);margin-top:auto;padding:12px}.entity-chip{border:1px solid var(--side-line);border-radius:var(--radius-control);background:var(--side-chip);color:var(--side-ink);align-items:center;gap:12px;margin:0;padding:8px;display:flex}.sidebar-user-copy{flex:auto;min-width:0}.entity-chip strong{max-width:100%;color:var(--side-ink);font-size:.9rem;font-weight:var(--w-semi);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.entity-chip small{color:var(--side-faint);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.76rem;display:block;overflow:hidden}.entity-logo{background:var(--side-accent-soft);width:36px;height:36px;color:var(--side-accent);font-size:.84rem;font-weight:var(--w-bold);border-radius:9px;flex:none;place-items:center;display:grid}.workspace{flex:auto;align-content:start;gap:14px;min-width:0;height:calc(100dvh - 24px);min-height:0;padding:2px;display:grid;overflow:hidden auto}.topbar{border:1px solid var(--glass-line);border-radius:var(--radius-card);background:var(--surface);min-width:0;min-height:68px;box-shadow:var(--shadow-soft), var(--hairline);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));align-items:center;gap:12px;padding:12px 16px;display:grid}.topbar-master{grid-template-columns:minmax(0,1fr) minmax(220px,auto)}.topbar-compact{grid-template-columns:minmax(0,1fr)}.topbar h2{font-size:var(--fs-lg);font-weight:var(--w-semi)}.sidebar-actions{align-items:center;gap:6px;margin-top:8px;display:flex}.sidebar-actions .sidebar-logout{margin-left:auto}.icon-button{border:1px solid var(--side-line);border-radius:var(--radius-control);width:38px;height:38px;color:var(--side-muted);background:var(--side-chip);flex:none;place-items:center;transition:background .16s,color .16s,border-color .16s;display:grid;position:relative}.icon-button svg{width:18px;height:18px}.icon-button:hover,.icon-button[aria-expanded=true]{color:var(--side-accent);background:var(--side-accent-soft);border-color:var(--side-accent-soft)}.sidebar-logout:hover{color:var(--side-danger);background:var(--side-danger-soft);border-color:var(--side-danger-soft)}.notif-badge{background:var(--rose);color:#fff;min-width:18px;height:18px;font-size:.64rem;font-weight:var(--w-bold);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 4px;display:grid;position:absolute;top:-5px;right:-5px}.notif-panel{z-index:60;border:1px solid var(--glass-line);border-radius:var(--radius-card);background:var(--surface-strong);width:320px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-elevated), var(--hairline);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));position:fixed;overflow:hidden}.notif-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.notif-head strong{font-size:.9rem;font-weight:var(--w-semi)}.notif-head span{color:var(--muted);font-size:var(--fs-xs)}.notif-body{max-height:360px;overflow-y:auto}.notif-empty{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:34px 16px;display:grid}.notif-empty svg{opacity:.4;width:26px;height:26px}.notif-empty span{font-size:var(--fs-sm)}.entity-switcher{min-width:220px;display:grid}.entity-switcher select{border:1px solid var(--line);border-radius:var(--radius-control);min-height:40px;color:var(--ink);background:var(--surface-strong);font-size:var(--fs-sm);font-weight:var(--w-medium);padding:.58rem .72rem}.logout-button{border:1px solid var(--side-line);width:34px;height:34px;color:var(--side-muted);background:var(--side-chip);border-radius:9px;flex:none;place-items:center;transition:background .16s,color .16s;display:grid}.logout-button:hover{color:var(--side-danger);background:var(--side-danger-soft);border-color:var(--side-danger-soft)}.mini-button{border-radius:var(--radius-control);min-height:38px;color:var(--accent-on);background:linear-gradient(180deg, var(--accent-hover), var(--accent));font-size:var(--fs-sm);font-weight:var(--w-bold);box-shadow:0 10px 18px -12px var(--accent-strong), var(--hairline);border:0;padding:.62rem .9rem;transition:transform .15s,background .15s,box-shadow .15s}.mini-button:hover{background:linear-gradient(180deg, var(--accent), var(--accent-strong));box-shadow:var(--shadow-elevated)}.mini-button:active,.operation-form button:active,.form-actions button:active{transform:scale(.985)}.action-button.mini-button,.pagination-bar button,.focus-card .mini-button{color:var(--accent-deep);background:var(--accent-soft);border:1px solid var(--accent-line);box-shadow:none}.action-button.mini-button:hover,.pagination-bar button:hover,.focus-card .mini-button:hover{background:var(--accent-glow);box-shadow:none}.action-button{justify-content:center;align-items:center;gap:7px;min-width:fit-content;display:inline-flex}.action-button svg{width:16px;height:16px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:106px;gap:12px;display:grid}.summary-card{border:1px solid var(--glass-line);border-radius:var(--radius-card);background:var(--surface);min-height:0;box-shadow:var(--shadow-soft), var(--hairline);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-regular);align-content:center;padding:16px;display:grid}.summary-card-main{background:linear-gradient(140deg, var(--accent-soft), transparent 62%), var(--surface);grid-area:span 2/span 2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.summary-card h2{color:var(--ink);font-size:clamp(1.55rem,2vw,2.05rem);font-weight:var(--w-bold)}.summary-copy{max-width:680px;color:var(--muted);margin:8px 0 0;font-size:.9rem;line-height:1.45}.summary-card strong{color:var(--ink);font-size:1.58rem;font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.metric-mint strong{color:var(--accent-deep)}.metric-clay strong{color:var(--gold-deep)}.metric-rose strong{color:var(--rose-deep)}.status-line{border-radius:var(--radius-control);background:var(--accent-soft);width:fit-content;max-width:100%;color:var(--accent-deep);font-weight:var(--w-semi);white-space:nowrap;align-items:center;gap:8px;padding:.5rem .7rem;display:inline-flex}.status-line span{background:var(--accent);width:.6rem;height:.6rem;box-shadow:0 0 0 4px var(--accent-glow);border-radius:999px}.dashboard-shell,.content-grid,.module-grid,.single-panel-shell{gap:12px;display:grid}.dashboard-panel{gap:18px}.dashboard-header{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) minmax(210px,auto);align-items:center;gap:16px;padding-bottom:14px;display:grid}.dashboard-header h2{color:var(--ink);font-size:clamp(1.45rem,2vw,2rem);font-weight:var(--w-bold)}.dashboard-header span,.dashboard-next small,.dashboard-next span,.dashboard-row span,.dashboard-row small{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--w-regular)}.dashboard-next{border:1px solid var(--accent-line);border-radius:var(--radius-card);background:var(--accent-soft);align-content:center;gap:2px;min-height:86px;padding:12px 16px;display:grid}.dashboard-next strong{color:var(--accent-deep);font-size:1.32rem;font-weight:var(--w-bold)}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dashboard-metric{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--tile);align-content:center;gap:4px;min-height:88px;padding:12px 14px;display:grid}.dashboard-metric span{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium)}.dashboard-metric strong{color:var(--ink);font-size:1.36rem;font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.dashboard-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-column{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--tile-soft);align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.dashboard-list{gap:8px;display:grid}.dashboard-row{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile);grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 10px;display:grid}.dashboard-row-simple{grid-template-columns:minmax(0,1fr)}.dashboard-row time,.dashboard-row>span{color:var(--accent-deep);font-weight:var(--w-semi);font-variant-numeric:tabular-nums}.dashboard-row strong{overflow-wrap:anywhere;display:block}.content-grid{grid-template-columns:minmax(0,1.32fr) minmax(330px,.68fr)}.schedule-layout{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:12px;display:grid}.module-grid-wide{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}.module-grid-patients{grid-template-columns:minmax(320px,.74fr) minmax(0,1.26fr)}.module-toolbar,.day-schedule-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.module-toolbar h3,.day-schedule-header h3{color:var(--ink);font-size:var(--fs-md)}.calendar-panel,.day-schedule-panel,.create-panel{align-content:start}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekday{min-height:28px;color:var(--muted);font-size:var(--fs-label);font-weight:var(--w-medium);place-items:center;display:grid}.calendar-day{border:1px solid var(--line-soft);min-height:48px;color:var(--muted-strong);background:var(--tile);border-radius:10px;place-items:center;font-size:.86rem;transition:border-color .16s,background .16s,color .16s;display:grid;position:relative}.calendar-day:hover{border-color:var(--accent-line)}.calendar-day:disabled{color:var(--faint);background:var(--tile-soft)}.calendar-day[aria-current=date]{border-color:var(--accent-line);color:var(--accent-deep);background:var(--accent-soft);font-weight:var(--w-semi)}.calendar-day small{min-width:18px;height:18px;color:var(--accent-on);background:var(--accent);font-size:.66rem;font-weight:var(--w-semi);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:5px;right:5px}.schedule-counters{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.schedule-counters span{border:1px solid var(--line-soft);color:var(--muted-strong);background:var(--tile);font-size:var(--fs-xs);font-weight:var(--w-medium);border-radius:9px;padding:.38rem .52rem}.create-panel{grid-column:1/-1}.panel{border:1px solid var(--glass-line);border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft), var(--hairline);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));gap:12px;padding:16px;display:grid;overflow:hidden}.schedule-panel{grid-row:span 3}.panel-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.panel-header h3{font-size:var(--fs-md)}.soft-pill{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-deep);font-size:var(--fs-label);font-weight:var(--w-semi);border-radius:999px;flex:none;padding:.32rem .62rem}.appointment-list,.patient-list,.data-list,.audit-list,.status-board{gap:8px;display:grid}.appointment-row{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile);grid-template-columns:58px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;min-height:68px;padding:10px 12px;display:grid}.appointment-row time,.appointment-row small{font-weight:var(--w-semi)}.appointment-row time{color:var(--ink);font-variant-numeric:tabular-nums}.appointment-row div,.focus-card div,.patient-row div,.data-row div,.responsible-card,.privacy-copy,.tasks-panel li{gap:2px;min-width:0;display:grid}.appointment-row strong,.focus-card strong,.patient-row strong,.data-row strong,.privacy-copy strong,.tasks-panel strong{overflow-wrap:anywhere}.appointment-row span,.focus-card span,.patient-row span,.data-row span,.info-tile span,.responsible-card span,.responsible-card small,.privacy-copy span,.tasks-panel span,.audit-row span,.search-field span{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--w-regular)}.appointment-row small{background:var(--info-soft);color:var(--info-deep);border-radius:999px;padding:.28rem .56rem;font-size:.72rem}.focus-card,.patient-row{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile);align-items:center;gap:10px;padding:12px;display:flex}.focus-card{min-height:88px}.focus-card .mini-button{margin-left:auto}.tasks-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tasks-panel li{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile);padding:10px 12px}.audit-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-board{grid-template-columns:repeat(2,minmax(0,1fr))}.status-card{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile);align-content:center;gap:4px;min-height:96px;padding:12px;display:grid}.status-card span{color:var(--accent-deep);font-size:1.25rem;font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.status-card small{color:var(--muted);font-weight:var(--w-regular)}.search-field{gap:6px;display:grid}.search-field input{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:44px;color:var(--ink);background:var(--surface-strong);padding:.68rem .76rem}.notice-banner{border:1px solid var(--accent-line);border-radius:var(--radius-card);background:var(--accent-soft);color:var(--accent-deep);font-size:var(--fs-sm);font-weight:var(--w-semi);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(var(--blur-soft));backdrop-filter:blur(var(--blur-soft));padding:.78rem 1rem}.notice-error{border-color:var(--rose-soft);background:var(--rose-soft);color:var(--rose-deep)}.notice-success{border-color:var(--accent-line)}.empty-state{border:1px dashed var(--line);border-radius:var(--radius-control);background:var(--tile-soft);align-content:center;min-height:96px;padding:14px;display:grid}.empty-state span{color:var(--muted);font-size:var(--fs-sm);font-weight:var(--w-regular)}.operation-form{gap:10px;display:grid}.operation-form label{gap:6px;display:grid}.operation-form label>span{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium)}.operation-form input,.operation-form select,.operation-form textarea{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:42px;color:var(--ink);background:var(--surface-strong);font:inherit;font-size:var(--fs-sm);padding:.66rem .76rem}.operation-form textarea{resize:vertical;min-height:128px}.operation-form button{border-radius:var(--radius-control);min-height:42px;color:var(--accent-on);background:linear-gradient(180deg, var(--accent-hover), var(--accent));font-weight:var(--w-bold);box-shadow:0 12px 22px -16px var(--accent-strong), var(--hairline);border:0}.operation-form button:hover{background:linear-gradient(180deg, var(--accent), var(--accent-strong));box-shadow:var(--shadow-elevated)}.profile-form{max-width:520px}.patient-registration-form{gap:12px;display:grid}.form-section{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--tile-soft);gap:12px;min-width:0;padding:16px;display:grid}.form-section-hero{grid-template-columns:164px minmax(0,1fr);align-items:start}.form-section-header{gap:3px;display:grid}.form-section-header h4{color:var(--ink);font-size:1rem;font-weight:var(--w-semi)}.form-section-header p{color:var(--muted);font-size:var(--fs-sm);margin:0}.form-error{border:1px solid var(--rose-soft);border-radius:var(--radius-control);background:var(--rose-soft);color:var(--rose-deep);font-size:var(--fs-sm);font-weight:var(--w-semi);padding:.72rem .9rem}.field-error{color:var(--rose-deep);font-size:var(--fs-xs);font-weight:var(--w-medium)}.identity-layout{grid-template-columns:148px minmax(0,1fr);align-items:start;gap:18px;display:grid}.reg-age{border:1px dashed var(--line);border-radius:var(--radius-control);background:var(--tile-soft);align-content:center;gap:2px;padding:8px 12px;display:grid}.reg-age span{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium)}.reg-age strong{color:var(--accent-deep);font-size:.95rem;font-weight:var(--w-semi)}.reg-age-error strong{color:var(--rose-deep)}.reg-subhead{color:var(--ink);font-size:.92rem;font-weight:var(--w-semi);align-items:baseline;gap:10px;margin:2px 0 -2px;display:flex}.reg-subhead small{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-regular)}.reg-hint{color:var(--muted);font-size:var(--fs-xs);margin:0}.couple-block{gap:12px;display:grid}.reg-suggest{border:1px solid var(--accent-line);color:var(--accent-deep);background:var(--accent-soft);font-size:var(--fs-xs);font-weight:var(--w-medium);cursor:pointer;border-radius:999px;justify-self:start;padding:.28rem .66rem}.reg-suggest strong{font-weight:var(--w-bold)}.toggle-stack{gap:10px;display:grid}.toggle-group{display:grid}.toggle-card{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.toggle-card:hover{border-color:var(--accent-line)}.toggle-card input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:1px}.toggle-card-body{gap:2px;display:grid}.toggle-card-body strong{color:var(--ink);font-size:var(--fs-sm);font-weight:var(--w-semi)}.toggle-card-body small{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.toggle-card.standalone.is-active,.toggle-group.is-active>.toggle-card{border-color:var(--accent);background:var(--accent-soft)}.toggle-group.is-active>.toggle-card{border-radius:var(--radius-control) var(--radius-control) 0 0}.toggle-reveal{border:1px solid var(--accent);border-radius:0 0 var(--radius-control) var(--radius-control);background:var(--tile-soft);gap:12px;margin-top:-1px;padding:14px;display:grid}.subform{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile-soft);gap:10px;padding:14px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:1/-1}.form-grid label,.patient-registration-form label{gap:6px;min-width:0;display:grid}.form-grid span,.patient-registration-form label>span{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium)}.form-grid input,.form-grid select,.patient-registration-form textarea,.inline-lookup input,.representative-box select{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:42px;color:var(--ink);background:var(--surface-strong);padding:.66rem .76rem}.patient-registration-form textarea{resize:vertical;min-height:108px}.span-2{grid-column:span 2}.ui-select{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:42px;color:var(--ink);background:var(--surface-strong);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:.5rem .62rem .5rem .76rem;transition:border-color .15s,box-shadow .15s;display:flex}.ui-select:hover{border-color:var(--accent-line)}.ui-select:focus-visible,.ui-select[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.ui-select:disabled{opacity:.55;cursor:not-allowed}.ui-select.is-invalid{border-color:var(--rose)}.ui-select .ui-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:.95rem;font-weight:var(--w-regular);flex:auto;overflow:hidden}.ui-select.is-placeholder .ui-select-value{color:var(--muted)}.field{gap:6px;min-width:0;display:grid}.field>span{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium)}.ui-select-caret{width:16px;height:16px;color:var(--muted);flex:none;transition:transform .15s}.ui-select[aria-expanded=true] .ui-select-caret{transform:rotate(180deg)}.ui-select-panel{z-index:70;border:1px solid var(--glass-line);border-radius:var(--radius-card);background:var(--surface-strong);min-width:8rem;box-shadow:var(--shadow-elevated), var(--hairline);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));overscroll-behavior:contain;padding:5px;position:fixed;overflow-y:auto}.ui-select-option{color:var(--ink);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:.5rem .6rem;font-size:.92rem;display:flex}.ui-select-option.is-active{background:var(--accent-soft)}.ui-select-option[aria-selected=true]{color:var(--accent-deep);font-weight:var(--w-semi)}.ui-select-option.is-disabled{opacity:.45;cursor:not-allowed}.ui-select-check{width:15px;height:15px;color:var(--accent-deep);flex:none}.binding-list{gap:12px;display:grid}.binding-card{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--tile-soft);gap:10px;padding:16px;display:grid}.binding-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.binding-card-head>div{gap:2px;min-width:0;display:grid}.binding-card-head strong{color:var(--ink);font-size:.98rem;font-weight:var(--w-semi)}.binding-card-head>div>span{color:var(--muted);font-size:var(--fs-sm)}.binding-status{font-size:var(--fs-xs);font-weight:var(--w-semi);border-radius:999px;flex:none;padding:.24rem .66rem}.binding-status-active{color:var(--accent-deep);background:var(--accent-soft)}.binding-status-off{color:var(--muted-strong);background:var(--tile)}.binding-meta{flex-wrap:wrap;gap:6px;display:flex}.binding-chip{border:1px solid var(--line);color:var(--muted-strong);font-size:var(--fs-xs);font-weight:var(--w-medium);background:var(--surface-strong);border-radius:999px;padding:.24rem .6rem}.binding-chip-accent{color:var(--accent-deep);border-color:var(--accent-line);background:var(--accent-soft)}.binding-slots{gap:4px;margin:0;padding:0;list-style:none;display:grid}.binding-slots li{color:var(--muted-strong);font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.binding-slots svg{width:15px;height:15px;color:var(--accent);flex:none}.binding-room{width:fit-content;color:var(--accent-deep);font-size:var(--fs-sm);font-weight:var(--w-medium);align-items:center;gap:6px;display:inline-flex}.binding-room svg{width:15px;height:15px}.binding-actions{justify-content:flex-end;display:flex}.slot-editor{gap:8px;display:grid}.slot-row{grid-template-columns:minmax(0,1fr) 132px auto;align-items:center;gap:8px;display:grid}.slot-row-member{grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr) auto}.slot-row input[type=time]{border:1px solid var(--line);border-radius:var(--radius-control);min-height:42px;color:var(--ink);background:var(--surface-strong);font:inherit;padding:.5rem .66rem}.slot-remove{width:42px;padding:0}.slot-remove svg{width:16px;height:16px}.slot-add{justify-self:start}.toggle-card.is-disabled{opacity:.6}.toggle-card.is-disabled input{cursor:not-allowed}.record-patient-list{gap:6px;display:grid}.record-patient-row{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--surface-strong);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 14px;transition:border-color .15s;display:flex}.record-patient-row:hover{border-color:var(--accent-line)}.record-patient-name{flex:auto;gap:2px;min-width:0;display:grid}.record-patient-name strong{color:var(--ink);font-size:var(--fs-sm);font-weight:var(--w-semi)}.record-patient-name small{color:var(--muted);font-size:var(--fs-xs)}.record-patient-row>svg{width:18px;height:18px;color:var(--accent);flex:none}.record-identity{align-items:flex-start;gap:16px;display:flex}.record-identity-copy{flex:auto;gap:8px;min-width:0;display:grid}.record-identity-facts{flex-wrap:wrap;gap:6px;display:flex}.record-identity-facts span{border:1px solid var(--line);color:var(--muted-strong);font-size:var(--fs-xs);font-weight:var(--w-medium);background:var(--surface-strong);border-radius:999px;padding:.24rem .6rem}.record-legal{border:1px solid var(--accent-line);border-radius:var(--radius-control);background:var(--accent-soft);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.record-legal>svg{width:20px;height:20px;color:var(--accent-deep);flex:none;margin-top:1px}.record-legal strong{color:var(--accent-deep);font-size:var(--fs-sm);font-weight:var(--w-semi);display:block}.record-legal span{color:var(--muted-strong);font-size:var(--fs-xs);line-height:1.45}.record-entry-form{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--tile-soft);gap:12px;padding:16px;display:grid}.record-timeline{gap:14px;display:grid}.record-timeline-item{gap:8px;display:grid}.entry-card{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);gap:10px;padding:14px 16px;display:grid}.entry-status-draft{border-left-color:#c58a3d}.entry-status-locked{border-left-color:var(--accent)}.entry-status-amended{border-left-color:var(--muted)}.entry-amendment{background:var(--tile-soft);margin-left:24px}.entry-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.entry-head-main{gap:2px;min-width:0;display:grid}.entry-type{color:var(--ink);font-size:var(--fs-sm);font-weight:var(--w-semi)}.entry-stamp{color:var(--muted);font-size:var(--fs-xs)}.entry-badge{font-size:var(--fs-xs);font-weight:var(--w-semi);border-radius:999px;flex:none;align-items:center;gap:5px;padding:.2rem .56rem;display:inline-flex}.entry-badge svg{width:12px;height:12px}.entry-badge-draft{color:#8a5a1e;background:#c58a3d2e}.entry-badge-locked{color:var(--accent-deep);background:var(--accent-soft)}.entry-badge-amended{color:var(--muted-strong);background:var(--tile)}.entry-content{color:var(--ink);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5}.entry-sign{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium);flex-wrap:wrap;gap:4px 12px;display:flex}.entry-locked-at{color:var(--accent-deep)}.entry-actions{gap:8px;display:flex}.entry-amend{border-top:1px solid var(--line-soft);gap:10px;padding-top:10px;display:grid}.entry-amend-actions{justify-content:flex-end;gap:8px;display:flex}.entry-amend-actions button[type=submit]{border-radius:var(--radius-control);min-height:38px;color:var(--accent-on);background:linear-gradient(180deg, var(--accent-hover), var(--accent));font-weight:var(--w-bold);border:0;padding:.5rem .9rem}.note-composer{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--tile-soft);gap:10px;padding:14px;display:grid}.note-composer-top{gap:10px;display:flex}.note-composer-cat,.note-edit-cat{width:200px;max-width:100%}.note-composer textarea,.note-edit textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:76px;color:var(--ink);background:var(--surface-strong);font:inherit;font-size:var(--fs-sm);padding:.6rem .72rem}.note-composer-actions{justify-content:flex-end;display:flex}.note-list{gap:10px;display:grid}.note-card{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);gap:8px;padding:12px 14px;display:grid}.note-pinned{border-color:var(--accent-line);background:var(--accent-soft)}.note-head{align-items:center;gap:8px;display:flex}.note-cat{border:1px solid var(--accent-line);color:var(--accent-deep);background:var(--accent-soft);font-size:var(--fs-xs);font-weight:var(--w-semi);border-radius:999px;flex:none;padding:.16rem .56rem}.note-pinned .note-cat{background:var(--surface-strong)}.note-pin-flag{width:13px;height:13px;color:var(--accent-deep);flex:none}.note-stamp{color:var(--muted);font-size:var(--fs-xs)}.note-actions{gap:2px;margin-left:auto;display:flex}.note-icon-btn{width:30px;height:30px;color:var(--muted-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid}.note-icon-btn:hover{color:var(--accent-deep);background:var(--accent-soft)}.note-icon-btn svg{width:15px;height:15px}.note-icon-btn.note-icon-danger:hover{color:var(--rose);background:var(--rose-soft)}.note-content{color:var(--ink);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5}.note-foot{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium)}.note-edit{gap:8px;display:grid}.note-edit-actions{justify-content:flex-end;gap:8px;display:flex}.note-confirm{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.note-confirm span{color:var(--rose-deep);font-size:var(--fs-xs)}.note-confirm>div{gap:6px;display:flex}.note-confirm .note-icon-danger{color:var(--rose-deep);border:1px solid var(--rose-soft);background:var(--rose-soft)}.schedule-toolbar{flex-wrap:wrap;gap:12px}.schedule-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-filter{width:220px}.week-nav{align-items:center;gap:4px;display:flex}.week-nav .mini-button{min-width:38px;padding:.42rem .6rem}.week-nav .mini-button svg{width:16px;height:16px}.week-grid{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--surface-strong);overflow-x:auto}.week-grid-head{border-bottom:1px solid var(--line-soft);grid-template-columns:54px repeat(7,minmax(0,1fr));min-width:680px;display:grid}.week-corner{border-right:1px solid var(--line-soft)}.week-day-head{border-right:1px solid var(--line-soft);flex-direction:column;align-items:center;gap:3px;padding:8px 4px;display:flex}.week-day-head:last-child{border-right:0}.week-day-head span{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium);text-transform:uppercase;letter-spacing:.02em}.week-day-head strong{color:var(--ink);font-size:1.02rem;font-weight:var(--w-semi)}.week-day-head.is-today strong{width:30px;height:30px;color:var(--accent-on);background:var(--accent);border-radius:50%;place-items:center;display:grid}.week-grid-body{grid-template-columns:54px repeat(7,minmax(0,1fr));min-width:680px;display:grid;position:relative}.week-hours{position:relative}.week-hour{border-right:1px solid var(--line-soft);position:relative}.week-hour span{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;position:absolute;top:-7px;right:6px}.week-day-col{border-right:1px solid var(--line-soft);cursor:copy;position:relative}.week-day-col:last-child{border-right:0}.week-day-col.is-today{background:color-mix(in srgb, var(--accent-soft) 60%, transparent)}.week-hour-line{border-bottom:1px solid var(--line-soft)}.week-event{z-index:1;text-align:left;cursor:pointer;font-size:var(--fs-xs);border:1px solid #0000;border-left-width:3px;border-radius:7px;flex-direction:column;gap:1px;padding:3px 6px;line-height:1.16;display:flex;position:absolute;overflow:hidden}.week-event:hover{filter:brightness(.98);box-shadow:var(--shadow-soft)}.week-event-time{font-weight:var(--w-semi);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.week-event-time svg{flex:none;width:11px;height:11px}.week-event-name{font-weight:var(--w-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-event-title{opacity:.82;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-event.tone-sched{border-color:var(--accent-line);border-left-color:var(--accent);color:var(--ink);background:#4f80701f}.week-event.tone-conf{background:var(--accent-soft);border-color:var(--accent-line);border-left-color:var(--accent-deep);color:var(--accent-deep)}.week-event.tone-done{background:var(--tile);border-left-color:var(--muted);color:var(--muted-strong)}.week-event.tone-miss,.week-event.tone-resched{color:#8a5a1e;background:#c58a3d29;border-left-color:#c58a3d}.week-event.tone-cancel{background:var(--rose-soft);border-left-color:var(--rose);color:var(--rose-deep);opacity:.72}.week-event.tone-cancel .week-event-name{text-decoration:line-through}.appt-overlay{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c14106b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.appt-modal{border:1px solid var(--glass-line);border-radius:var(--radius-shell);background:var(--surface-strong);width:min(460px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-elevated);-webkit-backdrop-filter:blur(var(--blur));backdrop-filter:blur(var(--blur));gap:14px;padding:20px;display:grid;overflow-y:auto}.appt-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.appt-modal-head h3{color:var(--ink);font-size:1.1rem;font-weight:var(--w-semi);margin:4px 0 0}.appt-modal-head p{color:var(--muted);font-size:var(--fs-sm);margin:3px 0 0}.appt-badge{font-size:var(--fs-xs);font-weight:var(--w-semi);border-radius:999px;padding:.2rem .6rem;display:inline-block}.appt-badge.tone-sched{color:var(--accent-deep);background:var(--accent-soft)}.appt-badge.tone-conf{color:var(--accent-on);background:var(--accent)}.appt-badge.tone-done{color:var(--muted-strong);background:var(--tile)}.appt-badge.tone-miss,.appt-badge.tone-resched{color:#8a5a1e;background:#c58a3d2e}.appt-badge.tone-cancel{color:var(--rose-deep);background:var(--rose-soft)}.appt-facts{flex-wrap:wrap;gap:6px;display:flex}.appt-facts span{border:1px solid var(--line);color:var(--muted-strong);font-size:var(--fs-xs);background:var(--surface-strong);border-radius:999px;padding:.22rem .6rem}.appt-room{border:1px solid var(--accent-line);border-radius:var(--radius-control);color:var(--accent-deep);background:var(--accent-soft);font-size:var(--fs-sm);font-weight:var(--w-semi);align-items:center;gap:8px;padding:.6rem .8rem;display:inline-flex}.appt-room svg{width:16px;height:16px}.appt-room svg:last-child{width:13px;height:13px;margin-left:auto}.appt-actions{flex-wrap:wrap;gap:8px;display:flex}.appt-actions .appt-danger{color:var(--rose-deep);border-color:var(--rose-soft)}.appt-reschedule,.appt-footer{border-top:1px solid var(--line-soft);gap:10px;padding-top:12px;display:grid}.appt-footer{gap:8px;display:flex}.appt-reschedule input,.appt-form input{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:42px;color:var(--ink);background:var(--surface-strong);font:inherit;padding:.5rem .7rem}.appt-reschedule>div{justify-content:flex-end;gap:8px;display:flex}.appt-form{gap:12px;display:grid}.appt-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.appt-form-actions{justify-content:flex-end;gap:8px;display:flex}.appt-form-actions button[type=submit]{border-radius:var(--radius-control);min-height:40px;color:var(--accent-on);background:linear-gradient(180deg, var(--accent-hover), var(--accent));font-weight:var(--w-bold);border:0;padding:.6rem .9rem}.view-switch{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-strong);display:inline-flex;overflow:hidden}.view-switch button{color:var(--muted-strong);font-size:var(--fs-xs);font-weight:var(--w-semi);cursor:pointer;background:0 0;border:0;padding:.44rem .78rem}.view-switch button:not(:last-child){border-right:1px solid var(--line)}.view-switch button.is-active{color:var(--accent-on);background:var(--accent)}.month-grid{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--surface-strong);overflow-x:auto}.month-weekdays{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(7,minmax(0,1fr));min-width:640px;display:grid}.month-weekdays span{text-align:center;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium);text-transform:uppercase;letter-spacing:.02em;padding:8px 6px}.month-cells{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(98px,1fr);min-width:640px;display:grid}.month-cell{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);cursor:pointer;align-content:start;gap:4px;padding:6px;display:grid}.month-cell:nth-child(7n){border-right:0}.month-cell:hover,.month-cell.is-out{background:var(--tile-soft)}.month-cell.is-out .month-daynum{color:var(--faint)}.month-daynum{color:var(--ink);font-size:var(--fs-sm);font-weight:var(--w-semi);font-variant-numeric:tabular-nums;justify-self:start}.month-cell.is-today .month-daynum{min-width:24px;height:24px;color:var(--accent-on);background:var(--accent);border-radius:999px;place-items:center;padding:0 4px;display:grid}.month-chips{gap:3px;min-width:0;display:grid}.month-chip{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;font-size:var(--fs-xs);cursor:pointer;border:0;border-left:3px solid #0000;border-radius:4px;padding:1px 6px;line-height:1.5;display:block;overflow:hidden}.month-chip b{font-weight:var(--w-semi);font-variant-numeric:tabular-nums}.month-chip.tone-sched{border-left-color:var(--accent);color:var(--ink);background:#4f80701f}.month-chip.tone-conf{background:var(--accent-soft);border-left-color:var(--accent-deep);color:var(--accent-deep)}.month-chip.tone-done{background:var(--tile);border-left-color:var(--muted);color:var(--muted-strong)}.month-chip.tone-miss,.month-chip.tone-resched{color:#8a5a1e;background:#c58a3d29;border-left-color:#c58a3d}.month-chip.tone-cancel{background:var(--rose-soft);border-left-color:var(--rose);color:var(--rose-deep)}.month-more{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--w-medium);padding-left:4px}.photo-uploader{justify-items:center;gap:8px;display:grid}.photo-preview{border:1px solid var(--line);border-radius:var(--radius-card);width:132px;height:132px;color:var(--accent);background:var(--tile);place-items:center;display:grid;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-preview svg{width:30px;height:30px}.photo-button{border:1px solid var(--accent-line);border-radius:var(--radius-control);min-height:34px;color:var(--accent-deep);background:var(--accent-soft);font-size:var(--fs-xs);font-weight:var(--w-semi);justify-content:center;align-items:center;padding:.48rem .68rem;display:inline-flex}.photo-button input{display:none}.photo-uploader small,.form-grid small{color:var(--muted);font-size:var(--fs-xs)}.field-note-alert{color:var(--rose-deep)!important}.inline-lookup{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.relationship-grid{grid-template-columns:minmax(180px,240px)}.lookup-result{border-radius:var(--radius-control);font-size:var(--fs-sm);font-weight:var(--w-medium);padding:.62rem .74rem}.lookup-found{color:var(--accent-deep);background:var(--accent-soft)}.lookup-missing{color:var(--rose-deep);background:var(--rose-soft)}.representative-box{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;display:grid}.form-actions{justify-content:flex-end;gap:8px;display:flex}.form-actions button{border-radius:var(--radius-control);min-height:40px;padding:.62rem .86rem}.form-actions button[type=submit]{color:var(--accent-on);background:linear-gradient(180deg, var(--accent-hover), var(--accent));font-weight:var(--w-bold);box-shadow:0 12px 22px -16px var(--accent-strong), var(--hairline);border:0}.form-actions button:not([type=submit]){border:1px solid var(--line);background:var(--surface-strong);color:var(--muted-strong);font-weight:var(--w-medium)}.check-row{color:var(--muted-strong);font-size:var(--fs-sm);font-weight:var(--w-regular);align-items:center;gap:8px;display:flex}.check-row input{width:16px;min-height:16px;accent-color:var(--accent)}.settings-intro{color:var(--muted);font-size:var(--fs-sm);max-width:72ch;margin:0}.settings-section{gap:12px;margin-top:4px;display:grid}.settings-section-title{color:var(--ink);font-size:.98rem;font-weight:var(--w-semi)}.logo-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.logo-uploader{border:1px solid var(--line-soft);border-radius:var(--radius-card);background:var(--tile-soft);gap:10px;padding:16px;display:grid}.logo-uploader-head{gap:2px;display:grid}.logo-uploader-head strong{color:var(--ink);font-size:var(--fs-sm);font-weight:var(--w-semi)}.logo-uploader-head small{color:var(--muted);font-size:var(--fs-xs)}.logo-canvas{border:1px solid var(--line);border-radius:var(--radius-control);place-items:center;min-height:124px;padding:16px;display:grid;overflow:hidden}.logo-canvas img{object-fit:contain;max-width:100%;max-height:92px}.logo-canvas-light{background:#fff;border-color:#1e382e1f}.logo-canvas-dark{background:#1a222a;border-color:#ffffff1f}.logo-canvas-empty{color:var(--muted);font-size:var(--fs-xs)}.logo-canvas-dark .logo-canvas-empty{color:#eef4f680}.logo-upload-button{border:1px solid var(--accent-line);border-radius:var(--radius-control);min-height:38px;color:var(--accent-deep);background:var(--accent-soft);font-size:var(--fs-xs);font-weight:var(--w-semi);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:.5rem .8rem;display:inline-flex}.logo-upload-button input{display:none}.logo-upload-button svg{width:16px;height:16px}.logo-uploader>small{color:var(--muted);font-size:var(--fs-xs)}.patient-row{text-align:left;width:100%;min-height:74px}.patient-row[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.patient-table{gap:6px;display:grid}.patient-table-row{border:1px solid var(--line-soft);border-radius:var(--radius-control);width:100%;min-height:58px;color:var(--muted-strong);background:var(--tile);font-size:var(--fs-sm);text-align:left;grid-template-columns:minmax(220px,1.25fr) minmax(110px,.5fr) minmax(140px,.58fr) minmax(160px,.72fr) minmax(86px,.35fr);align-items:center;gap:10px;padding:8px 10px;display:grid}.patient-table-row:not(.patient-table-head):hover{border-color:var(--accent-line);background:var(--accent-soft)}.patient-table-head{min-height:38px;color:var(--muted);background:var(--tile-soft);font-size:var(--fs-label);font-weight:var(--w-bold);text-transform:uppercase}.patient-table-person{align-items:center;gap:10px;min-width:0;display:flex}.patient-table-person strong{min-width:0;color:var(--ink);font-weight:var(--w-semi);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pagination-bar{min-height:42px;color:var(--muted);font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:12px;display:flex}.pagination-bar div{align-items:center;gap:8px;display:flex}.pagination-bar strong{color:var(--muted-strong);font-weight:var(--w-semi);font-variant-numeric:tabular-nums}.patient-detail-header{align-items:center;gap:12px;min-width:0;display:flex}.patient-detail-header .panel-header{flex:auto;min-width:0}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.info-tile,.responsible-card,.privacy-copy{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile);padding:12px}.info-tile{align-content:center;gap:4px;min-height:78px;display:grid}.responsible-card{align-content:center;min-height:96px}.alert-list{flex-wrap:wrap;gap:8px;display:flex}.alert-list span{border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent-deep);font-size:var(--fs-xs);font-weight:var(--w-semi);border-radius:999px;padding:.42rem .62rem}.finance-summary{align-content:start}.finance-total{border:1px solid var(--gold-soft);border-radius:var(--radius-card);background:var(--gold-soft);align-content:center;gap:4px;min-height:112px;padding:16px;display:grid}.finance-total span{color:var(--muted);font-weight:var(--w-regular)}.finance-total strong{color:var(--gold-deep);font-size:1.8rem;font-weight:var(--w-bold);font-variant-numeric:tabular-nums}.finance-bars{grid-template-columns:1.8fr .85fr .35fr;gap:6px;min-height:14px;display:grid}.finance-bars span{border-radius:6px}.bar-paid{background:var(--accent)}.bar-open{background:var(--gold)}.bar-late{background:var(--rose)}.data-row{border:1px solid var(--line-soft);border-radius:var(--radius-control);background:var(--tile);grid-template-columns:minmax(0,1fr) minmax(116px,auto);align-items:center;gap:12px;min-height:72px;padding:10px 12px;display:grid}.data-row div:last-child{justify-items:end}.privacy-panel{align-content:start}.privacy-copy{align-content:center;min-height:118px}@media (width<=1180px){.topbar,.topbar-master,.topbar-compact,.dashboard-header,.dashboard-body,.content-grid,.schedule-layout,.module-grid-wide,.module-grid-patients{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section-hero,.form-grid,.representative-box,.identity-layout,.logo-grid{grid-template-columns:1fr}.slot-row,.slot-row-member{grid-template-columns:1fr 1fr}.span-2{grid-column:auto}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.summary-card-main{grid-area:auto/1/auto/-1}}@media (width<=880px){.login-shell{grid-template-columns:1fr}.login-brand,.login-panel{min-height:auto}.login-brand h2{font-size:2.4rem}.app-shell{grid-template-columns:1fr;gap:10px;height:auto;min-height:100dvh;display:grid;overflow:visible}.sidebar{flex:none;min-width:0;height:auto;min-height:auto}.workspace{height:auto;min-height:auto}.sidebar nav{grid-template-columns:1fr;overflow:visible}}@media (width<=620px){.app-shell{max-width:100vw;padding:10px;display:grid}.workspace{width:100%;max-width:calc(100vw - 20px);margin-top:10px;display:grid}.sidebar,.topbar,.summary-card,.panel{max-width:calc(100vw - 20px)}.sidebar{border-radius:18px;gap:12px;height:auto;min-height:auto}.sidebar nav{grid-template-columns:1fr}.nav-button{overflow-wrap:anywhere;min-width:0;padding:.56rem .58rem;font-size:.88rem}.portal-card{display:none}.topbar{align-items:stretch;overflow:hidden}.summary-grid,.dashboard-metrics,.dashboard-row,.status-board,.detail-grid{grid-template-columns:1fr}.dashboard-header{align-items:stretch}.patient-table-head{display:none}.patient-table-row{grid-template-columns:1fr;align-items:start;gap:4px}.pagination-bar,.module-toolbar,.day-schedule-header{flex-direction:column;align-items:stretch}.action-button,.schedule-counters{justify-content:center;width:100%}.calendar-grid{gap:4px}.calendar-day{min-height:42px}.inline-lookup,.form-actions{grid-template-columns:1fr;display:grid}.dashboard-row small{justify-self:start}.summary-card{min-height:92px}.summary-card-main{grid-template-columns:1fr}.status-line{white-space:normal;justify-content:center;width:100%}.appointment-row{grid-template-columns:54px minmax(0,1fr)}.appointment-row small,.appointment-row .mini-button{grid-column:2;justify-self:start}.focus-card,.patient-row{align-items:flex-start}.focus-card{flex-wrap:wrap}.focus-card .mini-button{margin-left:0}.data-row{grid-template-columns:1fr}.data-row div:last-child{justify-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
