@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--green-900:#0f4029;--green-800:#15593a;--green-700:#1a6f3d;--sage-25:#f0f5f1;--sage-50:#e8eee9;--sage-200:#b8dfc2;--sage-300:#a7cdb4;--rose-500:#b5625b;--charcoal-900:#1f2933;--charcoal-700:#3e4c59;--neutral-50:#f7f8f9;--neutral-100:#eef1f3;--neutral-200:#e1e5e9;--bg:#fff;--paper:#fff;--panel:var(--neutral-50);--soft:var(--sage-25);--ink:var(--charcoal-900);--muted:#52606d;--line:var(--neutral-200);--field-line:#c5cdd4;--tab-ink:#52606d;--accent:var(--green-700);--accent-hover:var(--green-800);--accent-ink:#fff;--danger:var(--rose-500);--danger-text:#963f3a;--error-bg:#f6e4e2;--warn:#8a4b12;--warning-bg:#fcebd8;--success-bg:var(--sage-50);--success-ink:var(--green-800);--info-bg:#e3ecec;--info-ink:#1f4f50;--neutral-bg:var(--neutral-100);--neutral-ink:var(--charcoal-700);--focus-color:var(--green-700);--focus:0 0 0 3px #1a6f3d33;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315593a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--radius:8px;--button-radius:8px;--control-height:36px;--button-height:32px;--btn-pri:var(--green-900);--btn-pri-hover:var(--green-800);--btn-pri-press:var(--green-700);--btn-pri-ink:#fff;--btn-sec:var(--sage-50);--btn-sec-hover:var(--sage-200);--btn-sec-press:var(--sage-300);--btn-sec-ink:var(--green-900);--btn-ghost-ink:var(--green-800);--btn-ghost-hover:var(--sage-25);--btn-ghost-press:var(--sage-50);--btn-dis:#ede8e2;--btn-dis-ink:#a09588;--side-bg:var(--charcoal-900);--side-ink:#c3ccd5;--side-muted:#9aa8b4;--side-line:#ffffff1f;--side-hover:#ffffff0f;--side-active:#ffffff1a;--type-body:14px;--type-label:13px;--type-meta:12px;--type-section:16px;--sidebar:240px;--topbar:64px;--tabbar:68px;--gutter:32px;--gap:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#172129;--paper:#1f2933;--panel:#26343e;--soft:#27413b;--ink:#f1f5f3;--muted:#bac7ce;--line:#3e5059;--field-line:#5a6d77;--tab-ink:#bac7ce;--accent:#a7cdb4;--accent-hover:#c0dcc9;--accent-ink:#12301f;--danger:#e6aaa3;--danger-text:#f2aaa3;--error-bg:#472f32;--warn:#f3bb84;--warning-bg:#45382c;--success-bg:#27413b;--success-ink:#c0dcc9;--info-bg:#23393b;--info-ink:#b5d6d6;--neutral-bg:#2e3a42;--neutral-ink:#d5dde3;--focus-color:#a7cdb4;--focus:0 0 0 3px #a7cdb44d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7cdb4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--btn-pri:#a7cdb4;--btn-pri-hover:#c0dcc9;--btn-pri-press:#8fbf9f;--btn-pri-ink:#12301f;--btn-sec:#27413b;--btn-sec-hover:#31514a;--btn-sec-press:#3a5f56;--btn-sec-ink:#e8eee9;--btn-ghost-ink:#a7cdb4;--btn-ghost-hover:#27413b;--btn-ghost-press:#31514a;--btn-dis:#2e3a42;--btn-dis-ink:#7d8a94;--side-bg:#11181d}}:root[data-theme=dark]{--bg:#172129;--paper:#1f2933;--panel:#26343e;--soft:#27413b;--ink:#f1f5f3;--muted:#bac7ce;--line:#3e5059;--field-line:#5a6d77;--tab-ink:#bac7ce;--accent:#a7cdb4;--accent-hover:#c0dcc9;--accent-ink:#12301f;--danger:#e6aaa3;--danger-text:#f2aaa3;--error-bg:#472f32;--warn:#f3bb84;--warning-bg:#45382c;--success-bg:#27413b;--success-ink:#c0dcc9;--info-bg:#23393b;--info-ink:#b5d6d6;--neutral-bg:#2e3a42;--neutral-ink:#d5dde3;--focus-color:#a7cdb4;--focus:0 0 0 3px #a7cdb44d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7cdb4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--btn-pri:#a7cdb4;--btn-pri-hover:#c0dcc9;--btn-pri-press:#8fbf9f;--btn-pri-ink:#12301f;--btn-sec:#27413b;--btn-sec-hover:#31514a;--btn-sec-press:#3a5f56;--btn-sec-ink:#e8eee9;--btn-ghost-ink:#a7cdb4;--btn-ghost-hover:#27413b;--btn-ghost-press:#31514a;--btn-dis:#2e3a42;--btn-dis-ink:#7d8a94;--side-bg:#11181d}@media (width<=767.98px){:root{--button-height:44px;--control-height:44px;--gutter:16px}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:var(--type-body)/1.5 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.25}h1{letter-spacing:-.01em;font-size:24px;font-weight:700}h2{font-size:var(--type-section);font-weight:600}h3{font-size:14px;font-weight:600}p{margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:var(--type-meta)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}:focus-visible{box-shadow:var(--focus);outline:none}@media (width<=767.98px){:focus-visible{box-shadow:none;outline:2px solid var(--focus-color);outline-offset:2px}}.app{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--side-bg);color:#fff;flex-direction:column;gap:2px;height:100vh;padding:0 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{height:var(--topbar);border-bottom:1px solid var(--side-line);flex:none;align-items:center;gap:12px;margin:0 -12px 8px;padding-left:20px;display:flex}.brand img{height:40px}.brand span{letter-spacing:.12em;text-transform:uppercase;color:var(--side-ink);border-left:1px solid var(--side-line);padding-left:10px;font-size:11px;font-weight:700}.navgroup{letter-spacing:.14em;text-transform:uppercase;color:var(--side-muted);margin:18px 10px 6px;font-size:10px;font-weight:700}.sideprop{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.sideprop .navgroup{margin-top:12px}.sideprop .propselect,.sideprop .propname{border-radius:var(--radius);color:#fff;background-color:#ffffff0f;border:1px solid #ffffff38;height:36px;font-weight:600}.sideprop .propselect{--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.sideprop .propselect option{color:#1f2933}.sideprop .propname{text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 12px;display:flex;overflow:hidden}.sideprop .propmeta{color:var(--side-muted);padding:0 2px;font-size:11px}.navlink{height:38px;color:var(--side-ink);border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:500;display:flex}.navlink:hover{background:var(--side-hover);color:#fff;text-decoration:none}.navlink.active{background:var(--side-active);color:#fff;box-shadow:inset 3px 0 0 var(--green-700);font-weight:600}.navbadge{background:var(--green-700);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.sidebar .spacer{flex:1}.navfoot{border-top:1px solid var(--side-line);flex:none;align-items:center;gap:8px;margin:0 -12px;padding:12px;display:flex;position:relative}.navfoot .userbutton{color:#fff;text-align:left;flex:1;justify-content:flex-start;gap:10px;min-width:0;height:auto;padding:4px}.navfoot .userbutton:hover{background:var(--side-hover)}.avatar{background:var(--green-700);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:inline-flex}.navfoot .who{flex-direction:column;min-width:0;display:flex}.navfoot .navuser{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.navfoot .small{color:var(--side-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.navfoot .gear{width:36px;height:36px;color:var(--side-ink);border:1px solid #ffffff2e;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.navfoot .gear:hover{color:#fff;background:var(--side-hover);text-decoration:none}.navfoot .gear.active{color:#fff;border-color:var(--green-700);background:#1a6f3d73}.usermenu{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:12px;right:12px;box-shadow:0 8px 24px #0004}.usermenu a,.usermenu button{height:36px;color:var(--ink);border-radius:6px;justify-content:flex-start;align-items:center;padding:0 12px;font-weight:500;display:flex}.usermenu a:hover{background:var(--btn-ghost-hover);text-decoration:none}.main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--topbar);padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar .grow{flex:1}.crumbs ol{white-space:nowrap;color:var(--muted);align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--line);margin-right:8px}.crumbs li[aria-current=page]{color:var(--ink);font-weight:600}.crumbs a{color:var(--muted)}.topactions{flex-wrap:nowrap;gap:8px}.globalsearch{flex:0 420px;min-width:180px;position:relative}.globalsearch>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.globalsearch input{background:var(--panel);border-color:var(--line);padding-left:36px}.globalsearch input::-webkit-search-cancel-button{display:none}.content{padding:var(--gutter);width:100%;max-width:1440px}.phonehead,.tabbar,.phoneonly{display:none}@media (width<=767.98px){.app{grid-template-columns:minmax(0,1fr)}.sidebar,.topbar,.desktoponly{display:none}.phoneonly{display:block}.phonehead{background:var(--paper);border-bottom:1px solid var(--line);z-index:10;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;height:56px;padding:0 8px;display:grid;position:sticky;top:0}.phonehead .title{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.phonehead .iconbutton{color:var(--ink)}.content{padding:16px var(--gutter) calc(var(--tabbar) + 24px + env(safe-area-inset-bottom))}.pagehead h1{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pagehead{margin-bottom:16px}.pagehead:not(:has(>.actions)):not(:has(p)){margin:0}.tabbar{z-index:20;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--line);gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-width:0;min-height:44px;color:var(--tab-ink);border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;display:flex}.tabbar a:hover{text-decoration:none}.tabbar a.on{background:var(--success-bg);color:var(--success-ink)}.subnav{margin-bottom:16px}}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.pagehead p{color:var(--muted);margin:4px 0 0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--gap);min-width:0}.cardhead{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.cardhead h2{align-items:center;gap:8px;font-size:15px;display:flex}.cardbody{padding:16px}.grid2{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid2>.card{margin-bottom:0}.stats{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.stat .label{color:var(--muted);font-size:var(--type-label)}.stat .value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;font-weight:650}.stat .note{color:var(--muted);font-size:var(--type-meta)}@media (width<=1100px){.grid2{grid-template-columns:minmax(0,1fr)}}.tablewrap{position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 16px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:var(--panel);white-space:nowrap;padding-top:10px;padding-bottom:10px;font-size:10px;font-weight:700}td.num,th.num{text-align:right}tbody tr:last-child td{border-bottom:0}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--panel)}tfoot td{background:var(--panel);font-weight:600}.empty{text-align:center;color:var(--muted);padding:32px 20px}@media (width<=767.98px){table.cardlist thead,table.stack thead{display:none}table.cardlist,table.cardlist tbody,table.stack,table.stack tbody,table.stack tr,table.stack td{width:100%;display:block}table.cardlist tr{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 16px;display:flex}table.cardlist tr:last-child{border-bottom:0}table.cardlist td{text-align:left;color:var(--muted);border:0;padding:0;display:block}table.cardlist td.primary{color:var(--ink);flex:100%;font-weight:600}table.cardlist td[data-label]:before{content:attr(data-label) ": "}table.cardlist td.desktoponly{display:none}table.stack tr{border-bottom:1px solid var(--line);padding:10px 14px}table.stack td{text-align:left;border:0;padding:4px 0}table.stack td[data-label]:before{content:attr(data-label);font-size:var(--type-meta);color:var(--muted);font-weight:600;display:block}table.stack td input,table.stack td select{width:100%;min-width:0}table.stack tfoot{display:block}}button,.button{height:var(--button-height);border-radius:var(--button-radius);color:var(--btn-ghost-ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}button:hover:not(:disabled),.button:hover{background:var(--btn-ghost-hover);text-decoration:none}button:active:not(:disabled),.button:active{background:var(--btn-ghost-press)}button:disabled{background:var(--btn-dis);color:var(--btn-dis-ink);cursor:not-allowed}button.primary,.button.primary{background:var(--btn-pri);color:var(--btn-pri-ink)}button.primary:hover:not(:disabled),.button.primary:hover{background:var(--btn-pri-hover)}button.primary:active:not(:disabled),.button.primary:active{background:var(--btn-pri-press)}button.secondary,.button.secondary{background:var(--btn-sec);color:var(--btn-sec-ink)}button.secondary:hover:not(:disabled),.button.secondary:hover{background:var(--btn-sec-hover)}button.secondary:active:not(:disabled),.button.secondary:active{background:var(--btn-sec-press)}button.primary:disabled,button.secondary:disabled{background:var(--btn-dis);color:var(--btn-dis-ink)}button.danger,.button.danger{color:var(--danger-text)}button.danger:hover:not(:disabled){background:var(--error-bg);color:var(--danger-text)}button.link{height:auto;color:var(--accent);background:0 0;border:0;padding:0;font-weight:500}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button.sm,.button.sm{height:28px;padding:0 10px;font-size:12px}.why{font-size:var(--type-meta);color:var(--muted)}.iconbutton{border-radius:var(--button-radius);width:32px;height:32px;color:var(--btn-ghost-ink);justify-content:center;align-items:center;padding:0;display:inline-flex}.iconbutton:hover{background:var(--btn-ghost-hover);text-decoration:none}@media (width<=767.98px){button.sm,.button.sm,.iconbutton{min-width:44px;height:44px}.iconbutton{width:44px}}.split{display:inline-flex;position:relative}.split>.button{border-radius:var(--button-radius) 0 0 var(--button-radius)}.split>.splittoggle{border-radius:0 var(--button-radius) var(--button-radius) 0;border-left:1px solid #ffffff40;width:32px;padding:0}.splitmenu{z-index:40;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0003}.splitmenu a{height:36px;color:var(--ink);border-radius:6px;align-items:center;padding:0 12px;font-weight:500;display:flex}.splitmenu a:hover,.splitmenu a:focus-visible{background:var(--btn-ghost-hover);text-decoration:none}.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form .full{grid-column:1/-1}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{font-size:var(--type-label);font-weight:550}.field .hint{font-size:var(--type-meta);color:var(--muted)}input,select,textarea{width:100%;height:var(--control-height);border:1px solid var(--field-line);border-radius:var(--button-radius);background-color:var(--paper);color:var(--ink);font:inherit;padding:0 12px}select:not([multiple]){appearance:none;background-image:var(--chevron);background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:36px}textarea{resize:vertical;height:auto;min-height:80px;padding:10px 12px}input[type=checkbox],input[type=radio]{width:auto;height:auto;accent-color:var(--accent);margin:0 6px 0 0}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){white-space:nowrap;align-items:center;margin-right:16px;display:inline-flex}td input,td select{min-width:70px;height:34px}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filters .field{min-width:160px}@media (width<=767.98px){.form{grid-template-columns:1fr}input,select,textarea{font-size:16px}td input,td select{height:44px}input[type=checkbox],input[type=radio]{width:24px;height:24px}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){min-height:44px}.filters .field{flex:100%;min-width:0}}.stepper{grid-template-columns:32px 72px 32px;align-items:center;gap:4px;display:inline-grid}.stepper button{background:var(--btn-sec);width:32px;color:var(--btn-sec-ink);padding:0}.stepper input{text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;padding:0 4px}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (width<=767.98px){.stepper{grid-template-columns:44px 80px 44px}.stepper button{width:44px}}.segmented{background:var(--neutral-bg);border-radius:var(--button-radius);gap:2px;padding:3px;display:flex}.segmented>button,.segmented>a{height:32px;color:var(--muted);background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.segmented>a:hover{color:var(--ink);text-decoration:none}.segmented>.on{background:var(--paper);color:var(--accent);box-shadow:0 1px 3px #1f293318}.chipgroup{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--paper);height:32px;color:var(--ink);font-size:var(--type-label);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.chip.on{background:var(--success-bg);border-color:var(--accent);color:var(--success-ink)}.chip .count{color:var(--muted);font-weight:500}.chips{flex-wrap:wrap;gap:6px;display:flex}@media (width<=767.98px){.segmented>button,.segmented>a{height:44px}.chipgroup{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.chip{flex:none;height:44px}}.summarypanel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.summarypanel h2{font-size:15px}.summarypanel dl{flex-direction:column;gap:8px;margin:0;display:flex}.summarypanel dl>div{justify-content:space-between;gap:12px;display:flex}.summarypanel dt{color:var(--muted)}.summarypanel dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.summarypanel .warn dd{color:var(--warn)}.stickyfooter{z-index:5;margin-top:var(--gap);background:var(--bg);border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 0;display:flex;position:sticky;bottom:0}.stickyfooter .start{gap:8px;display:flex}.stickyfooter .end{gap:8px;margin-left:auto;display:flex}@media (width<=767.98px){.stickyfooter{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));flex-wrap:wrap;padding:12px 0}.stickyfooter .end{flex:100%}.stickyfooter .end>:last-child{flex:1}}.progress{margin:0 0 var(--gap);flex-wrap:wrap;gap:8px 24px;padding:0;list-style:none;display:flex}.progress li{color:var(--muted);align-items:center;gap:8px;font-weight:500;display:flex}.progress .dot{background:var(--neutral-bg);width:24px;height:24px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.progress .done .dot{background:var(--success-bg);color:var(--success-ink)}.progress .current{color:var(--ink);font-weight:600}.progress .current .dot{background:var(--btn-pri);color:var(--btn-pri-ink)}.pill,.badge{font-size:var(--type-meta);white-space:nowrap;background:var(--neutral-bg);color:var(--neutral-ink);border-radius:999px;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.pill-success,.badge.ok{background:var(--success-bg);color:var(--success-ink)}.pill-warning,.badge.warn{background:var(--warning-bg);color:var(--warn)}.pill-error,.badge.danger{background:var(--error-bg);color:var(--danger-text)}.pill-info,.badge.info{background:var(--info-bg);color:var(--info-ink)}.notice{border-radius:var(--button-radius);background:var(--panel);border:1px solid var(--line);margin-bottom:16px;padding:12px 14px}.notice.error{background:var(--error-bg);border-color:var(--danger);color:var(--danger-text)}.notice.warn{background:var(--warning-bg);border-color:var(--warn);color:var(--warn)}.notice.ok{background:var(--success-bg);border-color:var(--accent)}.summary{grid-template-columns:max-content 1fr;gap:6px 20px;display:grid}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:500}.overlay{z-index:50;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal:focus{outline:none}.modal{background:var(--paper);border-radius:var(--radius);width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 20px 60px #0004}.modal.wide{width:min(980px,100%)}.modal .cardhead{background:var(--paper);z-index:1;position:sticky;top:0}.modal .footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}@media (width<=767.98px){.overlay{place-items:end stretch;padding:0}.modal,.modal.wide{border-radius:12px 12px 0 0;width:100%;max-height:92vh}.modal .footer{background:var(--paper);padding:12px 16px calc(12px + env(safe-area-inset-bottom));position:sticky;bottom:0}.modal .footer>:last-child{flex:1}}.toasts{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--ink);color:var(--bg);border-radius:var(--button-radius);max-width:380px;padding:12px 16px;box-shadow:0 8px 24px #0003}.toast.error{background:var(--danger-text);color:#fff}@media (width<=767.98px){.toasts{left:16px;right:16px;bottom:calc(var(--tabbar) + 16px + env(safe-area-inset-bottom))}}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs button{height:40px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}@media (width<=767.98px){.tabs{scroll-snap-type:x mandatory}.tabs button{height:44px}}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{width:min(400px,100%)}.login img{height:64px;margin:0 auto 8px;display:block}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{text-align:center;color:var(--muted);padding:40px}.bar{background:var(--panel);border-radius:4px;min-width:80px;height:8px;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}.bar.low>span{background:var(--danger)}[hidden]{display:none!important}.combobox{position:relative}.combobox input{width:100%}.comboboxlist{z-index:40;background:var(--paper);border:1px solid var(--line);border-radius:var(--button-radius);max-height:320px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0003}.comboboxlist li{cursor:pointer;font-size:var(--type-body);border-radius:6px;justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.comboboxlist li.active{background:var(--soft)}.comboboxlist li[aria-selected=true]{font-weight:600}.comboboxlist li .muted{color:var(--muted);font-size:var(--type-meta);white-space:nowrap}.comboboxlist li.empty{cursor:default;color:var(--muted)}.modal .globalsearch .comboboxlist{box-shadow:none;border:0;margin-top:8px;position:static}.modal .globalsearch{min-height:50vh}@media (width<=767.98px){.comboboxlist li{flex-wrap:wrap;min-height:44px}}.settinggrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.settingcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;gap:4px;padding:16px;display:flex}.settingcard:hover{border-color:var(--btn-sec-press);background:var(--btn-ghost-hover);text-decoration:none}.settingcard .title{color:var(--ink);font-weight:600}.linktabs a{height:40px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.linktabs a:hover{color:var(--accent);text-decoration:none}.linktabs a.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}@media (width<=767.98px){.linktabs{scrollbar-width:none;border-bottom:0;gap:8px}.linktabs a{border:1px solid var(--line);height:44px;color:var(--ink);border-radius:999px;flex:none;padding:0 16px;font-weight:600}.linktabs a.active{background:var(--success-bg);border-color:var(--accent);color:var(--success-ink)}}.matrix th:not(:first-child),.matrix td:not(:first-child){text-align:center}.matrix td.on{color:var(--accent);font-weight:700}.homehead{flex-direction:column;gap:4px;margin-bottom:20px;display:flex}.homehead .lbl{font-size:11px}.quickmove{display:none}@media (width<=767.98px){.quickmove{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.quickmove .button{height:56px;font-size:15px}}.warntext{color:var(--warn);font-weight:600}.legend{color:var(--muted);font-size:var(--type-meta);align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;margin-left:6px;display:inline-block}.legend i.in{background:var(--green-700)}.legend i.out{background:var(--sage-300)}.chart{width:100%;height:auto;display:block}.donutwrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.donut{border-radius:50%;flex:none;width:168px;height:168px;position:relative}.donut .hole{background:var(--paper);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:28px}.donutlegend{font-size:var(--type-label);flex-direction:column;flex:220px;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.donutlegend li{grid-template-columns:auto 1fr auto 40px;align-items:center;gap:8px;display:grid}.donutlegend i{border-radius:3px;width:10px;height:10px;display:inline-block}.donutlegend .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity{margin:0;padding:0;list-style:none}.activity li{border-bottom:1px solid var(--line);grid-template-columns:140px auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.activity li:last-child{border-bottom:0}.activity .when{color:var(--muted);font-variant-numeric:tabular-nums}.activity .what{color:var(--ink);text-overflow:ellipsis;overflow:hidden}@media (width<=767.98px){.activity li{grid-template-columns:auto minmax(0,1fr);gap:4px 8px}.activity .what{order:-1;grid-column:1/-1}.activity .who{text-align:right}}.profilecard{align-items:center;gap:12px;padding:16px;display:flex}.profilecard .avatar{width:44px;height:44px;font-size:14px}.profilecard .who{flex-direction:column;flex:1;min-width:0;display:flex}.moreprop{margin-bottom:var(--gap)}.moregroup .lbl{margin:16px 0 8px;font-size:12px;display:block}.morelist{overflow:hidden}.morerow{border-bottom:1px solid var(--line);width:100%;height:auto;min-height:56px;color:var(--ink);text-align:left;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:15px;font-weight:500;display:flex}.morerow:last-child{border-bottom:0}.morerow:hover{background:var(--btn-ghost-hover);text-decoration:none}button.morerow.danger{color:var(--danger-text)}.movemodes{flex-wrap:wrap;gap:12px;margin:-8px 0 20px;display:flex}.seg{background:var(--neutral-bg);border-radius:var(--button-radius);gap:2px;padding:3px;display:inline-flex}.seg a{height:30px;color:var(--muted);border-radius:6px;align-items:center;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.seg a:hover{color:var(--ink);text-decoration:none}.seg a.on{background:var(--paper);color:var(--accent);box-shadow:0 1px 3px #1f293312}@media (width<=767.98px){.movemodes .seg{width:100%}.seg a{flex:1;justify-content:center;height:44px;padding:0 8px}}.cardgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:20px;display:grid}.tilecard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;gap:12px;min-width:0;padding:16px;text-decoration:none;display:flex}a.tilecard:hover{border-color:var(--accent)}.tilecard .top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.tilecard .name{letter-spacing:-.01em;font-size:16px;font-weight:700}.tilecard .meta{font-size:var(--type-meta);color:var(--muted)}.tilecard .foot{font-size:var(--type-meta);color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;display:flex}.leadbox{background:var(--panel);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.leadbox .three{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.leadbox .total{border-top:1px solid var(--line);font-size:var(--type-meta);justify-content:space-between;gap:8px;padding-top:8px;display:flex}.leadbox .lbl{letter-spacing:.03em;font-size:9.5px}.bignum{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.tiles>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.tiles .v{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.twocol{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.twocol>*{flex:420px;min-width:0}.skuprev{height:var(--control-height);box-sizing:border-box;border-radius:var(--radius);background:var(--panel);border:1px dashed var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-weight:600;display:flex}.filters+.cardgrid{margin-top:8px}.nowrap{white-space:nowrap}@media (width<=767.98px){.lbl,.leadbox .lbl{font-size:12px}}
