@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-var-latin.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local("Arial"),local("Helvetica");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0%;size-adjust:107.06%}:root{--canvas: #e8ebe7;--surface: #ffffff;--surface-2: #f7f8f7;--surface-3: #f1f3f1;--line: #ecedec;--line-2: #e1e4e1;--ink: #151515;--ink-2: #3d423e;--muted: #6c6e6d;--faint: #b3b6b4;--green: #1fb83f;--green-ink: #0c7f1f;--green-soft: #e8f6eb;--lime: #c2df35;--lime-soft: #f4f9dc;--yellow: #f1dc78;--amber: #e39a2d;--amber-soft: #fcf1df;--red: #e8456b;--red-ink: #c62a50;--red-soft: #fdebef;--blue: #2f6fed;--blue-soft: #e9f0fe;--sage: #becfb9;--radius-frame: 16px;--radius: 10px;--radius-sm: 7px;--shadow-frame: 0 1px 2px rgba(21, 21, 21, .04), 0 12px 40px -12px rgba(21, 21, 21, .08);--shadow-pop: 0 1px 2px rgba(21, 21, 21, .06), 0 16px 40px -8px rgba(21, 21, 21, .16);--ease: cubic-bezier(.2, .7, .2, 1);--dur-micro: .12s;--dur: .18s;--dur-panel: .24s;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--font: "Inter", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}html{scrollbar-gutter:stable}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:13.5px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}::selection{background:var(--lime)}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.ink-2{color:var(--ink-2)}.nowrap{white-space:nowrap}.right{text-align:right}.grow{flex:1}.row{display:flex;align-items:center;gap:8px}.stack{display:flex;flex-direction:column;gap:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shell{display:flex;justify-content:center}.frame{width:100%;max-width:1480px;background:var(--surface);border-radius:var(--radius-frame);box-shadow:var(--shadow-frame);display:flex;flex-direction:column;overflow:clip}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:60px;padding:0 14px 0 12px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--ink);display:grid;place-items:center}.brand-name{font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-org{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12.5px;padding:3px 8px;border-radius:6px;margin-left:2px;border:1px solid var(--line)}.tabs-nav{display:flex;gap:2px;height:100%}.tabs-nav a{position:relative;display:flex;align-items:center;padding:0 13px;color:var(--muted);font-weight:500;transition:color var(--dur-micro) var(--ease-out)}.tabs-nav a:hover,.tabs-nav a.active{color:var(--ink)}.tabs-nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--ink)}.tabs-nav .count{margin-left:6px;font-size:10.5px;font-weight:600;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--ink);color:#fff;display:inline-grid;place-items:center}.topbar-right{display:flex;justify-content:flex-end;align-items:center;gap:10px}.subbar{display:flex;align-items:center;gap:22px;height:36px;padding:0 16px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.subbar .item{display:inline-flex;align-items:center;gap:6px}.subbar .item b{color:var(--ink-2);font-weight:500}.main{flex:1;display:flex;flex-direction:column;min-width:0}.avatar{--size: 32px;width:var(--size);height:var(--size);border-radius:50%;display:inline-grid;place-items:center;flex:none;font-size:calc(var(--size) * .36);font-weight:600;letter-spacing:.01em;color:var(--ink);background:var(--sage);box-shadow:inset 0 0 0 1px #1515150f}.avatar.sm{--size: 24px}.avatar.xs{--size: 20px}.logo-tile{--size: 26px;width:var(--size);height:var(--size);border-radius:7px;flex:none;display:inline-grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff;letter-spacing:-.02em}.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:240px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);animation:pop var(--dur) var(--ease-out)}.menu-head{padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu button,.menu a{width:100%;display:flex;align-items:center;gap:9px;padding:8px 10px;border:0;background:none;border-radius:7px;cursor:pointer;color:var(--ink-2);text-align:left}.menu button:hover,.menu a:hover{background:var(--surface-2);color:var(--ink)}.menu .danger{color:var(--red-ink)}.menu .sep{height:1px;background:var(--line);margin:6px 0}.btn{--h: 34px;height:var(--h);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out),transform 60ms var(--ease-out);box-shadow:0 1px 1px #15151508}.btn:hover{background:var(--surface-2);border-color:#d6d9d6}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px;border-radius:4px}.btn:focus-visible,.icon-btn:focus-visible,.demo-account:focus-visible,.seg-tabs button:focus-visible,.kpi-strip-button:focus-visible,.list-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--green-ink)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible,.input:focus,.textarea:focus{outline:none;border-color:var(--green-ink);box-shadow:0 0 0 3px #0d8a222e}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--red-ink)}.field-msg{min-height:17px;font-size:12px;line-height:17px;color:var(--muted)}.field-msg.error{color:var(--red-ink);font-weight:500}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:#2a2d2b}.btn.green{background:var(--green-ink);border-color:var(--green-ink);color:#fff}.btn.green:hover{background:#0a6e1b}.btn.danger{color:var(--red-ink)}.btn.danger:hover{background:var(--red-soft);border-color:#f6c9d4}.btn.ghost{border-color:transparent;background:transparent;box-shadow:none}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{--h: 28px;padding:0 10px;font-size:12.5px;border-radius:7px}.btn.lg{--h: 40px;padding:0 18px}.btn.block{width:100%}.icon-btn{width:30px;height:30px;border-radius:7px;display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn.active{background:var(--surface-3);color:var(--ink);border-color:var(--line)}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:10.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.field .hint{font-size:12px;color:var(--muted)}.input,.select,.textarea{height:36px;width:100%;padding:0 11px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);transition:border-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out)}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:hover,.select:hover,.textarea:hover{border-color:#d3d6d3}.textarea{height:auto;min-height:76px;padding:9px 11px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c6e6d' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.select.sm,.input.sm{height:28px;font-size:12.5px;border-radius:7px}.search{position:relative;display:flex;align-items:center}.search svg{position:absolute;left:10px;color:var(--muted);pointer-events:none}.search .input{padding-left:32px;padding-right:40px;height:32px}.search kbd{position:absolute;right:8px;font:500 10.5px var(--font);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .span-2{grid-column:span 2}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin:0;flex:none;border:1.5px solid #cfd2cf;border-radius:4px;cursor:pointer;display:inline-grid;place-items:center;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.checkbox:checked{background:var(--ink);border-color:var(--ink)}.checkbox:checked:after{content:"";width:8px;height:4.5px;border:2px solid #fff;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}.checkbox.green:checked{background:var(--green);border-color:var(--green)}.checkbox.red:checked{background:var(--red);border-color:var(--red)}.toggle{position:relative;width:30px;height:18px;flex:none}.toggle input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer;z-index:1}.toggle span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9px;background:#dfe2df;transition:background-color var(--dur) var(--ease-out)}.toggle span:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000026;transition:transform var(--dur) var(--ease-out)}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{transform:translate(12px)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px 32px 22px}.page-head h1{font-size:24px;font-weight:600;letter-spacing:-.02em}.page-head p{color:var(--muted);margin-top:5px;max-width:640px}.crumb{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;margin-bottom:10px}.crumb:hover{color:var(--ink)}.hairline{display:grid;gap:1px;background:var(--line);border-top:1px solid var(--line)}.hairline>*{background:var(--surface);min-width:0}.dash{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);flex:1}.dash-left{display:flex;flex-direction:column;gap:1px;background:var(--line)}.dash-left>*{background:var(--surface)}.dash-left>:last-child{flex:1}.split-2{display:grid;grid-template-columns:1fr 1.15fr;gap:1px;background:var(--line)}.split-2>*{background:var(--surface);min-width:0}.section{padding:26px 32px 28px;min-width:0}.section.tight{padding:20px 24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-title{font-size:19px;font-weight:600;letter-spacing:-.015em}.section-sub{color:var(--muted);font-size:12.5px;margin-top:3px}.kpis{display:grid;grid-template-columns:repeat(3,1fr)}.kpis.four{grid-template-columns:repeat(4,1fr)}.kpi{padding:0 24px;border-left:1px solid var(--line);min-width:0}.kpi:first-child{padding-left:0;border-left:0}.kpi:last-child{padding-right:0}.kpi .label{display:block;margin-bottom:6px}.kpi-value{font-size:17px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:baseline;gap:7px;line-height:24px;height:24px;min-width:0;white-space:nowrap}.kpi-value.lg{font-size:22px;line-height:30px;height:30px}.delta{display:inline-flex;align-items:center;gap:1px;font-size:11.5px;font-weight:500}.delta.up{color:var(--green-ink)}.delta.down{color:var(--red-ink)}.kpi-viz{margin-top:18px;height:40px;display:flex;align-items:flex-end}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.kpi-strip>div{padding:18px 32px;border-left:1px solid var(--line)}.kpi-strip>div:first-child,.kpi-strip>button:first-child{border-left:0}.kpi-strip-button{display:block;padding:18px 32px;border:0;border-left:1px solid var(--line);background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background var(--dur-micro) var(--ease-out)}.kpi-strip-button:hover{background:var(--surface-2)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.seg-tabs{display:inline-flex;gap:2px}.seg-tabs button{height:28px;padding:0 10px;border:0;border-radius:7px;background:none;color:var(--muted);cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:6px}.seg-tabs button:hover{color:var(--ink)}.seg-tabs button.active{background:var(--surface-3);color:var(--ink)}.seg-tabs .n{font-size:11px;color:var(--muted)}.seg-tabs button.active .n{color:var(--muted)}.table-wrap{overflow-x:auto;margin:0 -8px}.table{width:100%;border-collapse:collapse}.table.fixed{table-layout:fixed}.table.fixed td,.table.fixed th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table.fixed td>.cell-main,.table.fixed td>div{min-width:0}.table.fixed td .strong,.table.fixed td .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table th{text-align:left;font-weight:600;font-size:12.5px;color:var(--ink);padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th .sort{display:inline-flex;align-items:center;gap:4px}.table td{padding:0 8px;height:50px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle}.table.compact td{height:44px}.table tbody tr{transition:background-color var(--dur-micro) var(--ease-out)}.table tbody tr.clickable{cursor:pointer}.table tbody tr:hover{background:#fafbfa}.table td.strong,.table td .strong{color:var(--ink);font-weight:500}.table .sub{font-size:11.5px;color:var(--muted);margin-top:1px}.table td.num,.table th.num{text-align:right}.cell-main{display:flex;align-items:center;gap:10px;min-width:0}.cell-main>div{min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-foot{display:flex;align-items:center;justify-content:space-between;padding-top:16px;color:var(--muted);font-size:12.5px}.pager{display:inline-flex;align-items:center;gap:8px}.pager .page{min-width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid var(--line-2);border-radius:7px;color:var(--ink);font-weight:500}.pill{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px 0 8px;border-radius:11px;font-size:11.5px;font-weight:500;white-space:nowrap;background:var(--surface-3);color:var(--ink-2)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.pill.plain:before{display:none}.pill.green{background:var(--green-soft);color:var(--green-ink)}.pill.lime{background:var(--lime-soft);color:#677711}.pill.amber{background:var(--amber-soft);color:#9b5f0b}.pill.red{background:var(--red-soft);color:var(--red-ink)}.pill.blue{background:var(--blue-soft);color:#2b65d8}.pill.dark{background:var(--ink);color:#fff}.pill.grey{background:var(--surface-3);color:var(--muted)}.role-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:6px}.role-badge.admin{background:var(--ink);color:#fff}.role-badge.manager{background:var(--green-soft);color:var(--green-ink)}.role-badge.staff{background:var(--surface-3);color:var(--ink-2)}.tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;background:var(--surface-3);color:var(--ink-2);font-size:11.5px;font-weight:500}.bar-strip{display:flex;align-items:flex-end;gap:3px;height:40px;width:100%;position:relative}.bar-strip .bar{flex:1;min-width:3px;border-radius:2px;background:var(--green);transform-origin:bottom;animation:grow .6s var(--ease-out) both;cursor:default;transition:opacity var(--dur-micro) var(--ease-out)}.bar-strip:hover .bar{opacity:.45}.bar-strip .bar:hover{opacity:1}.bar.low{background:var(--lime)}.bar.out{background:var(--red)}.marker-track{position:absolute;left:0;width:100%;height:0;pointer-events:none;transition:transform var(--dur-panel) var(--ease-out)}.bar-strip .marker-track{top:-12px}.bar-strip .marker,.gauge-marker{position:absolute;left:0;top:0;width:0;height:0;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:6px solid var(--ink);transform:translate(-50%)}.gauge{width:100%;position:relative;padding-top:14px}.gauge .marker-track{top:0}.gauge-track{display:flex;gap:2px;height:7px;border-radius:2px;overflow:hidden}.gauge-track span{flex:1}.seg-bar{display:flex;gap:3px;height:7px}.seg-bar span{border-radius:2px;min-width:3px}.split-kpis{display:flex}.split-kpis>div{border-left:1px solid var(--line);padding:0 12px 14px;display:flex;flex-direction:column;justify-content:space-between;min-height:92px;min-width:0}.split-kpis>div:first-child{border-left:0;padding-left:0}.split-kpis .pct{color:var(--muted);font-size:12px;margin-top:18px}.chart-wrap{position:relative;width:100%}.chart-wrap svg{display:block;overflow:visible}.chart-axis{font-size:10.5px;fill:var(--muted);font-family:var(--font)}.chart-tip{position:absolute;left:0;top:0;pointer-events:none;z-index:5;min-width:190px;padding:12px 14px;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-pop);font-size:12.5px;transition:transform var(--dur-micro) var(--ease-out)}.chart-wrap .series{transition:opacity var(--dur) var(--ease-out)}.draw-in{stroke-dasharray:1;animation:draw 1.1s var(--ease-out) both}.grow-in{transform-box:fill-box;transform-origin:bottom;animation:grow .6s var(--ease-out) both}.chart-tip .tip-date{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.chart-tip .tip-row{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:2px 0}.chart-tip .tip-row span:first-child{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2)}.dot{width:7px;height:7px;border-radius:2px;display:inline-block;flex:none}.legend{display:flex;align-items:center;gap:18px;margin-top:16px;flex-wrap:wrap}.legend label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink-2)}.leader-list{display:flex;flex-direction:column;gap:9px;margin-top:18px}.leader{display:grid;grid-template-columns:1fr auto 44px;align-items:baseline;gap:10px;font-size:12.5px}.leader .name{display:flex;align-items:baseline;gap:8px;color:var(--ink-2);min-width:0}.leader .name:after{content:"";flex:1;border-bottom:1px dotted #d2d5d2;transform:translateY(-3px);min-width:12px}.leader .val{color:var(--ink);font-weight:500}.leader .pct{text-align:right;color:var(--ink);font-weight:500}.meter{position:relative;width:84px;height:6px;background:var(--surface-3);border-radius:3px;overflow:visible}.meter>span{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--green)}.meter.low>span{background:var(--lime)}.meter.out>span{background:var(--red)}.meter i{position:absolute;top:-3px;bottom:-3px;width:1.5px;background:var(--ink);border-radius:1px}.list{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row .meta{color:var(--muted);font-size:12px}.callout{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.callout.green{background:var(--green-soft);border-color:#cdebd4}.callout.amber{background:var(--amber-soft);border-color:#f4dcb6}.callout.red{background:var(--red-soft);border-color:#f6cbd6}.callout b{color:var(--ink);font-weight:600}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 20px;color:var(--muted);gap:10px}.empty .glyph{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.empty h3{color:var(--ink);font-size:15px;font-weight:600}.detail{grid-template-columns:minmax(0,1fr) 360px;flex:1}.dl{display:grid;grid-template-columns:120px 1fr;row-gap:14px;column-gap:12px;align-items:center}.dl dt{color:var(--muted);font-size:12.5px}.dl dd{margin:0;color:var(--ink);display:flex;align-items:center;gap:8px;min-width:0}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline li{position:relative;padding:0 0 18px 26px}.timeline li:before{content:"";position:absolute;left:6px;top:16px;bottom:-2px;width:1px;background:var(--line-2)}.timeline li:last-child:before{display:none}.timeline .t-dot{position:absolute;left:0;top:3px;width:13px;height:13px;border-radius:50%;background:var(--surface);border:2px solid var(--faint)}.timeline .t-dot.green{border-color:var(--green);background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.timeline .t-dot.red{border-color:var(--red)}.timeline .t-dot.dark{border-color:var(--ink)}.timeline .t-title{color:var(--ink);font-weight:500}.timeline .t-meta{color:var(--muted);font-size:12px;margin-top:1px}.timeline .t-note{margin-top:7px;padding:8px 10px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:12.5px}.stepper{display:flex;align-items:center;gap:0;margin-top:4px}.stepper .st{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;font-weight:500}.stepper .st .c{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;background:var(--surface)}.stepper .st.done{color:var(--ink-2)}.stepper .st.done .c{background:var(--green);border-color:var(--green);color:#fff}.stepper .st.current{color:var(--ink)}.stepper .st.current .c{border-color:var(--ink);box-shadow:0 0 0 3px var(--surface-3)}.stepper .line{width:42px;height:1.5px;background:var(--line-2);margin:0 10px}.stepper .line.done{background:var(--green)}.totals{display:flex;flex-direction:column;gap:8px;margin-left:auto;width:280px;padding-top:16px}.totals>div{display:flex;justify-content:space-between;color:var(--ink-2)}.totals .grand{padding-top:10px;border-top:1px solid var(--line);color:var(--ink);font-weight:600;font-size:15px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#15181647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px}.modal{width:100%;max-width:520px;overflow:auto;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-pop)}.modal.wide{max-width:680px}.modal-head{padding:22px 24px 0;display:flex;justify-content:space-between;gap:16px}.modal-head h2{font-size:18px;font-weight:600;letter-spacing:-.015em}.modal-head p{color:var(--muted);margin-top:4px}.modal-body{padding:20px 24px}.modal-foot{padding:14px 24px;border-top:1px solid var(--line);background:var(--surface-2);display:flex;justify-content:flex-end;gap:8px}.drawer-overlay{place-items:stretch end;padding:12px}.drawer{width:100%;max-width:520px;height:100%;overflow:auto;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column}.drawer-head{padding:22px 24px 18px;border-bottom:1px solid var(--line)}.drawer-body{padding:20px 24px;flex:1}.toasts{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:flex-start;gap:10px;min-width:300px;max-width:420px;padding:12px 14px;background:var(--ink);color:#fff;border-radius:12px;box-shadow:var(--shadow-pop);animation:toast-in var(--dur) var(--ease-out)}.toast .t-icon{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;flex:none;margin-top:1px}.toast.success .t-icon{background:var(--green)}.toast.error .t-icon{background:var(--red)}.toast .t-body{color:#c9ccca;font-size:12.5px;margin-top:2px;white-space:pre-line}.login{padding:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px}.login-form{background:var(--surface);border-radius:var(--radius-frame);box-shadow:var(--shadow-frame);display:flex;flex-direction:column;padding:28px 32px}.login-form .inner{width:100%;max-width:380px;margin:auto;padding:40px 0}.login-form h1{font-size:30px;font-weight:600;letter-spacing:-.03em}.demo-accounts{display:grid;gap:8px;margin-top:10px}.demo-account{display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out),box-shadow var(--dur-micro) var(--ease-out)}.demo-account:hover{border-color:var(--line-2);background:var(--surface-2)}.demo-account.selected{border-color:var(--ink);box-shadow:0 0 0 3px var(--surface-3)}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11.5px;margin:22px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.login-art{border-radius:var(--radius-frame);position:relative;overflow:hidden;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.9),transparent 40%),linear-gradient(160deg,#f4f6f3,#e3e8e1);padding:40px;display:flex;flex-direction:column;justify-content:center}.login-art .grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 60% 50%,#000 30%,transparent 75%);mask-image:radial-gradient(circle at 60% 50%,#000 30%,transparent 75%)}.art-head{position:relative;max-width:620px;margin:0 auto 28px;width:100%}.art-head h2{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.15;margin-top:12px}.feature-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:620px;margin:0 auto;width:100%}.feature{background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;padding:22px;box-shadow:0 1px 2px #1515150a;animation:rise var(--dur-panel) var(--ease-out) both}.feature.wide{grid-column:span 2;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}.feature p{color:var(--muted);font-size:13.5px;line-height:1.5;margin-top:14px}.feature.wide p{margin-top:0}.feature p b{color:var(--ink);font-weight:500}.glow-icon{position:relative;width:46px;height:46px}.glow-icon .core{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#2bd14e,#19a637);color:#fff;box-shadow:0 6px 18px -4px #1fb83f8c}.glow-icon .halo{position:absolute;top:14px;right:-2px;bottom:-4px;left:14px;border-radius:10px;background:#1fb83f2e;filter:blur(4px)}.glow-icon i{position:absolute;border-radius:50%;background:var(--green)}.matrix th:not(:first-child),.matrix td:not(:first-child){text-align:center;width:120px}.matrix .group td{height:34px;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--surface-2)}.matrix code{font-size:11.5px;color:var(--muted);font-family:ui-monospace,SF Mono,Consolas,monospace}.check-yes{color:var(--green)}.check-no{color:#d7dad7}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite linear;border-radius:6px}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;display:inline-block}.lock-note{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.sk{display:inline-block;height:.9em;width:var(--w, 4em);vertical-align:-.1em;border-radius:4px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite linear}.is-refreshing{opacity:.55;transition:opacity .12s ease-out;pointer-events:none}.btn[aria-busy=true]{position:relative;color:transparent!important;pointer-events:none}.btn[aria-busy=true]>*{visibility:hidden}.btn[aria-busy=true]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:15px;height:15px;border-radius:50%;border:2px solid var(--spin, var(--ink));border-right-color:transparent;animation:spin .7s linear infinite}.btn.primary,.btn.green{--spin: #fff}.select[aria-busy=true]{opacity:.6;pointer-events:none}.btn.danger-fill{background:var(--red-ink);border-color:var(--red-ink);color:#fff;--spin: #fff}.btn.danger-fill:hover{background:#ad2245}.foot-error{margin-right:auto;min-width:0;display:inline-flex;align-items:center;gap:6px;color:var(--red-ink);font-size:12.5px;font-weight:500}.table tr.filler td{height:51px;border-bottom:0;padding:0}.table tbody tr.filler:hover{background:transparent}.table td.actions{overflow:visible}.viz-sk{display:block;width:100%;height:40px}.cell-button{display:block;max-width:100%;padding:0;border:0;background:none;font:inherit;color:var(--ink);font-weight:500;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-button:hover{text-decoration:underline;text-underline-offset:2px}.list-button{width:100%;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.list-button:last-child{border-bottom:0}.reorder-row{min-height:61px}.activity-row{min-height:57px}.activity-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-2);flex:none}.activity-who{min-width:190px}.activity-when{font-size:12px;min-width:110px;text-align:right}.row-link:hover{text-decoration:underline;text-underline-offset:2px}.text-link{display:inline-block;font-size:12.5px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:40px 20px;color:var(--muted)}.error-state h3{color:var(--ink);font-size:15px;font-weight:600}.change-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}.change-list>div{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.change-list>div:last-child{border-bottom:0}@keyframes grow{0%{transform:scaleY(0)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.99)}}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.route{animation:fade .14s var(--ease-out)}.overlay{animation:fade var(--dur) var(--ease-out)}.overlay.closing{animation:fade-out .16s var(--ease-in) forwards}.modal,.drawer{animation:dialog-in var(--dur-panel) var(--ease-out)}.drawer{transform-origin:right center}.overlay.closing .modal,.overlay.closing .drawer{animation:dialog-out .16s var(--ease-in) forwards}.flash{position:relative;isolation:isolate}.flash:after{content:"";position:absolute;top:-2px;right:-6px;bottom:-2px;left:-6px;border-radius:6px;z-index:-1;background:var(--green-soft);animation:flash-fade 1.4s var(--ease-out) forwards}.timeline li.is-new:after{content:"";position:absolute;top:-6px;right:-8px;bottom:8px;left:18px;border-radius:8px;z-index:-1;background:var(--green-soft);animation:flash-fade 2.4s var(--ease-out) forwards}.timeline li{isolation:isolate}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-panel) var(--ease-out)}.collapse.open{grid-template-rows:1fr}.collapse>.collapse-inner{min-height:0;overflow:hidden}@keyframes fade-out{to{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}}@keyframes dialog-out{to{opacity:0;transform:scale(.98)}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@keyframes flash-fade{0%,35%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}.route,.flash:after,.timeline li.is-new:after{animation:none!important}}@media(max-width:1180px){.dash{grid-template-columns:1fr}}@media(max-width:1023px){.detail{grid-template-columns:1fr}}@media(min-width:1024px)and (max-width:1180px){.detail{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:860px){.brand-org,.subbar .hide-sm,.hide-sm{display:none!important}.section,.page-head{padding-left:16px;padding-right:16px}.page-head{flex-direction:column;align-items:stretch}.kpi-strip{grid-template-columns:1fr 1fr;row-gap:0}.kpi-strip>div,.kpi-strip-button{padding:14px 16px}.kpi-strip>:nth-child(3){border-left:0}.kpi-strip>:nth-child(n+3){border-top:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.login{grid-template-columns:1fr;padding:0}.login-form{border-radius:0;padding:20px 16px}.login-art{display:none}.totals{width:100%}.topbar{padding:8px 12px;height:60px}}.shell{min-height:100vh;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.frame{min-height:calc(100vh - 40px);min-height:calc(100dvh - 40px)}.modal{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px)}.login{min-height:100vh;min-height:100dvh}.toasts{right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom))}.section{container-type:inline-size}.dash-left{container-type:inline-size;container-name:column}@container (max-width: 560px){.kpis{grid-template-columns:1fr 1fr;row-gap:20px}.kpi:nth-child(odd){padding-left:0;border-left:0}.kpi:nth-child(2n){padding-right:0}}@container (max-width: 300px){.kpis{grid-template-columns:1fr}.kpi{padding:0;border-left:0}}@container (max-width: 640px){.activity-who{display:none!important}.activity-when{min-width:0}}@container column (max-width: 620px){.split-2{grid-template-columns:1fr}}.table-wrap{overscroll-behavior-x:contain;background:linear-gradient(to left,var(--surface) 30%,rgba(255,255,255,0)) right / 40px 100% no-repeat local,radial-gradient(farthest-side at 100% 50%,rgba(21,21,21,.12),transparent) right / 14px 100% no-repeat scroll}@media(max-width:1023px){.table th:first-child,.table td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:inset -1px 0 var(--line)}.table tbody tr.clickable:hover td:first-child{background:#fafbfa}.table tr.filler td:first-child{box-shadow:none}}.nav-toggle{display:none}@media(max-width:1279px){.brand-org{display:none}.tabs-nav a{padding:0 10px}}@media(max-width:1023px){.topbar{grid-template-columns:auto 1fr auto}.topbar .tabs-nav{display:none}.nav-toggle{display:inline-grid}}.nav-drawer{position:fixed;inset:0 auto 0 0;z-index:70;width:min(320px,86vw);padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--surface);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:4px;animation:nav-in var(--dur-panel) var(--ease-out)}.overlay.closing .nav-drawer{animation:nav-out .16s var(--ease-in) forwards}.nav-drawer nav{display:flex;flex-direction:column;gap:2px;margin-top:12px}.nav-drawer nav a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;border-radius:10px;color:var(--ink-2);font-weight:500}.nav-drawer nav a.active{background:var(--surface-3);color:var(--ink)}.nav-drawer .count{position:static}@keyframes nav-in{0%{transform:translate(-24px);opacity:0}}@keyframes nav-out{to{transform:translate(-24px);opacity:0}}@media(max-width:639px){.table.stack-sm{min-width:0!important}.table.stack-sm colgroup,.table.stack-sm thead{display:none}.table.stack-sm,.table.stack-sm tbody{display:block}.table.stack-sm tbody tr:not(.filler){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"order status" "supplier value" "meta meta";gap:6px 12px;padding:12px 8px;border-bottom:1px solid var(--line);min-height:104px}.table.stack-sm tbody tr.filler{display:block;height:104px}.table.stack-sm td{display:block;height:auto;padding:0;border:0;position:static!important;box-shadow:none!important;background:none!important}.table.stack-sm td[data-label=Order]{grid-area:order}.table.stack-sm td[data-label=Status]{grid-area:status;justify-self:end}.table.stack-sm td[data-label=Supplier]{grid-area:supplier}.table.stack-sm td[data-label=Value]{grid-area:value;text-align:right}.table.stack-sm td[data-label=Expected]{grid-area:meta;color:var(--muted);font-size:12px}.table.stack-sm td[data-label=Expected]:before{content:"Expected · "}.table.stack-sm td[data-label="Requested by"],.table.stack-sm td[data-label=Receiver],.table.stack-sm td[data-label=Units],.table.stack-sm tr.filler td{display:none}}.sticky-actions{display:none}@media(max-width:639px){.lines-table,.lines-table tbody{display:block;min-width:0!important}.lines-table colgroup,.lines-table thead{display:none}.lines-table tbody tr{display:grid;grid-template-columns:1fr 1fr auto;grid-template-areas:"name name remove" "stock stock stock" "qty cost total";gap:8px 10px;padding:14px 8px;border-bottom:1px solid var(--line)}.lines-table td{display:block;height:auto;padding:0;border:0;position:static!important;box-shadow:none!important}.lines-table td[data-cell=name]{grid-area:name}.lines-table td[data-cell=stock]{grid-area:stock}.lines-table td[data-cell=qty]{grid-area:qty}.lines-table td[data-cell=cost]{grid-area:cost}.lines-table td[data-cell=total]{grid-area:total;align-self:center}.lines-table td[data-cell=remove]{grid-area:remove}.lines-table td[data-cell]:before{display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.lines-table td[data-cell=qty]:before{content:"Quantity"}.lines-table td[data-cell=cost]:before{content:"Unit cost"}.po-form .totals{display:none}.sticky-actions{display:flex;align-items:center;gap:12px;position:sticky;bottom:0;z-index:5;margin:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line)}}@media(pointer:coarse),(max-width:767px){.btn,.btn.sm,.btn.lg{--h: 44px;min-width:44px}.seg-tabs button{min-width:44px;justify-content:center}.icon-btn{width:44px;height:44px}.input,.select,.textarea,.select.sm,.input.sm,.search .input{height:44px;font-size:16px}.textarea{height:auto}.seg-tabs button{height:44px}.pager .page{min-width:44px;height:44px}.legend label,.toolbar>label,.table-foot label{min-height:44px}.menu button,.menu a{min-height:44px}.crumb{min-height:44px;margin-bottom:0}.avatar-button{width:44px;height:44px;justify-content:center;align-items:center}.seg-tabs{overflow-x:auto;max-width:100%;scrollbar-width:none}.hit,.row-link,.cell-button,.text-link,.crumb{position:relative}.hit:before,.row-link:before,.cell-button:before,.text-link:before,.crumb:before{content:"";position:absolute;top:min(0px,calc(50% - 22px));bottom:min(0px,calc(50% - 22px));left:min(0px,calc(50% - 22px));right:min(0px,calc(50% - 22px))}}@media(max-width:860px){.shell{padding:0}.frame{border-radius:0;min-height:100vh;min-height:100dvh}}.avatar-button{border:0;background:none;padding:0;cursor:pointer;display:inline-flex;border-radius:50%}.toolbar-select{width:160px;height:32px}@media(pointer:coarse),(max-width:767px){.toolbar-select{height:44px}}.supplier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:10px}.supplier-grid .demo-account{min-height:54px;width:100%}@media(max-width:767px){.toasts{left:12px;right:12px;top:max(12px,env(safe-area-inset-top));bottom:auto}.toast{min-width:0;max-width:none}}.swatch{width:24px;height:24px;border-radius:7px;border:0;cursor:pointer}.virtual-list{position:relative}.virtual-item{position:absolute;top:0;left:0;right:0}.virtual-item .activity-row{height:57px;border-bottom:1px solid var(--line)}.virtual-item .activity-row.last{border-bottom:0}.activity-day{height:44px;display:flex;align-items:flex-end;padding-bottom:4px}.login-notice{display:flex;align-items:center;gap:6px;min-height:20px;margin:16px 0 8px;font-size:12.5px;color:var(--muted)}.login-notice.error{color:var(--red-ink);font-weight:500}.password-field{position:relative}.password-field .input{padding-right:46px}.password-field .icon-btn{position:absolute;right:3px;top:50%;transform:translateY(-50%)}.demo-creds{font:500 11.5px ui-monospace,SF Mono,Consolas,monospace;color:var(--muted);margin-top:3px}
