:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#f5f4f0;--surface:#fff;--surface-2:#faf9f6;--sunken:#efede7;--line:#e7e4dc;--line-strong:#d6d2c8;--ink:#1a1c1f;--ink-2:#44484f;--muted:#74787f;--faint:#a2a5ab;--accent:#2456a4;--accent-hover:#1d4888;--accent-soft:#e9eff9;--accent-ink:#1b4686;--on-accent:#fff;--pos:#1c7a4d;--pos-soft:#e3f1e9;--warn:#93590a;--warn-soft:#faefd9;--neg:#b3352c;--neg-soft:#fbe8e5;--info:#5b5fc7;--info-soft:#eeeefb;--focus:#2456a4;--scrim:#14141652;--shadow-pop:0 1px 2px #0000000f, 0 8px 24px #0000001a;--shadow-sheet:0 -1px 0 var(--line), 0 -12px 32px #00000014;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--series-other:#b9b6ad;--chart-grid:#ece9e2;--chart-axis:#d6d2c8;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "PingFang SC", "Hiragino Sans GB", "Segoe UI", "Microsoft YaHei", sans-serif;--text-xs:11.5px;--text-sm:12.5px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:26px;--text-3xl:32px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--row:44px;--control:36px;--sidebar:260px;--rail:280px;--inspector:380px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#111214;--surface:#18191c;--surface-2:#1d1f22;--sunken:#0d0e10;--line:#2a2c30;--line-strong:#393b40;--ink:#ecedee;--ink-2:#c3c5c9;--muted:#8e9197;--faint:#63666c;--accent:#7ea6e8;--accent-hover:#98b8ee;--accent-soft:#1c2840;--accent-ink:#a9c4f0;--on-accent:#0d1626;--pos:#5dc28b;--pos-soft:#14281d;--warn:#e2aa55;--warn-soft:#2d2313;--neg:#f0816f;--neg-soft:#321816;--info:#a3a6f5;--info-soft:#23244a;--focus:#7ea6e8;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--series-other:#55575c;--chart-grid:#26282c;--chart-axis:#393b40;--scrim:#0000008c;--shadow-pop:0 0 0 1px var(--line), 0 12px 32px #00000080;--shadow-sheet:0 -1px 0 var(--line), 0 -12px 32px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#111214;--surface:#18191c;--surface-2:#1d1f22;--sunken:#0d0e10;--line:#2a2c30;--line-strong:#393b40;--ink:#ecedee;--ink-2:#c3c5c9;--muted:#8e9197;--faint:#63666c;--accent:#7ea6e8;--accent-hover:#98b8ee;--accent-soft:#1c2840;--accent-ink:#a9c4f0;--on-accent:#0d1626;--pos:#5dc28b;--pos-soft:#14281d;--warn:#e2aa55;--warn-soft:#2d2313;--neg:#f0816f;--neg-soft:#321816;--info:#a3a6f5;--info-soft:#23244a;--focus:#7ea6e8;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--series-other:#55575c;--chart-grid:#26282c;--chart-axis:#393b40;--scrim:#0000008c;--shadow-pop:0 0 0 1px var(--line), 0 12px 32px #00000080;--shadow-sheet:0 -1px 0 var(--line), 0 -12px 32px #0006}:root[data-accent=teal]{--accent:#0f766e;--accent-hover:#0b5f58;--accent-soft:#e2f3f1;--accent-ink:#0b5a54;--on-accent:#fff;--focus:#0f766e}@media (prefers-color-scheme:dark){:root[data-accent=teal]:not([data-theme=light]){--accent:#4fc4b6;--accent-hover:#6fd3c7;--accent-soft:#12302d;--accent-ink:#8edbd1;--on-accent:#062320;--focus:#4fc4b6}}:root[data-accent=teal][data-theme=dark]{--accent:#4fc4b6;--accent-hover:#6fd3c7;--accent-soft:#12302d;--accent-ink:#8edbd1;--on-accent:#062320;--focus:#4fc4b6}:root[data-accent=green]{--accent:#2b7a4b;--accent-hover:#22633c;--accent-soft:#e5f2ea;--accent-ink:#215f3a;--on-accent:#fff;--focus:#2b7a4b}@media (prefers-color-scheme:dark){:root[data-accent=green]:not([data-theme=light]){--accent:#63c38e;--accent-hover:#80d0a4;--accent-soft:#15291e;--accent-ink:#8fd6ad;--on-accent:#08190f;--focus:#63c38e}}:root[data-accent=green][data-theme=dark]{--accent:#63c38e;--accent-hover:#80d0a4;--accent-soft:#15291e;--accent-ink:#8fd6ad;--on-accent:#08190f;--focus:#63c38e}:root[data-accent=violet]{--accent:#6d4fc2;--accent-hover:#5a3fa8;--accent-soft:#efebfa;--accent-ink:#563c9e;--on-accent:#fff;--focus:#6d4fc2}@media (prefers-color-scheme:dark){:root[data-accent=violet]:not([data-theme=light]){--accent:#a995f0;--accent-hover:#bcacf4;--accent-soft:#241d40;--accent-ink:#c3b6f5;--on-accent:#160f2c;--focus:#a995f0}}:root[data-accent=violet][data-theme=dark]{--accent:#a995f0;--accent-hover:#bcacf4;--accent-soft:#241d40;--accent-ink:#c3b6f5;--on-accent:#160f2c;--focus:#a995f0}:root[data-accent=rose]{--accent:#b83a5e;--accent-hover:#9c2f4f;--accent-soft:#fbe9ee;--accent-ink:#962e4c;--on-accent:#fff;--focus:#b83a5e}@media (prefers-color-scheme:dark){:root[data-accent=rose]:not([data-theme=light]){--accent:#f08aa6;--accent-hover:#f4a3b9;--accent-soft:#36161f;--accent-ink:#f5b1c3;--on-accent:#2a0b15;--focus:#f08aa6}}:root[data-accent=rose][data-theme=dark]{--accent:#f08aa6;--accent-hover:#f4a3b9;--accent-soft:#36161f;--accent-ink:#f5b1c3;--on-accent:#2a0b15;--focus:#f08aa6}:root[data-accent=amber]{--accent:#b4580f;--accent-hover:#974a0c;--accent-soft:#fbeedf;--accent-ink:#8f460b;--on-accent:#fff;--focus:#b4580f}@media (prefers-color-scheme:dark){:root[data-accent=amber]:not([data-theme=light]){--accent:#f0a35e;--accent-hover:#f4b77d;--accent-soft:#33220f;--accent-ink:#f5c08d;--on-accent:#2a1606;--focus:#f0a35e}}:root[data-accent=amber][data-theme=dark]{--accent:#f0a35e;--accent-hover:#f4b77d;--accent-soft:#33220f;--accent-ink:#f5c08d;--on-accent:#2a1606;--focus:#f0a35e}:root[data-accent=graphite]{--accent:#2b2f36;--accent-hover:#1f2228;--accent-soft:#ecebe7;--accent-ink:#2b2f36;--on-accent:#fff;--focus:#2b2f36}@media (prefers-color-scheme:dark){:root[data-accent=graphite]:not([data-theme=light]){--accent:#d4d6da;--accent-hover:#e6e7ea;--accent-soft:#26282c;--accent-ink:#e2e3e6;--on-accent:#111214;--focus:#d4d6da}}:root[data-accent=graphite][data-theme=dark]{--accent:#d4d6da;--accent-hover:#e6e7ea;--accent-soft:#26282c;--accent-ink:#e2e3e6;--on-accent:#111214;--focus:#d4d6da}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font:400 var(--text-md) / 1.45 var(--font);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}#root{min-height:100%}h1,h2,h3,h4,p{margin:0}h1{font-size:var(--text-xl);letter-spacing:-.015em;font-weight:600}h2{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}h3{font-size:var(--text-md);font-weight:600}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft)}.num,.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum", "cv11";white-space:nowrap}.pos{color:var(--pos)}.neg{color:var(--neg)}.warn{color:var(--warn)}.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}.row{align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:4px;display:flex}.eyebrow{font-size:var(--text-xs);color:var(--muted);letter-spacing:.02em;font-weight:500}kbd{font:500 10.5px/1 var(--font);color:var(--muted);border:1px solid var(--line-strong);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:2px 4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{height:var(--control);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--text-md);white-space:nowrap;transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--faint)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{flex:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ink{background:var(--ink);border-color:var(--ink);color:var(--surface)}.btn-ink:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--sunken);border-color:#0000}.btn-danger{color:var(--neg)}.btn-danger:hover{background:var(--neg-soft);border-color:var(--neg)}.btn-sm{height:30px;font-size:var(--text-sm);border-radius:var(--r-sm);padding:0 10px}.btn-xs{height:26px;font-size:var(--text-xs);border-radius:var(--r-sm);flex:none;padding:0 8px}.btn-lg{height:44px;font-size:var(--text-lg);padding:0 18px}.btn-block{width:100%}.icon-btn{width:var(--control);height:var(--control);border-radius:var(--r-md);color:var(--ink-2);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--sunken);color:var(--ink)}.icon-btn.sm{border-radius:var(--r-sm);width:28px;height:28px}.link-btn{color:var(--accent);background:0 0;border:0;padding:0;font-weight:500}.link-btn:hover{text-decoration:underline}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field-label{font-size:var(--text-sm);color:var(--ink-2);font-weight:500}.field-hint{font-size:var(--text-sm);color:var(--muted)}.field-error{font-size:var(--text-sm);color:var(--neg)}.input,.select,.textarea{width:100%;height:var(--control);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--text-md);transition:border-color .12s var(--ease), box-shadow .12s var(--ease);padding:0 10px}.textarea{resize:vertical;height:auto;min-height:72px;padding:8px 10px}.select{appearance:none;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='%2374787f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:28px}.input:hover,.select:hover,.textarea:hover{border-color:var(--faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input[aria-invalid=true]{border-color:var(--neg)}.input.num{text-align:right}.input-affix{align-items:center;display:flex;position:relative}.input-affix>span{color:var(--muted);font-size:var(--text-sm);pointer-events:none;position:absolute;left:10px}.input-affix>.input{padding-left:40px}.check{font-size:var(--text-md);color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--accent);margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .span-2{grid-column:span 2}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.segmented{border-radius:var(--r-md);background:var(--sunken);gap:2px;padding:2px;display:inline-flex}.segmented button{height:30px;color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;border-radius:6px;padding:0 12px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs button{height:40px;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0 12px;font-weight:500;position:relative}.tabs button:hover,.tabs button[aria-selected=true]{color:var(--ink)}.tabs button[aria-selected=true]:after{content:"";background:var(--ink);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.chips{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line-strong);background:var(--surface);height:30px;color:var(--ink-2);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--faint)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.chip-sm{height:26px;font-size:var(--text-xs);padding:0 10px}.quick-payees{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip .count{font-variant-numeric:tabular-nums;opacity:.7}.pill{height:22px;font-size:var(--text-xs);white-space:nowrap;background:var(--sunken);color:var(--ink-2);border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-weight:600;display:inline-flex}.pill.pos{background:var(--pos-soft);color:var(--pos)}.pill.neg{background:var(--neg-soft);color:var(--neg)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.accent{background:var(--accent-soft);color:var(--accent-ink)}.pill.outline{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);background:0 0;font-weight:500}.amount-pill{min-width:92px;font-weight:600;font-size:var(--text-md);border-radius:999px;justify-content:flex-end;padding:3px 9px;display:inline-flex}.amount-pill.zero{color:var(--faint);font-weight:500}.amount-pill.pos{background:var(--pos-soft);color:var(--pos)}.amount-pill.neg{background:var(--neg-soft);color:var(--neg)}.amount-pill.warn{background:var(--warn-soft);color:var(--warn)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.panel-head{align-items:center;gap:10px;min-height:52px;padding:14px 16px;display:flex}.panel-head h2{font-size:var(--text-md)}.panel-head+.panel-body{border-top:1px solid var(--line)}.panel-body{padding:16px}.panel-foot{border-top:1px solid var(--line);gap:8px;padding:12px 16px;display:flex}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.list-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 16px;display:flex}button.list-row:hover,a.list-row:hover{background:var(--surface-2);text-decoration:none}.list-row .title{color:var(--ink);font-weight:500}.list-row .sub{font-size:var(--text-sm);color:var(--muted)}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-md)}.table th{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);height:36px;color:var(--muted);font-size:var(--text-xs);letter-spacing:.02em;text-align:left;white-space:nowrap;padding:0 12px;font-weight:500}.table.sticky-head th{top:var(--sticky-h,0px);z-index:3;position:sticky}.table td{height:var(--row);border-bottom:1px solid var(--line);vertical-align:middle;padding:0 12px}.table tr:last-child td{border-bottom:0}.table .r{text-align:right}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:var(--surface-2)}.table tbody tr[aria-selected=true] td{background:var(--accent-soft)}.meter{background:var(--sunken);border-radius:4px;height:4px;position:relative;overflow:hidden}.meter>i{background:var(--pos);border-radius:4px;position:absolute;inset:0 auto 0 0}.meter.warn>i{background:var(--warn)}.meter.neg>i{background:var(--neg)}.meter.accent>i{background:var(--accent)}.notice{border-radius:var(--r-md);background:var(--sunken);color:var(--ink-2);font-size:var(--text-sm);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.notice svg{flex:none;margin-top:1px}.notice.warn{background:var(--warn-soft);color:var(--warn)}.notice.neg{background:var(--neg-soft);color:var(--neg)}.notice.info{background:var(--accent-soft);color:var(--accent-ink)}.notice.pos{background:var(--pos-soft);color:var(--pos)}.notice b{color:inherit}.empty{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:40px 24px;display:grid}.empty .empty-icon{background:var(--sunken);width:40px;height:40px;color:var(--ink-2);border-radius:12px;place-items:center;display:grid}.empty h3{color:var(--ink)}.empty p{max-width:360px;font-size:var(--text-sm)}.overlay{z-index:50;background:var(--scrim);animation:fade .15s var(--ease);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{border-radius:var(--r-xl);background:var(--surface);width:min(560px,100%);min-width:0;max-height:min(760px,100vh - 48px);box-shadow:var(--shadow-pop);animation:rise .18s var(--ease);flex-direction:column;display:flex}.dialog.wide{width:min(760px,100%)}.dialog-head{align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.dialog-head .stack{flex:1;min-width:0}.dialog-head p{color:var(--muted);font-size:var(--text-sm)}.dialog-body{flex-direction:column;gap:14px;padding:4px 20px 20px;display:flex;overflow:auto}.dialog-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:12px 20px;display:flex}.drawer-overlay{place-items:stretch end;padding:0}.drawer:focus{outline:none}.drawer .dialog-body{flex:1}.drawer{background:var(--surface);border-left:1px solid var(--line);width:min(440px,100vw);height:100%;animation:slide-in .2s var(--ease);flex-direction:column;display:flex}@media (max-width:720px){.overlay{place-items:end stretch;padding:0}.dialog,.drawer{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;height:auto;max-height:calc(100dvh - 24px);box-shadow:var(--shadow-sheet);animation:sheet-up .22s var(--ease);padding-bottom:env(safe-area-inset-bottom);border-left:0}.dialog-head:before{content:"";background:var(--line-strong);border-radius:4px;width:36px;height:4px;margin-left:-18px;position:absolute;top:6px;left:50%}.dialog-head{padding-top:22px;position:relative}}.popover{z-index:60;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow-pop);animation:fade .12s var(--ease);padding:4px;position:fixed}.menu-item{border-radius:var(--r-sm);width:100%;height:34px;color:var(--ink);text-align:left;font-size:var(--text-md);background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;display:flex}.menu-item:hover,.menu-item[data-active=true]{background:var(--sunken)}.menu-item svg{color:var(--muted)}.menu-sep{background:var(--line);height:1px;margin:4px 6px}.menu-label{font-size:var(--text-xs);color:var(--muted);padding:8px 10px 4px}.toasts{z-index:70;flex-direction:column;gap:8px;width:min(440px,100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--r-lg);background:var(--ink);color:var(--surface);font-size:var(--text-sm);box-shadow:var(--shadow-pop);animation:rise .2s var(--ease);align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex}.toast.neg{background:var(--neg);color:#fff}.toast .toast-msg{flex:1;min-width:0}.toast button{color:inherit;border-radius:var(--r-sm);background:0 0;border:0;padding:6px 8px;font-weight:600}.toast button:hover{background:#ffffff1f}@media (max-width:720px){.toasts{bottom:calc(76px + env(safe-area-inset-bottom))}}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg, var(--sunken), var(--surface-2), var(--sunken));background-size:200% 100%;animation:1.2s linear infinite shimmer;display:block}.skeleton-rows{display:grid}.skeleton-row{min-height:var(--row);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:0 16px;display:flex}.skeleton-row:last-child{border-bottom:0}.skeleton-panel{gap:16px;display:grid}.skeleton-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.skeleton-stat,.skeleton-block{gap:12px;padding:16px;display:grid}.is-refreshing{opacity:.55;transition:opacity .15s var(--ease) .12s}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes sheet-up{0%{opacity:.4;transform:translateY(24px)}}@keyframes slide-in{0%{opacity:.4;transform:translate(24px)}}@keyframes shimmer{to{background-position:-200% 0}}.files{flex-wrap:wrap;gap:8px;display:flex}.file-item{position:relative}.file-photo img{object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);width:96px;height:96px;display:block}.files-signature .file-photo img{object-fit:contain;background:#fff;width:240px;height:96px}.file-chip{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);max-width:280px;height:32px;color:var(--text);font-size:var(--text-sm);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.file-remove{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.file-remove:hover{color:var(--neg);border-color:var(--neg)}.file-input,.signature-input{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.signature-input,.signature-pad{width:100%}.signature-pad{flex-direction:column;gap:6px;display:flex}.signature-pad canvas{border:1px solid var(--line-strong);border-radius:var(--r-md);touch-action:none;cursor:crosshair;background:#fff;width:100%;max-width:520px;height:160px}.signature-actions{flex-wrap:wrap;gap:8px;display:flex}.signature-done{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.invalid.file-input .btn,.invalid.signature-input canvas{border-color:var(--neg)}:root{--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "PingFang SC", "Hiragino Sans GB", "Segoe UI", "Microsoft YaHei", sans-serif}.grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.row{align-items:center;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.gap{gap:10px}.gap-sm{gap:6px}.center{justify-content:center;display:flex}.stack{flex-direction:column;gap:2px;min-width:0;display:flex}.stack-md{flex-direction:column;gap:14px;min-width:0;display:flex}.small{font-size:var(--text-sm)}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,monospace;font-size:.92em}.muted{color:var(--muted)}.faint{color:var(--faint)}.pad{padding:12px}.self-start{align-self:flex-start}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.zh{color:var(--muted);font-weight:400}.neg-text{color:var(--neg)}.pos-text{color:var(--pos)}.spinner{color:var(--muted);display:inline-flex}.spinner svg{animation:.9s linear infinite spin}.req{color:var(--neg);margin-left:2px}.pill.tiny{height:17px;margin-left:6px;padding:0 6px;font-size:10.5px}@keyframes spin{to{transform:rotate(360deg)}}.splash{place-items:center;min-height:100dvh;padding:24px;display:grid}.splash-card{flex-direction:column;gap:16px;width:min(380px,100%);display:flex}.splash-card.wide{width:min(560px,100%)}.splash-card pre{white-space:pre-wrap;font-size:var(--text-xs)}.brand-row{font-size:var(--text-md);align-items:center;gap:10px;min-width:0;display:flex}.people{flex-direction:column;gap:8px;display:flex}.person{text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.person:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.avatar{background:var(--accent);width:36px;height:36px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.avatar.sm{width:28px;height:28px;font-size:var(--text-sm)}.page-loading{place-items:center;padding:64px 0;display:grid}.shell{grid-template-columns:var(--sidebar) 1fr;height:100dvh;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--line);background:var(--canvas);flex-direction:column;height:100dvh;min-height:0;display:flex}.sidebar-top{flex-direction:column;gap:10px;padding:14px 12px 10px;display:flex}.sidebar-scroll{scrollbar-width:thin;flex:1;padding:2px 12px 24px;overflow-y:auto}.ws-row{align-items:center;gap:4px;display:flex}.ws-row>.menu-anchor{flex:1;min-width:0}.ws-button{border-radius:var(--r-md);text-align:left;width:100%;height:44px;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:0 8px;font-weight:600;display:flex}.ws-button:hover,.ws-button[aria-expanded=true]{background:var(--sunken)}.ws-button svg{color:var(--muted);flex:none}.ws-mark{background:var(--accent);width:26px;height:26px;color:var(--on-accent);border-radius:7px;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.ws-name{flex:1;gap:0;min-width:0;line-height:1.25}.ws-sub{font-size:var(--text-xs);color:var(--muted);font-weight:500}.add-btn{justify-content:flex-start;height:38px}.add-btn:hover{text-decoration:none}.nav-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.nav-link{border-radius:var(--r-md);height:36px;color:var(--ink-2);align-items:center;gap:10px;padding:0 10px;font-weight:500;display:flex}.nav-link:hover{background:color-mix(in srgb, var(--ink) 5%, transparent);color:var(--ink);text-decoration:none}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav-link svg{color:var(--muted);flex:none}.nav-link[aria-current=page] svg{color:var(--accent)}.sidebar-section{margin-top:18px}.sidebar-label{font-size:var(--text-xs);color:var(--muted);letter-spacing:.02em;align-items:center;padding:0 4px 4px 10px;font-weight:600;display:flex}.sidebar-label .zh{font-weight:500}.spacer{flex:1;min-width:0}.menu-scrim{z-index:59;position:fixed;inset:0}.menu-check{color:var(--accent);font-weight:600}.menu-item.neg{color:var(--neg)}.popover{min-width:260px;max-width:320px;max-height:calc(100dvh - 16px);overflow-y:auto}.topbar{display:none}.content{flex-direction:column;min-width:0;height:100dvh;min-height:0;display:flex}.content-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.page.fill{height:100%;padding-bottom:16px}.page.fill>.fill-body{flex:1;min-height:0}.demo-banner{font-size:var(--text-sm);color:var(--warn);background:var(--warn-soft);border-bottom:1px solid var(--line);padding:6px 24px}.page{flex-direction:column;gap:16px;min-width:0;padding:20px 24px 80px;display:flex}.sticky-top{z-index:20;background:var(--canvas);transition:box-shadow .15s var(--ease);flex-direction:column;gap:12px;margin:-20px -24px 0;padding:16px 24px 12px;display:flex;position:sticky;top:0}.sticky-top.stuck{box-shadow:0 1px 0 var(--line), 0 6px 16px -12px #0000002e}.page-head{flex-wrap:wrap;align-items:center;gap:16px;min-height:40px;display:flex}.page-title{flex-direction:column;gap:1px;min-width:0;display:flex}.page-title h1{font-size:var(--text-xl);align-items:center;gap:6px;display:flex}.page-sub{color:var(--muted);font-size:var(--text-sm)}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.back{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:4px;margin-bottom:2px;display:inline-flex}.back:hover{color:var(--ink);text-decoration:none}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-field{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);height:32px;color:var(--muted);align-items:center;gap:6px;min-width:220px;padding:0 4px 0 10px;display:flex}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-field input{min-width:0;font-size:var(--text-sm);color:var(--ink);background:0 0;border:0;outline:0;flex:1}.month-switch{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);align-items:center;gap:2px;padding:2px;display:inline-flex}.input-sm{height:32px;font-size:var(--text-sm)}.mobile-menu-overlay{z-index:40;background:var(--scrim);animation:fade .15s var(--ease);position:fixed;inset:0}.mobile-menu{width:min(300px,86vw);height:100%;padding-top:env(safe-area-inset-top);background:var(--canvas);animation:rise .18s var(--ease);flex-direction:column;display:flex;overflow-y:auto}.mobile-menu>.btn{margin:10px 12px 0}@media (max-width:860px){.shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.content{height:auto}.sidebar{display:none}.topbar{z-index:20;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:color-mix(in srgb, var(--canvas) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex}.page{padding:16px 16px 96px}.sticky-top{margin:-16px -16px 0;padding:12px 16px 10px}.page.fill{padding-bottom:12px}.search-field{flex:1;min-width:0}.demo-banner{padding:6px 16px}}.vlist{flex-direction:column;min-height:0;display:flex;overflow:hidden}.vlist-head,.vlist-row{align-items:center;gap:0;padding:0 6px;display:grid}.vlist-head>div{padding:0 8px}.vlist-head{z-index:3;border-bottom:1px solid var(--line);background:var(--surface-2);height:38px;font-size:var(--text-sm);color:var(--muted);font-weight:600;position:sticky;top:0}.vlist-body{flex:1;min-height:0;overflow:auto}.vlist-inner{min-width:100%}.vlist-row{border-bottom:1px solid var(--line);position:absolute;top:0;left:0;right:0}.vlist-row:hover{background:var(--surface-2)}.vlist:focus{outline:none}.cell{cursor:pointer;border-radius:4px;align-items:center;min-width:0;height:100%;padding:0 8px;display:flex}.cell.r{justify-content:flex-end}.cell.editable{cursor:text}.cell.editable:hover{box-shadow:inset 0 0 0 1px var(--line-strong)}.cell.selected{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.cell:not(.editable):not(.title):not(.cell-number){cursor:not-allowed}.cell.selected:not(.editable){box-shadow:inset 0 0 0 2px var(--line-strong);background:var(--sunken)}.vlist:not(:focus-within) .cell.selected{box-shadow:inset 0 0 0 1px var(--accent);background:0 0}.cell.saving{opacity:.55}.cell.title{gap:6px;font-weight:500}.cell-title{flex:1}.cell-open{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:22px;color:var(--ink-2);font-size:var(--text-xs);opacity:0;flex:none;align-items:center;gap:4px;padding:0 7px;font-weight:500;transition:opacity .1s;display:inline-flex}.vlist-row:hover .cell-open,.cell.selected .cell-open,.cell-open:focus-visible{opacity:1}.cell-open:hover{border-color:var(--line-strong);color:var(--ink)}@media (hover:none){.cell-open{opacity:1}}.cell-number{color:var(--muted)}.vlist-row{background:var(--surface)}.col-head{align-items:center;min-width:0;display:flex}.vlist-head>.col-head:has(.menu-anchor){padding:0 2px}.col-head.r{justify-content:flex-end}.col-head>.menu-anchor{min-width:0;max-width:100%;display:flex}.col-head.r>.menu-anchor{justify-content:flex-end}.col-head-btn{border-radius:var(--r-sm);max-width:100%;height:28px;color:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0 6px;font-weight:600;display:inline-flex}.col-head-btn svg{opacity:0;flex:none;transition:opacity .1s}.col-head-btn:hover,.col-head-btn[aria-expanded=true]{background:var(--sunken);color:var(--ink)}.col-head-btn:hover svg,.col-head-btn[aria-expanded=true] svg,.col-head-btn:focus-visible svg{opacity:1}.vlist-head>.col-add{justify-content:center;padding:0;display:flex}.btn.icon-only{justify-content:center;width:32px;padding:0}.cell-link{color:inherit;text-overflow:ellipsis;overflow:hidden}.cell-link:hover{color:var(--accent)}.cell-bool{color:var(--pos);font-weight:600}.cell-editor{align-items:center;width:100%;height:100%;display:flex}.cell-editor .input,.cell-editor .select,.cell-editor .input-affix>.input,.cell-editor .unit-affix>.input{width:100%;height:100%;min-height:0;box-shadow:none;font:inherit;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.cell-editor .input:focus,.cell-editor .select:focus,.cell-editor .input:hover,.cell-editor .select:hover,.cell-editor .sel-trigger[aria-expanded=true]{box-shadow:none;background:0 0;border:0;outline:none}.cell-editor .input-affix,.cell-editor .unit-affix{width:100%;height:100%}.cell-editor .input-affix>span{display:none}.cell.r .cell-editor .input{text-align:right}.cell-editor .textarea{z-index:5;min-width:280px;position:absolute}.r{text-align:right;justify-content:flex-end}.record-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.record-main{flex-direction:column;gap:14px;min-width:0;display:flex}.record-side{flex-direction:column;gap:14px;display:flex;position:sticky;top:16px}.record-page .actions .btn{white-space:nowrap}.read-value{min-height:var(--control);overflow-wrap:anywhere;white-space:pre-wrap;align-items:center;padding:0 2px;display:flex}.form-grid .field{min-width:0}.record-main .form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.record-main .form-grid .span-2{grid-column:1/-1}.input.invalid,.select.invalid,.textarea.invalid,.invalid>.input{border-color:var(--neg)}.unit-affix>.input{padding-left:10px;padding-right:40px}.unit-affix>span.unit{left:auto;right:10px}.history{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.history li{flex-direction:column;gap:1px;display:flex}.posting+.posting{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.table.compact td{font-size:var(--text-sm);padding:5px 6px}.table.compact td.r{white-space:nowrap}.table tfoot td{border-top:1px solid var(--line-strong);padding:10px 12px;font-weight:600}.table tr.faint td{color:var(--faint)}@media (max-width:1080px){.record-layout{grid-template-columns:1fr}.record-side{position:static}}.line-grid{flex-direction:column;gap:10px;display:flex;overflow-x:auto}.table.lines{min-width:640px}.table.lines th.n,.table.lines td.n{width:28px}.table.lines td{vertical-align:middle;padding:6px}.table.lines td .input,.table.lines td .select{min-width:90px}.table.lines td.computed{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.table.lines .read-value{min-height:auto}.combo{min-width:0;position:relative}.combo .input{width:100%}.combo-list{z-index:90;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:240px;max-height:280px;box-shadow:var(--shadow-pop);margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto}.combo-option{border-radius:var(--r-sm);cursor:pointer;flex-direction:column;gap:1px;padding:7px 10px;display:flex}.combo-option.active{background:var(--accent-soft)}.combo-empty{font-size:var(--text-sm);padding:8px 10px}.today-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:16px;display:grid}.today-layout>*{min-height:0;overflow:auto}.today-layout>:not(.calendar){align-self:start;max-height:100%}.calendar{min-height:0;overflow:auto}.cal{--gutter:64px;min-width:calc(var(--gutter) + var(--cols) * 180px)}.cal-head{z-index:3;grid-template-columns:var(--gutter) repeat(var(--cols), 1fr);background:var(--surface-2);border-bottom:1px solid var(--line);display:grid;position:sticky;top:0}.cal-staff{border-left:1px solid var(--line);padding:10px 12px;font-weight:600}.cal-body{grid-template-columns:var(--gutter) repeat(var(--cols), 1fr);display:grid;position:relative}.cal-body>.cal-gutter{position:relative}.cal-hour{font-size:var(--text-xs);color:var(--muted);position:absolute;right:8px;transform:translateY(-50%)}.cal-hour:first-child{transform:translateY(2px)}.cal-col{border-left:1px solid var(--line);position:relative}.cal-slot{background:0 0;border:0;border-top:1px dashed #0000;padding:0;position:absolute;left:0;right:0}.cal-slot.hour{border-top:1px solid var(--line)}.cal-slot:not(.hour){border-top-color:color-mix(in srgb, var(--line) 60%, transparent)}.cal-slot:hover:not(:disabled){background:var(--accent-soft)}.cal-slot:disabled{cursor:default}.cal-appt{z-index:2;border-radius:var(--r-sm);font-size:var(--text-sm);background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--ink-2);border-left:3px solid;flex-direction:column;gap:1px;padding:4px 8px;line-height:1.25;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.cal-appt:hover{box-shadow:0 0 0 1px currentColor, var(--shadow-pop);z-index:4;text-decoration:none}.cal-appt.info{color:var(--info);background:var(--info-soft)}.cal-appt.warn{color:var(--warn);background:var(--warn-soft)}.cal-appt.accent{color:var(--accent-ink);background:var(--accent-soft)}.cal-appt.pos{color:var(--pos);background:var(--pos-soft)}.cal-appt.neg{color:var(--neg);background:var(--neg-soft)}.cal-appt.outline{color:var(--muted);background:var(--surface-2)}.cal-appt.faded{opacity:.6}.cal-appt-who{color:var(--ink);font-weight:600}.cal-appt-what{color:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-now{background:var(--neg);z-index:3;pointer-events:none;height:2px;position:absolute;left:0;right:0}.queue{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.queue-row{border-radius:var(--r-md);background:var(--surface-2);color:inherit;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.queue-row:hover{background:var(--sunken);text-decoration:none}@media (max-width:1080px){.today-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.today-layout>:not(.calendar){max-height:30dvh}}.stats{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat b{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.table td.r,.table th.r{font-variant-numeric:tabular-nums}.builder{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;display:grid}.builder-tables{flex-direction:column;padding:6px;display:flex;position:sticky;top:16px}.builder-table{border-radius:var(--r-md);color:var(--ink-2);text-align:left;background:0 0;border:0;flex-direction:column;gap:1px;width:100%;padding:8px 10px;display:flex}.builder-table.child{padding-left:22px}.builder-table:hover{background:var(--sunken);text-decoration:none}.builder-table[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink)}@media (max-width:860px){.builder{grid-template-columns:1fr}.builder-tables{position:static}}.auth-card{gap:20px}.auth-card h1{font-size:var(--text-xl);font-weight:600}.auth-card .brand-row{align-items:center;gap:8px;display:flex}.code-input{font-variant-numeric:tabular-nums;letter-spacing:.3em;font-size:var(--text-lg)}.auth-card .code-input{text-align:center}.divider{color:var(--faint);font-size:var(--text-xs);align-items:center;gap:10px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--line);flex:1}.dev-users{border-top:1px dashed var(--line);flex-direction:column;gap:8px;padding-top:16px;display:flex}.nudge-banner{font-size:var(--text-sm);color:var(--accent-ink);background:var(--accent-soft);border-bottom:1px solid var(--line);padding:6px 24px}.nudge-banner a{color:inherit;font-weight:600}.settings-sections{flex-direction:column;display:flex}.panel.settings-section{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:0 48px;padding:28px 0;display:grid}.sticky-top+.settings-section,.settings-sections>.settings-section:first-child{border-top:0;padding-top:8px}.settings-section>.panel-head{flex-direction:column;grid-area:1/1/span 20;align-self:start;align-items:flex-start;gap:6px;min-height:0;padding:0;display:flex}.settings-section>.panel-head>*{margin-left:0!important}.settings-section>.panel-head .btn-ghost{color:var(--accent);background:0 0;padding-left:0;padding-right:0}.settings-section>.panel-head .btn-ghost:hover{background:0 0;text-decoration:underline}.settings-section>.panel-head .stack{gap:6px}.settings-section>:not(.panel-head){grid-column:2;min-width:0}.settings-foot{justify-content:flex-end;padding:12px 0 0;display:flex}.settings-section>:not(.panel-head)+:not(.panel-head){margin-top:16px}.settings-section>.panel-body{padding:0;container-type:inline-size;border-top:0!important}.settings-section>.panel-foot{border-top:0;padding:0}.settings-section>.table{border-top:1px solid var(--line)}.settings-section .form-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 20px}.settings-section .form-grid .span-2{grid-column:1/-1}@container (width>=560px){.settings-section .form-grid .span-2{grid-column:span 2}}.settings-section>.plain-list.panel-body{padding:0}@media (max-width:899px){.panel.settings-section{grid-template-columns:minmax(0,1fr)}.settings-section>.panel-head{grid-row:auto;margin-bottom:14px}.settings-section>:not(.panel-head){grid-column:1}}.panel.role-editor{background:0 0;border:0;border-radius:0}.role-editor>.panel-head{z-index:3;background:var(--canvas);border-bottom:1px solid var(--line);padding:0 0 14px;position:sticky;top:0}.role-editor>.panel-body{padding:18px 0 0;border-top:0!important}.role-name{max-width:240px;font-weight:600}.role-name-zh{max-width:140px}.perm-grid-wrap{border-top:1px solid var(--line);overflow-x:auto}.perm-grid{min-width:880px}.panel-body .perm-grid .chips{flex-wrap:nowrap;overflow:visible}.perm-grid td{white-space:nowrap;vertical-align:middle}.perm-grid{table-layout:fixed;width:100%}.perm-grid th:first-child{width:200px}.perm-grid th:nth-child(2){width:150px}.perm-grid .perm-actions{width:auto;min-width:0}.perm-grid .perm-hide{width:190px}.perm-grid .sel-trigger{width:100%}.perm-grid td:first-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.panel-body .perm-grid .chips.perm-action-strip{min-width:0;max-width:100%;overflow-x:auto}.perm-action-strip{scrollbar-width:thin;padding-bottom:2px}.perm-action-strip.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.perm-action-strip.more-left{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px);mask-image:linear-gradient(90deg,#0000,#000 28px)}.perm-action-strip.more-left.more-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}.perm-action-strip>*{flex:none}.perm-grid .chips{min-width:240px}.perm-grid th.c,.perm-grid td.c{text-align:center;width:60px}.perm-grid select{min-width:120px}.perm-grid tr.faint td:not(:first-child){opacity:.45}.ghost-input{background:0 0;border-color:#0000}.ghost-input:hover{border-color:var(--line)}.ghost-input:focus{border-color:var(--focus);background:var(--surface)}.num-input{font-variant-numeric:tabular-nums;width:110px}.plain-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plain-list.panel-body{padding:4px 16px}.plain-list>li{gap:12px;padding:10px 0}.plain-list>li+li{border-top:1px solid var(--line)}.two-factor-setup{border-top:1px solid var(--line);grid-template-columns:160px minmax(0,1fr);align-items:start;gap:20px;display:grid}.two-factor-setup img{border-radius:var(--r-md);background:#fff;padding:6px}.backup-codes{font-size:var(--text-sm);background:var(--sunken);border-radius:var(--r-md);grid-template-columns:repeat(2,max-content);gap:4px 20px;padding:10px 12px;display:grid}@media (max-width:760px){.nudge-banner{padding:6px 16px}.two-factor-setup{grid-template-columns:minmax(0,1fr)}}.dev-users .chips,.panel-body .chips,.form-grid .chips{flex-wrap:wrap;overflow:visible}.panel-head>:is(h2,.stack)+:is(.btn,.pill,.row,.chips){margin-left:auto}.column-form .read-value{color:var(--ink-2)}.choice-list{flex-direction:column;gap:6px;display:flex}.choice-row{align-items:center;gap:4px;display:flex}.choice-row>.input{flex:1;min-width:0}.choice-row>.choice-zh{flex:0 140px}.rule-help{flex-direction:column;gap:6px;display:flex}.rule-help summary{cursor:pointer;width:max-content}.rule-help .chips{margin-top:2px}.rule-add{background:var(--canvas)}.columns-table th.c,.columns-table td.c{text-align:center;width:72px}.order-btns{flex-direction:column;display:inline-flex}.order-btns .icon-btn{width:20px;height:16px}.icon-btn:disabled{opacity:.35;cursor:default;background:0 0}.audit-filter{width:auto;min-width:140px}.audit-table .audit-when{width:170px}.audit-table .audit-who{width:160px}.audit-table .audit-kind{width:130px}.audit-text{overflow-wrap:anywhere}.audit-text a{color:inherit}.audit-text a:hover{color:var(--accent)}.reports-layout,.roles-layout{grid-template-columns:220px minmax(0,1fr);gap:32px;display:grid}.reports-layout>*,.roles-layout>*{overscroll-behavior:contain;scrollbar-width:thin;min-width:0;min-height:0;overflow-y:auto}.reports-layout>nav,.roles-layout>nav{background:0 0;border:0;padding:0;position:static}.reports-main{padding-bottom:32px}.reports-main>*,.roles-layout>*>*{flex-shrink:0}.sel-trigger.report-pick{display:none}.reports-main .panel{background:0 0;border:0;border-radius:0}.reports-main .panel-head{min-height:0;padding:0 0 10px}.reports-main .panel-head+.panel-body,.reports-main .panel-head+.table{border-top:1px solid var(--line)}.reports-main .panel-body{padding:14px 0}.reports-main .table :is(th,td):first-child:not(.indent):not(.indent-2){padding-left:0}.reports-main .table :is(th,td):last-child{padding-right:0}.report-group{font-size:var(--text-xs);color:var(--muted);letter-spacing:.02em;padding:10px 10px 4px;font-weight:600}.report-group:first-child{padding-top:4px}.report-account{width:auto;max-width:280px}.statement td{padding-top:7px;padding-bottom:7px}.statement .section-row td{color:var(--muted);font-weight:600;font-size:var(--text-sm);border-bottom:0;padding-top:16px}.statement .total-row td{border-top:1px solid var(--line)}.statement .total-row.grand td{border-top:2px solid var(--line-strong)}.statement .account-row td{border-bottom:0;padding-top:3px;padding-bottom:3px}.table td.indent{padding-left:24px}.table td.indent-2{padding-left:40px}.table tr.group-row td{background:var(--surface-2)}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--sunken)}.linked-list a{color:inherit;padding:2px 0}.linked-list a:hover{color:var(--accent);text-decoration:none}.linked-meta{text-align:right;align-items:flex-end}.table td.r,.table th.r{white-space:nowrap}.record-form{flex-direction:column;display:flex}.form-section{flex-direction:column;gap:16px;min-width:0;padding:22px 24px;display:flex}.form-section+.form-section{border-top:1px solid var(--line)}.form-section-title{font-size:15px;font-weight:600;line-height:22px}.form-section-title .zh{font-weight:400}.record-form .form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px 20px}.record-form .form-grid .span-2{grid-column:1/-1}.record-form .line-grid{margin:0 -24px;padding:0 24px}.record-form .line-grid .table{border-top:1px solid var(--line)}.record-form .line-grid .table th{background:0 0}.record-form .line-grid>.btn{align-self:flex-start}.doc-totals{font-variant-numeric:tabular-nums;flex-direction:column;align-self:flex-end;gap:6px;width:min(360px,100%);margin:0;display:flex}.doc-totals>div{justify-content:space-between;gap:24px;display:flex}.doc-totals dt{color:var(--muted)}.doc-totals dd{text-align:right;margin:0}.doc-totals>.grand{border-top:1px solid var(--line);font-size:var(--text-lg);padding-top:8px;font-weight:600}.doc-totals>.grand dt{color:var(--ink)}.doc-totals>.grand+.grand{font-size:var(--text-md);border-top:0;padding-top:0}@media (max-width:860px){.form-section{padding:18px 16px}.record-form .line-grid{margin:0 -16px;padding:0 16px}}.record-layout.no-side{grid-template-columns:minmax(0,1fr)}.table.lines.sheet{border-collapse:collapse}.table.lines.sheet th,.table.lines.sheet td{border:1px solid var(--line);vertical-align:middle;height:38px;padding:0}.table.lines.sheet th{height:34px;font-size:var(--text-xs);color:var(--muted);white-space:nowrap;padding:0 10px;font-weight:600}.table.lines.sheet tr>:first-child{border-left:0}.table.lines.sheet tr>:last-child{border-right:0}.table.lines.sheet td.n{text-align:center;width:36px;font-size:var(--text-xs)}.table.lines.sheet td.x,.table.lines.sheet th.x{text-align:center;width:36px}.table.lines.sheet .cell-text{white-space:nowrap;padding:0 10px;display:block}.table.lines.sheet td.computed .cell-text{font-weight:500}.table.lines.sheet td.edit :is(.input,.select,.textarea){width:100%;min-width:0;height:37px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 10px}.table.lines.sheet td.edit .input-affix>span,.table.lines.sheet td.edit .unit{display:none}.table.lines.sheet td.edit .input-affix>.input{padding-left:10px}.table.lines.sheet td.edit.r :is(.input,.select){text-align:right}.table.lines.sheet td.edit input[type=number]{appearance:textfield}.table.lines.sheet td.edit input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.table.lines.sheet td.edit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.table.lines.sheet td.edit:focus-within{box-shadow:inset 0 0 0 2px var(--accent);background:var(--surface)}.table.lines.sheet td.edit :is(.input,.select):focus{outline:none}.table.lines.sheet td.edit .combo{width:100%}.table.lines.sheet td.edit .check{padding:0 10px}.table.lines.sheet tr.ghost td.n:before{content:"+";color:var(--faint)}.table.lines.sheet tr.ghost td{background:0 0}.table.lines.sheet tr.ghost :is(.input,.select)::placeholder{color:var(--faint)}.table.lines.sheet .row-remove{border-radius:var(--r-sm);width:26px;height:26px;color:var(--muted);opacity:0;background:0 0;border:0;place-items:center;display:inline-grid}.table.lines.sheet tr:hover .row-remove,.table.lines.sheet .row-remove:focus-visible{opacity:1}.table.lines.sheet .row-remove:hover{background:var(--sunken);color:var(--neg)}@media (hover:none){.table.lines.sheet .row-remove{opacity:1}}.table.lines.sheet td.empty-lines{padding:10px}.record-form .line-grid .table.sheet{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table.lines.sheet{table-layout:auto;width:100%}.table.lines.sheet th.main{width:34%;min-width:220px}.table.lines.sheet th.t-text,.table.lines.sheet th.t-account{min-width:160px}.table.lines.sheet th:is(.t-money,.t-decimal,.t-integer){width:110px;min-width:96px}.table.lines.sheet th.t-date{width:150px}.table.lines.sheet.accounts-sheet th.code-col{width:96px}.table.lines.sheet.accounts-sheet .group-row td{background:var(--surface-2);height:auto;padding:10px 12px}.table.lines.sheet.accounts-sheet td.edit .input:disabled{color:var(--ink-2);cursor:default;opacity:1}.table.lines.sheet.accounts-sheet td.main .row{padding-right:8px}.table.lines.sheet.accounts-sheet .balance-link{color:inherit;font-variant-numeric:tabular-nums}.table.lines.sheet.accounts-sheet .balance-link:hover{color:var(--accent);text-decoration:none}.table.lines.sheet.accounts-sheet .row-remove.archive{font-size:16px;line-height:1}.panel:has(>.line-grid){overflow:hidden}.table.lines.sheet tr.group-row td{height:auto;padding:10px 14px}.table.lines.sheet.accounts-sheet{min-width:920px}.table.lines.sheet.accounts-sheet th.code-col{width:96px;min-width:96px}.table.lines.sheet.accounts-sheet th.main{width:auto;min-width:280px}.table.lines.sheet.accounts-sheet th:nth-child(3){width:150px;min-width:150px}.table.lines.sheet.accounts-sheet th:nth-child(4){width:240px;min-width:240px}.table.lines.sheet.accounts-sheet th.t-money{width:150px;min-width:150px}.table.lines.sheet td.edit .input{text-overflow:ellipsis}.table.lines.sheet{min-width:720px}.cal-staff-pick{border-bottom:1px solid var(--line);flex-wrap:wrap;padding:10px 12px;overflow:visible}@media (max-width:860px){.cal{min-width:0}}.table.lines.sheet.accounts-sheet th.main{min-width:340px}.table.lines.sheet.accounts-sheet td.main .row>.input{flex:1;min-width:0}:is(.panel:has(>.table),.panel:has(>table)){overflow-x:auto}.panel>.table{min-width:100%}.table th,.table td.r,.table td.nowrap,.table .mono,.table td.n{white-space:nowrap}.table:not(.compact) td:first-child:not(.n){min-width:140px}.panel-body:has(>table,>.table){overflow-x:auto}.posting .table td:nth-child(2){white-space:normal}.audit-table td.audit-text{min-width:260px}@media (max-width:1200px){.reports-layout{grid-template-columns:minmax(0,1fr)}.reports-layout>nav{display:none}.sel-trigger.report-pick{width:auto;max-width:100%;margin-top:6px;display:flex}.roles-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:12px}.roles-layout>nav{flex-flow:wrap;gap:4px;overflow:visible}.roles-layout>nav .builder-table{width:auto;padding:6px 12px}.roles-layout>nav .builder-table .small{display:none}.record-layout{grid-template-columns:minmax(0,1fr)}.record-side{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;display:grid;position:static}}.roles-layout .panel-head{flex-wrap:wrap}.roles-layout .panel-head .role-name{flex:1;min-width:160px}.roles-layout .panel-head .role-name-zh{min-width:90px}.view-tabs{flex-wrap:wrap;align-items:center;gap:2px;min-height:32px;display:flex}.view-tab-wrap{align-items:center;display:inline-flex}.view-tab{border-radius:var(--r-md);height:30px;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0 12px;font-weight:500}.view-tab:hover{background:var(--sunken);color:var(--ink)}.view-tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.view-mine{color:var(--accent);margin-left:4px;font-weight:700}.view-tab-menu{margin-left:-4px}.view-dirty{flex-wrap:wrap;gap:6px;margin-left:8px;display:inline-flex}.count-badge{background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);font-size:var(--text-xs);border-radius:999px;place-items:center;padding:0 5px;font-weight:600;display:inline-grid}.btn[aria-pressed=true]{background:var(--sunken);color:var(--ink)}.filter-bar{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;gap:8px;padding:10px 12px;display:flex}@media (max-width:560px){.demo-banner,.nudge-banner{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;padding:5px 16px;overflow:hidden}.nudge-banner{gap:6px;display:flex}.nudge-banner>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.nudge-banner>a{flex:none}.view-tabs,.record-page .page-actions{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.record-page .page-actions::-webkit-scrollbar{display:none}.view-tabs>*,.record-page .page-actions>*{flex:none}.list-page .toolbar{gap:6px}.list-page .toolbar>.chips{flex:1 0 100%;order:-2}.list-page .toolbar>.search-field{order:-1}.list-page .toolbar>.spacer,.list-page .toolbar .btn-label,.record-page .page-actions .btn-label{display:none}.list-page .toolbar .btn-ghost,.record-page .page-actions .btn-ghost{padding:0 8px}.cell-open{display:none}.record-page .page-head{gap:10px}.record-page .page-actions{width:100%;margin-left:0}.record-page .page-actions>.btn-ink{order:-1}}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-row>.select{width:auto;min-width:140px}.filter-join{text-align:right;flex:none;width:44px}.filter-value{flex:0 280px;min-width:200px}.filter-value :is(.input,.select){height:32px;font-size:var(--text-sm)}.vlist-head>.col-check,.vlist-row>.cell-check{place-items:center;padding:0;display:grid}.vlist-row>.cell-check input,.vlist-head>.col-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.vlist-row>.cell-check{opacity:.35}.vlist-row:hover>.cell-check,.vlist-row>.cell-check.on,.vlist-row>.cell-check:focus-within{opacity:1}.vlist-row:has(.cell-check.on){background:var(--accent-soft)}@media (hover:none){.vlist-row>.cell-check{opacity:1}}.col-head{position:relative}.col-resize{cursor:col-resize;z-index:2;border-radius:3px;width:7px;position:absolute;top:6px;bottom:6px;right:-3px}.col-resize:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.sort-mark{color:var(--accent);display:inline-flex}.col-head-btn .sort-mark svg{opacity:1}.bulk-bar{border-radius:var(--r-lg);background:var(--accent-soft);border:1px solid var(--line);gap:8px;padding:6px 10px}.bulk-bar b{color:var(--accent-ink);margin-right:4px}.vlist-head>.frozen,.vlist-row>.frozen{z-index:2;position:sticky}.vlist-head>.frozen{background:var(--surface-2);z-index:4}.vlist-row>.frozen{background:var(--surface);border-radius:0}.vlist-row:hover>.frozen{background:var(--surface-2)}.vlist-row:has(.cell-check.on)>.frozen{background:var(--accent-soft)}.vlist-row>.frozen.selected{background:var(--accent-soft)}.vlist.scrolled-x :is(.vlist-head,.vlist-row)>.frozen-last{box-shadow:1px 0 0 var(--line)}.vlist-row>.cell-check.frozen{opacity:1}.vlist-row>.cell-check.frozen input{opacity:.35}.vlist-row:hover>.cell-check.frozen input,.vlist-row>.cell-check.frozen.on input,.vlist-row>.cell-check.frozen input:focus-visible{opacity:1}.vlist-row>.frozen-last.selected{box-shadow:inset 0 0 0 2px var(--accent)}.vlist.scrolled-x .vlist-row>.frozen-last.selected{box-shadow:inset 0 0 0 2px var(--accent), 1px 0 0 var(--line)}.sr-only{top:0;left:0}.panel{position:relative}.designer{grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:20px;display:grid}.designer>*{overscroll-behavior:contain;scrollbar-width:thin;min-width:0;min-height:0;overflow-y:auto}.designer-blocks{padding:1px 4px 24px 1px}.designer-blocks>*{flex-shrink:0}.designer-preview{background:var(--sunken);border-radius:var(--r-lg);justify-content:center;align-items:flex-start;padding:20px;display:flex}.block-card .panel-head h2{font-size:var(--text-md)}.picked-list{flex-direction:column;gap:6px;display:flex}.picked-list li{min-width:0}.picked-name{min-width:0;font-size:var(--text-sm);overflow-wrap:anywhere;flex:0 0 120px}.picked-list .input{flex:1;min-width:0}.designer-switch{display:none}@media (max-width:1199px){.designer{grid-template-columns:minmax(0,1fr)}.designer-switch{align-self:flex-start;display:inline-flex}.designer[data-pane=blocks]>.designer-preview,.designer[data-pane=preview]>.designer-blocks{display:none}}@media (max-width:767px){.designer-preview{background:0 0;padding:0}}.print-toolbar{flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;display:flex}.print-toolbar .back{margin:0}.print-template-pick{width:auto;max-width:220px}.print-stage{background:var(--sunken);border-radius:var(--r-lg);justify-content:center;min-width:0;padding:28px 20px;display:flex}@media (max-width:767px){.print-stage{background:0 0;padding:0}}.doc-sheet{--doc-ink:#111827;--doc-muted:#6b7280;--doc-line:#e5e7eb;--doc-accent:#1f2937;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--doc-ink);aspect-ratio:210/297;font-variant-numeric:tabular-nums;background:#fff;border-radius:3px;flex-wrap:wrap;align-content:flex-start;gap:18px 28px;width:min(210mm,100%);padding:14mm 14mm 16mm;font-size:12.5px;line-height:1.45;display:flex;position:relative;overflow:clip;box-shadow:0 1px 2px #00000014,0 8px 24px -8px #0000002e}.doc-sheet.paper-A5{aspect-ratio:148/210;row-gap:14px;width:min(148mm,100%);padding:10mm;font-size:11.5px}.doc-sheet.paper-receipt{aspect-ratio:auto;row-gap:10px;width:min(80mm,100%);padding:5mm 4mm 8mm;font-size:11px}.doc-block{flex:100%;min-width:0;position:relative}.doc-sheet{container-type:inline-size}@container (width>=600px){.doc-party-block,.doc-fields-block{flex:40%}}.doc-muted{color:var(--doc-muted)}.doc-pre{white-space:pre-line}.doc-header{border-bottom:2px solid var(--doc-accent);padding-bottom:10px}.doc-company-name{letter-spacing:-.01em;color:var(--doc-accent);font-size:1.45em;font-weight:700}.doc-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.doc-title{letter-spacing:.02em;color:var(--doc-accent);font-size:1.75em;font-weight:700;line-height:1.15}.doc-title-zh{color:var(--doc-muted);font-weight:500}.doc-number{text-align:right}.doc-number-value{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,monospace;font-size:1.12em;font-weight:600}.doc-label{letter-spacing:.06em;text-transform:uppercase;color:var(--doc-muted);margin-bottom:3px;font-size:.8em;font-weight:600}.doc-party-name{font-size:1.08em;font-weight:600}.doc-fields{grid-template-columns:auto minmax(0,1fr);gap:3px 14px;margin:0;display:grid}.doc-fields>div{display:contents}.doc-fields dt{color:var(--doc-muted)}.doc-fields dd{overflow-wrap:break-word;margin:0;font-weight:500}.doc-lines{border-collapse:collapse;width:100%}.doc-lines th{text-align:left;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;color:var(--doc-muted);border-bottom:1.5px solid var(--doc-accent);padding:6px;font-size:.82em;font-weight:600}.doc-lines td{border-bottom:1px solid var(--doc-line);vertical-align:top;overflow-wrap:break-word;padding:7px 6px}.doc-lines .r{text-align:right;white-space:nowrap}.doc-lines .nw{white-space:nowrap}.doc-lines .n{width:24px;color:var(--doc-muted)}.doc-lines tfoot td{border-bottom:0;border-top:1.5px solid var(--doc-accent);padding-top:8px;font-weight:600}.doc-related{min-width:0;overflow-x:auto}@media print{.doc-related{overflow:visible}}.doc-related-title{letter-spacing:.04em;text-transform:uppercase;color:var(--doc-muted);padding-bottom:6px;font-size:.82em;font-weight:600}.paper-receipt .doc-lines :is(th,td){padding:4px 2px}.doc-totals-block{justify-content:flex-end;display:flex}.doc-totals-print{flex-direction:column;gap:4px;width:min(300px,100%);margin:0;display:flex}.doc-totals-print>div{justify-content:space-between;gap:16px;display:flex}.doc-totals-print dt{color:var(--doc-muted)}.doc-totals-print dd{white-space:nowrap;margin:0}.doc-totals-print .strong{border-top:1.5px solid var(--doc-accent);margin-top:4px;padding-top:8px;font-size:1.15em;font-weight:700}.doc-totals-print .strong dt{color:var(--doc-ink)}.doc-totals-print>.doc-totals-title{letter-spacing:.04em;text-transform:uppercase;color:var(--doc-muted);border-bottom:1.5px solid var(--doc-accent);margin-bottom:2px;padding-bottom:4px;font-size:.82em;font-weight:600;display:block}.doc-text{white-space:pre-wrap;color:var(--doc-muted);overflow-wrap:break-word}.doc-signatures{flex-wrap:wrap;gap:32px;margin-top:28px;display:flex}.doc-signature{flex:140px;min-width:0}.doc-signature-line{border-bottom:1px solid var(--doc-ink);height:40px;margin-bottom:4px}.doc-signature-image{object-fit:contain;object-position:left bottom;border-bottom:1px solid var(--doc-ink);max-width:100%;height:56px;margin-bottom:4px;padding-bottom:2px;display:block}.doc-watermark{pointer-events:none;letter-spacing:.12em;color:#1118270d;place-items:center;font-size:clamp(48px,16vw,120px);font-weight:800;display:grid;position:absolute;inset:0;transform:rotate(-24deg)}@container (width<=480px){.doc-block{font-size:10.5px}.doc-lines :is(th,td){padding-left:3px;padding-right:3px}.doc-lines .n{display:none}.doc-lines :is(th,th.r){letter-spacing:0;white-space:normal;vertical-align:bottom;font-size:.78em}}@media (max-width:520px){.doc-sheet{padding:5mm}}.doc-sheet.paper-A5{page:a5}.doc-sheet.paper-receipt{page:receipt}@page{size:A4;margin:14mm}@page a5{size:A5;margin:10mm}@page receipt{size:80mm 297mm;margin:4mm}@media print{html,body{background:#fff!important;height:auto!important;overflow:visible!important}.sidebar,.topbar,.nudge-banner,.demo-banner,.toasts,.no-print,.print-page>.sticky-top{display:none!important}.shell,.content,.content-scroll{height:auto!important;display:block!important;overflow:visible!important}.page.print-page{gap:0!important;padding:0!important}.print-stage{background:0 0!important;border-radius:0!important;padding:0!important;display:block!important}.doc-sheet{aspect-ratio:auto;min-height:0;box-shadow:none;break-inside:auto;-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;border-radius:0;width:auto!important;padding:0!important}.doc-lines tr,.doc-totals-print,.doc-signatures{break-inside:avoid}body.printing-slip>#root{display:none!important}body.printing-slip .print-slip{display:block!important}}.print-slip{display:none}.board{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.widget{flex-direction:column;min-width:0;display:flex;position:relative}.widget>.panel-body{flex:1}.widget.size-1{grid-column:span 1}.widget.size-2{grid-column:span 2}.widget.size-4{grid-column:span 4}@media (max-width:1199px){.board{grid-template-columns:repeat(2,minmax(0,1fr))}.widget.size-4{grid-column:span 2}}@media (max-width:559px){.board{grid-template-columns:minmax(0,1fr)}.widget.size-2,.widget.size-4{grid-column:span 1}}.board-tab{align-items:center;text-decoration:none;display:inline-flex}.sel-trigger.board-pick{display:none}@media (max-width:767px){.page-title .board-title,.board-tabs,.edit-board{display:none}.sel-trigger.board-pick{width:auto;max-width:100%;height:36px;font-size:var(--text-lg);font-weight:600;display:flex}}.board-tab:hover{text-decoration:none}.board-name{font-size:var(--text-lg);width:min(360px,100%);font-weight:600}.panel-head>h2+.panel-link{margin-left:auto}.panel-link{font-size:var(--text-sm);white-space:nowrap}.widget-wait{place-items:center;min-height:120px;display:grid}.kpi{min-width:0;color:inherit;border-radius:inherit;flex-direction:column;flex:1;gap:4px;padding:14px 16px;display:flex}a.kpi:hover{background:var(--sunken);text-decoration:none}.kpi-label{font-size:var(--text-sm);color:var(--muted);font-weight:500}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:24px;font-weight:650;line-height:32px}.kpi-change{font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.kpi-delta{white-space:nowrap;color:var(--muted);background:var(--sunken);border-radius:999px;align-items:center;gap:2px;padding:1px 7px 1px 5px;font-weight:600;display:inline-flex}.kpi-delta.pos{color:var(--pos);background:var(--pos-soft)}.kpi-delta.neg{color:var(--neg);background:var(--neg-soft)}.kpi-compare{color:var(--faint)}.kpi-note{font-size:var(--text-xs);color:var(--muted);margin-top:auto;padding-top:4px}.kpi-note.pos{color:var(--pos)}.kpi-note.neg{color:var(--neg)}.kpi-note.warn{color:var(--warn)}.widget-table :is(th,td):first-child{padding-left:16px}.widget-table :is(th,td):last-child{padding-right:16px}.widget-table tr.tone-row-neg td:first-child{box-shadow:inset 2px 0 0 var(--neg)}.widget-table tr.tone-row-warn td:first-child{box-shadow:inset 2px 0 0 var(--warn)}.checks-list{flex-direction:column;gap:10px;display:flex}.checks-list li{align-items:flex-start;gap:10px;min-width:0;display:flex}.checks-list li>svg{flex:none;margin-top:2px}.board.editing .widget{outline:1px dashed var(--line-strong);outline-offset:2px}.widget-tools{border-top:1px dashed var(--line);background:var(--sunken);border-radius:0 0 var(--r-lg) var(--r-lg);align-items:center;gap:4px;margin-top:auto;padding:6px 8px;display:flex}.widget-size{width:auto;margin-left:auto}.when-narrow{display:none}@media (max-width:559px){.when-wide{display:none}.when-narrow{display:inline}}.board-add{border:1px dashed var(--line-strong);border-radius:var(--r-lg);min-height:120px;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:6px;font-weight:500;display:flex}.board-add:hover{color:var(--accent);border-color:var(--accent)}.widget-catalogue{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.catalogue-item{text-align:left;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.catalogue-item:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.catalogue-item:disabled{opacity:.55;cursor:default}.catalogue-name{align-items:center;gap:4px;font-weight:600;display:flex}.chart{width:100%;min-width:0}.chart svg{display:block;overflow:visible}.chart-empty{text-align:center;padding:40px 0}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{stroke:var(--chart-axis);stroke-width:1px}.chart-tick{fill:var(--faint);font-variant-numeric:tabular-nums;font-size:10.5px}.chart-slot:hover .chart-bar{opacity:.8}.ct-accent{fill:var(--accent);background:var(--accent)}.ct-pos{fill:var(--pos);background:var(--pos)}.ct-neg{fill:var(--neg);background:var(--neg)}.ct-warn{fill:var(--warn);background:var(--warn)}.ct-info{fill:var(--info);background:var(--info)}.ct-muted{fill:var(--chart-axis);background:var(--chart-axis)}.chart-legend{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;display:flex}.legend-item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.chart-note{margin-left:auto}.ranked{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ranked-row{color:inherit;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;display:grid}a.ranked-row:hover{text-decoration:none}a.ranked-row:hover .ranked-label{color:var(--accent)}.ranked-label{font-weight:500}.ranked-value{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ranked-sub{font-size:var(--text-xs);color:var(--muted);grid-column:1/-1;margin-top:-2px}.ranked-track{background:var(--sunken);border-radius:999px;grid-column:1/-1;height:5px;overflow:hidden}.ranked-fill{border-radius:inherit;background:var(--accent);height:100%;display:block}.mix-bar{background:var(--sunken);border-radius:999px;gap:2px;height:14px;display:flex;overflow:hidden}.mix-part{min-width:2px;height:100%}.mix-0{background:var(--accent)}.mix-1{background:var(--info)}.mix-2{background:var(--pos)}.mix-3{background:var(--warn)}.mix-4{background:var(--neg)}.mix-5{background:var(--faint)}.mix-legend{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.mix-legend li{min-width:0;font-size:var(--text-sm);align-items:center;gap:8px;display:flex}.mix-pct{text-align:right;width:3em;color:var(--muted);font-variant-numeric:tabular-nums}.mix-value{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.heatmap{grid-template-columns:34px repeat(var(--cols), minmax(0, 1fr));align-items:center;gap:3px;display:grid}.heat-col{white-space:nowrap;text-align:center;color:var(--faint);font-size:10px;overflow:visible}.heat-row{font-size:var(--text-xs);color:var(--muted)}.heat-cell{aspect-ratio:1.5;background:var(--sunken);border-radius:3px;min-height:16px;position:relative}.heat-cell:after{content:"";border-radius:inherit;background:var(--accent);opacity:calc(var(--heat) * .9);position:absolute;inset:0}.heat-scale{background:linear-gradient(90deg, var(--sunken), var(--accent));border-radius:4px;width:56px;height:8px;margin:0 4px;display:inline-block}.signin{background:var(--canvas);grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.signin-brand{align-items:center;gap:10px;padding:24px 28px;font-weight:600;display:flex}.signin-main{flex-direction:column;place-self:center;width:min(360px,100% - 40px);margin-top:-8vh;display:flex}.signin-main h1{letter-spacing:-.02em;text-align:center;font-size:26px;font-weight:650}.signin-sub{color:var(--muted);text-align:center;margin:8px 0 28px}.signin-form{flex-direction:column;gap:10px;display:flex}.signin-input{height:44px;font-size:var(--text-md);padding:0 14px}.signin-input.code-input{text-align:center;letter-spacing:.3em;font-variant-numeric:tabular-nums}.signin-btn{width:100%;height:44px;font-size:var(--text-md);justify-content:center}.signin-note{font-size:var(--text-sm);color:var(--muted);text-align:center}.signin-error{font-size:var(--text-sm);color:var(--neg);text-align:center;margin-top:14px}.signin-dev{font-size:var(--text-sm);color:var(--faint);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;padding:20px 24px 28px;display:flex}.signin-dev .link-btn{color:var(--muted)}.signin-dev .link-btn:hover{color:var(--ink)}.sel-trigger{text-align:left;cursor:pointer;align-items:center;min-width:0;display:flex}.sel-trigger:disabled{cursor:default;opacity:.6}.sel-trigger.sel-blank .sel-value{color:var(--faint)}.sel-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sel-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sel-scrim{z-index:89;position:fixed;inset:0}.sel-pop{z-index:90;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);max-height:min(340px,100dvh - 16px);box-shadow:var(--shadow-pop);animation:fade .1s var(--ease);flex-direction:column;padding:4px;display:flex;position:fixed}.sel-search{border-bottom:1px solid var(--line);height:32px;color:var(--faint);align-items:center;gap:6px;margin:0 0 4px;padding:0 8px;display:flex}.sel-search input{min-width:0;color:var(--ink);font:inherit;font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.sel-list{outline:none;flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.sel-group{font-size:var(--text-xs);color:var(--muted);padding:8px 10px 4px;font-weight:600}.sel-option{border-radius:var(--r-sm);cursor:pointer;font-size:var(--text-sm);align-items:center;gap:8px;padding:7px 10px;display:flex}.sel-option.active{background:var(--accent-soft)}.sel-option.disabled{opacity:.45;cursor:default}.sel-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.sel-label{overflow-wrap:anywhere}.sel-hint{font-size:var(--text-xs);color:var(--muted)}.sel-check{color:var(--accent);flex:none}.sel-box{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--on-accent);border-radius:4px;flex:none;place-items:center;display:grid}.sel-option.on .sel-box{background:var(--accent);border-color:var(--accent)}.sel-empty{font-size:var(--text-sm);color:var(--muted);padding:8px 10px}.sel-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:6px 6px 2px;display:flex}.print-only{display:none}@media print{:root,:root:not([data-theme=light]),:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#fff;--surface:#fff;--surface-2:#fafafa;--sunken:#f2f2f2;--line:#ddd;--line-strong:#bbb;--ink:#111;--ink-2:#333;--muted:#555;--faint:#888;--accent:#2456a4;--accent-soft:#e9eff9;--accent-ink:#1b4686;--pos:#1c7a4d;--pos-soft:#e3f1e9;--warn:#93590a;--warn-soft:#faefd9;--neg:#b3352c;--neg-soft:#fbe8e5;--chart-grid:#e5e5e5;--chart-axis:#ccc}:root[data-accent]{--accent:#2456a4!important;--accent-soft:#e9eff9!important;--accent-ink:#1b4686!important}.print-only{display:block!important}.page{padding:0!important}.page.fill{height:auto!important}.sticky-top{box-shadow:none!important;margin:0 0 14px!important;padding:0!important;position:static!important}.page-actions,.reports-layout>nav,.sel-trigger.report-pick{display:none!important}.reports-layout{display:block!important}.reports-layout>*{overflow:visible!important}.reports-main{gap:18px;padding:0!important}.reports-main .table tr,.reports-main .panel-head{break-inside:avoid}.reports-main .table tr.clickable{cursor:default}}.col-head[draggable=true]{cursor:grab}.col-head.dragging{opacity:.45}.col-head.drop-before{box-shadow:inset 2px 0 0 var(--accent)}.col-head.drop-after{box-shadow:inset -2px 0 0 var(--accent)}.cols-pop{width:280px}.cols-item{border-radius:var(--r-sm);align-items:center;gap:2px;display:flex}.cols-item:hover{background:var(--sunken)}.cols-item.dragging{background:var(--accent-soft)}.cols-grip{width:22px;height:30px;color:var(--faint);cursor:grab;touch-action:none;flex:none;place-items:center;display:grid}.cols-grip.off{cursor:default}.cols-item.dragging .cols-grip{cursor:grabbing}.cols-toggle{min-width:0;height:30px;color:var(--ink);text-align:left;font-size:var(--text-sm);background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 8px 0 2px;display:flex}.cols-item.on .sel-box{background:var(--accent);border-color:var(--accent)}.theme-swatches{flex-wrap:wrap;gap:8px;display:flex}.theme-swatch{border:1px solid var(--line);height:34px;color:var(--ink);font-size:var(--text-sm);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 8px;display:inline-flex}.theme-swatch:hover{border-color:var(--line-strong)}.theme-swatch[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);font-weight:600}.theme-dot{background:var(--sw-light);border-radius:50%;width:18px;height:18px}:root[data-theme=dark] .theme-dot{background:var(--sw-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-dot{background:var(--sw-dark)}}.menu-row{justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:4px 6px 4px 10px;display:flex}.menu-row-label{font-size:var(--text-sm);color:var(--ink-2)}.segmented.icon-seg button{place-items:center;width:34px;height:28px;padding:0;display:grid}.segmented.icon-seg button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.posting.superseded{opacity:.6}.board.editing .widget{cursor:grab}.board.editing .widget:active{cursor:grabbing}.widget.dragging{opacity:.45}.widget.drop-before{box-shadow:-3px 0 0 var(--accent)}.widget.drop-after{box-shadow:3px 0 0 var(--accent)}.widget.size-4.drop-before{box-shadow:0 -3px 0 var(--accent)}.widget.size-4.drop-after{box-shadow:0 3px 0 var(--accent)}@media (max-width:559px){.widget.drop-before{box-shadow:0 -3px 0 var(--accent)}.widget.drop-after{box-shadow:0 3px 0 var(--accent)}}.widget-grip{width:22px;color:var(--faint);cursor:grab;place-items:center;display:grid}.sidebar{position:relative}.sidebar-foot{border-top:1px solid var(--line);align-items:center;gap:6px;padding:8px 10px 10px 16px;display:flex}.powered{min-width:0;font-size:var(--text-xs);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.powered:hover{color:var(--muted);text-decoration:none}.signin-dev .powered{flex:none}.sidebar-resize{cursor:col-resize;z-index:30;width:6px;height:100%;position:absolute;top:0;right:-3px}.sidebar-resize:hover,.resizing-sidebar .sidebar-resize{background:color-mix(in srgb, var(--accent) 45%, transparent)}.resizing-sidebar,.resizing-sidebar *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.shell.collapsed>.sidebar .sidebar-top{align-items:center;padding:14px 10px 10px}.shell.collapsed>.sidebar .ws-row{justify-content:center}.shell.collapsed>.sidebar .ws-button{justify-content:center;width:36px;height:36px;padding:0}.shell.collapsed>.sidebar .ws-mark{border-radius:8px;width:36px;height:36px;font-size:15px}.shell.collapsed>.sidebar .ws-name,.shell.collapsed>.sidebar .ws-button>svg{display:none}.shell.collapsed>.sidebar .add-btn{border-radius:8px;justify-content:center;width:36px;height:36px;min-height:0;padding:0}.shell.collapsed>.sidebar .add-btn .spacer,.shell.collapsed>.sidebar .nav-link .spacer,.shell.collapsed>.sidebar .sidebar-label,.shell.collapsed>.sidebar .powered{display:none}.shell.collapsed>.sidebar .sidebar-scroll{padding:2px 10px 24px}.shell.collapsed>.sidebar .sidebar-section{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.shell.collapsed>.sidebar .nav-link{border-radius:8px;justify-content:center;width:36px;height:36px;margin:0 auto;padding:0}.shell.collapsed>.sidebar .sidebar-foot{justify-content:center;padding:8px 0 10px}.standalone{background:var(--canvas);flex-direction:column;min-height:100dvh;display:flex}.standalone-bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:52px;padding:10px 24px;display:flex}.standalone .page{width:100%}.table-scroll{min-width:0;overflow-x:auto}.table.businesses{min-width:760px}.table.businesses td,.standalone-bar>*{white-space:nowrap}@media (max-width:560px){.standalone-bar{padding:10px 16px}.standalone-bar>.muted{display:none}}.start-steps{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.start-steps li{border-bottom:1px solid var(--line);align-items:center;gap:14px;min-width:0;padding:14px 0;display:flex}.start-steps li>.btn,.start-steps li>.pill{flex:none;margin-left:auto}.start-mark{color:var(--faint);flex:none;display:inline-flex}.start-steps li.done .start-mark{color:var(--pos)}.start-steps li.done .start-text b{color:var(--muted);font-weight:500}.start-text{gap:2px;min-width:0}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.date-trigger{gap:8px}.date-trigger .date-icon{color:var(--muted);flex:none}.date-pick.date-trigger{width:160px}.dp-pop{width:288px;max-height:none;padding:8px}.dp-head{align-items:center;gap:2px;padding:0 0 6px;display:flex}.dp-title{border-radius:var(--r-sm);font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-weight:600}.dp-title:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-dow{height:26px;font-size:var(--text-xs);color:var(--muted);place-items:center;display:grid}.dp-day{border-radius:var(--r-sm);height:34px;font:inherit;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;background:0 0;border:0}.dp-day:hover,.dp-day.active{background:var(--accent-soft)}.dp-day.out{color:var(--faint)}.dp-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.dp-day.on{background:var(--accent);color:var(--on-accent);font-weight:600}.dp-day:disabled{opacity:.35;cursor:default;background:0 0}.dp-cells{grid-template-columns:repeat(3,1fr);align-content:center;gap:4px;height:236px;display:grid}.dp-cell{border-radius:var(--r-sm);height:48px;font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;background:0 0;border:0}.dp-cell:hover{background:var(--accent-soft)}.dp-cell.today{box-shadow:inset 0 0 0 1px var(--accent)}.dp-cell.on{background:var(--accent);color:var(--on-accent);font-weight:600}.dp-foot{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:6px;padding:6px 4px 0;display:flex}.dt-input{gap:8px;min-width:0;display:flex}.dt-input>.date-trigger{flex:60%;min-width:0}.dt-input>.dt-time{flex:40%;min-width:0}.colour-trigger{gap:8px;width:auto;min-width:140px}.cp-chip{width:18px;height:18px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 15%, transparent);border-radius:5px;flex:none}.cp-pop{gap:10px;width:240px;max-height:none;padding:10px}.cp-swatches{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cp-swatch{aspect-ratio:1;color:#fff;cursor:pointer;border:0;border-radius:6px;place-items:center;display:grid}.cp-swatch:focus-visible,.cp-swatch.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.cp-hex{align-items:center;gap:8px;display:flex}.cp-hex .input{flex:1;min-width:0}.suggest-pop{max-height:260px;margin:0;list-style:none;overflow-y:auto}.drop-zone{border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.drop-zone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.table.import-map{min-width:560px}.table.import-map td{white-space:nowrap}.table.import-map td:last-child{width:260px}.table.import-map .sel-trigger{width:100%}.table.import-problems td{white-space:nowrap}.import-warn{color:var(--warn);font-size:var(--text-sm)}.import-summary{font-size:var(--text-md)}@media (max-width:560px){.table.import-map{width:100%;min-width:0}.table.import-map thead,.table.import-map td:nth-child(2){display:none}.table.import-map tr{border-bottom:1px solid var(--line);gap:6px;padding:10px 0;display:grid}.table.import-map td{border:0;width:auto;padding:0;display:block}.table.import-map td:last-child{width:auto}.table.import-map td{height:auto}}.import-preview-wrap{border-top:1px solid var(--line);max-height:min(52dvh,460px);overflow:auto}.table.import-preview th{background:var(--surface);z-index:1;position:sticky;top:0}.table.import-preview td,.table.import-preview th{white-space:nowrap}.table.import-preview tr.bad td{background:var(--neg-soft)}.table.import-preview td.cell-bad{color:var(--neg);font-weight:600}.import-check .pill.tiny{margin-left:0}.import-problem{color:var(--neg)}.activity-add{flex-wrap:wrap;gap:6px;padding:0 16px 10px;display:flex}.activity-note{flex-direction:column;gap:6px;padding:0 16px 10px;display:flex}.activity-note-actions{justify-content:flex-end;display:flex}.activity-list{max-height:420px;overflow-y:auto}.activity-text{flex:1;min-width:0}.activity-summary{overflow-wrap:anywhere}.vlist.hidden{display:none}.board-view{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.board-cols{flex:1;align-items:stretch;gap:12px;min-height:0;padding-bottom:8px;display:flex;overflow-x:auto}.board-col{border-radius:var(--r-lg);background:var(--sunken);flex-direction:column;flex:0 0 272px;min-height:0;padding:8px;display:flex}.board-col.over{box-shadow:inset 0 0 0 2px var(--accent)}.board-col-head{align-items:center;gap:8px;padding:2px 4px 8px;display:flex}.board-col-head .pill.tiny{margin-left:0}.board-sum{font-variant-numeric:tabular-nums;color:var(--muted)}.board-cards{flex-direction:column;flex:1;gap:8px;min-height:48px;display:flex;overflow-y:auto}.board-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:grab;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.board-card.dragging{opacity:.45}.board-card-title{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.board-card-title:hover{text-decoration:underline}.board-card-line{overflow-wrap:anywhere}.board-empty{padding:8px 4px}.automation-list>li.automation{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:16px 0;display:flex}.automation-list>li.automation:first-child{padding-top:0}.automation-edit{grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:12px;display:grid}.automation-edit:not(:has(.automation-days)){grid-template-columns:minmax(0,1fr)}.automation-days .input{width:100%}@media (max-width:560px){.automation-edit{grid-template-columns:minmax(0,1fr)}}.outbox-list{border-top:1px solid var(--line)}.outbox-item{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:14px 0;display:flex}.outbox-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink-2);margin:0}.wf-stages{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wf-stages .pill{margin:0}.wf-buttons{flex-direction:column;display:flex}.wf-button{border-top:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr);align-items:start;gap:4px 12px;padding:9px 0;display:grid}.wf-button.head{color:var(--muted);font-size:var(--text-xs);border-top:none;padding-top:0;font-weight:600}.wf-name{color:var(--ink);font-weight:600}.wf-does{flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;display:flex}.wf-does .pill.tiny,.wf-tags .pill.tiny,.wf-autos .pill.tiny{margin-left:0}.wf-does .small{overflow-wrap:anywhere;flex-basis:100%}.wf-autos li{overflow-wrap:anywhere;padding:4px 0}@media (max-width:720px){.wf-button{grid-template-columns:minmax(0,1fr)}.wf-button.head{display:none}}.wf-chain-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wf-branches{border-left:1px solid var(--line);flex-direction:column;gap:6px;margin:6px 0 0 22px;padding:0 0 0 12px;list-style:none;display:flex}.wf-chip{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);height:26px;color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}span.wf-chip{cursor:default;font-weight:500}button.wf-chip:hover{border-color:var(--accent);color:var(--accent)}.wf-tables{flex-direction:column;gap:14px;display:flex}.wf-group .sidebar-label{padding-left:0}.wf-table-row{border:none;border-top:1px solid var(--line);width:100%;min-height:40px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;grid-template-columns:180px minmax(0,1fr) auto 16px;align-items:center;gap:12px;margin:0 -8px;padding:6px 8px;display:grid}.wf-table-row:hover{background:var(--sunken)}.wf-line{overflow-wrap:anywhere}.wf-tags{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}@media (max-width:900px){.wf-table-row{grid-template-columns:minmax(0,1fr) 16px;gap:4px 12px}.wf-table-row .wf-line,.wf-table-row .wf-tags{grid-column:1}.wf-table-row .wf-tags{justify-content:flex-start}.wf-table-row>svg{grid-area:1/2}}.stage-track{scrollbar-width:none;align-items:center;gap:6px;height:34px;padding:2px 0 6px;display:flex;overflow-x:auto}.stage-track::-webkit-scrollbar{display:none}.stage{border:1px solid var(--line);height:24px;color:var(--muted);font:inherit;font-size:var(--text-xs);white-space:nowrap;background:0 0;border-radius:999px;flex:none;align-items:center;padding:0 10px;font-weight:500;display:inline-flex}button.stage{cursor:pointer}button.stage:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.stage.done{color:var(--ink-2);border-color:var(--line-strong)}.stage.current{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.stage.side.current{background:var(--neg-soft);border-color:var(--neg);color:var(--neg)}.stage-line{background:var(--line-strong);flex:none;width:14px;height:1px}.stage-line.done{background:var(--ink-2)}.stage-gap{background:var(--line-strong);flex:none;width:1px;height:16px;margin:0 4px}.chain-canvas{border-top:1px solid var(--line);background-color:var(--sunken);background-image:radial-gradient(var(--line-strong) 1px, transparent 1px);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-size:18px 18px;position:relative;overflow:hidden}.chain-canvas.dragging{cursor:grabbing}.chain-canvas svg{display:block}.chain-wire{stroke:var(--line-strong);stroke-width:1.5px;transition:stroke .12s}.chain-wire.lit{stroke:var(--accent);stroke-width:2px}.chain-node rect{fill:var(--surface);stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:4 3}.chain-node.staged rect{stroke-dasharray:none}.chain-node.staged{cursor:pointer}.chain-node.staged.lit rect,.chain-node.staged:focus-visible rect{stroke:var(--accent);stroke-width:1.5px}.chain-node:focus{outline:none}.chain-name{fill:var(--ink);font-size:13px;font-weight:600}.chain-node:not(.staged) .chain-name{fill:var(--muted);font-weight:500}.chain-sub{fill:var(--muted);font-size:11.5px}.chain-controls{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:2px;padding:2px;display:flex;position:absolute;bottom:10px;right:10px}.chain-foot{border-top:1px solid var(--line);min-height:42px;font-size:var(--text-sm);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:2px 14px;padding:10px 16px;display:flex}.clock-btn{margin-top:6px}.clock-btn .spacer{text-align:left}.clock-btn.on{border-color:var(--pos);color:var(--pos);background:var(--pos-soft)}.pos-layout{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 380px;gap:0;margin:0 -24px;display:grid}.pos-items{flex-direction:column;gap:12px;min-width:0;min-height:0;padding:14px 20px 0 24px;display:flex}.pos-items .chips{flex-wrap:wrap;min-width:0}.pos-cart{min-width:0}.pos-search{min-width:260px;height:36px}.pos-search input{font-size:var(--text-md)}.pos-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));grid-auto-rows:104px;align-content:start;gap:10px;min-height:0;padding-bottom:16px;display:grid;overflow-y:auto}.pos-tile{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex;overflow:hidden}.pos-tile:hover:not(:disabled){border-color:var(--accent);background:var(--surface-2)}.pos-tile:active:not(:disabled){transform:translateY(1px)}.pos-tile:disabled{cursor:default;color:var(--muted)}.pos-tile-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.pos-tile-zh{font-size:var(--text-sm);color:var(--muted)}.pos-tile-foot{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;width:100%;margin-top:auto;display:flex}.pos-tile-price{font-weight:600}.pos-tile-stock{font-size:var(--text-xs);color:var(--muted)}.pos-tile-stock.low{color:var(--warn)}.pos-tile-count{font-size:var(--text-sm);color:var(--accent);margin-left:auto;font-weight:600}.pos-cart{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:0;display:flex}.pos-customer{border-bottom:1px solid var(--line);padding:14px 16px 10px}.pos-lines{flex:1;min-height:0;overflow-y:auto}.pos-empty{padding:16px}.pos-line{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 16px;display:flex}.pos-line-main{align-items:baseline;gap:10px;display:flex}.pos-line-name{flex:1;min-width:0;font-weight:500}.pos-line-net{font-variant-numeric:tabular-nums;font-weight:600}.pos-line-controls{align-items:center;gap:8px;display:flex}.pos-qty{border:1px solid var(--line);border-radius:var(--r-sm);align-items:center;gap:2px;display:inline-flex}.pos-qty-n{text-align:center;font-variant-numeric:tabular-nums;min-width:26px;font-weight:600}.pos-disc{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.pos-disc .input{text-align:right;width:48px;height:28px;padding:0 6px}.pos-pay{border-top:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.pos-total{font-size:var(--text-xl);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.pos-methods{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.pos-methods .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.pos-pay-row{grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.pos-pay-method{font-size:var(--text-sm);font-weight:500}.pos-quick{flex-wrap:wrap;grid-column:2/-1;gap:6px;display:flex}.pos-status{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.pos-status.pos{color:var(--pos)}.pos-status.neg{color:var(--neg)}.pos-complete{height:44px;font-size:var(--text-md);justify-content:center}.pos-done{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.pos-done-label{color:var(--muted)}.pos-done-amount{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;font-weight:700}.pos-done-change{font-size:var(--text-2xl);color:var(--pos);font-variant-numeric:tabular-nums;font-weight:700}.pos-done-actions{gap:8px;margin-top:12px;display:flex}.pos-open{max-width:none}.pos-linked{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:8px 0;display:flex}.pos-qr{border-radius:var(--r-md);background:#fff;width:min(240px,70vw);padding:12px;line-height:0}.pos-qr svg{width:100%;height:auto}.pos-linked-amount{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:700}.pos-linked-state{max-width:360px;color:var(--muted);margin:0}.pos-linked-state.neg{color:var(--neg);font-weight:600}.pos-linked-state.pos{color:var(--pos);font-weight:600}.pos-demo{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.pos-close{flex-direction:column;gap:6px;margin:0 0 14px;display:flex}.pos-close>div{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.pos-close dt{color:var(--muted)}.pos-close .strong{border-top:1px solid var(--line);padding-top:6px;font-weight:700}.pos-close .strong dt{color:var(--ink)}.pos-mobile-bar{display:none}@media (max-width:1100px){.pos-layout{grid-template-columns:minmax(0,1fr) 340px}}@media (max-width:860px){.pos-page.page.fill{height:auto}.pos-layout{grid-template-columns:1fr;margin:0 -16px}.pos-items{padding:12px 16px 0}.pos-search{flex:100%;min-width:0}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-auto-rows:96px;overflow:visible}.pos-cart{border-left:0;border-top:1px solid var(--line)}.pos-lines{overflow:visible}.pos-mobile-bar{z-index:15;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px -12px;display:flex;position:sticky;bottom:0}}.store{background:var(--canvas);flex-direction:column;gap:20px;min-height:100dvh;padding:24px max(16px,50vw - 600px) 96px;display:flex}.store-head h1{font-size:var(--text-xl);font-weight:650}.store-empty{text-align:center;padding:48px 0}.store-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.store-item{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding-bottom:12px;display:flex}.store-item.sold-out{opacity:.55}.store-photo{aspect-ratio:1;border-radius:var(--r-lg);background:var(--surface-2);color:var(--faint);place-items:center;font-size:40px;font-weight:600;display:grid;overflow:hidden}.store-photo img{object-fit:cover;width:100%;height:100%}.store-info{flex-direction:column;gap:2px;min-width:0;display:flex}.store-info p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;display:-webkit-box;overflow:hidden}.store-item>.btn{align-self:flex-start}.stepper{border:1px solid var(--line-strong);border-radius:var(--r-md);align-self:flex-start;align-items:center;height:32px;display:inline-flex}.stepper button{width:32px;height:100%;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-weight:600}.store-bar{padding:12px max(16px,50vw - 600px);padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.store-bar span{align-items:center;gap:6px;display:inline-flex}.store-checkout{flex-direction:column;gap:14px;max-width:640px;display:flex}.store-checkout h2,.store-done h2{font-size:var(--text-lg);font-weight:600}.store-form{flex-direction:column;gap:12px;display:flex}.store-picks{flex-wrap:wrap;gap:6px;display:flex}.store-pick{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--text);cursor:pointer;padding:0 14px}.store-pick.on{border-color:var(--accent);background:var(--accent-soft,var(--surface-2));color:var(--accent);font-weight:600}.store-hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.store-done{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.sign-page{background:var(--canvas);justify-content:center;min-height:100dvh;padding:24px 16px 64px;display:flex}.sign-doc{flex-direction:column;gap:20px;width:min(760px,100%);display:flex}.sign-doc h1{font-size:var(--text-xl);margin:4px 0;font-weight:650}.sign-body{white-space:pre-wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;line-height:1.6}.sign-form{flex-direction:column;gap:14px;display:flex}.sign-result{border-radius:var(--r-md);background:var(--surface-2);padding:14px 16px}.sign-result.ok b{color:var(--pos)}.cell-stage{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.cell-stage:hover .pill,.cell-stage[aria-expanded=true] .pill{box-shadow:0 0 0 1px var(--line-strong)}.seg-picks{flex-wrap:wrap;gap:6px;display:flex}.seg-pick{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);height:34px;color:var(--text);cursor:pointer;padding:0 14px}.seg-pick.on{border-color:var(--accent);background:var(--accent-soft,var(--surface-2));color:var(--accent);font-weight:600}
