:root{--color-primary:#2f5d50;--color-primary-hover:#244a40;--color-primary-pressed:#1b3831;--color-on-primary:#fff;--color-primary-soft:#eaf2ee;--color-on-primary-soft:#244a40;--color-primary-100:#d3e4db;--color-accent:#c1802b;--color-accent-strong:#8a5718;--color-text:#141a18;--color-text-secondary:#3f4a45;--color-text-muted:#5e6b64;--color-text-disabled:#8a958f;--color-text-inverse:#fff;--color-link-inverse:#a9dcc0;--color-background:#f5f7f4;--color-surface:#fff;--color-surface-sunken:#eef1ed;--color-surface-hover:#eef1ed;--color-surface-selected:#eaf2ee;--color-surface-inverse:#141a18;--color-scrim:#141a187a;--color-border-subtle:#e3e8e4;--color-border:#d5dcd7;--color-border-input:#7e8a83;--color-border-focus:#2f5d50;--color-success:#2f8f3b;--color-success-text:#1f6f2a;--color-success-soft:#e7f4e8;--color-warning:#b98900;--color-warning-text:#7a5600;--color-warning-soft:#fff5cc;--color-danger:#b42318;--color-danger-hover:#912018;--color-danger-text:#b42318;--color-danger-soft:#fdecea;--color-info:#3a72ad;--color-info-text:#2d5b8c;--color-info-soft:#e8f0f9;--color-neutral-text:#3f4a45;--color-neutral-soft:#eef1ed;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--text-headline-lg:600 1.5rem/2rem var(--font-sans);--text-headline-md:600 1.25rem/1.75rem var(--font-sans);--text-title-md:600 1.125rem/1.625rem var(--font-sans);--text-title-sm:600 1rem/1.5rem var(--font-sans);--text-body-lg:400 1rem/1.5rem var(--font-sans);--text-body-lg-strong:500 1rem/1.5rem var(--font-sans);--text-body-md:400 .875rem/1.25rem var(--font-sans);--text-body-md-strong:500 .875rem/1.25rem var(--font-sans);--text-label-lg:500 1rem/1.5rem var(--font-sans);--text-label-md:500 .875rem/1.25rem var(--font-sans);--text-label-sm:500 .75rem/1rem var(--font-sans);--text-caption:400 .75rem/1rem var(--font-sans);--text-number-xl:600 1.75rem/2.25rem var(--font-sans);--text-number-md:500 1rem/1.5rem var(--font-sans);--text-number-sm:400 .875rem/1.25rem var(--font-sans);--letter-spacing-tight:-.01em;--letter-spacing-label-sm:.01em;--space-xxs:2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--space-4xl:64px;--radius-none:0px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-1:0 1px 2px #141a180f;--shadow-2:0 4px 16px #141a181f;--shadow-3:0 12px 32px #141a1829;--focus-ring:0 0 0 4px var(--color-primary-100);--z-content:0;--z-sticky:100;--z-fab:200;--z-menu:300;--z-overlay:400;--z-toast:500;--z-tooltip:600;--motion-fast:.12s;--motion-base:.15s;--motion-medium:.2s;--motion-slow:.25s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--touch-target:48px;--control-height:48px;--list-row-height:72px;--table-row-height:52px;--table-header-height:44px;--top-bar-height:56px;--bottom-nav-height:64px;--nav-rail-width:80px;--sidebar-width:256px;--sidebar-width-collapsed:80px;--side-panel-width:480px;--dialog-width:480px;--form-max-width:720px;--content-max-width:1440px;--chip-height:48px;--toast-max-width:400px;--list-bottom-space:88px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--layout-columns:4;--layout-margin:16px;--layout-gutter:16px}@media (width>=600px){:root{--layout-columns:8;--layout-margin:24px;--top-bar-height:64px}}@media (width>=1280px){:root{--layout-columns:12;--layout-margin:32px;--layout-gutter:24px}}@media (pointer:fine){:root{--control-height:40px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font:var(--text-body-lg);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}@media (width>=1280px) and (pointer:fine){body{font:var(--text-body-md)}}input,select,textarea{font:var(--text-body-lg);color:inherit}button{font:inherit}.tnum,td.num,th.num,time,[data-numeric]{font-variant-numeric:tabular-nums}td.num,th.num{text-align:right}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font:var(--text-body-lg);color:var(--color-text);background:var(--color-background);font-variant-numeric:tabular-nums;margin:0}h1,h2,h3,p{margin:0}a{color:var(--color-primary)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--color-text-muted)}.body-md{font:var(--text-body-md)}.caption{font:var(--text-caption);color:var(--color-text-muted)}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.stack{gap:var(--space-lg);flex-direction:column;display:flex}.stack-sm{gap:var(--space-sm);flex-direction:column;display:flex}.stack-md{gap:var(--space-md);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.spread{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.section-title{font:var(--text-title-sm)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--control-height);border-radius:var(--radius-sm);min-width:88px;font:var(--text-label-lg);cursor:pointer;transition:background-color var(--motion-fast) ease-out;border:1px solid #0000;padding:0 20px;text-decoration:none;display:inline-flex}.btn svg{width:var(--icon-md);height:var(--icon-md);flex:none}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:active{background:var(--color-primary-pressed)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover,.btn-tertiary:hover{background:var(--color-surface-hover)}.btn-tertiary{color:var(--color-primary);min-width:0;padding:0 var(--space-md);background:0 0}.btn-danger-outline{background:var(--color-surface);color:var(--color-danger-text);border-color:var(--color-danger)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover{background:var(--color-danger-hover)}.btn[disabled],.btn[aria-disabled=true]{background:var(--color-surface-sunken);color:var(--color-text-disabled);border-color:var(--color-border);cursor:not-allowed}.btn-primary[aria-busy=true]{background:var(--color-primary);color:var(--color-on-primary);cursor:progress;border-color:#0000}.btn-block{width:100%}.icon-btn{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--color-surface-hover)}.icon-btn svg{width:var(--icon-lg);height:var(--icon-lg)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (pointer:fine){.btn{min-height:40px;padding:0 var(--space-lg);font:var(--text-label-md)}.icon-btn{width:40px;height:40px}}.field{gap:var(--space-sm);flex-direction:column;display:flex}.field-label{font:var(--text-label-md);color:var(--color-text)}legend.field-label{color:var(--color-text-muted);padding:0}.field-optional,.field-helper{font:var(--text-body-md);color:var(--color-text-muted)}.field-error{gap:var(--space-xs);font:var(--text-body-md);color:var(--color-danger-text);align-items:flex-start;display:flex}.field-error svg{width:var(--icon-sm);height:var(--icon-sm);flex:none;margin-top:2px}.input{width:100%;min-height:var(--control-height);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:var(--text-body-lg);font-variant-numeric:tabular-nums;padding:0 14px}textarea.input{min-height:96px;padding:var(--space-md) 14px;resize:vertical}select.input{appearance:none;background-image:linear-gradient(45deg, transparent calc(50% - 1px), var(--color-text) calc(50% - 1px), var(--color-text) calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(135deg, transparent calc(50% - 1px), var(--color-text) calc(50% - 1px), var(--color-text) calc(50% + 1px), transparent calc(50% + 1px));background-position:calc(100% - 24px) calc(50% + 2px),calc(100% - 18px) calc(50% + 2px);background-repeat:no-repeat;background-size:7px 7px;padding-right:40px}.input:hover{border-color:var(--color-text-muted)}.input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus), 0 0 0 4px var(--color-primary-100);outline:none}.input[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.input:disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled);border-color:var(--color-border)}.input-suffix{position:relative}.input-suffix .input{padding-right:64px}.input-suffix span{color:var(--color-text-muted);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.check{align-items:center;gap:var(--space-md);min-height:var(--touch-target);cursor:pointer;display:flex}.check input{width:20px;height:20px;accent-color:var(--color-primary)}.chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.chip,.segment{align-items:center;gap:var(--space-xs);min-height:var(--chip-height);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:var(--text-label-md);cursor:pointer;gap:6px;padding:0 14px;display:inline-flex}.chip[aria-pressed=true],.segment[aria-pressed=true]{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-on-primary-soft);font-weight:var(--font-weight-semibold)}.chip svg,.segment svg{width:var(--icon-sm);height:var(--icon-sm)}.segmented{gap:var(--space-xs);padding:var(--space-xs);border-radius:var(--radius-sm);background:var(--color-surface-sunken);display:flex}.segmented .segment{min-height:40px;color:var(--color-text-muted);background:0 0;border-color:#0000;border-radius:6px;flex:1;justify-content:center}.segmented .segment[aria-pressed=true]{background:var(--color-primary-soft);border-color:var(--color-primary)}@media (pointer:fine){.chip,.segment{min-height:40px}}.stepper{height:var(--control-height);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);align-items:stretch;display:inline-flex;overflow:hidden}.stepper[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.stepper button{width:var(--touch-target);background:var(--color-surface-sunken);color:var(--color-text);cursor:pointer;border:0;justify-content:center;align-items:center;display:inline-flex}.stepper button svg{width:var(--icon-md);height:var(--icon-md)}.stepper label{justify-content:center;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);min-width:72px;display:inline-flex}.stepper input{text-align:right;width:5ch;font:var(--text-label-lg);color:var(--color-text);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none}.stepper input:focus-visible{outline:none}.stepper:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus)}.stepper .unit{font:var(--text-body-md);color:var(--color-text-muted)}.quantity-row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.badge{align-items:center;gap:var(--space-xs);height:24px;padding:0 var(--space-sm) 0 6px;border-radius:var(--radius-xs);font:var(--text-label-sm);letter-spacing:var(--letter-spacing-label-sm);white-space:nowrap;display:inline-flex}.badge svg{width:14px;height:14px}.badge-success{background:var(--color-success-soft);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.badge-info{background:var(--color-info-soft);color:var(--color-info-text)}.badge-neutral{background:var(--color-neutral-soft);color:var(--color-neutral-text)}.badge-guide{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-accent)}.badge-guide svg{color:var(--color-accent)}.count{border-radius:var(--radius-full);background:var(--color-accent-strong);min-width:20px;height:20px;color:var(--color-text-inverse);font:var(--text-label-sm);justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.icon-btn .count{position:absolute;top:4px;left:24px}.dot{border-radius:var(--radius-full);background:var(--color-accent);flex:none;width:8px;height:8px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg)}.card-flush{padding:0;overflow:hidden}.list{margin:0;padding:0;list-style:none}.list-row{align-items:center;gap:var(--space-md);min-height:var(--list-row-height);padding:var(--space-md) var(--space-lg);background:var(--color-surface);color:inherit;text-align:left;width:100%;font:inherit;cursor:pointer;border:0;text-decoration:none;display:flex}.list>li+li .list-row,.list>li+li>.list-row-static{border-top:1px solid var(--color-border-subtle)}.list-row:hover{background:var(--color-surface-hover)}.list-row[aria-current=true]{background:var(--color-surface-selected)}.list-row-static{align-items:center;gap:var(--space-md);min-height:64px;padding:var(--space-md) var(--space-lg);display:flex}.list-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-title{font:var(--text-body-lg-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-sub{font:var(--text-body-md);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-value{font:var(--text-number-md);text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.thumb{border-radius:var(--radius-sm);background:var(--color-surface-sunken);width:40px;height:40px;color:var(--color-text-muted);object-fit:cover;flex:none;justify-content:center;align-items:center;display:inline-flex}.thumb svg{width:var(--icon-md);height:var(--icon-md)}.avatar{border-radius:var(--radius-full);background:var(--color-primary-100);width:40px;height:40px;color:var(--color-on-primary-soft);font:var(--text-label-md);flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar-lg,.thumb-lg{width:96px;height:96px}.group-title{font:var(--text-label-md);color:var(--color-text-muted);padding:var(--space-sm) 0}.total-line{font:var(--text-body-md);color:var(--color-text-muted)}.list-end{height:var(--list-bottom-space)}.prop{justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-subtle);font:var(--text-body-md);display:flex}.prop:last-child{border-bottom:0}.prop dt{font:var(--text-body-md);color:var(--color-text-muted)}.prop dd{text-align:right;font:var(--text-body-md-strong);margin:0}.key-card{gap:var(--space-xs);flex-direction:column;display:flex}.label-muted{font:var(--text-label-md);color:var(--color-text-muted)}.btn-tertiary.btn-surface{background:var(--color-surface)}.key-figure{font:var(--text-number-xl)}.timeline-row{gap:var(--space-md);padding:var(--space-md) 0;display:flex}.timeline-icon{border-radius:var(--radius-full);background:var(--color-surface-sunken);flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.timeline-icon.is-info{background:var(--color-info-soft);color:var(--color-info-text)}.history-row.is-muted .timeline-icon{color:var(--color-text-muted)}.history-divided>li+li{border-top:1px solid var(--color-border-subtle)}.history-badge{margin-top:var(--space-xs)}.timeline-icon.is-success{background:var(--color-success-soft);color:var(--color-success-text)}.history{padding:0 var(--space-lg)}.history-row{align-items:flex-start;gap:var(--space-md);width:100%;padding:var(--space-md) 0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.history-title{font:var(--text-body-md-strong)}.history-value{font:var(--text-number-md);white-space:nowrap}.timeline-icon svg{width:var(--icon-sm);height:var(--icon-sm)}.is-muted{color:var(--color-text-muted)}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.table{border-collapse:collapse;width:100%;font:var(--text-body-md)}.table th{height:var(--table-header-height);padding:0 var(--space-lg);background:var(--color-background);color:var(--color-text-muted);font:var(--text-label-md);text-align:left;position:sticky;top:0}.table td{height:var(--table-row-height);padding:0 var(--space-lg);border-top:1px solid var(--color-border-subtle)}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:var(--color-surface-hover)}.table .num,.table th.num{text-align:right}.table td.strong{font:var(--text-body-md-strong)}.search{flex:1;position:relative}.search svg{width:var(--icon-md);height:var(--icon-md);color:var(--color-text-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search .input{padding-left:44px}.filter-chip{align-items:center;gap:var(--space-xs);height:var(--touch-target);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-on-primary-soft);font:var(--text-label-md);cursor:pointer;border:0;padding:0 6px 0 14px;display:inline-flex}.alert{gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font:var(--text-body-md);color:var(--color-text);border:1px solid;display:flex}.alert svg{width:var(--icon-md);height:var(--icon-md);flex:none}.alert-info{background:var(--color-info-soft);border-color:var(--color-info)}.alert-info svg{color:var(--color-info)}.alert-warning{background:var(--color-warning-soft);border-color:var(--color-warning)}.alert-warning svg{color:var(--color-warning-text)}.alert-danger{background:var(--color-danger-soft);border-color:var(--color-danger)}.alert-danger svg{color:var(--color-danger)}.alert-success{background:var(--color-success-soft);border-color:var(--color-success)}.alert-success svg{color:var(--color-success)}.alert-guide{background:var(--color-surface);border-color:var(--color-border);align-items:center}.alert-guide svg{color:var(--color-accent)}.empty{text-align:center;justify-content:center;align-items:center;gap:var(--space-md);min-height:60dvh;padding:var(--space-3xl) var(--space-lg);flex-direction:column;max-width:72ch;margin:0 auto;display:flex}.empty-icon{border-radius:var(--radius-full);background:var(--color-primary-soft);width:80px;height:80px;color:var(--color-primary);justify-content:center;align-items:center;display:inline-flex}.empty-icon svg{width:40px;height:40px}.empty-icon-danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.empty-icon-neutral{background:var(--color-surface-sunken);color:var(--color-text)}.empty-actions{align-items:center}.empty h2{font:var(--text-title-md)}.empty p{color:var(--color-text-muted)}.skeleton{background:var(--color-surface-sunken);border-radius:var(--radius-xs);height:56px;animation:glow var(--motion-slow,1.5s) ease-in-out infinite alternate}@keyframes glow{0%{opacity:1}to{opacity:.55}}@media (prefers-reduced-motion:reduce){.skeleton,.spin{animation:none}}.scrim{background:var(--color-scrim);z-index:var(--z-overlay);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:90vh;box-shadow:var(--shadow-3);padding:var(--space-sm) var(--space-lg) calc(var(--space-xl) + env(safe-area-inset-bottom));gap:var(--space-lg);flex-direction:column;display:flex;overflow:auto}.dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.dialog-head h2{font:var(--text-headline-md);padding-top:10px}.dialog>p,.dialog-text{font:var(--text-body-lg);color:var(--color-text-secondary)}.dialog-handle{background:var(--color-border);width:32px;height:4px;margin-bottom:calc(-1 * var(--space-sm));border-radius:2px;align-self:center}.dialog-actions{gap:var(--space-sm);flex-direction:column;display:flex}@media (width>=600px){.scrim{padding:var(--space-xl);align-items:center}.dialog{width:var(--dialog-width);border-radius:var(--radius-lg);max-width:100%;padding:var(--space-xl)}.dialog-handle{display:none}.dialog-wide{width:560px}.dialog-actions{justify-content:flex-start;gap:var(--space-md);padding-top:var(--space-sm);flex-direction:row-reverse}}.toasts{left:var(--space-lg);right:var(--space-lg);bottom:calc(var(--bottom-nav-height) + var(--space-lg) + env(safe-area-inset-bottom));z-index:var(--z-toast);gap:var(--space-sm);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);background:var(--color-surface-inverse);color:var(--color-text-inverse);box-shadow:var(--shadow-2);font:var(--text-body-md);display:flex}.toast svg{color:var(--color-link-inverse);width:var(--icon-md);height:var(--icon-md);flex:none}.toast a,.toast button{color:var(--color-link-inverse);font:var(--text-label-md);cursor:pointer;background:0 0;border:0;margin-left:auto}@media (width>=600px){.toasts{left:auto;top:calc(var(--top-bar-height) + var(--space-lg));width:var(--toast-max-width);bottom:auto}}.tabs{border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);display:flex}.tab{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--touch-target);padding:0 var(--space-lg);color:var(--color-text-muted);font:var(--text-label-md);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;text-decoration:none;display:inline-flex}.tab[aria-current=page],.tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media (width>=1280px){.tabs{background:0 0}.tab{flex:none}}.action-bar{z-index:var(--z-sticky);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);padding:var(--space-md) var(--space-lg) calc(var(--space-md) + env(safe-area-inset-bottom));margin:var(--space-xl) calc(-1 * var(--layout-margin)) 0;gap:var(--space-sm);flex-direction:column;display:flex;position:sticky;bottom:0}@media (width>=600px){.action-bar{margin:var(--space-xl) 0 0;padding:var(--space-lg) 0 0;background:0 0;flex-direction:row-reverse;justify-content:flex-start;position:static}}.fab{right:var(--space-lg);bottom:calc(var(--bottom-nav-height) + var(--space-lg) + env(safe-area-inset-bottom));z-index:var(--z-fab);border-radius:var(--radius-lg);height:56px;box-shadow:var(--shadow-2);position:fixed}@media (width>=600px){.fab{bottom:var(--space-xl);right:var(--space-xl)}}.menu-item{gap:var(--space-md);width:100%;min-height:72px;padding:var(--space-md) var(--space-xs);border-radius:var(--radius-xs);text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;display:flex}.menu-item:hover{background:var(--color-surface-hover)}.menu-item svg{width:var(--icon-lg);height:var(--icon-lg);color:var(--color-primary);flex:none}.menu-item strong{font:var(--text-label-lg);display:block}.menu-item .menu-text{flex-direction:column;flex:1;gap:2px;display:flex}.menu-item .menu-text span{font:var(--text-body-md);color:var(--color-text-muted)}.menu-item svg.chevron{width:var(--icon-md);height:var(--icon-md);color:var(--color-text-muted)}.dropdown{top:calc(100% + var(--space-xs));z-index:var(--z-menu);width:340px;padding:var(--space-xs);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);position:absolute;right:0}.dropdown .menu-item{min-height:58px;padding:var(--space-sm) var(--space-md)}.dropdown .menu-item svg{width:var(--icon-md);height:var(--icon-md)}.dropdown .menu-item strong{font:var(--text-label-md)}.banner{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--layout-margin);min-height:56px;font:var(--text-body-md);border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);display:flex}.banner svg{width:var(--icon-md);height:var(--icon-md);flex:none}.banner-offline{background:var(--color-warning-soft);color:var(--color-warning-text);font:var(--text-label-md)}.banner-online{background:var(--color-success-soft);color:var(--color-success-text);font:var(--text-label-md)}.banner-setup svg{color:var(--color-accent)}.dot-on-icon{position:absolute;top:10px;right:10px}.wrap2{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.btn-add{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;min-height:var(--control-height);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font:var(--text-label-lg);cursor:pointer;display:flex}.btn-add:hover{background:var(--color-surface-hover)}.btn-add svg{width:var(--icon-md);height:var(--icon-md)}.link{padding:var(--space-md) 0;color:var(--color-primary);font:var(--text-label-md);cursor:pointer;background:0 0;border:0;text-decoration:none}.check{padding:var(--space-md) 0}.check-text{flex-direction:column;flex:1;gap:2px;display:flex}.check-text span:last-child:not(:first-child){font:var(--text-body-md);color:var(--color-text-muted)}.switch{appearance:none;border-radius:var(--radius-full);background:var(--color-text-disabled);cursor:pointer;width:48px;height:28px;transition:background-color var(--motion-fast) ease-out;flex:none;position:relative}.switch:after{content:"";border-radius:var(--radius-full);background:var(--color-surface);width:22px;height:22px;transition:transform var(--motion-fast) ease-out;position:absolute;top:3px;left:3px}.switch:checked{background:var(--color-primary)}.switch:checked:after{transform:translate(20px)}.skeleton-row{align-items:center;gap:var(--space-md);min-height:var(--list-row-height);padding:var(--space-md) var(--space-lg);background:var(--color-surface);display:flex}.skeleton-row+.skeleton-row{border-top:1px solid var(--color-border-subtle)}.skeleton-row .bone{background:var(--color-surface-sunken);border-radius:var(--radius-xs);animation:1.5s ease-in-out infinite alternate glow}.skeleton-lines{gap:var(--space-sm);flex-direction:column;flex:1;display:flex}@media (prefers-reduced-motion:reduce){.skeleton-row .bone{animation:none}}.search .search-clear{width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.search .search-clear svg{position:static;transform:none}.search input[type=search]::-webkit-search-cancel-button{display:none}.loading-text{font:var(--text-body-md);color:var(--color-text-muted)}.bone-thumb{width:40px;height:40px;border-radius:var(--radius-sm)!important}.bone-l1{width:70%;height:14px}.bone-l2{width:45%;height:12px}.bone-v{width:40px;height:14px}.create-anchor{display:inline-flex;position:relative}.tab[aria-current=page],.tab[aria-selected=true]{font-weight:var(--font-weight-semibold)}.line-head{flex-direction:column;gap:2px;min-width:0;display:flex}.line-head strong{font:var(--text-body-lg-strong)}.summary-line{align-items:center;gap:var(--space-md);padding:0 var(--space-lg);min-height:56px;font:var(--text-body-md);display:flex}.summary-line>span{flex:1}.summary-line strong{font-weight:var(--font-weight-medium)}.summary-line>svg{width:var(--icon-md);height:var(--icon-md);flex:none}.alert .link{margin:calc(-1 * var(--space-md)) 0;align-self:center}.filter-menu{display:inline-flex;position:relative}.filter-button{min-width:0;padding:0 var(--space-md);font:var(--text-body-md);white-space:nowrap}.filter-popover{top:calc(100% + var(--space-xs));z-index:var(--z-menu);width:280px;max-height:360px;padding:var(--space-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);position:absolute;left:0;overflow-y:auto}.filter-popover-title{padding:var(--space-sm) var(--space-md) var(--space-xs);font:var(--text-label-md);color:var(--color-text-muted)}.filter-option{width:100%;height:40px;padding:0 var(--space-md);color:var(--color-text);font:var(--text-body-md);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;display:flex}.filter-option:hover{background:var(--color-surface-hover)}.filter-option[aria-checked=true]{background:var(--color-surface-selected)}.filter-box,.filter-check{flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.filter-box{border:1px solid var(--color-border-input);border-radius:var(--radius-xs);background:var(--color-surface)}.filter-option[aria-checked=true] .filter-box{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.filter-check{color:var(--color-primary)}.filter-box svg,.filter-check svg{width:14px;height:14px}.toolbar{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.toolbar .search{flex:none;width:320px}.alert-inline{min-height:var(--control-height);padding:0 var(--space-md);font:var(--text-body-md);align-items:center}.th-sort{align-items:center;gap:var(--space-xs);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.th-sort svg{width:var(--icon-sm);height:var(--icon-sm)}.table .th-thumb,.table .td-thumb{width:32px;padding-right:0}.table .td-thumb .thumb{width:32px;height:32px}.table .td-thumb .thumb svg{width:var(--icon-sm);height:var(--icon-sm)}.table td a{color:inherit;text-decoration:none}.table .td-badge{white-space:nowrap;width:1%}.td-name{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.table tbody tr[aria-current=true]{background:var(--color-surface-selected)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.nowrap{white-space:nowrap}.table td:has(.ellipsis){width:100%;max-width:0}.label-md{font:var(--text-label-md)}.input-icon{display:block;position:relative}.input-icon .input{padding-right:44px}.input-icon svg{right:var(--space-md);width:var(--icon-md);height:var(--icon-md);color:var(--color-text);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.alert-action{font:var(--text-label-md);flex:none;align-self:center}.alert-action a{color:var(--color-primary);text-decoration:none}.stack-xs{gap:var(--space-xs);flex-direction:column;display:flex}.line-row{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);display:flex}.list>li+li.line-row{border-top:1px solid var(--color-border-subtle)}.line-row.is-muted{color:var(--color-text-muted)}.movement-head{align-items:center;gap:var(--space-md);display:flex}.timeline-icon.timeline-icon-lg{width:var(--touch-target);height:var(--touch-target)}.timeline-icon.timeline-icon-lg svg{width:var(--icon-lg);height:var(--icon-lg)}.label-lg{font:var(--text-label-lg)}.strong-md{font:var(--text-body-md-strong)}.table tbody tr.is-muted td{color:var(--color-text-muted)}.table td{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.self-start{align-self:flex-start}.btn.btn-dashed{border:1px dashed var(--color-border-input);color:var(--color-primary);background:0 0}.btn.btn-dashed svg{color:var(--color-primary)}.input[readonly]{background:var(--color-surface-sunken);color:var(--color-text-muted)}.input-icon .input[readonly]+svg{color:var(--color-text-muted)}.input.input-picker{justify-content:space-between;align-items:center;gap:var(--space-sm);text-align:left;cursor:pointer;display:flex}.input-picker svg{width:var(--icon-md);height:var(--icon-md);flex:none}.input-picker.is-placeholder span{color:var(--color-text-muted)}.option-row{min-height:52px}.option-row[aria-current=true]{background:var(--color-surface-selected)}.option-row svg{width:var(--icon-md);height:var(--icon-md);color:var(--color-primary)}.timeline-icon.timeline-icon-md{width:40px;height:40px}.timeline-icon.timeline-icon-md svg{width:var(--icon-md);height:var(--icon-md)}.switch-row{min-height:var(--control-height);font:var(--text-body-lg);cursor:pointer}.link-reset{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.center{text-align:center}.hint{gap:var(--space-sm);font:var(--text-body-md);color:var(--color-text-muted);display:flex}.hint svg{width:var(--icon-sm);height:var(--icon-sm);flex:none;margin-top:2px}.table .group-row td{height:auto;padding:var(--space-sm) var(--space-lg);background:var(--color-background);color:var(--color-text-muted);font:var(--text-label-md);cursor:default}.table tbody tr.group-row:hover{background:0 0}.td-movement{align-items:center;gap:var(--space-md);display:flex}.td-movement .timeline-icon{flex:none}@media (width>=600px){.settings-column{width:100%;max-width:600px;margin:0 auto}}.history-row[aria-current=true]{background:var(--color-surface-selected)}.history-divided .history-row[aria-current=true]{margin:0 calc(-1 * var(--space-lg));padding-left:var(--space-lg);padding-right:var(--space-lg);width:calc(100% + 2 * var(--space-lg))}@media (width>=600px) and (width<=1279px){.dialog-actions{flex-direction:column}.dialog-actions .btn{width:100%}.action-bar{margin:var(--space-xl) calc(-1 * var(--layout-margin)) 0;padding:var(--space-md) var(--layout-margin);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);flex-direction:column;position:sticky;bottom:0}.content-form{min-height:calc(100dvh - var(--top-bar-height));padding-bottom:0}.content-form>form{flex:1}.content-form .action-bar{margin-top:auto}}@media (width>=600px){.btn-block.btn-details{align-self:flex-start;width:auto}}@media (width>=1280px){.content-form .action-bar{margin:var(--space-xl) calc(-1 * var(--layout-margin)) 0;padding:var(--space-3xl) var(--layout-margin);background:var(--color-surface);box-shadow:0 0 0 100vmax var(--color-surface);clip-path:inset(0 -100vmax);border-top:0;flex-direction:row;justify-content:space-between;align-items:center;position:sticky;bottom:0}.content-form .action-bar .btn-primary{margin-left:auto}.content.content-form{min-height:calc(100dvh - var(--top-bar-height));padding-bottom:0}.content-form>form{flex:1}.content-form .action-bar{margin-top:auto}.top-bar.has-back.top-bar-form{padding-left:calc((100% - var(--form-max-width)) / 2 - var(--space-md))}.content-form .action-bar .btn-block{width:auto}.dialog-form .action-bar{background:0 0;border-top:0;flex-direction:row;justify-content:flex-end;margin:0;padding:0}.dialog-form .action-bar .btn-block{width:auto}.scrim-side{justify-content:flex-end;align-items:stretch;padding:0}.dialog.dialog-side{width:var(--side-panel-width);border-radius:0;gap:0;height:100%;max-height:none;padding:0}.dialog-side .dialog-head{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border-subtle)}.dialog-side .dialog-body>*{flex:none}.dialog-side .dialog-body{gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);flex-direction:column;flex:1;display:flex;overflow-y:auto}.dialog-side .list{gap:var(--space-sm);flex-direction:column;display:flex}.dialog-side .list>li>.list-row-static{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.dialog-side .list-row-static .thumb{display:none}.dialog-side .dialog-actions{padding:var(--space-md) var(--space-xl);border-top:1px solid var(--color-border-subtle)}.dialog-side .dialog-actions .btn{width:100%}.content.content-sub{max-width:calc(var(--form-max-width) + 2 * var(--layout-margin))}.content-sub .settings-column{max-width:none}.content-sub .page-header h1{font:var(--text-headline-md)}.page-back{margin-left:calc(-1 * var(--space-md))}.content-sub .prop{grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.content-sub .prop dd{text-align:left}}.notif-groups{gap:var(--space-md);flex-direction:column;display:flex}.notif-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.notif{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.notif-main{align-items:flex-start;gap:var(--space-md);text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:flex}.notif-title{font:var(--text-body-md-strong)}.notif-icon{width:var(--icon-md);height:var(--icon-md);margin-top:calc(var(--space-xs) / 2);flex:none}.notif-icon.is-danger{color:var(--color-danger-text)}.notif-icon.is-warning{color:var(--color-warning-text)}.notif-icon.is-neutral{color:var(--color-text-muted)}.notif-main .dot{margin-top:var(--space-xs)}.notif-action{margin-left:calc(var(--icon-md) + var(--space-md))}.notif-read-all{background:var(--color-surface);align-self:flex-end}@media (width>=600px){.notif-action{align-self:flex-start}}.bell-anchor{display:inline-flex;position:relative}.notif-popover{top:calc(100% + var(--space-xs));z-index:var(--z-menu);width:var(--dialog-width);max-height:calc(100dvh - var(--top-bar-height) - var(--space-2xl));background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-2);text-align:left;flex-direction:column;display:flex;position:absolute;right:0}.notif-popover-head{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-sm) var(--space-xs) var(--space-lg);display:flex}.notif-popover-head h2{font:var(--text-title-md)}.notif-popover-body{padding:0 var(--space-lg) var(--space-lg);overflow-y:auto}.notif-groups.is-compact{gap:var(--space-xs)}.notif-groups.is-compact .notif{padding:var(--space-md) 0;border:0;border-radius:0}.notif-groups.is-compact .notif-list{gap:0}.field-pair{gap:var(--space-md);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}@media (width<=1279px){.scrim.scrim-full{align-items:stretch;padding:0}.dialog.dialog-full{border-radius:0;width:100%;height:100%;max-height:none;padding-top:0}.dialog-full .dialog-handle{display:none}.dialog-full .dialog-head{justify-content:flex-end;align-items:center;gap:var(--space-xs);margin:0 calc(-1 * var(--space-lg));padding:var(--space-xs) var(--space-lg) var(--space-xs) var(--space-xs);border-bottom:1px solid var(--color-border-subtle);flex-direction:row-reverse}.dialog-full .dialog-head h2{padding-top:0}.dialog-full .dialog-actions{margin-top:auto}}.history.history-cards{gap:var(--space-sm);flex-direction:column;padding:0;display:flex}.history-cards>li{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:0 var(--space-lg);overflow:hidden}.history-key{max-width:var(--dialog-width)}.page-title h1{font:var(--text-headline-md)}.popover-anchor{position:relative}.popover{top:calc(100% + var(--space-xs));z-index:var(--z-menu);width:100%;max-width:var(--dialog-width);padding:var(--space-md);gap:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;left:0}.popover>*{flex:none}.popover.popover-fixed{z-index:var(--z-toast);max-width:none;position:fixed;overflow-y:auto}.popover-list{gap:var(--space-xs);padding:var(--space-sm)}.popover-list .card{box-shadow:none;border:0}.popover-list .list>li+li .list-row{border-top:0}.popover-list .option-row{min-height:var(--control-height);border-radius:var(--radius-sm)}.popover-title{font:var(--text-label-md);color:var(--color-text-secondary)}.date-picker{gap:var(--space-md);flex-direction:column;display:flex}.calendar-head{justify-content:space-between;align-items:center;display:flex}.calendar-title{font:var(--text-body-md-strong)}.calendar{row-gap:var(--space-xs);grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;display:grid}.calendar-weekday{font:var(--text-label-sm);color:var(--color-text-muted);padding-bottom:var(--space-xs)}.calendar-day{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-full);color:var(--color-text);font:var(--text-body-md);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0}.calendar-day:hover:not(:disabled){background:var(--color-surface-hover)}.calendar-day[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary);font:var(--text-body-md-strong)}.calendar-day:disabled,.calendar-day.is-outside{color:var(--color-text-disabled);cursor:default}@media (width>=1280px){.calendar-day{width:var(--control-height);height:var(--control-height)}}.icon-btn:disabled{color:var(--color-text-disabled);cursor:default;background:0 0}.input-icon input[type=search]::-webkit-search-cancel-button{display:none}.input-password .icon-btn{position:absolute;top:50%;right:0;transform:translateY(-50%)}.input-password .icon-btn svg{pointer-events:none;position:static;transform:none}.input-password .input{padding-right:var(--touch-target)}fieldset.stack{border:0;min-width:0;margin:0;padding:0}.guide{background:var(--color-background);flex-direction:column;min-height:100dvh;display:flex}.guide-head{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-xs) var(--layout-margin) var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.guide-nav{margin:0 calc(-1 * var(--space-md));justify-content:space-between;display:flex}.guide-progress-line{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.step-level{font:var(--text-label-sm);padding:calc(var(--space-xs) / 2) var(--space-sm);border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary)}.step-level-required{background:var(--color-text);border-color:var(--color-text);color:var(--color-text-inverse)}.step-level-recommended{border-color:var(--color-text);color:var(--color-text)}.guide-progress{gap:var(--space-xs);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.guide-progress span{border-radius:var(--radius-full);background:var(--color-border-subtle);height:4px}.guide-progress span.is-done{background:var(--color-primary)}.guide-head h1{font:var(--text-headline-md)}.guide-body{width:100%;max-width:calc(var(--form-max-width) + 2 * var(--layout-margin));padding:var(--space-lg) var(--layout-margin);flex:1;margin:0 auto}.guide-section{font:var(--text-title-sm)}.guide-foot{background:var(--color-surface);border-top:1px solid var(--color-border-subtle);padding:var(--space-md) var(--layout-margin) var(--space-lg);align-items:center;gap:var(--space-xs);flex-direction:column;display:flex;position:sticky;bottom:0}.guide-foot>.btn{width:100%;max-width:var(--form-max-width)}.divider{border:0;border-top:1px solid var(--color-border-subtle);margin:var(--space-sm) 0}.day-chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.day-chip{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:var(--text-label-md);cursor:pointer}.day-chip[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.input-icon.input-icon-left .input{padding-left:calc(var(--icon-md) + 2 * var(--space-md));padding-right:var(--space-md)}.input-icon.input-icon-left svg{left:var(--space-md);right:auto}.key-figure-sm{font:var(--text-headline-md);font-variant-numeric:tabular-nums}.auth.guide-ready{justify-content:flex-start}.guide-ready .auth-card:has(>.auth-message){flex:none}.guide-ready .auth-message{padding-top:var(--space-xl);flex:none}@media (width>=600px){.guide-head>*{width:100%;max-width:var(--form-max-width);margin-left:auto;margin-right:auto}.guide-head>.guide-nav{max-width:calc(var(--form-max-width) + 2 * var(--space-md))}}.welcome{z-index:var(--z-overlay);background:var(--color-background);flex-direction:column;display:flex;position:fixed;inset:0}.welcome-body{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-xl) var(--layout-margin);text-align:center;max-width:var(--dialog-width);flex-direction:column;flex:1;margin:0 auto;display:flex}.welcome-body h1{font:var(--text-headline-lg)}.welcome-art{width:calc(var(--touch-target) * 3);height:calc(var(--touch-target) * 2);border-radius:var(--radius-lg);background:var(--color-surface-hover);color:var(--color-text-secondary);place-items:center;display:grid}.welcome-art svg{width:var(--touch-target);height:var(--touch-target)}.welcome-foot{background:var(--color-surface);border-top:1px solid var(--color-border-subtle);padding:var(--space-md) var(--layout-margin) var(--space-lg);align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.welcome-foot>.btn{width:100%;max-width:var(--dialog-width)}.hint-layer{z-index:var(--z-overlay);position:fixed;inset:0}.hint-ring{border-radius:var(--radius-md);outline:2px solid var(--color-surface);outline-offset:var(--space-xs);box-shadow:0 0 0 100vmax var(--color-scrim);pointer-events:none;position:fixed}.hint{max-width:calc(100vw - 2 * var(--layout-margin));width:max-content;max-inline-size:var(--toast-max-width);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:var(--space-md);gap:var(--space-md);font:var(--text-body-md);flex-direction:column;display:flex;position:fixed}.hint .btn{align-self:flex-end}.hint-below{margin-top:var(--space-lg)}.hint-above{margin-bottom:var(--space-lg)}.me-columns{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.todo-row{flex-wrap:wrap;align-items:flex-start}.todo-icon{border-radius:var(--radius-full);background:var(--color-surface-sunken);flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.todo-icon svg{width:var(--icon-md);height:var(--icon-md)}.todo-icon.is-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}.todo-row .todo-action{flex-basis:100%}.list-sub.list-sub-wrap{white-space:normal}.balance-row .spread{gap:var(--space-md)}.leave-summary .prop+.prop{border-top:0}.leave-summary-note{padding:var(--space-sm) var(--space-lg);background:var(--color-surface-sunken);margin:0}.body-lg{font:var(--text-body-lg)}.headline-md{font:var(--text-headline-md);margin:0}.request-head{align-items:flex-start}@media (width<=1279px){.content:has(>.action-bar-dock){min-height:calc(100dvh - var(--top-bar-height) - var(--bottom-nav-height) - env(safe-area-inset-bottom));padding-bottom:0}.content>.action-bar-dock{margin-top:auto}}@media (width>=600px){.todo-row .todo-action{padding-left:calc(40px + var(--space-md))}.todo-row .todo-action .btn{width:auto}}.day-nav{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.day-nav-date{align-items:center;gap:var(--space-sm);min-height:48px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-text);font:var(--text-title-md);cursor:pointer;background:0 0;border:0;display:inline-flex}.day-nav-date:hover{background:var(--color-surface-hover)}.day-nav-date svg{width:var(--icon-md);height:var(--icon-md)}@media (width>=1280px){.day-nav{justify-content:flex-start}}.attendance-row{align-items:flex-start}.attendance-row>.btn{flex:none;align-self:center}.incident-who{margin-top:calc(-1 * var(--space-sm))}.employee-head{align-items:center;gap:var(--space-lg);display:flex}.avatar.avatar-md{width:56px;height:56px;font:var(--text-title-md)}.check.check-help{align-items:flex-start}.balance-card{flex-direction:column;align-items:stretch}.incident-head{align-items:center;gap:var(--space-md);display:flex}.no-proof{flex-wrap:nowrap;align-items:flex-start}.roles-field{gap:var(--space-md);border:0;flex-direction:column;margin:0;padding:0;display:flex}.roles-field>legend{margin-bottom:var(--space-xs);padding:0}.request-row{align-items:flex-start}.request-row>svg{align-self:center}.chip.chip-filled[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.overdue-banner{align-items:center;gap:var(--space-md);width:100%;min-height:48px;padding:var(--space-sm) var(--space-lg);text-align:left;font:inherit;color:var(--color-warning-text);border:1px solid var(--color-warning);background:var(--color-warning-soft);cursor:pointer;display:flex}.doc-row{align-items:flex-start}.doc-row .list-value{gap:var(--space-xs)}.line-card.has-error{border-color:var(--color-danger)}.line-calc{align-items:center;gap:var(--space-sm);display:flex}.line-calc .line-qty{flex:none;width:5.5rem}.line-calc .line-price{flex:9rem;min-width:7rem;max-width:12rem}.line-calc .line-total{margin-left:auto}.invoice-total{font:var(--text-title-md)}.draft-note{margin-top:calc(-1 * var(--space-sm))}.menu-item.is-danger{color:var(--color-danger-text)}.item-pick>li.is-open{outline:2px solid var(--color-primary);outline-offset:-2px}.item-pick-fields{padding:0 var(--space-lg) var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.confirm-lines{margin:0}.pdf-links{justify-content:center}@media (width>=600px){.invoice-bar{flex-direction:column;align-items:stretch}}.invoice-buttons{justify-content:flex-end}.line-warning{align-items:flex-start;gap:var(--space-xs);color:var(--color-text);margin-top:var(--space-xs);display:flex}.line-warning svg{flex:none;margin-top:2px}.doc-line{align-items:flex-start}.payment-row{justify-content:space-between;align-items:center;gap:var(--space-lg);width:100%;display:flex}.is-muted>.payment-row{color:var(--color-text-muted)}.is-struck{text-decoration:line-through}.doc-actions{align-items:flex-start}.doc-actions .pdf-links{justify-content:flex-start}.quote-decision{width:100%}.card-sunken{background:var(--color-surface-sunken);border-color:#0000}.credit-line{padding-top:0;padding-bottom:0}.credit-line.is-on{border:2px solid var(--color-text);padding-bottom:var(--space-md)}.credit-qty{align-items:center;gap:var(--space-sm);padding-left:calc(20px + var(--space-md));display:flex}.credit-qty .line-qty{flex:none;width:5.5rem}.credit-qty .line-total{margin-left:auto}.quote-decision .btn{padding-inline:var(--space-sm);white-space:nowrap}.content-sub .doc-totals .prop{display:flex}.list-row.payment-row{min-height:0;padding:var(--space-md) var(--space-lg)}.radio-list{padding:0 var(--space-lg);margin:0}.title-md{font:var(--text-title-md)}.radio-row+.radio-row{border-top:1px solid var(--color-border-subtle)}.account-card{padding:var(--space-lg)}.account-photo{justify-content:center;display:flex}.account-photo .avatar-lg{font:var(--text-headline-md)}.right-row{padding:var(--space-md) var(--space-lg);min-height:64px}.right-row+.right-row{border-top:1px solid var(--color-border-subtle)}.note-row{align-items:flex-start;gap:var(--space-xs);display:flex}.note-row svg{flex:none;margin-top:2px}.shell{min-height:100vh;display:flex}.shell-main{min-width:0;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.content{width:100%;max-width:var(--content-max-width);padding:var(--space-lg) var(--layout-margin) var(--space-2xl);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.content-form{max-width:calc(var(--form-max-width) + 2 * var(--layout-margin))}.top-bar{z-index:var(--z-sticky);height:var(--top-bar-height);align-items:center;gap:var(--space-xs);padding:0 var(--space-xs) 0 var(--layout-margin);background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);display:flex;position:sticky;top:0}.top-bar.has-back{padding-left:var(--space-xs)}.top-bar h1{min-width:0;font:var(--text-headline-md);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.top-bar.has-back h1{font:var(--text-title-md)}.page-header{display:none}.nav{z-index:var(--z-sticky);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-logo,.nav-bottom,.nav-account,.nav-collapse{display:none}.nav-list{flex:1;margin:0;padding:0;list-style:none;display:flex}.nav-list li{flex:1}.nav-item{justify-content:center;align-items:center;gap:var(--space-xs);height:100%;min-height:var(--touch-target);color:var(--color-text-muted);font:var(--text-label-sm);flex-direction:column;text-decoration:none;display:flex}.nav-icon{border-radius:var(--radius-full);justify-content:center;align-items:center;width:56px;height:32px;display:inline-flex}.nav-icon svg{width:var(--icon-lg);height:var(--icon-lg)}.nav-item[aria-current=page]{color:var(--color-primary)}.nav-item[aria-current=page] .nav-icon{background:var(--color-primary-soft)}@media (width>=600px){.shell-main{margin-left:var(--nav-rail-width);padding-bottom:0}.nav{width:var(--nav-rail-width);height:100vh;padding:var(--space-md) 0;border-top:0;border-right:1px solid var(--color-border-subtle);flex-direction:column;top:0;right:auto}.nav-list{gap:var(--space-md);flex-direction:column;flex:none}.nav-item{height:64px}}@media (width>=1280px){.shell-main{margin-left:var(--sidebar-width)}.shell.collapsed .shell-main{margin-left:var(--sidebar-width-collapsed)}.nav{width:var(--sidebar-width);padding:var(--space-lg) var(--space-md);gap:var(--space-xs)}.shell.collapsed .nav{width:var(--sidebar-width-collapsed)}.nav-logo{align-items:center;gap:var(--space-sm);padding:0 var(--space-md) var(--space-lg);font:var(--text-title-md);color:var(--color-primary);text-decoration:none;display:flex}.nav-logo .logo-full{width:auto;height:40px}.nav-logo .logo-symbol,.shell.collapsed .nav-logo .logo-full{display:none}.shell.collapsed .nav-logo .logo-symbol{width:40px;height:40px;display:block}.nav-list{gap:var(--space-xs)}.nav-item,.nav-bottom .nav-item{justify-content:flex-start;gap:var(--space-md);height:var(--touch-target);padding:0 var(--space-md);border-radius:var(--radius-sm);font:var(--text-label-md);color:var(--color-text-secondary);flex-direction:row}.nav-icon{width:auto;height:auto}.nav-item[aria-current=page]{background:var(--color-primary-soft);color:var(--color-on-primary-soft)}.nav-item[aria-current=page] .nav-icon{background:0 0}.nav-bottom{gap:var(--space-xs);flex-direction:column;margin-top:auto;display:flex}.nav-only-phone{display:none}.nav-collapse{display:flex}.nav-account{align-items:center;gap:var(--space-md);padding:var(--space-md);border-top:1px solid var(--color-border-subtle);color:inherit;text-decoration:none;display:flex}.nav-account .avatar{width:32px;height:32px}.shell.collapsed .nav-item,.shell.collapsed .nav-account{justify-content:center;gap:var(--space-xs);height:64px;font:var(--text-label-sm);text-align:center;flex-direction:column;padding:0}.shell.collapsed .nav-logo span,.shell.collapsed .nav-account-text,.top-bar .top-title,.top-bar .top-settings{display:none}.top-bar{justify-content:flex-end}.top-bar.has-back{justify-content:flex-start}.top-bar.has-back .top-title{display:block}.page-header{justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.page-header h1{font:var(--text-headline-lg)}.fab{display:none}}.auth{min-height:100vh;padding:var(--space-2xl) var(--layout-margin);align-items:center;gap:var(--space-xl);flex-direction:column;display:flex}.auth-card{gap:var(--space-lg);flex-direction:column;width:100%;max-width:440px;display:flex}.auth-logo{align-self:flex-start;width:auto;height:48px}.auth h1{font:var(--text-headline-lg)}.auth-footer{gap:var(--space-sm);margin-top:auto}.auth.auth-with-bar{padding-top:0}.auth-bar{margin:0 calc(-1 * var(--layout-margin));align-self:stretch}.auth-bar .top-title{font:var(--text-title-md);display:block}.auth-footer.auth-footer-bar{max-width:none;margin-left:calc(-1 * var(--layout-margin));margin-right:calc(-1 * var(--layout-margin));margin-bottom:calc(-1 * var(--space-2xl));width:calc(100% + 2 * var(--layout-margin));padding:var(--space-md) var(--layout-margin) var(--space-lg);background:var(--color-surface);border-top:1px solid var(--color-border-subtle);align-items:center;position:sticky;bottom:0}.auth-footer.auth-footer-bar>*{width:100%;max-width:440px}.auth-switch{text-align:center;font:var(--text-body-md);color:var(--color-text-secondary)}.auth-switch a{color:var(--color-text);font-weight:600}.auth.auth-centered{justify-content:center}.auth-card:has(>.auth-message){flex:1}.auth-message{justify-content:center;align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;flex:1;display:flex}.auth-message h2{font:var(--text-headline-md)}.identifier-card{width:100%;padding:var(--space-md);flex-direction:column;display:flex}.password-rules{gap:var(--space-xs);font:var(--text-body-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.password-rules li{align-items:center;gap:var(--space-sm);display:flex}.password-rules svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.password-rules .is-missing{font:var(--text-body-md-strong);color:var(--color-text)}.password-rules .is-ok{color:var(--color-text-muted)}.only-phone{display:initial}.only-wide{display:none}@media (width>=1280px){.only-phone{display:none}.only-wide{display:initial}}.shell.form-mode .nav{display:none}.shell.form-mode .shell-main{margin-left:0;padding-bottom:0}@media (width>=1280px){.search{flex:0 320px}}.nav-item[aria-current=page]{font-weight:var(--font-weight-semibold)}.split-none{display:contents}.split{grid-template-columns:minmax(0, 1fr) var(--detail-panel-width);--detail-panel-width:560px;gap:var(--space-xl);align-items:start;display:grid}.detail-panel{top:var(--top-bar-height);height:calc(100vh - var(--top-bar-height));margin-right:calc(-1 * var(--layout-margin));background:var(--color-surface);border-left:1px solid var(--color-border-subtle);flex-direction:column;display:flex;position:sticky}.detail-panel-header{align-items:center;gap:var(--space-xs);min-height:var(--top-bar-height);padding:0 var(--space-xs) 0 var(--space-xl);border-bottom:1px solid var(--color-border-subtle);display:flex}.detail-panel-title{min-width:0;font:var(--text-title-md);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.detail-panel-body{gap:var(--space-lg);padding:var(--space-xl);flex-direction:column;flex:1;display:flex;overflow-y:auto}.split .detail-panel .prop{grid-template-columns:224px minmax(0,1fr);display:grid}.split .detail-panel .prop dd{text-align:left}@media (width>=1280px){.content{padding-top:var(--space-xl)}.content>.tabs{margin-bottom:var(--space-sm)}}@media (width<=599px){.content-form{min-height:calc(100dvh - var(--top-bar-height));padding-bottom:0}.content-form>form{flex:1}.content-form .action-bar{margin-top:auto}}.tc{grid-template-columns:var(--tc-master-width) minmax(0, 1fr);--tc-master-width:400px;min-height:100dvh;display:grid}.tc-master{border-right:1px solid var(--color-border-subtle);min-width:0}.tc-head{gap:var(--space-sm)}.tc-head .top-title{display:block}.tc-content{padding-left:var(--space-lg);padding-right:var(--space-lg)}.tc-detail{height:100dvh;position:sticky;top:0;overflow:hidden}.tc-detail .detail-panel{background:var(--color-background);border-left:0;height:100%;margin:0;position:static}.tc-detail .detail-panel-header{background:var(--color-surface)}.empty-pane{justify-content:center;align-items:center;gap:var(--space-lg);flex-direction:column;height:100%;display:flex}
