.billing-banner{margin-bottom:var(--space-4)}.invoice-amounts .formula{font-size:var(--font-size-sm)}.amount-due{font-size:var(--font-size-lg)}.stat-hint{font-size:var(--font-size-sm)}.item-row .num,.num{font-variant-numeric:tabular-nums;white-space:nowrap}.ref-tree,.ref-tree-children{margin:0;padding:0;list-style:none}.ref-tree-children{margin-left:var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--color-border)}.ref-tree-node{align-items:center;gap:0 var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.ref-tree-node .muted{font-size:var(--font-size-sm)}@media (width>=768px){.ref-tree-children{margin-left:var(--space-5)}}.setting-inline{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.setting-inline .field{flex:12rem;min-width:0}.category-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.usage-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=768px){.usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.usage-title{font-size:var(--font-size-md);margin:0}.usage-value{overflow-wrap:anywhere;margin:0}.meter{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;height:.75rem;position:relative;overflow:hidden}.meter-fill{background:var(--color-ok);position:absolute;inset:0 auto 0 0}.meter-warn .meter-fill{background:var(--color-warn)}.meter-mark{background:var(--color-text);width:2px;position:absolute;top:0;bottom:0}:root{--rpt-rev:var(--chart-1);--rpt-profit:var(--chart-2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--rpt-rev:#3b8bf0;--rpt-profit:#e8642c}}:root[data-theme=dark]{--rpt-rev:#3b8bf0;--rpt-profit:#e8642c}.rpt-head h1{margin-bottom:var(--space-1)}.rpt-note{padding:var(--space-2) var(--space-3);border-left:.25rem solid var(--color-info);background:var(--color-surface-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin:0}.rpt-range{margin:0}.rpt-h-sub{font-size:var(--font-size-sm);margin-left:var(--space-2);font-weight:400}.rpt-tabs,.rpt-seg{gap:var(--space-2);flex-wrap:wrap;display:flex}.rpt-tab.active,.rpt-tab.active:hover,.rpt-seg-btn.is-active,.rpt-seg-btn.is-active:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.rpt-seg-btn{flex:auto}@media (width>=600px){.rpt-seg-btn{flex:none}}.rpt-period{gap:var(--space-3)}.rpt-custom,.rpt-filters{gap:var(--space-3);grid-template-columns:minmax(0,1fr);align-items:end;display:grid}@media (width>=600px){.rpt-custom{grid-template-columns:repeat(2,minmax(0,12rem)) auto;justify-content:start}.rpt-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.rpt-filters{grid-template-columns:repeat(4,minmax(0,14rem));justify-content:start}}.rpt-refreshing{opacity:.6;transition:opacity .15s}.kpi-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.kpi{gap:var(--space-1);min-width:0;min-height:var(--tap-min);padding:var(--space-3);color:var(--color-text);flex-direction:column;text-decoration:none;display:flex;container-type:inline-size}.kpi-link:hover{border-color:var(--color-primary)}.kpi-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:700}.kpi-value{font-size:clamp(1rem, 8cqi, var(--font-size-xl));overflow-wrap:normal;white-space:nowrap;font-weight:700;line-height:1.2}.kpi-sub{font-size:var(--font-size-xs)}.rpt-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (width>=1024px){.rpt-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.rpt-grid>.rpt-span-all,.rpt-grid>.rpt-span-2-lg{grid-column:1/-1}}@media (width>=1440px){.rpt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rpt-grid>.rpt-span-2{grid-column:span 2}.rpt-grid>.rpt-span-2-lg{grid-column:span 3}}.rpt-chart{gap:var(--space-2);flex-direction:column;min-width:0;margin:0;display:flex}.rpt-chart-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.rpt-chart-title{font-size:var(--font-size-lg);font-weight:700}.rpt-legend{gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);flex-wrap:wrap;display:flex}.rpt-legend-item{align-items:center;gap:var(--space-1);display:inline-flex}.rpt-swatch,.rpt-key{border-radius:2px;width:.75rem;height:.75rem;display:inline-block}.rpt-key{width:.875rem;height:2px;margin-right:var(--space-1);vertical-align:middle}.rpt-swatch-rev{background:var(--rpt-rev)}.rpt-swatch-profit{background:var(--rpt-profit)}.rpt-chart-wrap{width:100%;min-width:0;min-height:240px;position:relative}.rpt-chart-wrap svg{touch-action:pan-y;display:block}.rpt-chart-empty{text-align:center;position:absolute;inset:40% 0 auto}.rpt-gridline{stroke:var(--color-border);stroke-width:1px}.rpt-axis{stroke:var(--color-text-muted);stroke-width:1px}.rpt-tick{fill:var(--color-text-muted);stroke:none;font-variant-numeric:tabular-nums;font-size:.75rem}.rpt-bar-rev{fill:var(--rpt-rev)}.rpt-bar-profit{fill:var(--rpt-profit)}.rpt-hover-band{fill:var(--color-surface-2)}.rpt-tip{padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);font-size:var(--font-size-sm);white-space:nowrap;pointer-events:none;z-index:2;flex-direction:column;gap:2px;display:flex;position:absolute;top:0;transform:translate(-50%)}.rpt-table-view>summary{min-height:var(--tap-min);cursor:pointer;color:var(--color-link);align-items:center;display:inline-flex}.rpt-mini-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.rpt-mini-table th,.rpt-mini-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border);text-align:left}.rpt-mini-table .num{text-align:right;font-variant-numeric:tabular-nums}.rpt-hbars{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rpt-hbar{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.rpt-hbar-label{font-size:var(--font-size-sm);font-weight:700}.rpt-hbar-track{align-items:center;gap:var(--space-2);min-width:0;display:flex}.rpt-hbar-fill{background:var(--rpt-rev);border-radius:0 4px 4px 0;max-width:calc(100% - 7rem);height:1rem;display:block}.rpt-hbar-value{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;flex:none}.rpt-link,.rpt-machine-link{min-height:var(--tap-min);min-width:var(--tap-min);align-items:center;font-weight:700;display:inline-flex}.rpt-rank{font-variant-numeric:tabular-nums;font-weight:700}.rpt-seg-row td{font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-surface-2)}.rpt-seg-row td.rt-title{padding-left:var(--space-5)}@media (width<=1023px){.rpt-seg-row{margin-left:var(--space-4)}.rpt-seg-row td{background:0 0}}.rpt-type-counts{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.rpt-type-counts li{align-items:center;gap:var(--space-2);display:inline-flex}.rpt-count{font-variant-numeric:tabular-nums;font-weight:700}.rpt-dq{gap:var(--space-2)}.rpt-dq p{margin:0}.rpt-locked-msg{font-size:var(--font-size-lg);font-weight:700}.rpt-pay{white-space:pre-wrap}.rpt-machine-totals dd{font-weight:700}.rs-wrap{width:100%}.rs-table{border-collapse:collapse;table-layout:fixed;width:100%}.rs-table th,.rs-table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border);overflow-wrap:anywhere}.rs-table thead th{font-size:var(--font-size-sm);color:var(--color-text-muted)}.rs-table thead th:first-child{width:17%}.rs-table thead th:nth-child(2){width:22%}.rs-table thead th:nth-child(3),.rs-table thead th:nth-child(4){width:16%}.rs-machine-inner{gap:var(--space-1);flex-direction:column;font-weight:400;display:flex}.rs-code{font-size:var(--font-size-lg);font-weight:700}.rs-name{font-weight:700}.rs-last-inner{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;display:flex}.rs-label{font-size:var(--font-size-sm);margin-bottom:var(--space-1);font-weight:700;display:block}.rs-input-big{width:100%;min-height:3.5rem;padding:var(--space-2) var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;text-align:right}.rs-input-big[aria-invalid=true]{border-color:var(--color-bad);border-width:3px}.rs-note-list{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rs-note-item{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.rs-note-text{font-size:var(--font-size-sm)}.rs-next{margin-top:var(--space-2);width:100%}.rs-row[data-state=blocked]>:first-child{box-shadow:inset 4px 0 0 var(--color-bad)}.rs-row[data-state=warn]>:first-child,.rs-row[data-state=partial]>:first-child,.rs-row[data-state=invalid]>:first-child{box-shadow:inset 4px 0 0 var(--color-warn)}@media (width>=1024px){.btn.rs-next{display:none}.rs-input-big{min-height:var(--tap-min);font-size:var(--font-size-lg)}.rs-row[data-state=blocked]>:first-child,.rs-row[data-state=warn]>:first-child,.rs-row[data-state=partial]>:first-child,.rs-row[data-state=invalid]>:first-child{padding-left:var(--space-4)}}@media (width<=1023px){.rs-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rs-table,.rs-table tbody{display:block}.rs-table tbody{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.rs-row{align-content:start;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"machine machine""last last""coin payout""notes notes";display:grid}.rs-row[data-state=blocked]{border-color:var(--color-bad);border-width:2px}.rs-row[data-state=blocked]>:first-child,.rs-row[data-state=warn]>:first-child,.rs-row[data-state=partial]>:first-child,.rs-row[data-state=invalid]>:first-child{box-shadow:none}.rs-row[data-state=warn],.rs-row[data-state=partial],.rs-row[data-state=invalid]{border-color:var(--color-warn);border-width:2px}.rs-table th,.rs-table td{border-bottom:0;padding:0;display:block}.rs-machine{grid-area:machine}.rs-machine-inner{align-items:center;gap:var(--space-2);flex-flow:wrap}.rs-last{grid-area:last}.rs-cell-coin{grid-area:coin}.rs-cell-payout{grid-area:payout}.rs-notes{grid-area:notes}}@media (width>=600px) and (width<=1023px){.rs-table tbody{grid-template-columns:repeat(2,minmax(0,1fr))}}.rs-time{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.rs-time legend{float:left;width:100%;font-weight:700}.rs-submitbar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:10;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;position:sticky;box-shadow:0 -2px 8px #0000001f}@media (width>=600px){.rs-submitbar{bottom:env(safe-area-inset-bottom)}}.rs-submitrow{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.rs-submit{min-height:3.25rem;padding-inline:var(--space-6);font-size:var(--font-size-lg);font-weight:700}@media (width<=599px){.rs-submit{flex:100%}}.rs-dialog{width:min(34rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);overflow-y:auto}.rs-dialog::backdrop{background:#0000008c}.rs-dialog h2{margin:0}.rs-dialog-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.rs-dialog-actions .btn{flex:12rem}.rs-dialog-close{align-self:flex-start}.rs-stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));margin:0;display:grid}.rs-stats div{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);container-type:inline-size}.rs-stats dt{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:700}.rs-stats dd{font-size:clamp(1rem, 8cqi, var(--font-size-xl));font-variant-numeric:tabular-nums;overflow-wrap:normal;white-space:nowrap;margin:0;font-weight:700}.rs-big-number{font-size:var(--font-size-xl);margin:0;font-weight:700}.rs-summary-item{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rs-summary-item>span:not(.status-badge){flex:14rem;min-width:0}.rs-store-list{gap:var(--space-3);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.rs-store-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1440px){.rs-store-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.rs-store-card{align-items:flex-start;gap:var(--space-2);min-height:6rem;color:var(--color-text);flex-direction:column;text-decoration:none;display:flex}.rs-store-card:hover{border-color:var(--color-primary)}.rs-store-name{font-size:var(--font-size-lg);font-weight:700}.rs-store-go{color:var(--color-link);font-weight:700}.rs-machine-link{min-height:var(--tap-min);white-space:nowrap;align-items:center;font-weight:700;display:inline-flex}.rs-product{font-size:var(--font-size-sm);font-weight:400}@media (width>=1024px){.form-grid.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.rtable td.rt-title .rs-product{margin-left:var(--space-2)}.rs-cost{width:100%;min-width:0}.rs-cost .field{min-width:0}.rs-cost input{min-width:0;max-width:100%}.rs-cost .btn{white-space:normal}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f3ec;--color-surface:#fff;--color-surface-2:#eeede4;--color-border:#d9d8cd;--color-text:#1e2019;--color-text-muted:#55584c;--color-link:#005f94;--color-focus:#0072b2;--color-primary:#0072b2;--color-primary-hover:#005f94;--color-on-primary:#fff;--color-ok:#00775a;--color-on-ok:#fff;--color-warn:#ffb000;--color-on-warn:#3d2b00;--color-bad:#b23a00;--color-on-bad:#fff;--color-info:#0072b2;--color-on-info:#fff;--color-neutral:#e6e5dc;--color-on-neutral:#1e2019;--chart-1:#0072b2;--chart-2:#d55e00;--chart-3:#009e73;--chart-4:#e69f00;--chart-5:#56b4e9;--chart-6:#cc79a7;--font-sans:system-ui, -apple-system, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--line-height:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:.375rem;--radius-md:.75rem;--shadow-1:0 1px 2px #00000014;--tap-min:2.75rem;--header-h:3.5rem;--tabbar-h:4rem;--sidebar-w:15rem;--sidebar-rail-w:4.5rem;--content-max:1600px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b111c;--color-surface:#131b29;--color-surface-2:#1a2434;--color-border:#33425e;--color-text:#e8edf6;--color-text-muted:#98a6bd;--color-link:#4c9dff;--color-focus:#4c9dff;--color-primary:#4c9dff;--color-primary-hover:#6eb0ff;--color-on-primary:#06122a;--color-ok:#2ecf9e;--color-on-ok:#06251b;--color-warn:#ffbe33;--color-on-warn:#3d2b00;--color-bad:#ff7a45;--color-on-bad:#3a1200;--color-info:#4c9dff;--color-on-info:#06122a;--color-neutral:#2a3548;--color-on-neutral:#e8edf6;--chart-1:#4c9dff;--chart-2:#ff7a45;--chart-3:#2ecf9e;--chart-4:#ffbe33;--chart-5:#8fd3ff;--chart-6:#e7a3cb;--shadow-1:0 1px 2px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b111c;--color-surface:#131b29;--color-surface-2:#1a2434;--color-border:#33425e;--color-text:#e8edf6;--color-text-muted:#98a6bd;--color-link:#4c9dff;--color-focus:#4c9dff;--color-primary:#4c9dff;--color-primary-hover:#6eb0ff;--color-on-primary:#06122a;--color-ok:#2ecf9e;--color-on-ok:#06251b;--color-warn:#ffbe33;--color-on-warn:#3d2b00;--color-bad:#ff7a45;--color-on-bad:#3a1200;--color-info:#4c9dff;--color-on-info:#06122a;--color-neutral:#2a3548;--color-on-neutral:#e8edf6;--chart-1:#4c9dff;--chart-2:#ff7a45;--chart-3:#2ecf9e;--chart-4:#ffbe33;--chart-5:#8fd3ff;--chart-6:#e7a3cb;--shadow-1:0 1px 2px #0006}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:100%}body{min-height:100dvh;font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);overflow-wrap:anywhere;margin:0}#root{min-height:100dvh}h1,h2,h3{margin:0 0 var(--space-3);line-height:1.3}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}p{margin:0 0 var(--space-3)}a{color:var(--color-link)}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-sm);position:absolute;top:-10rem}.skip-link:focus{top:var(--space-2)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{grid-template:"header""main"minmax(0,1fr)/minmax(0,1fr);min-height:100dvh;display:grid}.shell-header{z-index:20;align-items:center;gap:var(--space-2);min-height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) calc(var(--space-3) + env(safe-area-inset-right)) 0 calc(var(--space-3) + env(safe-area-inset-left));background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-area:header;display:flex;position:sticky;top:0}.shell-brand{align-items:center;gap:var(--space-2);min-height:var(--tap-min);min-width:0;color:var(--color-text);font-weight:700;text-decoration:none;display:flex}.shell-brand img{flex:none;width:2rem;height:2rem}.shell-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell-header-spacer{flex:1}.shell-main{min-width:0;padding:var(--space-4) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--tabbar-h) + var(--space-4) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left));grid-area:main}.shell-content{width:100%;max-width:var(--content-max);margin:0 auto}.shell-sidebar{display:none}.nav-list{margin:0;padding:0;list-style:none}.nav-link{align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;display:flex}.nav-link:hover{background:var(--color-surface-2)}.nav-link[aria-current=page]{background:var(--color-primary);color:var(--color-on-primary);font-weight:700}.nav-icon{flex:none;width:1.5rem;height:1.5rem}.nav-group{margin-top:var(--space-3)}.nav-group-title{margin:0 0 var(--space-1);padding:var(--space-3) var(--space-3) 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.05em;font-weight:700}.more-group{gap:var(--space-2)}.more-group>h2{margin:0}.shell-tabbar{z-index:20;min-height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--color-surface);border-top:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tab-link{min-height:var(--tap-min);min-width:var(--tap-min);color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;text-decoration:none;display:flex}.tab-link[aria-current=page]{color:var(--color-link);font-weight:700}.shell-header .sidebar-toggle{display:none}@media (width>=600px){.shell{grid-template-columns:var(--sidebar-rail-w) minmax(0, 1fr);grid-template-areas:"header header""sidebar main"}.shell[data-sidebar=expanded]{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.shell-tabbar{display:none}.shell-main{padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));padding-left:var(--space-5);padding-right:calc(var(--space-5) + env(safe-area-inset-right))}.shell-sidebar{top:calc(var(--header-h) + env(safe-area-inset-top));height:calc(100dvh - var(--header-h) - env(safe-area-inset-top));padding:var(--space-3) var(--space-2) calc(var(--space-3) + env(safe-area-inset-bottom)) calc(var(--space-2) + env(safe-area-inset-left));background:var(--color-surface);border-right:1px solid var(--color-border);grid-area:sidebar;align-self:start;display:block;position:sticky;overflow-y:auto}.shell[data-sidebar=collapsed] .nav-link{padding:var(--space-2);justify-content:center}.shell[data-sidebar=collapsed] .nav-label,.shell[data-sidebar=collapsed] .nav-group-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell[data-sidebar=collapsed] .nav-group-title{padding:var(--space-3) 0 0}.shell-header .sidebar-toggle{display:inline-flex}}@media (width>=1024px){.shell,.shell[data-sidebar=collapsed],.shell[data-sidebar=expanded]{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.shell[data-sidebar=collapsed] .nav-link{padding:var(--space-2) var(--space-3);justify-content:flex-start}.shell[data-sidebar=collapsed] .nav-label,.shell[data-sidebar=collapsed] .nav-group-label{clip:auto;width:auto;height:auto;position:static;overflow:visible}.shell[data-sidebar=collapsed] .nav-group-title{padding:var(--space-3) var(--space-3) 0}.shell-header .sidebar-toggle{display:none}.shell-main{padding-left:var(--space-6);padding-right:calc(var(--space-6) + env(safe-area-inset-right))}}.hdr-account{align-items:center;gap:var(--space-2);flex:none;display:flex;position:relative}.shell-header .hdr-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;color:var(--color-text-muted);display:none;overflow:hidden}.shell-header .hdr-logout{padding-left:var(--space-3);padding-right:var(--space-3);display:none}.hdr-account-panel{top:calc(100% + var(--space-2));z-index:30;width:min(18rem, calc(100vw - 2 * var(--space-3)));position:absolute;right:0}.hdr-account-who{overflow-wrap:anywhere;margin:0}.shell-header .hdr-switch{padding-left:var(--space-2);padding-right:var(--space-2);white-space:nowrap;flex:none}.shell-header .hdr-switch-icon,.shell-header .hdr-switch-prefix{display:none}@media (width>=600px){.shell-header .hdr-logout{display:inline-flex}.shell-header .hdr-account-toggle,.shell-header .hdr-account-panel{display:none}.shell-header .hdr-switch{padding-left:var(--space-3);padding-right:var(--space-3)}.shell-header .hdr-switch-icon{display:inline-block}}@media (width>=1024px){.shell-header .hdr-account-name,.shell-header .hdr-switch-prefix{display:inline}}.numeric,.num{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}.numeric{display:inline-block}.audit-raw{white-space:pre-wrap}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-surface-2)}.btn-primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-icon{padding:var(--space-2)}.card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.cluster{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.muted{color:var(--color-text-muted)}.status-badge{font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:.375rem;padding:.125rem .625rem;font-weight:700;line-height:1.5;display:inline-flex}.status-badge svg{flex:none;width:1em;height:1em}.tone-ok{background:var(--color-ok);color:var(--color-on-ok)}.tone-warn{background:var(--color-warn);color:var(--color-on-warn)}.tone-bad{background:var(--color-bad);color:var(--color-on-bad)}.tone-info{background:var(--color-info);color:var(--color-on-info)}.tone-neutral{background:var(--color-neutral);color:var(--color-on-neutral)}.callout{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);border-left-width:.375rem;align-items:flex-start;display:flex}.callout-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.callout-icon svg{width:1.125rem;height:1.125rem}.callout-body{min-width:0}.callout-title{font-weight:700;display:block}.callout.tone-ok,.callout.tone-warn,.callout.tone-bad,.callout.tone-info,.callout.tone-neutral{background:var(--color-surface);color:var(--color-text)}.callout.tone-ok{border-left-color:var(--color-ok)}.callout.tone-warn{border-left-color:var(--color-warn)}.callout.tone-bad{border-left-color:var(--color-bad)}.callout.tone-info{border-left-color:var(--color-info)}.callout.tone-neutral{border-left-color:var(--color-border)}.under-construction{max-width:40rem}.callout-body>:last-child{margin-bottom:0}.form{gap:var(--space-4);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field-label{font-weight:700}.field-hint{color:var(--color-text-muted);font-size:var(--font-size-sm)}.field-error{color:var(--color-bad);font-size:var(--font-size-sm);font-weight:700}.input,.select,.textarea{width:100%;min-width:0;min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-md)}.textarea{resize:vertical;min-height:6rem}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-bad);border-width:2px}.checkbox{align-items:center;gap:var(--space-2);min-height:var(--tap-min);display:flex}.checkbox input{width:1.25rem;height:1.25rem}.choice-group{border:0;min-width:0;margin:0;padding:0}.choice-group legend{margin-bottom:var(--space-2);padding:0;font-weight:700}.choice-list{gap:var(--space-2);display:grid}.choice-option{align-items:center;gap:var(--space-3);min-width:0;min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;overflow-wrap:anywhere;display:flex}.choice-option:has(input:checked){border-color:var(--color-primary);background:var(--color-surface-2)}.choice-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.choice-option input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);flex:0 0 1.25rem;margin:0}.choice-option span{min-width:0}.form-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=768px){.form-row{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}}.form-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-danger{border-color:var(--color-bad);color:var(--color-bad);background:var(--color-surface)}.btn-link{color:var(--color-link);background:0 0;border-color:#0000;text-decoration:underline}.btn-block{width:100%}.auth-page{min-height:100dvh;padding:calc(var(--space-5) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-5) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left));flex-direction:column;align-items:center;display:flex}.auth-card{width:100%;max-width:28rem}.auth-brand{min-height:var(--tap-min);color:var(--color-text);justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--font-size-lg);font-weight:700;text-decoration:none;display:flex}.auth-brand img{width:2.5rem;height:2.5rem}.auth-footer{margin-top:var(--space-5);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-footer .cluster{justify-content:center}.legal-page{max-width:48rem}.table-wrap{width:100%;position:relative;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.data-table th{background:var(--color-surface-2);white-space:nowrap}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.item-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.item-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.item-title{font-weight:700}.kv{gap:var(--space-1) var(--space-3);grid-template-columns:minmax(6rem,auto) minmax(0,1fr);margin:0;display:grid}.kv dt{color:var(--color-text-muted)}.kv dd{min-width:0;margin:0}.stat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.stat{min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-surface-2);border-radius:var(--radius-sm);container-type:inline-size}.stat-label{color:var(--color-text-muted);font-size:var(--font-size-sm);display:block}.stat-value{font-size:clamp(1rem, 8cqi, var(--font-size-xl));font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal;font-weight:700;display:block}@media (width<=479px){.kv{grid-template-columns:minmax(0,1fr)}.kv dd+dt{margin-top:var(--space-2)}}.link-box{padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-size-sm);word-break:break-all;display:block}.code-big{letter-spacing:.2em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem;font-weight:700}.qr{width:12rem;max-width:100%;height:auto;padding:var(--space-2);border-radius:var(--radius-sm);background:#fff}.steps{gap:var(--space-4);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=1024px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.step-number{background:var(--color-surface-2);border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:700;display:inline-flex}.grid-2{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1024px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.ws-switcher{flex:0 14rem;min-width:0}.ws-switcher .select{min-height:var(--tap-min);padding-top:var(--space-1);padding-bottom:var(--space-1)}.page-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-head h1{margin:0}.danger-zone{border-color:var(--color-bad)}@media (width<=599px){.shell-header:has(.ws-switcher) .shell-brand{min-width:var(--tap-min);justify-content:center}.shell-header:has(.ws-switcher) .shell-brand span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=1023px){.only-wide{display:none!important}}@media (width>=1024px){.only-narrow{display:none!important}}.stack>.btn-link{align-self:flex-start}.pwa-offline{top:calc(env(safe-area-inset-top) + var(--space-2));z-index:60;max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-2) var(--space-4);background:var(--color-warn);color:var(--color-on-warn);font-size:var(--font-size-sm);text-align:center;pointer-events:none;border-radius:999px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}@media (width<=599px){.pwa-offline-detail{display:none}}.pwa-update{right:var(--space-4);bottom:calc(var(--tabbar-h) + var(--space-4) + env(safe-area-inset-bottom));z-index:60;align-items:center;gap:var(--space-3);max-width:calc(100vw - 2 * var(--space-4));flex-wrap:wrap;display:flex;position:fixed;box-shadow:0 4px 16px #0003}@media (width>=600px){.pwa-update{bottom:var(--space-4)}}.install-banner{gap:var(--space-3);margin-bottom:var(--space-4);border-left:.375rem solid var(--color-info);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.install-banner-text{flex:16rem;min-width:0}.install-banner-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.install-steps{gap:var(--space-2);margin:var(--space-2) 0 0;counter-reset:install-step;padding:0;list-style:none;display:grid}.install-steps li{gap:var(--space-2);counter-increment:install-step;overflow-wrap:anywhere;align-items:center;display:flex}.install-steps li:before{content:counter(install-step) ".";min-width:1.25rem;color:var(--color-text-muted);flex:none}.install-step-icon{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.install-step-icon svg{width:1.25rem;height:1.25rem}.install-step-glyph{font-size:var(--font-size-lg);line-height:1}.notify-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.notify-item{gap:var(--space-3);display:grid}.notify-list>li+li{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.notify-head{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.notify-head h3{font-size:var(--font-size-md);margin:0}.notify-toggle{gap:var(--space-2);min-height:var(--tap-min);cursor:pointer;align-items:center;display:inline-flex}.notify-toggle input{width:1.5rem;height:1.5rem;margin:0}.notify-schedule{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.notify-schedule>*{flex:9rem;min-width:0}.device-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.device-list li{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}
