:root{--ink:#1c1b1b;--ink-2:#292828;--ink-soft:#5c5a58;--ink-muted:#6f6d6a;--paper:#f0eee9;--surface:#fbfaf7;--surface-soft:#f5f3ee;--surface-hover:#f8f7f3;--surface-dark:#333131;--surface-dark-strong:#292828;--line:#ddd9d2;--line-soft:#e8e5df;--panel-soft:#f4f2ed;--panel-line:#1c1b1b1a;--accent:#f04e27;--accent-strong:#ff6a43;--accent-soft:#fbe3da;--accent-soft-strong:#f8d2c4;--accent-ink:#b83714;--accent-line:#b837144d;--select:#6250c8;--select-ink:#4a3aad;--select-soft:#e9e6f9;--select-soft-strong:#dcd7f4;--select-line:#4a3aad47;--select-ring:#4a3aad33;--focus:var(--select);--focus-soft:var(--select-ring);--danger:#c2183f;--danger-ink:#a5122f;--danger-soft:#fae3e8;--danger-line:#c2183f42;--status:#6250c8;--status-ink:#4a3aad;--status-soft:#e9e6f9;--status-ring:#6250c829;--on-dark:#fff;--on-dark-2:#ffffffc2;--on-dark-3:#fff9;--on-dark-line:#ffffff1f;--accent-on-dark:#d6f32c;--on-dark-accent:#d6f32c24;--on-dark-accent-line:#d6f32c4d;--panel-footer-min:104px;--segment:#e3ddd0;--track:#e4ded1;--scroll-thumb:#c3bbaa;--sidebar:240px;--titlebar:54px;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:15px;--radius-button:10px;--radius-sm:10px;--radius-md:16px;--radius-lg:16px;--shadow:0 18px 45px #10141114;--shadow-popover:0 18px 45px #10141129;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--motion-fast:.12s;--motion-base:.22s;--motion-slow:.42s}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-sm);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}.icon{flex:none;display:block}.titlebar{z-index:10;height:var(--titlebar);color:var(--on-dark);background:var(--surface-dark-strong);border-bottom:1px solid var(--on-dark-line);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding-left:18px;padding-right:14px;display:flex;position:relative}.brand{align-items:center;gap:10px;display:inline-flex}.brand strong{font-size:var(--text-lg);letter-spacing:.045em;font-weight:820}.brand-mark{border:2px solid var(--accent-on-dark);border-radius:50%;width:20px;height:20px;position:relative}.brand-mark:after{background:var(--accent-on-dark);content:"";border-radius:50%;position:absolute;inset:5px}.local-badge i{background:var(--status);width:6px;height:6px;box-shadow:0 0 0 4px var(--status-ring);border-radius:50%}.app-shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);height:calc(100vh - var(--titlebar));display:grid}.sidebar{min-height:0;color:var(--on-dark);background:linear-gradient(180deg, var(--surface-dark) 0%, var(--surface-dark-strong) 100%);--focus:var(--accent-on-dark);border-right:1px solid #ffffff0f;flex-direction:column;padding:26px 16px 18px;display:flex}.sidebar-intro{padding:0 12px 24px}.sidebar-intro strong{letter-spacing:-.035em;margin-bottom:6px;font-size:20px;font-weight:710;display:block}.sidebar-intro span{color:var(--on-dark-3);font-size:var(--text-xs);display:block}.sidebar-intro span:first-letter{text-transform:uppercase}.app-nav{gap:6px;display:grid}.nav-item{width:100%;min-height:64px;color:var(--on-dark-2);border-radius:var(--radius-button);cursor:pointer;text-align:left;transition:color .15s ease, background .15s ease, transform var(--motion-fast) var(--ease-out);background:0 0;border:1px solid #0000;grid-template-rows:auto auto;grid-template-columns:20px 1fr;column-gap:12px;padding:12px 14px;display:grid}.nav-item:active{transform:scale(.975)}.nav-item:hover{color:var(--on-dark);background:#ffffff12}.nav-item.is-active{color:var(--on-dark);background:var(--on-dark-accent);border-color:var(--accent-on-dark)}.nav-item.is-active strong{color:var(--accent-on-dark)}.nav-icon{color:currentColor;opacity:.72;grid-row:1/3;align-self:center;place-items:center;display:grid}.nav-item.is-active .nav-icon{color:var(--accent-on-dark);opacity:1;animation:nav-icon-in .26s var(--ease-out)}@keyframes nav-icon-in{0%{opacity:.45;transform:scale(.72)rotate(-8deg)}}.nav-item strong{font-size:var(--text-sm);align-self:end;font-weight:740}.nav-item small{color:var(--on-dark-3);font-size:var(--text-xs);align-self:start;margin-top:3px}.sidebar-summary{border-top:1px solid var(--on-dark-line);align-items:center;gap:10px;margin-top:auto;padding:16px 12px 2px;display:flex}.summary-dot{background:var(--status);width:8px;height:8px;box-shadow:0 0 0 5px var(--on-dark-accent);border-radius:50%;flex:none}.sidebar-summary strong{color:var(--on-dark-2);font-size:var(--text-xs);font-weight:700}.workspace{background:var(--paper);min-width:0;min-height:0;position:relative;overflow:hidden}.app-view{flex-direction:column;min-width:0;min-height:0;padding:28px 34px 30px;display:none;position:absolute;inset:0}.app-view.is-active{animation:view-in .24s var(--ease-out);display:flex}@keyframes view-in{0%{opacity:.38;clip-path:inset(0 0 0 14px round var(--radius-md));transform:translate(-7px)}to{opacity:1;clip-path:inset(0 round var(--radius-md));transform:translate(0)}}.view-header{flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:52px;margin-bottom:22px;display:flex}.view-header h1{letter-spacing:-.04em;margin:0;font-size:32px;font-weight:760;line-height:1}.editing-badge{background:var(--accent-soft);font-size:var(--text-sm);border-radius:999px;padding:7px 13px;font-weight:720}.history-tools{align-items:center;gap:8px;display:flex}input,textarea{width:100%;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}input{height:44px;padding:0 12px}.select-control{width:100%;min-width:0;display:block;position:relative}.select-control[data-open]{z-index:30}.select-trigger{width:100%;height:44px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;text-align:left;outline:none;align-items:center;padding:0 18px 0 12px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.select-trigger:hover{background:var(--surface);border-color:var(--line)}.select-trigger:focus-visible,.select-control[data-open] .select-trigger{background:var(--on-dark);border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft);outline:none}.select-trigger:disabled{cursor:not-allowed;opacity:.55}.select-value{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.select-arrow{width:16px;height:16px;color:var(--ink-soft);pointer-events:none;transform-origin:50%;flex:none;place-items:center;margin-left:12px;transition:color .15s,transform .18s cubic-bezier(.22,1,.36,1);display:grid}.select-trigger:focus-visible .select-arrow,.select-control[data-open] .select-arrow{color:var(--ink)}.select-control[data-open] .select-arrow{transform:rotate(180deg)}.picker-control{gap:8px;width:100%;min-width:0;display:grid}.picker-label{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.picker-field{width:100%;min-width:0;height:44px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:stretch;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;overflow:hidden}.picker-field:hover{background:var(--surface)}.picker-field:focus-within,.date-picker-control[data-open] .picker-field,.time-picker-control.is-open .picker-field{background:var(--on-dark);border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft);outline:none}.picker-control[data-invalid] .picker-field{background:var(--danger-soft);border-color:var(--danger)}.picker-control[data-invalid] .picker-field:focus-within{background:var(--surface);border-color:var(--danger);box-shadow:0 0 0 3px #c8433729}.picker-input{font-variant-numeric:tabular-nums;white-space:nowrap;outline:none;flex:auto;align-items:center;min-width:0;height:100%;padding:0 12px;display:flex}.picker-segment{text-align:center;border-radius:4px;outline:none;min-width:.65ch;padding:2px 1px}.picker-segment[data-type=literal]{min-width:0;padding-inline:0}.picker-segment[data-placeholder]{color:var(--ink-muted)}.picker-segment[data-focused]{color:var(--ink);background:var(--select-soft)}.picker-segment[data-focus-visible]{box-shadow:0 0 0 2px var(--focus-soft)}.picker-trigger{min-height:42px;color:var(--ink-soft);border:0;border-left:1px solid var(--line-soft);cursor:pointer;background:0 0;outline:none;flex:none;justify-content:center;align-items:center;width:42px;transition:color .15s,background .15s;display:inline-flex}.picker-trigger:hover{color:var(--ink);background:var(--select-soft)}.picker-trigger:focus-visible{color:var(--ink);background:var(--select-soft);box-shadow:inset 0 0 0 2px var(--focus)}.date-picker-control[data-open] .picker-trigger,.time-picker-control.is-open .picker-trigger{color:var(--ink);background:var(--select-soft)}.picker-popover{--picker-enter-y:-5px;--picker-exit-y:-3px;z-index:120;width:300px;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-popover);transform-origin:100% 0;border-radius:14px;outline:none;padding:12px}.picker-popover[data-entering]{animation:picker-popover-in var(--motion-base) var(--ease-out)}.picker-popover[data-exiting]{animation:picker-popover-out var(--motion-fast) var(--ease-standard)}.picker-popover[data-placement=top]{--picker-enter-y:5px;--picker-exit-y:3px;transform-origin:100% 100%}@keyframes picker-popover-in{0%{opacity:0;clip-path:inset(0 0 18% round 14px);transform:translateY(var(--picker-enter-y)) scale(.985)}}@keyframes picker-popover-out{to{opacity:0;transform:translateY(var(--picker-exit-y)) scale(.99)}}.picker-calendar{width:100%}.picker-calendar-header{grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.picker-calendar-heading{font-size:var(--text-md);letter-spacing:-.02em;text-align:center;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;margin:0;font-weight:760;overflow:hidden}.picker-calendar-nav{width:34px;height:34px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line-soft);cursor:pointer;transition:color .15s ease, background .15s ease, transform .1s var(--ease-out);border-radius:10px;outline:none;place-items:center;padding:0;display:grid}.picker-calendar-nav:hover,.picker-calendar-nav:focus-visible{color:var(--ink);background:var(--select-soft);border-color:var(--select-line)}.picker-calendar-nav:focus-visible{box-shadow:0 0 0 2px var(--focus-soft)}.picker-calendar-nav:active{transform:scale(.96)}.picker-calendar-grid{border-collapse:separate;border-spacing:2px;table-layout:fixed;width:100%}.picker-calendar-grid th{z-index:auto;height:26px;color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.04em;text-align:center;text-overflow:clip;text-transform:capitalize;background:0 0;border:0;padding:0;font-weight:800;position:static;overflow:visible}.picker-calendar-grid th:nth-child(n){width:auto}.picker-calendar-grid td{height:38px;font-size:var(--text-xs);vertical-align:middle;border:0;padding:2px}.picker-calendar-grid tbody tr:hover{background:0 0}.picker-calendar-cell{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;transition:color .12s ease, background .12s ease, transform .1s var(--ease-out);border-radius:9px;outline:none;place-items:center;padding:0;font-weight:670;line-height:1;display:grid;position:relative}.picker-calendar-cell:hover,.picker-calendar-cell[data-focused]{color:var(--ink);background:var(--paper)}.picker-calendar-cell[data-selected]{color:var(--ink);background:var(--select-soft);box-shadow:inset 0 0 0 1px var(--select-ink);font-weight:820}.picker-calendar-cell[data-today]:after{background:var(--select-ink);content:"";border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px;right:50%;transform:translate(50%)}.picker-calendar-cell[data-selected][data-today]:after{background:var(--ink)}.picker-calendar-cell[data-focus-visible],.picker-calendar-cell:focus-visible{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.picker-calendar-cell[data-pressed]{transform:scale(.94)}.picker-calendar-cell[data-outside-visible-range]{visibility:hidden}.picker-calendar-cell[data-disabled],.picker-calendar-nav[data-disabled]{cursor:not-allowed;opacity:.38}.time-picker-popover{max-width:calc(100vw - 32px);padding:10px 12px}.time-picker-dialog{outline:none}.time-picker-heading{justify-content:space-between;align-items:baseline;margin:0 2px 10px;display:flex}.time-picker-title{font-size:var(--text-md);letter-spacing:-.02em;margin:0;font-weight:760}.time-picker-heading strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:18px;font-weight:820;line-height:1}.time-picker-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.time-picker-column{gap:6px;min-width:0;display:grid}.time-picker-column-label{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.06em;text-align:center;text-transform:uppercase;font-weight:800}.time-picker-list{overscroll-behavior:contain;height:198px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);scroll-snap-type:y proximity;scrollbar-width:none;outline:none;gap:2px;padding:4px;display:grid;overflow-y:auto}.time-picker-list::-webkit-scrollbar{display:none}.time-picker-list[data-focus-visible]{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus-soft);outline:none}.time-picker-option{min-height:36px;color:var(--ink-soft);cursor:pointer;font-variant-numeric:tabular-nums;scroll-snap-align:center;transition:color .12s ease, background .12s ease, transform .1s var(--ease-out);border-radius:8px;outline:none;place-items:center;padding:0;font-weight:680;display:grid}.time-picker-option[data-hovered],.time-picker-option[data-focused]{color:var(--ink);background:var(--paper)}.time-picker-option[data-selected]{color:var(--ink);background:var(--select-soft);font-weight:800}.time-picker-option:focus-visible,.time-picker-option[data-focus-visible]{box-shadow:inset 0 0 0 2px var(--focus);outline:none}.time-picker-option[data-pressed]{transform:scale(.96)}.time-picker-done{width:100%;min-height:40px;color:var(--on-dark);background:var(--select);border:1px solid var(--select);border-radius:var(--radius-button);cursor:pointer;font-size:var(--text-xs);transition:background .12s ease, box-shadow .12s ease, transform .1s var(--ease-out);outline:none;justify-content:center;align-items:center;margin-top:10px;font-weight:800;display:inline-flex}.time-picker-done:hover,.time-picker-done:focus-visible{background:var(--select-ink);border-color:var(--select-ink)}.time-picker-done:focus-visible{box-shadow:0 0 0 3px var(--focus-soft);outline:none}.time-picker-done:active{transform:scale(.98)}.select-popover{z-index:40;-ms-overflow-style:none;scrollbar-width:none;width:max-content;min-width:max(100%,220px);max-width:min(320px,100vw - 40px);max-height:240px;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-popover);transform-origin:top;animation:select-popover-in var(--motion-base) var(--ease-out);border-radius:12px;gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 7px);left:0;overflow-y:auto}.select-popover::-webkit-scrollbar{display:none}.select-control[data-align=end] .select-popover{left:auto;right:0}.select-control[data-placement=top] .select-popover{transform-origin:bottom;animation-name:select-popover-in-top;top:auto;bottom:calc(100% + 7px)}@keyframes select-popover-in{0%{opacity:0;clip-path:inset(0 0 24% round 12px);transform:translateY(-5px)scale(.985)}to{opacity:1;clip-path:inset(0 round 12px);transform:translateY(0)scale(1)}}@keyframes select-popover-in-top{0%{opacity:0;clip-path:inset(24% 0 0 round 12px);transform:translateY(5px)scale(.985)}to{opacity:1;clip-path:inset(0 round 12px);transform:translateY(0)scale(1)}}.select-option{width:100%;min-height:42px;color:var(--ink-soft);cursor:pointer;font-size:var(--text-sm);text-align:left;transition:color var(--motion-fast) ease, background var(--motion-fast) ease, transform .1s var(--ease-out);background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:12px;padding:9px 10px;line-height:1.25;display:grid}.select-option:hover,.select-option:focus-visible{color:var(--ink);background:var(--paper);outline:none}.select-option.is-selected{color:var(--ink);background:var(--select-soft);font-weight:740}.select-option:active{transform:scale(.985)}.select-option:disabled{cursor:not-allowed;opacity:.45}.select-option-check{width:18px;height:18px;color:var(--select-ink);place-items:center;display:grid}.select-option-check .icon{width:15px;height:15px}textarea{resize:none;min-height:78px;padding:11px 12px;line-height:1.45}::placeholder{color:var(--ink-muted);opacity:1}input:focus,textarea:focus{background:var(--on-dark);border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft);outline:none}input[aria-invalid=true],textarea[aria-invalid=true]{background:var(--danger-soft);border-color:var(--danger)}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{background:var(--surface);border-color:var(--danger);box-shadow:0 0 0 3px #c8433729}.field-counter{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:0;text-transform:none;font-weight:600}.history-tools input,.history-tools .select-trigger{border-color:var(--line);height:40px;font-size:var(--text-sm);background:#ffffffc7}.history-tools input:focus,.history-tools .select-trigger:focus,.history-tools .select-control[data-open] .select-trigger{background:var(--on-dark);border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft)}.history-tools input{width:196px}.history-tools .select-control{width:176px}.compact-add{min-height:40px;color:var(--on-dark);background:var(--accent);border:1px solid var(--accent-ink);border-radius:var(--radius-button);cursor:pointer;font-size:var(--text-sm);transition:background .15s ease, transform var(--motion-fast) var(--ease-out);align-items:center;gap:7px;padding:0 16px;font-weight:740;display:inline-flex}.compact-add:hover{background:var(--accent-strong)}.compact-add:active{transform:scale(.975)}.history-overview{background:var(--surface-dark);border-radius:var(--radius-md);box-shadow:var(--shadow);--focus:var(--accent-on-dark);flex:none;grid-template-columns:.7fr .9fr 1.4fr;margin-bottom:14px;display:grid}.history-overview>div{min-height:92px;color:var(--on-dark);border-right:1px solid #ffffff1c;grid-template-columns:auto auto 1fr;align-items:baseline;gap:10px;padding:18px 22px;display:grid}.history-overview>div:last-child{border-right:0}.history-overview span{color:var(--on-dark-3);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;font-weight:800}.history-overview strong{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:24px;overflow:hidden}.history-overview small{color:var(--on-dark-3);font-size:var(--text-xs)}.history-table-panel{background:var(--surface);border-radius:var(--radius-md);min-height:0;box-shadow:none;border:1px solid #171a1812;flex-direction:column;flex:auto;display:flex;overflow:hidden}.table-scroll{flex:auto;min-height:0;position:relative;overflow:auto}table{border-collapse:collapse;table-layout:fixed;width:100%}th{z-index:2;height:46px;color:var(--ink-soft);background:var(--surface);border-bottom:1px solid var(--line);font-size:var(--text-2xs);letter-spacing:.07em;text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;padding:0 10px;font-weight:800;position:sticky;top:0;overflow:hidden}th:first-child{width:18%}th:nth-child(2){width:20%}th:nth-child(3){width:16%}th:nth-child(4){width:17%}th:nth-child(5){width:auto}th:nth-child(6){width:148px}td{border-bottom:1px solid var(--line-soft);height:68px;font-size:var(--text-md);vertical-align:middle;padding:10px}tbody tr:hover{background:var(--surface-hover)}.date-cell strong,.date-cell span,.drug-cell strong,.method-cell strong,.method-cell span{display:block}.date-cell strong,.drug-cell strong,.method-cell strong{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;font-weight:640;overflow:hidden}.drug-cell strong{font-weight:720}.date-cell span,.method-cell span,.note-cell{color:var(--ink-soft);font-size:var(--text-sm)}.method-cell strong{margin-bottom:2px;font-weight:600}.note-cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dose-pill{background:var(--select-soft);min-height:29px;font-size:var(--text-sm);border-radius:999px;align-items:center;padding:0 11px;font-weight:760;display:inline-flex}.row-actions{justify-content:flex-end;gap:4px;display:flex}.row-button{width:40px;height:40px;color:var(--ink-muted);border-radius:var(--radius-button);cursor:pointer;transition:color .15s ease, background .15s ease, border-color .15s ease, transform var(--motion-fast) var(--ease-out);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.row-button:hover{color:var(--ink);background:var(--paper);border-color:var(--line)}.row-button.is-danger:hover{color:var(--danger-ink);background:var(--danger-soft);border-color:#0000}.row-button:active{transform:scale(.9)}.table-caption{color:var(--ink-soft);background:var(--surface);border-top:1px solid var(--line-soft);font-size:var(--text-xs);flex:none;margin:0;padding:11px 14px}.table-caption:empty{display:none}.empty-state{text-align:center;place-content:center;justify-items:center;padding:20px;display:grid;position:absolute;inset:0}.empty-icon{width:52px;height:52px;color:var(--on-dark);background:var(--accent);border-radius:50%;place-items:center;margin-bottom:16px;display:grid}.empty-icon .icon{width:22px;height:22px}.empty-icon-neutral{color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line)}.empty-state h2{margin:0 0 8px;font-size:19px}.empty-state p{max-width:34ch;color:var(--ink-soft);font-size:var(--text-md);margin:0 0 18px}.filter-empty-state p{max-width:42ch}.loading-state{color:var(--ink-soft)}.loading-mark{border:3px solid var(--line);border-top-color:var(--accent-ink);border-radius:50%;width:34px;height:34px;margin-bottom:18px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.segmented{background:var(--segment);border-radius:13px;gap:3px;padding:3px;display:inline-flex}.segmented button{min-height:34px;color:var(--ink-soft);border-radius:var(--radius-button);cursor:pointer;font-size:var(--text-xs);transition:color .15s ease, background .15s ease, transform var(--motion-fast) var(--ease-out);background:0 0;border:1px solid #0000;padding:0 14px;font-weight:740}.segmented button:hover{color:var(--ink)}.segmented button.is-active{color:var(--ink);background:var(--surface);border-color:var(--line);animation:segment-in .18s var(--ease-out);box-shadow:0 1px 3px #1a18151f}.segmented button:active{transform:scale(.94)}@keyframes segment-in{0%{transform:scale(.92)}}.metric-grid{flex:none;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px;display:grid}.metric-card{background:var(--surface);border-radius:var(--radius-md);border:1px solid #171a1812;padding:18px 20px;overflow:hidden}.metric-card-accent{background:var(--select-soft);border-color:var(--select-line)}.metric-card p{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.09em;text-transform:uppercase;margin:0 0 14px;font-weight:800}.metric-card strong{letter-spacing:-.05em;margin-bottom:6px;font-size:34px;line-height:.9;display:block}.metric-card .metric-text{text-overflow:ellipsis;white-space:nowrap;font-size:19px;line-height:1.15;overflow:hidden}.metric-card span{color:var(--ink-soft);font-size:var(--text-xs)}.metric-card-accent p,.metric-card-accent span{color:#171a18b8}.insight-grid{flex:auto;grid-template-columns:1fr 1fr;gap:10px;min-height:0;display:grid}.panel{background:var(--surface);border-radius:var(--radius-md);border:1px solid #171a1812;flex-direction:column;min-height:0;padding:22px;display:flex;overflow:hidden}.rhythm-panel{background:var(--panel-soft);border-color:var(--panel-line);overflow:visible}.rhythm-panel .panel-note{color:var(--ink-soft)}.panel-head,.data-panel-head,.recent-head,.entry-card-title{flex:none;justify-content:space-between;align-items:baseline;gap:18px;display:flex}.panel h2,.data-panel h2,.recent-panel h2,.entry-card h2{letter-spacing:-.03em;margin:0;font-size:19px}.panel-note{color:var(--ink-soft);font-size:var(--text-xs)}.month-nav{align-items:center;gap:4px;display:flex}.month-nav strong{min-width:10ch;font-size:var(--text-sm);text-align:center;font-weight:740}.month-nav button{width:30px;height:30px;color:var(--accent-ink);border:1px solid var(--accent-ink);border-radius:var(--radius-button);cursor:pointer;background:0 0;place-items:center;padding:0;transition:color .15s,background .15s;display:grid}.month-nav button:hover:not(:disabled){color:var(--on-dark);background:var(--accent-ink)}.month-nav button:disabled{border-color:var(--line);cursor:default;opacity:.4}.calendar{flex-direction:column;flex:auto;gap:8px;min-height:0;margin-top:20px;display:flex}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekdays{flex:none}.calendar-weekdays span{color:var(--ink-soft);font-size:var(--text-2xs);text-align:center;font-weight:700}.calendar-grid{flex:auto;grid-auto-rows:minmax(30px,1fr);min-height:0}.calendar-day{min-height:30px;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;transition:transform var(--motion-fast) var(--ease-out);border-radius:8px;place-items:center;font-weight:700;display:grid;position:relative}.app-view.is-active .calendar-day{animation:calendar-day-in var(--motion-slow) var(--ease-out) backwards}.app-view.is-active .calendar-day[data-week="0"]{animation-delay:40ms}.app-view.is-active .calendar-day[data-week="1"]{animation-delay:70ms}.app-view.is-active .calendar-day[data-week="2"]{animation-delay:.1s}.app-view.is-active .calendar-day[data-week="3"]{animation-delay:.13s}.app-view.is-active .calendar-day[data-week="4"]{animation-delay:.16s}.app-view.is-active .calendar-day[data-week="5"]{animation-delay:.19s}@keyframes calendar-day-in{0%{opacity:.28;transform:scale(.78)}}.calendar-day.is-outside{background:0 0;border-color:#0000}.calendar-day.is-future{color:var(--ink-muted);background:0 0;border-style:dashed}.calendar-day.is-filled{color:var(--ink);background:var(--select-soft);border-color:var(--select-ink);font-weight:800}.calendar-day.is-today{color:var(--ink);font-weight:800}.calendar-day.is-today:after{background:var(--select-ink);content:"";border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar-day.is-filled:is(:hover,:focus-visible){z-index:1;transform:translateY(-1px)scale(1.05)}.calendar-day.is-filled:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.calendar-tooltip{--tooltip-x:-50%;--tooltip-enter-y:4px;z-index:20;width:clamp(180px,20vw,260px);max-width:calc(100vw - 40px);max-height:min(176px,100vh - 40px);color:var(--on-dark);background:var(--ink);box-shadow:var(--shadow-popover);font-size:var(--text-xs);overscroll-behavior:contain;scrollbar-width:none;text-align:left;transform:translateX(var(--tooltip-x));border-radius:10px;padding:10px 12px;font-weight:400;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:hidden auto}.calendar-tooltip::-webkit-scrollbar{display:none}.calendar-day:is([data-week="0"],[data-week="1"]) .calendar-tooltip{--tooltip-enter-y:-4px;top:calc(100% + 8px);bottom:auto}.calendar-day:is([data-weekday="0"],[data-weekday="1"]) .calendar-tooltip{--tooltip-x:0%;left:0}.calendar-day:is([data-weekday="5"],[data-weekday="6"]) .calendar-tooltip{--tooltip-x:0%;left:auto;right:0}.calendar-day.is-filled:is(:hover,:focus-visible) .calendar-tooltip{animation:calendar-tooltip-in var(--motion-fast) var(--ease-out);gap:7px;display:grid}@keyframes calendar-tooltip-in{0%{opacity:0;transform:translate(var(--tooltip-x), var(--tooltip-enter-y)) scale(.97)}}.calendar-tooltip strong{z-index:1;background:var(--ink);font-size:var(--text-xs);margin:-2px 0 0;padding:2px 0 4px;font-weight:760;position:sticky;top:-10px}.calendar-tooltip strong:first-letter{text-transform:uppercase}.calendar-tooltip-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.calendar-tooltip-row i{color:var(--on-dark-3);font-variant-numeric:tabular-nums;font-style:normal}.calendar-tooltip-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-tooltip-row b{color:var(--accent-on-dark);white-space:nowrap;font-weight:760}.calendar-summary{font-size:var(--text-sm);flex-wrap:wrap;flex:none;align-items:baseline;gap:2px 10px;margin:14px 0 0;display:flex}.calendar-summary strong{color:var(--select-ink);font-weight:760}.calendar-summary span{color:var(--ink-soft)}.edited-mark{color:var(--ink-soft);background:var(--surface-soft);font-size:var(--text-2xs);cursor:help;border-radius:4px;margin-left:6px;padding:1px 5px;font-style:normal;font-weight:700}.drug-totals{flex:auto;align-content:start;gap:18px;min-height:0;margin-top:22px;display:grid;overflow:auto}.drug-total-row{grid-template-columns:minmax(0,1.1fr) minmax(60px,1fr) auto;align-items:center;gap:14px;display:grid}.drug-total-name{min-width:0;font-size:var(--text-sm);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-weight:720;line-height:1.3}.total-track{background:var(--track);border-radius:999px;height:6px;overflow:hidden}.total-track i{width:var(--width);background:var(--select);border-radius:inherit;height:100%;display:block}.app-view.is-active .total-track i{transform-origin:0;animation:total-track-in .52s var(--ease-out) .16s backwards}@keyframes total-track-in{0%{opacity:.4;transform:scaleX(0)}}.drug-total-value{text-align:right;min-width:88px}.drug-total-value strong{font-size:var(--text-sm);font-weight:760;display:block}.drug-total-value small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;display:block}.drug-totals:has(.totals-empty){align-content:center}.totals-empty{text-align:center;place-content:center;justify-items:center;display:grid}.totals-empty p{max-width:32ch;color:var(--ink-soft);font-size:var(--text-md);margin:0}.entry-layout{flex:auto;grid-template-columns:minmax(360px,1.45fr) minmax(280px,.72fr);gap:12px;min-height:0;display:grid}.entry-card,.recent-panel,.data-panel{background:var(--surface);border-radius:var(--radius-lg);min-height:0;box-shadow:var(--shadow);border:0}.entry-card{flex-direction:column;width:100%;padding:26px 28px;display:flex;overflow:visible}.entry-card-title button{min-height:28px;color:var(--ink-soft);border:0;border-bottom:1px dashed var(--ink-muted);cursor:pointer;font-size:var(--text-xs);background:0 0;padding:0}.entry-card-title button:hover{color:var(--ink);border-bottom-color:var(--ink)}.form-grid{flex:none;gap:16px;margin-top:24px;display:grid}.two-columns{grid-template-columns:1fr 1fr}.field{gap:8px;display:grid}.field-wide{grid-column:1/-1}.field>span:first-child,.field>label:first-child,.drug-editor label>span:first-child,.import-mode legend{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;font-weight:800}.field em{color:var(--ink-muted);letter-spacing:0;text-transform:none;font-style:normal;font-weight:600}.field-label-row{justify-content:space-between;align-items:center;display:flex}.input-with-unit{position:relative}.input-with-unit input{padding-right:52px}.input-with-unit b{color:var(--ink-soft);font-size:var(--text-sm);position:absolute;top:50%;right:13px;transform:translateY(-50%)}.form-actions{border-top:1px solid var(--line-soft);align-items:center;gap:10px;margin-top:auto;padding-top:22px;display:flex}.button{border-radius:var(--radius-button);cursor:pointer;min-height:44px;font-size:var(--text-sm);transition:background .15s ease, border-color .15s ease, color .15s ease, transform var(--motion-fast) var(--ease-out);border:1px solid #0000;padding:0 22px;font-weight:740}.button:active{transform:scale(.975)}.button-primary{color:var(--on-dark);background:var(--accent);border-color:var(--accent-ink)}.button-primary:hover{background:var(--accent-strong)}.button-secondary{color:var(--ink-soft);background:var(--paper);border-color:var(--line)}.button-secondary:hover{color:var(--ink);background:var(--line-soft)}.button-danger{color:var(--on-dark);background:var(--danger);border-color:var(--danger);white-space:nowrap;flex:none;padding:0 16px}.button-danger:hover{color:var(--on-dark);background:var(--danger-ink)}.field-error{color:var(--danger-ink);font-size:var(--text-xs);font-weight:650;line-height:1.35}.field-error,.drug-editor-message:not(:empty),.dialog-message:not(:empty){animation:feedback-in var(--motion-base) var(--ease-out)}.drug-editor-message:empty,.dialog-message:empty{display:none}@keyframes feedback-in{0%{opacity:.2;clip-path:inset(0 0 35% round 8px);transform:translateY(-4px)}}.recent-panel{color:var(--on-dark);background:var(--surface-dark-strong);--focus:var(--accent-on-dark);flex-direction:column;padding:24px;display:flex;overflow:hidden}.recent-head button{min-width:38px;min-height:32px;color:var(--on-dark-2);cursor:pointer;font-size:var(--text-xs);background:0 0;border:0;border-bottom:1px solid #ffffff52;padding:0}.recent-head button:hover{color:var(--accent-on-dark);border-bottom-color:var(--accent-on-dark)}.recent-list{align-content:start;margin-top:18px;display:grid;overflow:auto}.recent-row{border-bottom:1px solid #ffffff1c;grid-template-columns:1fr auto;gap:10px;padding:14px 0;display:grid}.recent-row strong,.recent-row small{display:block}.recent-row strong{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;overflow:hidden}.recent-row small{color:var(--on-dark-3);font-size:var(--text-xs)}.recent-row>span{color:var(--accent-on-dark);font-size:var(--text-sm);align-self:start;font-weight:780}.recent-empty{min-height:200px;color:var(--on-dark-3);font-size:var(--text-sm);text-align:center;place-content:center;display:grid}.entry-tip{border-top:1px solid #ffffff1c;align-items:flex-start;gap:10px;margin-top:auto;padding-top:16px;display:flex}.entry-tip .icon{color:var(--accent-on-dark);margin-top:1px}.entry-tip p{color:var(--on-dark-2);font-size:var(--text-xs);margin:0;line-height:1.45}.local-badge{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;font-weight:720;display:inline-flex}.data-layout{flex:auto;grid-template-columns:minmax(300px,.82fr) minmax(320px,1.18fr);gap:12px;min-height:0;display:grid}.data-panel{flex-direction:column;padding:24px 26px;display:flex;overflow:hidden}.backup-panel{overflow-y:auto}.drug-manager{overflow:visible}.data-panel-head>span{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap}.backup-summary{background:var(--surface-soft);border-radius:13px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;margin:20px 0 14px;padding:15px;display:grid}.backup-summary>span{width:40px;height:40px;color:var(--on-dark);background:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.backup-summary strong{font-size:var(--text-md);margin-bottom:4px;display:block}.backup-summary p,.danger-zone p{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.backup-summary p{color:var(--ink-soft)}.backup-primary{grid-column:1/-1;justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.data-section{border-top:1px solid var(--line);margin-top:4px;padding-top:18px}.data-section-head h3{font-size:var(--text-md);margin:0 0 4px}.data-section-head p{color:var(--ink-soft);font-size:var(--text-sm);margin:0 0 12px;line-height:1.45}.data-actions{border-top:1px solid var(--line-soft);display:grid}.data-action{width:100%;min-height:62px;color:var(--ink);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:12px 2px;display:flex}.data-action strong,.data-action small{display:block}.data-action strong{font-size:var(--text-md);margin-bottom:4px}.data-action small{color:var(--ink-soft);font-size:var(--text-sm)}.data-action b{color:var(--ink-soft);background:var(--surface-soft);border-radius:var(--radius-button);font-size:var(--text-xs);transition:color .15s ease, background .15s ease, transform var(--motion-fast) var(--ease-out);align-items:center;gap:6px;padding:8px 12px;font-weight:720;display:inline-flex}.data-action:hover b{color:var(--ink);background:var(--accent-soft)}.import-action:has(input:focus-visible) b{color:var(--ink);background:var(--accent-soft);outline:2px solid var(--focus);outline-offset:2px}.data-action:active b{transform:translate(2px)scale(.98)}.import-action{position:relative}.import-action input{opacity:0;width:1px;height:1px;position:absolute}.import-mode{border:0;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:16px 0 0;padding:0;display:flex}.import-mode legend{float:left;width:100%;margin-bottom:10px;padding:0}.import-mode label{min-height:32px;color:var(--ink-soft);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:7px;display:inline-flex}.import-mode label.is-danger{color:var(--danger-ink)}.import-mode input{width:16px;height:16px;accent-color:var(--select);margin:0}.dialog-message{color:var(--ink-2);font-size:var(--text-sm);margin:14px 0 0}.modal-backdrop{z-index:60;animation:backdrop-in var(--motion-base) var(--ease-out);background:#10141185;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}}.import-confirmation{width:min(520px,100%);max-height:100%;color:var(--ink);background:var(--danger-soft);border:1px solid var(--danger-line);box-shadow:var(--shadow-popover);animation:dialog-in var(--motion-base) var(--ease-out);border-radius:16px;padding:22px;overflow:auto}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.import-confirmation .button-danger{color:var(--on-dark);background:var(--danger)}.import-confirmation .button-danger:hover{background:var(--danger-ink)}.import-confirmation .button-secondary{border:1px solid var(--ink-muted)}.import-confirmation>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.import-confirmation>div:first-child strong{font-size:var(--text-md)}.import-confirmation>div:first-child p{max-width:45%;color:var(--ink-soft);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.import-confirmation dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0;display:grid}.import-confirmation dl div{background:var(--surface);border-radius:9px;padding:10px}.import-confirmation dt{color:var(--ink-soft);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-weight:800}.import-confirmation dd{font-size:var(--text-sm);margin:0;font-weight:760}.import-warning{color:var(--danger-ink);font-size:var(--text-sm);margin:12px 0 0;line-height:1.45}.import-confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.import-confirmation-actions .button:first-child{margin-right:auto}.import-confirmation-actions .button{min-height:38px;padding-inline:14px}.danger-zone{min-height:var(--panel-footer-min);flex:none;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:auto;padding:16px;display:flex}.danger-zone .button-danger{min-height:42px}.danger-zone strong{font-size:var(--text-md);margin-bottom:4px;display:block}.drug-catalog{border-top:1px solid var(--line);flex:auto;align-content:start;min-height:160px;margin-top:16px;display:grid;overflow-y:auto}.catalog-row{border-bottom:1px solid var(--line);min-height:58px;transition:background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.catalog-row.is-editing{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-ink)}.catalog-row>div:first-child{min-width:0}.catalog-row strong,.catalog-row>div span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.catalog-row strong{font-size:var(--text-md);margin-bottom:3px}.catalog-row>div span{color:var(--ink-soft);font-size:var(--text-sm)}.catalog-row-count{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap}.catalog-row-actions{gap:4px;display:flex}.drug-editor{min-height:var(--panel-footer-min);background:var(--surface-soft);border-radius:13px;flex-wrap:wrap;flex:none;align-items:flex-end;gap:10px;margin-top:16px;padding:16px;display:flex}.drug-editor label{gap:6px;display:grid}.drug-editor>label:first-of-type{flex:118px;min-width:0}.drug-editor>label:nth-of-type(2){flex:0 0 84px}.drug-editor>label:nth-of-type(3){flex:0 138px;min-width:0}.drug-editor input,.drug-editor .select-trigger{background:var(--surface);height:42px;font-size:var(--text-sm)}.drug-editor-actions{flex:none;align-items:center;gap:8px;display:flex}.drug-editor-actions .button{white-space:nowrap;min-height:42px;padding:0 18px}.drug-editor-message{color:var(--danger-ink);font-size:var(--text-sm);flex:1 0 100%;margin:0}.toast{z-index:50;bottom:20px;right:auto;left:calc(var(--sidebar) + clamp(20px, 2.4vw, 48px));max-width:340px;color:var(--on-dark);background:var(--surface-dark-strong);border:1px solid var(--on-dark-line);box-shadow:var(--shadow);clip-path:inset(0 0 22% round 11px);filter:blur(2px);font-size:var(--text-sm);opacity:0;pointer-events:none;transform-origin:0 100%;border-radius:11px;padding:13px 16px;transition:opacity .13s,transform .13s,clip-path .13s,filter .13s;position:fixed;transform:translateY(10px)scale(.985)}.toast.is-visible{clip-path:inset(0 round 11px);filter:blur();opacity:1;transition-duration:var(--motion-base);transition-timing-function:var(--ease-out);transform:translateY(0)}.table-scroll,.recent-list,.drug-catalog,.drug-totals{scrollbar-color:var(--scroll-thumb) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.is-hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (max-width:1200px){:root{--sidebar:216px}.app-view{padding-inline:24px}.history-tools input{width:150px}.history-tools .select-control{width:160px}.drug-editor{grid-template-columns:1fr 1fr}}@media (max-width:1080px){.app-view{padding-inline:20px}.view-header{gap:16px}.view-header h1{font-size:28px}.history-tools input{width:144px}.history-tools .select-control{width:160px}.compact-add{padding-inline:13px}.entry-card,.data-panel{padding-inline:22px}.recent-panel{padding-inline:20px}.data-layout{grid-template-columns:minmax(300px,.9fr) minmax(320px,1.1fr)}.danger-zone{flex-direction:column;align-items:stretch}.danger-zone .button-danger{align-self:flex-end}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{font-size:10px}}@media (min-width:1600px){:root{--sidebar:268px}.app-view{padding:38px 48px 42px}.view-header h1{font-size:38px}.metric-card strong{font-size:40px}}@media (max-height:800px){.app-view{padding-block:20px}.view-header{min-height:46px;margin-bottom:14px}.metric-card p{margin-bottom:10px}.metric-card strong{font-size:30px}.history-overview>div{min-height:78px;padding-block:13px}.form-grid{gap:12px;margin-top:16px}.heatmap{margin-top:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.loading-mark{border-top-color:var(--line);animation:none}}.auth-shell{background:linear-gradient(180deg, var(--surface-dark) 0%, var(--surface-dark-strong) 100%);place-items:center;height:100vh;padding:48px 24px;display:grid;overflow-y:auto}.auth-panel{gap:24px;width:100%;max-width:420px;display:grid}.auth-form{width:100%;color:var(--ink);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);border:0;gap:18px;padding:32px;display:grid}.auth-head{gap:6px;padding-inline:4px;display:grid}.auth-head h1{color:var(--on-dark);letter-spacing:-.035em;margin:0;font-size:32px;font-weight:800;line-height:1}.auth-head p{color:var(--on-dark-2);font-size:var(--text-sm);margin:0;line-height:1.5}.auth-roles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-role{text-align:left;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;gap:2px;padding:12px 14px;transition:background .15s,border-color .15s;display:grid}.auth-role strong{font-size:var(--text-sm);font-weight:740}.auth-role small{color:var(--ink-muted);font-size:var(--text-xs)}.auth-role:hover{background:var(--surface-hover)}.auth-role.is-active{background:var(--accent-soft);border-color:var(--accent-line)}.auth-switch{color:var(--ink-muted);font-size:var(--text-sm);text-align:center}.auth-switch a{color:var(--accent-ink);font-weight:700}@media (max-height:800px){.auth-shell{align-items:start;padding-block:24px}.auth-panel{gap:16px}.auth-form{gap:14px;padding:24px}}.titlebar-account{align-items:center;gap:12px;display:flex}.titlebar-account-who{text-align:right;gap:0;min-width:0;display:grid}.titlebar-account-who strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:720;line-height:1.25;overflow:hidden}.titlebar-account-who small{color:var(--on-dark-3);font-size:var(--text-xs);line-height:1.25}.titlebar-logout{color:var(--on-dark-3);font-size:var(--text-xs);border:1px solid var(--on-dark-line);border-radius:var(--radius-button);cursor:pointer;background:0 0;flex:none;padding:6px 12px;font-weight:700;transition:color .15s,border-color .15s}.titlebar-logout:hover:not(:disabled){color:var(--on-dark);border-color:var(--on-dark)}.titlebar-logout:disabled{cursor:default;opacity:.6}
.web-app-root{width:100%;height:100%}@media (max-width:980px){html,body{min-width:980px;overflow:auto}.web-app-root{min-width:980px}}
