:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-bg:#f4f7f8;--c-surface:#fff;--c-surface-2:#f0f4f5;--c-surface-3:#e5ecee;--c-border:#dbe3e6;--c-border-strong:#b7c4c9;--c-text:#14232b;--c-text-muted:#51626b;--c-text-subtle:#6b7b83;--c-primary:#0d6b63;--c-primary-hover:#0a5751;--c-primary-soft:#e0f2ef;--c-on-primary:#fff;--c-accent:#1f5fae;--c-accent-soft:#e3eefb;--c-success:#17733f;--c-success-soft:#e2f5e9;--c-warning:#8a5300;--c-warning-soft:#fff3d6;--c-danger:#b42318;--c-danger-hover:#951c13;--c-danger-soft:#fdecea;--c-info:#1f5fae;--c-info-soft:#e3eefb;--c-focus:#2b8fd6;--c-overlay:#0a141a7a;--c-triage-red:#c62828;--c-triage-yellow:#f2c200;--c-triage-green:#2e7d32;--c-triage-black:#1b1b1b;--font-sans:"Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--lh:1.5;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:999px;--shadow-sm:0 1px 2px #1020280f, 0 1px 3px #10202814;--shadow-md:0 4px 12px #1020281a;--shadow-lg:0 18px 48px #10202838;--touch:44px;--sidebar-w:248px;--sidebar-w-collapsed:72px;--topbar-h:60px;--bottomnav-h:64px;--ease:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#0d151b;--c-surface:#141f27;--c-surface-2:#1a2731;--c-surface-3:#23333e;--c-border:#2a3b46;--c-border-strong:#3d5361;--c-text:#e7eef2;--c-text-muted:#a8b8c2;--c-text-subtle:#8ea0ab;--c-primary:#3cc3b2;--c-primary-hover:#5fd3c4;--c-primary-soft:#133a37;--c-on-primary:#06201d;--c-accent:#7fb2f0;--c-accent-soft:#182c45;--c-success:#5fd08a;--c-success-soft:#123224;--c-warning:#f3c25b;--c-warning-soft:#3a2c0b;--c-danger:#ff8a80;--c-danger-hover:#ffaaa2;--c-danger-soft:#3d1a17;--c-info:#7fb2f0;--c-info-soft:#182c45;--c-focus:#6cb8ef;--c-overlay:#0009;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 18px 48px #0009}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:100%;line-height:var(--lh);color:var(--c-text);background:var(--c-bg);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;font-synthesis:none;min-width:320px}body{min-height:100vh;font-size:var(--fs-md);margin:0}#root{min-height:100vh}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:700;line-height:1.25}h2{font-size:var(--fs-lg);font-weight:650;line-height:1.3}h3{font-size:var(--fs-md);font-weight:650}a{color:var(--c-accent)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}::selection{background:color-mix(in srgb, var(--c-primary) 30%, transparent)}code,kbd,.mono{font-family:var(--font-mono);font-size:.92em}kbd{border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface-2);text-align:center;border-bottom-width:2px;min-width:1.6em;padding:0 .4em;display:inline-block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.muted{color:var(--c-text-muted)}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.spacer{flex:1}.num{font-variant-numeric:tabular-nums;text-align:right}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{--btn-bg:var(--c-surface);--btn-fg:var(--c-text);--btn-border:var(--c-border-strong);justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--touch);padding:0 var(--sp-4);border:1px solid var(--btn-border);border-radius:var(--r-md);background:var(--btn-bg);color:var(--btn-fg);font-weight:600;font-size:var(--fs-sm);white-space:nowrap;transition:background .15s var(--ease), border-color .15s var(--ease), transform .1s;line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--c-surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55}.btn svg{flex:none;width:18px;height:18px}.btn-primary{--btn-bg:var(--c-primary);--btn-fg:var(--c-on-primary);--btn-border:var(--c-primary)}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover)}.btn-danger{--btn-bg:var(--c-danger);--btn-fg:#fff;--btn-border:var(--c-danger)}:root[data-theme=dark] .btn-danger{--btn-fg:#2a0b08}.btn-danger:hover:not(:disabled){background:var(--c-danger-hover)}.btn-ghost{--btn-bg:transparent;--btn-border:transparent}.btn-sm{min-height:36px;padding:0 var(--sp-3)}.btn-icon{width:var(--touch);padding:0}.btn-block{width:100%}.btn .spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-body{padding:var(--sp-5)}.card-header{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--c-border);display:flex}.badge{border-radius:var(--r-full);font-size:var(--fs-xs);white-space:nowrap;background:var(--c-surface-3);color:var(--c-text);align-items:center;gap:.35em;padding:.15em .6em;font-weight:650;line-height:1.5;display:inline-flex}.badge svg{width:13px;height:13px}.badge-success{background:var(--c-success-soft);color:var(--c-success)}.badge-warning{background:var(--c-warning-soft);color:var(--c-warning)}.badge-danger{background:var(--c-danger-soft);color:var(--c-danger)}.badge-info{background:var(--c-info-soft);color:var(--c-info)}.badge-primary{background:var(--c-primary-soft);color:var(--c-primary)}.dialog-overlay{z-index:100;padding:var(--sp-4);background:var(--c-overlay);animation:fade-in .15s var(--ease);place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(100%,560px);max-height:calc(100vh - 2 * var(--sp-4));background:var(--c-surface);color:var(--c-text);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:pop-in .18s var(--ease);flex-direction:column;display:flex}.dialog-lg{width:min(100%,860px)}.dialog-sm{width:min(100%,420px)}.dialog-header{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-3);display:flex}.dialog-header h2{flex:1}.dialog-body{padding:0 var(--sp-5) var(--sp-4);overflow-y:auto}.dialog-footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--c-border);flex-wrap:wrap;display:flex}.dialog-danger-icon{border-radius:var(--r-full);background:var(--c-danger-soft);width:40px;height:40px;color:var(--c-danger);flex:none;place-items:center;display:grid}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.99)}}@media (width<=599px){.dialog-overlay{align-items:end;padding:0}.dialog,.dialog-lg,.dialog-sm{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:92vh}}.table-wrap{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.table th,.table td{padding:var(--sp-3) var(--sp-4);text-align:left;vertical-align:middle;border-bottom:1px solid var(--c-border)}.table th{background:var(--c-surface-2);color:var(--c-text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-weight:650;position:sticky;top:0}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:color-mix(in srgb, var(--c-primary-soft) 45%, transparent)}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr:focus-visible{outline-offset:-3px}.table td.num,.table th.num{text-align:right}@media (width<=599px){.table-responsive thead{display:none}.table-responsive,.table-responsive tbody,.table-responsive tr,.table-responsive td{width:100%;display:block}.table-responsive tr{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border)}.table-responsive td{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-1) 0;text-align:right;border:0;display:flex}.table-responsive td:before{content:attr(data-label);color:var(--c-text-muted);text-align:left;font-weight:600}}.pagination{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;font-size:var(--fs-sm);color:var(--c-text-muted);flex-wrap:wrap;display:flex}.pagination-controls{align-items:center;gap:var(--sp-2);display:flex}.state{align-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-4);text-align:center;color:var(--c-text-muted);flex-direction:column;display:flex}.state-icon{width:56px;height:56px;margin-bottom:var(--sp-2);border-radius:var(--r-full);background:var(--c-surface-2);color:var(--c-primary);place-items:center;display:grid}.state-error .state-icon{background:var(--c-danger-soft);color:var(--c-danger)}.state h3{color:var(--c-text)}.state p{max-width:46ch}.state .btn{margin-top:var(--sp-3)}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--c-surface-2) 25%, var(--c-surface-3) 50%, var(--c-surface-2) 75%);background-size:200% 100%;height:1em;animation:1.2s ease-in-out infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.toast-region{z-index:200;right:var(--sp-4);bottom:var(--sp-4);gap:var(--sp-2);width:min(380px, calc(100vw - 2 * var(--sp-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border-left:4px solid var(--c-info);background:var(--c-surface);color:var(--c-text);box-shadow:var(--shadow-md);font-size:var(--fs-sm);pointer-events:auto;animation:pop-in .18s var(--ease);display:flex}.toast p{flex:1}.toast-success{border-left-color:var(--c-success)}.toast-error{border-left-color:var(--c-danger)}.toast-warning{border-left-color:var(--c-warning)}.toast svg{flex:none;width:20px;height:20px}.toast-success>svg{color:var(--c-success)}.toast-error>svg{color:var(--c-danger)}.toast-warning>svg{color:var(--c-warning)}@media (width<=767px){.toast-region{bottom:calc(var(--bottomnav-h) + var(--sp-3));left:50%;right:auto;transform:translate(-50%)}}.alert{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--c-info-soft);color:var(--c-text);font-size:var(--fs-sm);align-items:flex-start;display:flex}.alert svg{width:20px;height:20px;color:var(--c-info);flex:none}.alert-danger{background:var(--c-danger-soft)}.alert-danger svg{color:var(--c-danger)}.alert-warning{background:var(--c-warning-soft)}.alert-warning svg{color:var(--c-warning)}.patient-banner{align-items:center;gap:var(--sp-2) var(--sp-5);padding:var(--sp-3) var(--sp-5);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.patient-banner-name{font-size:var(--fs-lg);font-weight:700}.patient-banner-meta{gap:var(--sp-2) var(--sp-4);color:var(--c-text-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.patient-banner-meta strong{color:var(--c-text)}.patient-banner-allergy{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--c-danger);color:#fff;font-weight:650;font-size:var(--fs-sm);display:flex}:root[data-theme=dark] .patient-banner-allergy{color:#2a0b08}.patient-banner-allergy.none{background:var(--c-surface-2);color:var(--c-text-muted);font-weight:500}.input{width:100%;min-height:var(--touch);padding:0 var(--sp-3);border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-md)}select.input{padding-right:var(--sp-8)}.input:focus-visible{outline:3px solid color-mix(in srgb, var(--c-focus) 45%, transparent);outline-offset:0;border-color:var(--c-focus)}.filter-bar{align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.filter-field{gap:var(--sp-1);flex-direction:column;flex:0 200px;min-width:160px;display:flex}.filter-label{color:var(--c-text-muted);font-size:var(--fs-sm);font-weight:600}.filter-search{flex:260px;position:relative}.filter-search .input{padding-left:2.5rem}.filter-search-icon{width:20px;height:20px;color:var(--c-text-subtle);pointer-events:none;position:absolute;bottom:12px;left:.8rem}@media (width<=599px){.filter-field{flex:100%}}.form-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .span-2{grid-column:span 2}@media (width<=599px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}}.actions-cell{gap:var(--sp-1);justify-content:flex-end;display:flex}.def-list{gap:var(--sp-2) var(--sp-5);grid-template-columns:max-content 1fr;margin:0;display:grid}.def-list dt{color:var(--c-text-muted)}.def-list dd{margin:0;font-weight:550}.code-block{padding:var(--sp-3);border-radius:var(--r-md);background:var(--c-surface-2);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;margin:0}.matrix-wrap{max-height:70vh;overflow:auto}.matrix th.role-col{text-align:center;min-width:96px}.matrix td.check{text-align:center}.matrix td.check input{width:20px;height:20px;accent-color:var(--c-primary);cursor:pointer}.matrix .group-row td{background:var(--c-surface-2);font-weight:700;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted)}.matrix th:first-child,.matrix td:first-child{z-index:1;background:var(--c-surface);position:sticky;left:0}.matrix thead th:first-child{z-index:2;background:var(--c-surface-2)}.matrix .changed{background:var(--c-warning-soft)}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.shell.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0, 1fr)}.skip-link{left:var(--sp-4);z-index:300;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);background:var(--c-primary);color:var(--c-on-primary);position:absolute;top:-100px}.skip-link:focus{top:var(--sp-2)}.sidebar{gap:var(--sp-2);height:100vh;padding:var(--sp-4) var(--sp-3);border-right:1px solid var(--c-border);background:var(--c-surface);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--sp-3);padding:var(--sp-1) var(--sp-2) var(--sp-3);color:var(--c-text);text-decoration:none;display:flex}.brand-mark{border-radius:var(--r-md);background:var(--c-primary);width:38px;height:38px;color:var(--c-on-primary);flex:none;place-items:center;display:grid}.brand strong{font-size:var(--fs-lg);line-height:1.1;display:block}.brand small{color:var(--c-text-muted);font-size:var(--fs-xs)}.nav{flex-direction:column;gap:2px;display:flex}.nav-group-label{padding:var(--sp-3) var(--sp-3) var(--sp-1);color:var(--c-text-subtle);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.nav-link{align-items:center;gap:var(--sp-3);min-height:var(--touch);padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--c-text-muted);font-weight:550;font-size:var(--fs-sm);text-decoration:none;display:flex}.nav-link svg{flex:none;width:20px;height:20px}.nav-link:hover{background:var(--c-surface-2);color:var(--c-text)}.nav-link.active{background:var(--c-primary-soft);color:var(--c-primary)}.is-collapsed .sidebar .nav-label,.is-collapsed .sidebar .brand-text,.is-collapsed .sidebar .nav-group-label{display:none}.is-collapsed .sidebar .nav-link{justify-content:center}.sidebar-footer{padding-top:var(--sp-3);border-top:1px solid var(--c-border);margin-top:auto}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;align-items:center;gap:var(--sp-3);height:var(--topbar-h);padding:0 var(--sp-5);border-bottom:1px solid var(--c-border);background:color-mix(in srgb, var(--c-surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.topbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.user-chip{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.user-chip .avatar{border-radius:var(--r-full);background:var(--c-accent-soft);width:36px;height:36px;color:var(--c-accent);place-items:center;font-weight:700;display:grid}.user-chip small{color:var(--c-text-muted);font-size:var(--fs-xs);display:block}.content{width:100%;max-width:1440px;padding:var(--sp-6) var(--sp-5) var(--sp-10);flex:1;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.page-header p{color:var(--c-text-muted);margin-top:var(--sp-1)}.breadcrumb{gap:var(--sp-2);margin:0 0 var(--sp-1);color:var(--c-text-muted);font-size:var(--fs-sm);padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";margin-right:var(--sp-2);color:var(--c-text-subtle)}.bottom-nav,.drawer-backdrop,.only-tablet{display:none}@media (width<=1023px){.shell,.shell.is-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:90;width:min(300px,86vw);transition:transform .2s var(--ease);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-105%)}.shell.drawer-open .sidebar{transform:none}.shell.drawer-open .drawer-backdrop{z-index:80;background:var(--c-overlay);display:block;position:fixed;inset:0}.is-collapsed .sidebar .nav-label,.is-collapsed .sidebar .brand-text,.is-collapsed .sidebar .nav-group-label{display:revert}.is-collapsed .sidebar .nav-link{justify-content:flex-start}.only-desktop{display:none}.only-tablet{display:inline-flex}}@media (width<=767px){.topbar{padding:0 var(--sp-3)}.content{padding:var(--sp-4) var(--sp-3) calc(var(--bottomnav-h) + var(--sp-6))}.user-chip .user-text{display:none}.bottom-nav{z-index:30;height:var(--bottomnav-h);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--c-border);background:var(--c-surface);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{min-width:0;color:var(--c-text-muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.6875rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--c-primary)}.bottom-nav svg{width:22px;height:22px}}.auth-page{min-height:100vh;padding:var(--sp-4);background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--c-primary) 16%, transparent), transparent 45%), radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--c-accent) 14%, transparent), transparent 45%), var(--c-bg);place-items:center;display:grid}.auth-card{width:min(100%,420px);padding:var(--sp-8) var(--sp-6)}.auth-card .brand{margin-bottom:var(--sp-4);justify-content:center}.auth-card form{gap:var(--sp-4);flex-direction:column;display:flex}.auth-theme{top:var(--sp-3);right:var(--sp-3);position:fixed}.stat-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.stat-card{padding:var(--sp-4) var(--sp-5)}.stat-card .stat-label{color:var(--c-text-muted);font-size:var(--fs-sm)}.stat-card .stat-value{margin-top:var(--sp-1);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;font-weight:700;display:block}.ff,.pop-panel{--ff-green:var(--c-primary);--ff-green-soft:var(--c-primary-soft);--ff-ring:color-mix(in srgb, var(--c-focus) 35%, transparent);--ff-border:var(--c-border);--ff-text:var(--c-text);--ff-muted:var(--c-text-muted);--ff-danger:var(--c-danger);--ff-danger-soft:var(--c-danger-soft);--ff-radius:var(--r-md)}.ff{flex-direction:column;gap:7px;min-width:0;font-size:.875rem;display:flex}.ff-label{color:var(--ff-text);font-size:.875rem;font-weight:600}.ff-req{color:var(--ff-danger);margin-left:3px}.ff-hint{color:var(--ff-muted);margin:0;font-size:.8125rem}.ff-error{color:var(--ff-danger);align-items:center;gap:5px;margin:0;font-size:.8125rem;font-weight:500;animation:.15s ease-out ff-in;display:flex}@keyframes ff-in{0%{opacity:0;transform:translateY(-3px)}}.ff-control{background:var(--c-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius);align-items:center;gap:6px;min-height:44px;padding:0 10px 0 13px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative}.ff-control:hover{border-color:var(--c-border-strong)}.ff-control:focus-within,.ff-control.is-open{border-color:var(--c-primary);box-shadow:0 0 0 4px var(--ff-ring)}.ff-control input,.ff-control textarea,.ff-control select{color:var(--ff-text);min-width:0;box-shadow:none;background:0 0;border:0;outline:0;flex:1;padding:11px 0;font-size:1rem}.ff-control input:focus-visible,.ff-control textarea:focus-visible{outline:0}.ff-control.is-disabled{background:var(--c-surface-2);opacity:.7;cursor:not-allowed}.ff-invalid .ff-control{border-color:var(--ff-danger);background:var(--ff-danger-soft)}.ff-invalid .ff-control:focus-within,.ff-invalid .ff-control.is-open{box-shadow:0 0 0 4px color-mix(in srgb, var(--c-danger) 14%, transparent)}.ff-adorn,.ff-affix{color:var(--ff-muted);flex:none;display:inline-flex}.ff-affix{font-size:1rem;font-weight:600}.ff-icon-btn{width:30px;height:30px;color:var(--ff-muted);background:0 0;border:0;border-radius:7px;flex:none;place-items:center;display:inline-grid}.ff-icon-btn:hover:not(:disabled){background:var(--c-surface-2);color:var(--ff-text)}.ff-cal-btn{color:var(--ff-green)}.ff-link{color:var(--ff-green);background:0 0;border:0;border-radius:6px;padding:6px 8px;font-size:.875rem;font-weight:600}.ff-link:hover:not(:disabled){background:var(--ff-green-soft)}.ff-done{background:var(--ff-green);color:var(--c-on-primary);border:0;border-radius:7px;padding:7px 14px;font-size:.875rem;font-weight:600}.ff-done:hover{background:var(--c-primary-hover)}.ff-spin{color:var(--ff-green);flex:none;animation:.8s linear infinite ff-rot}@keyframes ff-rot{to{transform:rotate(360deg)}}.ff-chevron{color:var(--ff-muted);flex:none;transition:transform .15s}.ff-chevron.up{transform:rotate(180deg)}.ff-area{flex-direction:column;align-items:stretch;gap:0;padding:0 13px}.ff-area textarea{resize:vertical;min-height:90px;padding:11px 0 4px;line-height:1.5}.ff-counter{color:var(--ff-muted);align-self:flex-end;padding:0 0 7px;font-size:.75rem}.ff-counter.is-full{color:var(--ff-danger)}.pop-root{position:relative}.pop-panel{z-index:50;background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;animation:.14s ease-out pop-in;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 38px #10202826,0 2px 6px #10202814}.pop-panel.up{top:auto;bottom:calc(100% + 6px)}.ff-list-panel{flex-direction:column;max-height:300px;display:flex;right:0;overflow:hidden}.ff-list{margin:0;padding:6px;list-style:none;overflow-y:auto}.ff-list li{cursor:pointer;border-radius:8px;flex-direction:column;gap:1px;padding:9px 11px;font-size:1rem;display:flex}.ff-list li.active{background:var(--ff-green-soft)}.ff-list li.chosen .ff-opt-title{color:var(--ff-green);font-weight:700}.ff-opt-desc{color:var(--ff-muted)}.ff-list mark{background:var(--c-warning-soft);color:inherit;border-radius:3px;padding:0 1px}.ff-notice{color:var(--ff-muted);justify-content:space-between;align-items:center;gap:10px;padding:18px 16px;font-size:.9375rem;display:flex}.ff-fieldset{border:0;flex-direction:column;gap:9px;min-width:0;margin:0;padding:0;display:flex}.ff-fieldset legend{margin-bottom:2px;padding:0}.ff-options{gap:9px;display:grid}.ff-options.cols-1{grid-template-columns:1fr}.ff-options.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-options.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ff-check{cursor:pointer;align-items:flex-start;gap:11px;display:flex;position:relative}.ff-check input{opacity:0;cursor:pointer;width:18px;height:18px;margin:0;padding:0;position:absolute}.ff-box{border:1.5px solid var(--c-border-strong);background:var(--c-surface);color:#0000;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;transition:all .14s;display:grid}.ff-radio .ff-box{border-radius:50%}.ff-dot{background:var(--c-surface);border-radius:50%;width:8px;height:8px;transition:transform .14s;transform:scale(0)}.ff-check input:checked+.ff-box{background:var(--ff-green);border-color:var(--ff-green);color:var(--c-on-primary)}.ff-check input:checked+.ff-box .ff-dot{transform:scale(1)}.ff-check input:focus-visible+.ff-box{box-shadow:0 0 0 4px var(--ff-ring)}.ff-check:hover input:not(:checked)+.ff-box{border-color:var(--c-primary)}.ff-invalid .ff-box{border-color:var(--ff-danger)}.ff-check-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ff-check-text strong{color:var(--ff-text);font-size:1rem;font-weight:600}.ff-check-text small{color:var(--ff-muted);font-size:.8125rem}.ff-check.is-disabled{opacity:.55;cursor:not-allowed}.ff-tile{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--c-surface);padding:11px 13px;transition:border-color .14s,background .14s}.ff-tile:hover{border-color:var(--c-border-strong)}.ff-tile:has(input:checked){border-color:var(--c-primary);background:var(--c-primary-soft)}.ff-invalid .ff-tile{border-color:var(--c-danger)}.ff-switch-row{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--c-surface);justify-content:space-between;align-items:center;gap:16px;padding:11px 14px;display:flex}.ff-switch{background:var(--c-surface-3);border:0;border-radius:99px;flex:none;width:78px;height:34px;padding:0;transition:background .2s;position:relative}.ff-switch.on{background:var(--ff-green)}.ff-switch:focus-visible{box-shadow:0 0 0 4px var(--ff-ring);outline:0}.ff-switch-knob{background:var(--c-surface);border-radius:50%;width:26px;height:26px;transition:transform .22s cubic-bezier(.3,.9,.3,1.2);position:absolute;top:4px;left:4px;box-shadow:0 1px 4px #0003}.ff-switch.on .ff-switch-knob{transform:translate(44px)}.ff-switch-text{letter-spacing:.02em;font-size:.8125rem;font-weight:700;transition:opacity .18s;position:absolute;top:50%;transform:translateY(-50%)}.ff-switch-text.on{color:var(--c-on-primary);opacity:0;left:13px}.ff-switch-text.off{color:var(--c-text-muted);opacity:1;right:11px}.ff-switch.on .ff-switch-text.on{opacity:1}.ff-switch.on .ff-switch-text.off{opacity:0}.ff-number input{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600}.cal-panel{min-width:296px;padding:14px}.cal{-webkit-user-select:none;user-select:none;width:268px}.cal-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.cal-nav,.cal-nav-spacer{flex:none;width:32px;height:32px}.cal-nav{color:var(--c-text-muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.cal-nav:hover{background:var(--c-surface-2)}.cal-selects{flex:1;justify-content:center;gap:6px;display:flex}.cal-selects select{background:var(--c-surface-2);width:auto;color:var(--ff-text);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:6px 8px;font-size:1rem;font-weight:700}.cal-selects select:hover{background:var(--ff-green-soft)}.cal-title{text-align:center;flex:1;font-family:Manrope,sans-serif;font-size:1rem}.cal-week,.cal-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-week span{text-align:center;color:var(--ff-muted);text-transform:uppercase;padding:4px 0 6px;font-size:.75rem;font-weight:700}.cal-day{height:36px;color:var(--ff-text);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:9px;font-size:.9375rem;position:relative}.cal-day:hover:not(:disabled):not(.selected){background:var(--ff-green-soft)}.cal-day.is-today{box-shadow:inset 0 0 0 1.5px var(--c-primary);font-weight:800}.cal-day.selected{background:var(--ff-green);color:var(--c-on-primary);box-shadow:none;font-weight:700}.cal-day.in-range{background:var(--ff-green-soft);border-radius:0}.cal-day.range-lo{border-top-right-radius:0;border-bottom-right-radius:0}.cal-day.range-hi{border-top-left-radius:0;border-bottom-left-radius:0}.cal-day.disabled{color:var(--c-text-subtle);cursor:not-allowed;opacity:1;text-decoration:line-through}.cal-day:focus-visible{box-shadow:0 0 0 3px var(--ff-ring);outline:0}.cal-foot{border-top:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.range-help{color:var(--ff-muted);font-size:.8125rem}.ff-time{background:var(--c-surface-2);border-radius:12px;justify-content:center;align-items:flex-start;gap:8px;margin-top:10px;padding:12px;display:flex}.time-box{flex-direction:column;align-items:center;gap:5px;display:flex}.time-box input{text-align:center;border:1px solid var(--c-border);background:var(--c-surface);font-variant-numeric:tabular-nums;border-radius:9px;width:58px;padding:8px 0;font-size:1.25rem;font-weight:700}.time-box input:hover{border-color:var(--c-border-strong)}.time-box input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--ff-ring);outline:0}.time-box span{color:var(--ff-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.ff-time-sep{color:var(--ff-muted);padding-top:8px;font-size:1.25rem;font-weight:700}.ff-range-btn{text-align:left;min-width:0;color:var(--ff-text);background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:11px 0;font-size:1rem;display:flex}.ff-range-btn.is-empty{color:var(--c-text-subtle)}.ff-range-btn svg{color:var(--ff-green);flex:none}.ff-range-btn:focus-visible{outline:0}.ff-range-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-panel.range{padding:12px}.range-body{gap:14px;display:flex}.range-presets{border-right:1px solid var(--c-border);flex-direction:column;gap:2px;min-width:128px;padding-right:12px;display:flex}.range-presets button{text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.9375rem;font-weight:500}.range-presets button:hover:not(:disabled){background:var(--ff-green-soft);color:var(--ff-green)}.range-cals{gap:18px;display:flex}.ff-rte{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.rte-bar{border-bottom:1px solid var(--c-border);background:var(--c-surface-2);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.rte-bar button{width:32px;height:32px;color:var(--c-text-muted);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.rte-bar button:hover:not(:disabled){background:var(--c-surface-2)}.rte-bar button.on{background:var(--ff-green);color:var(--c-on-primary)}.rte-sep{background:var(--c-surface-3);width:1px;height:18px;margin:0 5px}.rte-link{border-bottom:1px solid var(--c-border);background:var(--c-primary-soft);align-items:center;gap:8px;padding:8px;display:flex}.rte-link input{border:1px solid var(--ff-border);background:var(--c-surface);border-radius:8px;flex:1;padding:7px 10px;font-size:.9375rem}.rte-body{color:var(--ff-text);overflow-wrap:anywhere;outline:0;padding:14px 16px;font-size:1rem;line-height:1.65}.rte-body[data-empty=true]:before{content:attr(data-placeholder);color:var(--c-text-subtle);pointer-events:none;float:left;height:0}.rte-body>:first-child{margin-top:0}.rte-body p{margin:0 0 .7em}.rte-body h2{margin:.8em 0 .4em;font-size:1.3em}.rte-body h3{margin:.8em 0 .4em;font-size:1.1em}.rte-body ul,.rte-body ol{margin:0 0 .7em;padding-left:1.5em}.rte-body blockquote{border-left:3px solid var(--c-primary);color:var(--c-text-muted);margin:0 0 .7em;padding:2px 0 2px 14px}.rte-body a{color:var(--ff-green);text-decoration:underline}.rte-foot{color:var(--ff-muted);border-top:1px solid var(--c-surface-2);justify-content:space-between;padding:6px 14px;font-size:.75rem;display:flex}@media (width<=720px){.range-presets,.range-second{display:none}.cal-panel{min-width:0}.ff-options.cols-2,.ff-options.cols-3{grid-template-columns:1fr}.ff-switch-row{padding:10px 12px}}@media (prefers-reduced-motion:reduce){.pop-panel,.ff-error,.ff-switch-knob{transition:none;animation:none}}.time-panel{min-width:250px;padding:12px}.time-panel .ff-time{margin-top:0}
