:root{color-scheme:light;--ink-1: #141821;--ink-2: #363c4a;--ink-3: #5f6675;--ink-4: #7d8492;--ink-5: #a3a9b5;--canvas: #f3f4f7;--surface: #ffffff;--surface-soft: #f8f9fb;--surface-tertiary: #f0f2f5;--fill: #e9ecf1;--line: #e4e7ec;--line-strong: #d3d8e0;--overlay: rgba(14, 17, 24, .44);--primary: #3a4bd6;--primary-strong: #2b3ab2;--primary-soft: #eef0fd;--primary-line: #c7cdf6;--on-primary: #ffffff;--accent: var(--primary);--accent-strong: var(--primary-strong);--on-accent: var(--on-primary);--success: #13804c;--success-soft: #e4f4eb;--warning: #a46200;--warning-soft: #fcf0da;--danger: #c4314a;--danger-soft: #fce8eb;--info: #1f6fb8;--info-soft: #e5f0fb;--rail: #151821;--rail-raised: #1d212c;--rail-hover: #222733;--rail-active: #2b3142;--rail-ink: #eceef3;--rail-ink-2: #8f96a5;--rail-line: rgba(255, 255, 255, .07);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 12px;--r-2xl: 16px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 20, 30, .05);--shadow-md: 0 1px 2px rgba(16, 20, 30, .04), 0 6px 18px rgba(16, 20, 30, .06);--shadow-lg: 0 10px 30px rgba(16, 20, 30, .12), 0 2px 6px rgba(16, 20, 30, .05);--shadow-xl: 0 24px 64px rgba(16, 20, 30, .22), 0 6px 16px rgba(16, 20, 30, .08);--ring-focus: 0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);--font-sans: "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Cascadia Mono", "JetBrains Mono", ui-monospace, Consolas, monospace;--font-editorial: var(--font-sans);--fs-xs: 11px;--fs-sm: 12px;--fs-body: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-title: 20px;--fs-display: 26px;--fs-hero: 34px;--fs-note: var(--fs-sm);--fs-section: var(--fs-md);--fs-value: var(--fs-display);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--gap: 12px;--page-x: 24px;--page-y: 20px;--page-max: 1680px;--control-h: 34px;--control-h-sm: 28px;--control-h-lg: 44px;--row-h: 44px;--sidebar-w: 212px;--sidebar-w-collapsed: 64px;--topbar-h: 56px;--ease-snap: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--t1: .12s;--t2: .18s;--t3: .26s;--r2: var(--r-sm);--bg-sidebar: var(--rail);--bg-base: var(--canvas);--bg-raised: var(--surface);--bg-hover: var(--surface-tertiary);--bg-subtle: var(--surface-soft);--panel-bg: var(--surface);--border: var(--line);--border-dim: var(--line);--border-subtle: var(--line-strong);--border-mid: var(--line-strong);--border-strong: var(--ink-5);--text-primary: var(--ink-1);--text-secondary: var(--ink-3);--text-tertiary: var(--ink-4);--accent-dim: var(--primary-soft);--accent-deep: var(--primary-strong);--accent-grad: var(--primary);--red: var(--danger);--red-dim: var(--danger-soft);--gold: var(--warning);--intake-blue: var(--primary);--ops-blue: var(--primary);--ops-ink: var(--ink-1);--ops-muted: var(--ink-3);--ops-line: var(--line);--svc-blue: var(--primary);--svc-ink: var(--ink-1);--svc-muted: var(--ink-3);--svc-border: var(--line);--home-accent: var(--primary);--feedback-accent: var(--primary);--workspace-body: var(--fs-body);--workspace-small: var(--fs-sm);--workspace-title: var(--fs-title);--workspace-control: var(--control-h);--workspace-space: var(--s4);--fs-body-legacy: 14px}:root[data-brand=teal]{--primary: #0f7a6c;--primary-strong: #0a5f54;--primary-soft: #e3f4f1;--primary-line: #a9ddd5}:root[data-brand=wine]{--primary: #a1304f;--primary-strong: #82233e;--primary-soft: #fbe9ee;--primary-line: #efbccb}:root[data-brand=ink]{--primary: #1f2430;--primary-strong: #0f131b;--primary-soft: #eceef2;--primary-line: #c9cdd6}:root[data-brand=amber]{--primary: #b25e09;--primary-strong: #8f4b06;--primary-soft: #fcf0e2;--primary-line: #f0cfa6}:root[data-brand=violet]{--primary: #6a43c9;--primary-strong: #5432a8;--primary-soft: #f1ecfc;--primary-line: #d3c6f4}:root[data-theme=dark]{color-scheme:dark;--ink-1: #eceef3;--ink-2: #c8ccd5;--ink-3: #9aa1ae;--ink-4: #7b8290;--ink-5: #5b6270;--canvas: #0f1117;--surface: #171a22;--surface-soft: #1b1f28;--surface-tertiary: #21252f;--fill: #2a2f3b;--line: #2a2f3b;--line-strong: #394050;--overlay: rgba(0, 0, 0, .6);--primary: #8592ff;--primary-strong: #a4adff;--primary-soft: #232849;--primary-line: #3d4580;--on-primary: #0e1018;--success: #4cc38a;--success-soft: #15301f;--warning: #e3a33b;--warning-soft: #362811;--danger: #f06a80;--danger-soft: #3a1a22;--info: #67a8ee;--info-soft: #172a40;--rail: #0b0d12;--rail-raised: #12151c;--rail-hover: #1a1e28;--rail-active: #252a3a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .45);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.55;color:var(--ink-1);background:var(--canvas);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed}input,textarea,select{outline:none;background:none;border:0}input::placeholder,textarea::placeholder{color:var(--ink-5)}select option{background:var(--surface);color:var(--ink-1)}img,svg,video{display:block;max-width:100%}svg{flex:none}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;letter-spacing:-.005em;color:var(--ink-1);text-wrap:balance}h1{font-size:var(--fs-title)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}h4,h5,h6{font-size:var(--fs-body)}p{color:var(--ink-2)}small{font-size:var(--fs-sm)}strong,b{font-weight:700}hr{border:0;border-top:1px solid var(--line)}code,kbd,.mono{font-family:var(--font-mono)}input[type=number]{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--ink-5);background-clip:padding-box}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.spin{animation:spin 1s linear infinite}.num,.tabular{font-variant-numeric:tabular-nums}.muted,.app-muted{color:var(--ink-4);font-size:var(--fs-sm);line-height:1.6}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-right{text-align:right}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.simple-hidden{display:none}.stack{display:flex;flex-direction:column;gap:var(--s3)}.row{display:flex;align-items:center;gap:var(--s2)}.grow{flex:1;min-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.btn{--btn-bg: var(--surface);--btn-fg: var(--ink-1);--btn-line: var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 14px;border:1px solid var(--btn-line);border-radius:var(--r-sm);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-body);font-weight:600;line-height:1;white-space:nowrap;transition:background-color var(--t1),border-color var(--t1),color var(--t1),box-shadow var(--t1),transform var(--t1);-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){--btn-bg: var(--surface-tertiary)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--ring-focus);border-color:var(--primary)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45}.btn svg{width:15px;height:15px}.btn-primary{--btn-bg: var(--primary);--btn-fg: var(--on-primary);--btn-line: var(--primary)}.btn-primary:hover:not(:disabled){--btn-bg: var(--primary-strong);--btn-line: var(--primary-strong)}.btn-secondary{--btn-bg: var(--primary-soft);--btn-fg: var(--primary-strong);--btn-line: transparent}.btn-secondary:hover:not(:disabled){--btn-bg: color-mix(in srgb, var(--primary) 16%, var(--surface))}.btn-ghost{--btn-bg: var(--surface)}.btn-quiet,.btn-text{--btn-bg: transparent;--btn-line: transparent;--btn-fg: var(--ink-2)}.btn-quiet:hover:not(:disabled),.btn-text:hover:not(:disabled){--btn-bg: var(--surface-tertiary);--btn-fg: var(--ink-1)}.btn-danger{--btn-bg: var(--surface);--btn-fg: var(--danger);--btn-line: color-mix(in srgb, var(--danger) 35%, var(--line))}.btn-danger:hover:not(:disabled){--btn-bg: var(--danger-soft)}.btn-danger-solid{--btn-bg: var(--danger);--btn-fg: #fff;--btn-line: var(--danger)}.btn.danger{--btn-fg: var(--danger)}.btn-sm{height:var(--control-h-sm);padding:0 10px;font-size:var(--fs-sm);gap:4px}.btn-sm svg{width:14px;height:14px}.btn-lg{height:var(--control-h-lg);padding:0 20px;font-size:var(--fs-md);border-radius:var(--r-md)}.btn-block{width:100%}.btn .kbd-hint{font-family:var(--font-mono);font-size:10px;font-weight:500;opacity:.6;margin-left:2px}.btn-icon{display:inline-grid;place-items:center;flex:none;width:var(--control-h);height:var(--control-h);border-radius:var(--r-sm);color:var(--ink-3);background:transparent;border:1px solid transparent;transition:background-color var(--t1),color var(--t1)}.btn-icon:hover:not(:disabled){background:var(--surface-tertiary);color:var(--ink-1)}.btn-icon:focus-visible{outline:none;box-shadow:var(--ring-focus)}.btn-icon.sm{width:var(--control-h-sm);height:var(--control-h-sm)}.btn-icon svg{width:17px;height:17px}.text-link,.link-button{color:var(--primary);font-weight:600;background:none;border:0;padding:0;cursor:pointer;text-align:left}.text-link:hover,.link-button:hover{text-decoration:underline}.field{display:block;width:100%;min-width:0;height:var(--control-h);padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-1);font-size:var(--fs-body);font-weight:400;transition:border-color var(--t1),box-shadow var(--t1)}textarea.field{height:auto;min-height:64px;padding:8px 10px;line-height:1.5;resize:vertical}select.field{padding-right:28px;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='%237d8492' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}.field:hover:not(:disabled){border-color:var(--ink-5)}.field:focus{border-color:var(--primary);box-shadow:var(--ring-focus)}.field:disabled,.field[readonly]{background:var(--surface-soft);color:var(--ink-3)}.field[aria-invalid=true]{border-color:var(--danger)}.field.lg{height:var(--control-h-lg);font-size:var(--fs-md)}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:15px;height:15px;cursor:pointer}.app-field{display:grid;gap:6px;min-width:0;font-size:var(--fs-sm);color:var(--ink-3);font-weight:600}.app-field>span:first-child{color:var(--ink-2)}.app-field.simple-hidden{display:none}.app-field small,.field-hint{font-weight:400;color:var(--ink-4);font-size:var(--fs-sm)}label:has(>.field){font-size:var(--fs-sm);color:var(--ink-2);font-weight:600}.app-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s4)}.app-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.app-form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.app-form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.app-form-grid>.wide,.app-form-grid>.span-all{grid-column:1 / -1}.app-fieldset{border:0;padding:0;margin:0;min-width:0}.app-number{width:96px}.app-search{position:relative;display:flex;align-items:center;min-width:0}.app-search>svg{position:absolute;left:10px;width:16px;height:16px;color:var(--ink-4);pointer-events:none}.app-search input{width:100%;height:var(--control-h);padding:0 12px 0 34px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface)}.app-search input:focus{border-color:var(--primary);box-shadow:var(--ring-focus)}.check-row,.simple-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;color:var(--ink-2);cursor:pointer}.check-row input,.simple-check input{margin-top:2px}.switch{position:relative;display:inline-flex;width:36px;height:20px;flex:none}.switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:999px;background:var(--fill);transition:background-color var(--t2);pointer-events:none}.switch span:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--t2) var(--ease-snap)}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:after{transform:translate(16px)}.switch input:focus-visible+span{box-shadow:var(--ring-focus)}.segmented{display:inline-flex;padding:2px;gap:2px;border-radius:var(--r-sm);background:var(--surface-tertiary);border:1px solid var(--line)}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 12px;border-radius:4px;font-size:var(--fs-sm);color:var(--ink-3);font-weight:600;white-space:nowrap}.segmented button svg{width:14px;height:14px;flex:none}.segmented button:hover{color:var(--ink-1)}.segmented button.active,.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink-1);box-shadow:var(--shadow-sm)}.tag,.app-badge,.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:700;white-space:nowrap;line-height:1;background:var(--surface-tertiary);color:var(--ink-3)}.tag.ok,.tag.success,.app-badge.success{background:var(--success-soft);color:var(--success)}.tag.warn,.tag.warning,.app-badge.warning{background:var(--warning-soft);color:var(--warning)}.tag.bad,.tag.danger,.app-badge.danger{background:var(--danger-soft);color:var(--danger)}.tag.accent,.tag.primary,.app-badge.primary{background:var(--primary-soft);color:var(--primary-strong)}.tag.info{background:var(--info-soft);color:var(--info)}.tag.outline{background:transparent;border:1px solid var(--line-strong);color:var(--ink-2);font-weight:600}.tag .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.count-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line-strong);color:var(--ink-2);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}button.chip:hover{border-color:var(--ink-5);color:var(--ink-1)}.chip.active,.chip[aria-pressed=true]{background:var(--primary-soft);color:var(--primary-strong);border-color:var(--primary-line)}.chip .chip-count{color:var(--ink-4);font-weight:600;font-variant-numeric:tabular-nums}.chip.active .chip-count{color:inherit;opacity:.75}kbd,.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--ink-3);line-height:1;background:var(--surface);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px}.color-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex:none;vertical-align:-1px}.card,.app-panel,.simple-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0}.app-panel,.simple-card{padding:var(--s4)}.simple-card strong{display:block;font-size:var(--fs-title);margin:6px 0;font-variant-numeric:tabular-nums}.card-head{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;min-height:48px;padding:8px var(--s4);border-bottom:1px solid var(--line)}.card-head h2,.card-head h3{font-size:var(--fs-md);font-weight:700}.card-head .sub{color:var(--ink-4);font-size:var(--fs-sm)}.card-head .end{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}.card-body{padding:var(--s4)}.card-foot{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--line)}.app-panel h2,.app-subsection h3{font-size:var(--fs-md);font-weight:700;margin-bottom:var(--s3)}.app-panel h2 small,.app-subsection h3 small{color:var(--ink-4);font-weight:400;font-size:var(--fs-sm)}.app-subsection{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}.page{display:flex;flex-direction:column;gap:var(--s4);padding:var(--page-y) var(--page-x) var(--s8);min-width:0;max-width:var(--page-max);margin:0 auto;width:100%;animation:rise-in var(--t3) var(--ease-snap)}.page-header,.app-toolbar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;min-height:36px}.page-header .titles,.app-toolbar>div:first-child{display:flex;align-items:baseline;gap:var(--s3);min-width:0;flex-wrap:wrap}.page-header h1,.app-toolbar h1{font-size:var(--fs-title);font-weight:800;letter-spacing:-.01em}.page-header .sub,.app-toolbar p{color:var(--ink-4);font-size:var(--fs-sm);max-width:72ch}.page-header .actions,.app-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.app-page{display:flex;flex-direction:column;gap:var(--s4);padding:var(--page-y) var(--page-x) var(--s8);min-width:0}.simple-workspace{display:flex;flex-direction:column;min-width:0;width:100%;min-height:100%}.simple-section{padding:var(--page-y) var(--page-x);width:100%;max-width:var(--page-max);margin:0 auto;display:flex;flex-direction:column;gap:var(--s3)}.simple-section>h2{font-size:var(--fs-lg);font-weight:800}.simple-section>h3{font-size:var(--fs-md)}.simple-section p{line-height:1.7}.simple-section+.simple-section{padding-top:0}details.simple-section>summary{cursor:pointer;font-weight:700;color:var(--ink-2);padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);list-style:none;display:flex;align-items:center;gap:8px}details.simple-section>summary:before{content:"›";display:inline-block;transition:transform var(--t2);color:var(--ink-4);font-size:18px;line-height:1}details.simple-section[open]>summary:before{transform:rotate(90deg)}.simple-actions,.app-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.simple-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s3)}.simple-form{display:grid;gap:var(--s4);max-width:760px}.simple-form fieldset{border:0;display:grid;gap:var(--s3)}.simple-form label{display:grid;gap:6px}.simple-readonly{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-3);line-height:1.6}.simple-pending{border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);border-radius:var(--r-md);background:var(--warning-soft);padding:12px 16px;color:var(--warning)}.simple-amount{font-variant-numeric:tabular-nums}.simple-tabs,.tabs{display:flex;align-items:flex-end;gap:4px;overflow-x:auto;scrollbar-width:none;padding:0 var(--page-x);background:var(--surface);border-bottom:1px solid var(--line);min-height:46px;flex:none}.simple-tabs::-webkit-scrollbar{display:none}.simple-tabs button,.tabs>button,.tabs>a{position:relative;display:inline-flex;flex:none;align-items:center;gap:6px;height:46px;padding:0 12px;color:var(--ink-3);font-weight:600;font-size:var(--fs-body);white-space:nowrap;border-radius:0;background:none}.simple-tabs button:hover,.tabs>button:hover{color:var(--ink-1)}.simple-tabs button.active,.tabs>button.active,.tabs>button[aria-selected=true]{color:var(--ink-1)}.simple-tabs button.active:after,.tabs>button.active:after,.tabs>button[aria-selected=true]:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--primary)}.tabs .tab-count{font-size:var(--fs-xs);font-weight:700;background:var(--surface-tertiary);color:var(--ink-3);border-radius:999px;padding:1px 6px;font-variant-numeric:tabular-nums}.tabs>button.active .tab-count{background:var(--primary);color:var(--on-primary)}.tabs.inset{padding:0 var(--s4);border-radius:var(--r-lg) var(--r-lg) 0 0;min-height:44px}.tabs.inset>button{height:44px}.app-table-scroll,.table-scroll{overflow:auto;min-width:0}.retained-region{position:relative}.retained-region[data-refreshing=true]:after{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--primary),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:retained-progress 1.2s linear .18s infinite;opacity:0}@keyframes retained-progress{0%{background-position:-70% 0;opacity:.5}to{background-position:170% 0;opacity:.5}}@media(prefers-reduced-motion:reduce){.retained-region[data-refreshing=true]:after{animation:none;background-size:100% 100%;opacity:.4}}:where(.app-table-scroll,.table-scroll)>:where(.app-table,.data-table):where(:has(thead tr>:nth-child(5))){min-width:720px}.intake-history-table{min-width:780px}.intake-history-table td:nth-child(2){min-width:180px;max-width:280px;overflow-wrap:anywhere}.coupon-campaigns-table{min-width:720px}.coupon-campaigns-table td:first-child{min-width:180px;max-width:260px;overflow-wrap:anywhere}.expense-records-table{min-width:760px}.expense-records-table td:nth-child(2){min-width:200px;max-width:320px;overflow-wrap:anywhere}.app-table,.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-body)}.app-table th,.data-table th{position:sticky;top:0;z-index:1;height:36px;padding:0 12px;text-align:left;white-space:nowrap;font-size:var(--fs-sm);font-weight:600;color:var(--ink-4);background:var(--surface-soft);border-bottom:1px solid var(--line)}.app-table td,.data-table td{height:var(--row-h);padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-1)}.app-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:0}.app-table tbody tr,.data-table tbody tr{transition:background-color var(--t1)}.app-table tbody tr:hover td,.data-table tbody tr:hover td{background:var(--surface-soft)}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.selected td,.app-table tbody tr.selected td{background:var(--primary-soft)}.data-table tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.app-table td p,.data-table td p{color:var(--ink-4);font-size:var(--fs-sm);margin-top:2px}.app-table .num,.data-table .num,.app-table td.r,.data-table td.r,.data-table th.r,.app-table th.r{text-align:right;font-variant-numeric:tabular-nums}.data-table th.check,.data-table td.check{width:40px;padding-right:0}.data-table .cell-sub{display:block;color:var(--ink-4);font-size:var(--fs-sm);margin-top:2px}.table-empty,.app-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 16px;color:var(--ink-4);text-align:center}.table-empty>svg,.app-empty>svg{width:36px;height:36px;color:var(--ink-5)}.table-empty strong{color:var(--ink-2);font-size:var(--fs-md)}.skeleton{display:block;height:12px;border-radius:4px;background:linear-gradient(90deg,var(--surface-tertiary) 0,var(--fill) 50%,var(--surface-tertiary) 100%);background-size:400px 100%;animation:shimmer 1.2s linear infinite}.app-pagination,.pager{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2);padding:10px var(--s4);border-top:1px solid var(--line);color:var(--ink-4);font-size:var(--fs-sm)}.app-pagination>span:first-child,.pager .info{margin-right:auto;font-variant-numeric:tabular-nums}.pager select.field{width:auto;height:var(--control-h-sm)}.bulk-bar{position:sticky;bottom:16px;z-index:5;display:flex;align-items:center;gap:var(--s2);margin:0 auto;padding:8px 8px 8px 16px;width:max-content;max-width:calc(100% - 32px);border-radius:var(--r-lg);background:var(--rail);color:var(--rail-ink);box-shadow:var(--shadow-xl);animation:rise-in var(--t2) var(--ease-snap)}.bulk-bar strong{margin-right:var(--s3);font-variant-numeric:tabular-nums}.bulk-bar .btn{--btn-bg: var(--rail-raised);--btn-fg: var(--rail-ink);--btn-line: var(--rail-line)}.bulk-bar .btn:hover:not(:disabled){--btn-bg: var(--rail-hover)}.bulk-bar .btn-primary{--btn-bg: var(--primary);--btn-fg: var(--on-primary);--btn-line: var(--primary)}.filter-bar{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:10px var(--s4);border-bottom:1px solid var(--line)}.filter-bar .app-search{width:260px}.filter-bar .field,.filter-bar select.field{width:auto;height:30px;font-size:var(--fs-sm)}.filter-bar .spacer{flex:1}.app-banner,.notice{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--r-md);background:var(--info-soft);color:var(--ink-2);border:1px solid color-mix(in srgb,var(--info) 20%,transparent);line-height:1.6}.app-banner>svg,.notice>svg{width:17px;height:17px;margin-top:2px;color:var(--info)}.app-banner .btn,.notice .btn{margin-left:auto}.notice.warn,.app-banner.warning{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 25%,transparent)}.notice.warn>svg,.app-banner.warning>svg{color:var(--warning)}.notice.bad,.app-banner.danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.notice.bad>svg,.app-banner.danger>svg{color:var(--danger)}.notice.ok{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.notice.ok>svg{color:var(--success)}.app-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}.app-error svg{margin-top:1px}p[role=status]:not([class]){padding:8px 12px;border-radius:var(--r-md);background:var(--success-soft);color:var(--success);font-size:var(--fs-sm)}.app-modal-overlay{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px;background:var(--overlay);animation:fade-in var(--t2) ease-out}.app-modal{display:flex;flex-direction:column;width:min(560px,100%);min-width:0;max-width:100%;max-height:min(88vh,900px);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);overflow:hidden;outline:none;animation:rise-in var(--t3) var(--ease-snap)}.app-modal.wide{width:min(960px,100%)}.app-modal.xwide{width:min(1240px,100%)}.app-modal>header{display:flex;flex:none;align-items:flex-start;gap:var(--s3);padding:18px 20px 14px;border-bottom:1px solid var(--line)}.app-modal-heading{flex:1;min-width:0}.app-modal-heading h2{font-size:var(--fs-lg);font-weight:800}.app-modal-heading p{color:var(--ink-4);font-size:var(--fs-sm);margin-top:3px}.app-modal-header-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}.app-modal-body{flex:1;min-height:0;overflow:auto;padding:18px 20px;display:flex;flex-direction:column;gap:var(--s3)}.app-modal>footer{display:flex;flex:none;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--s2);padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-soft)}.drawer-scrim{position:fixed;inset:0;z-index:900;background:color-mix(in srgb,var(--overlay) 55%,transparent);animation:fade-in var(--t2) ease-out}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:901;display:flex;flex-direction:column;width:min(var(--drawer-w, 480px),100vw);background:var(--surface);box-shadow:var(--shadow-xl);outline:none;animation:slide-in-right var(--t3) var(--ease-snap)}.drawer.md{--drawer-w: 560px}.drawer.lg{--drawer-w: 720px}.drawer.xl{--drawer-w: 920px}.drawer-head{display:flex;flex:none;align-items:flex-start;gap:var(--s3);padding:16px 18px;border-bottom:1px solid var(--line)}.drawer-head .titles{flex:1;min-width:0}.drawer-head h2{font-size:var(--fs-lg);font-weight:800}.drawer-head .sub{color:var(--ink-4);font-size:var(--fs-sm);margin-top:2px}.drawer-tabs{padding:0 18px;min-height:42px}.drawer-tabs>button{height:42px}.drawer-body{flex:1;min-height:0;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:var(--s4);container:drawer-content / inline-size}.drawer-body>*{flex-shrink:0}.drawer-foot{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:var(--s2);padding:12px 18px;border-top:1px solid var(--line);background:var(--surface-soft)}.drawer-foot .spacer{flex:1}.section-title{font-size:var(--fs-sm);font-weight:700;color:var(--ink-3);letter-spacing:.02em;margin-bottom:8px;display:flex;align-items:center;gap:8px}.section-title .end{margin-left:auto;font-weight:500;color:var(--ink-4)}.kv-grid{display:grid;grid-template-columns:repeat(var(--kv-cols, 3),minmax(0,1fr));gap:8px}.kv-grid>div{padding:10px 12px;border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line);min-width:0}.kv-grid span{display:block;font-size:var(--fs-xs);color:var(--ink-4);font-weight:600}.kv-grid strong{display:block;font-size:var(--fs-lg);font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px;overflow-wrap:anywhere}.kv-list{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;font-size:var(--fs-body)}.kv-list dt{color:var(--ink-4)}.kv-list dd{color:var(--ink-1);min-width:0;overflow-wrap:anywhere}@container drawer-content (max-width: 420px){.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-grid{display:grid;grid-template-columns:repeat(var(--stat-cols, 4),minmax(0,1fr));gap:var(--gap)}.stat{position:relative;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0}.stat .label{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:var(--fs-sm);font-weight:600}.stat .label svg{width:15px;height:15px;color:var(--ink-4);margin-left:auto}.stat .value{display:block;margin-top:6px;font-size:var(--fs-display);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.stat .foot{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--ink-4)}.delta-up{color:var(--success);font-weight:700}.delta-down{color:var(--danger);font-weight:700}.matrix{border-collapse:separate;border-spacing:4px;margin:-4px;font-size:var(--fs-body)}.matrix th{padding:2px 6px;font-weight:600;font-size:var(--fs-sm);color:var(--ink-4);text-align:center;white-space:nowrap}.matrix th.row-head{text-align:left;color:var(--ink-2)}.matrix th.row-head .color-dot{margin-right:6px}.matrix td{min-width:52px;height:36px;padding:0 4px;text-align:center;border-radius:var(--r-sm);background:var(--surface-soft);border:1px solid var(--line);font-weight:700;font-variant-numeric:tabular-nums}.matrix td.low{background:var(--warning-soft);border-color:transparent;color:var(--warning)}.matrix td.zero{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.matrix td.none{background:transparent;border-style:dashed;color:var(--ink-5);font-weight:400}.matrix td.sum{background:transparent;border-color:transparent;color:var(--ink-4);font-weight:600}.matrix td.total{background:transparent;border-color:transparent;color:var(--ink-1);font-weight:800}.matrix td.edit{padding:0;background:var(--surface);border-color:var(--line-strong)}.matrix td.edit:focus-within{border-color:var(--primary);box-shadow:var(--ring-focus)}.matrix td.edit input{width:100%;height:34px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.matrix td.edit input::placeholder{color:var(--ink-5);font-weight:400}.matrix td.edit.filled{background:var(--primary-soft);border-color:var(--primary-line)}.matrix-scroll{overflow-x:auto;padding:4px}.popover{position:absolute;z-index:50;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:rise-in var(--t2) var(--ease-snap)}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--r-sm);text-align:left;color:var(--ink-1)}.menu-item:hover,.menu-item.active{background:var(--surface-tertiary)}.menu-item small{color:var(--ink-4);margin-left:auto}.app-loading{display:grid;place-items:center;gap:12px;height:100%;color:var(--ink-4)}.app-data-sync{position:fixed;right:20px;bottom:20px;z-index:30;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--ink-3);font-size:var(--fs-sm)}.app-list-row{display:flex;align-items:center;gap:var(--s3);padding:10px 0;border-bottom:1px solid var(--line)}.app-list-row>div:first-of-type{flex:1;min-width:0}.app-list-row small{display:block;color:var(--ink-4);font-size:var(--fs-sm)}.thumb{flex:none;width:36px;height:44px;border-radius:var(--r-sm);background:var(--surface-tertiary);object-fit:cover;display:grid;place-items:center;color:var(--ink-5);overflow:hidden}.thumb svg{width:16px;height:16px}.thumb.lg{width:56px;height:68px}.thumb.sm{width:28px;height:34px}.prod-cell{display:flex;align-items:center;gap:10px;min-width:0}.prod-cell .meta{min-width:0}.prod-cell strong{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prod-cell small{display:block;color:var(--ink-4);font-family:var(--font-mono);font-size:var(--fs-xs)}.sku-chips{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:3px}.sku-chips span{height:18px;display:inline-flex;align-items:center;padding:0 6px;border-radius:4px;border:1px solid var(--line-strong);background:var(--surface-soft);color:var(--ink-2);font-size:var(--fs-xs);font-weight:600}@media(max-width:900px){:root{--page-x: 16px}.app-form-grid,.app-form-grid.cols-3,.app-form-grid.cols-4{grid-template-columns:minmax(0,1fr)}.stat-grid{--stat-cols: 2}.kv-grid{--kv-cols: 2}}.steps-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap)}.step{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.step>svg{width:20px;height:20px;color:var(--primary);flex:none;margin-top:2px}.step strong{display:block}.step small{display:block;color:var(--ink-4)}.step-no{position:absolute;top:10px;right:12px;font-size:var(--fs-xs);font-weight:800;color:var(--ink-5);font-variant-numeric:tabular-nums}.pay-success{width:min(440px,100%)}.pay-success-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 16px}.pay-success-hero .ok-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--success-soft);color:var(--success);margin-bottom:6px}.pay-success-hero .ok-icon svg{width:30px;height:30px}.pay-success-hero strong{font-size:var(--fs-hero);font-weight:800}.pay-success-hero .change{font-size:var(--fs-lg);font-weight:800;color:var(--primary)}.line-items{list-style:none;display:grid;gap:2px}.line-items li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}.line-items li:last-child{border-bottom:0}.line-items strong{display:block}.line-items .line-total{width:84px;text-align:right}.amount-box{display:grid;gap:6px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line)}.amount-box>div{display:flex;justify-content:space-between;color:var(--ink-3)}.amount-box .sub-line{font-size:var(--fs-sm);color:var(--ink-4);padding-left:10px;gap:12px}.amount-box .sub-line span:last-child{text-align:right}.amount-box .strong-line{color:var(--ink-1);font-weight:800;font-size:var(--fs-md)}.timeline{list-style:none;position:relative;display:grid;gap:14px;padding-left:18px}.timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:var(--line-strong)}.timeline li{position:relative;display:grid;gap:2px}.timeline li:before{content:"";position:absolute;left:-18px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--ink-5)}.timeline li.ok:before{border-color:var(--success);background:var(--success)}.timeline li.bad:before{border-color:var(--danger)}.timeline li.info:before{border-color:var(--primary)}.timeline small{color:var(--ink-4);font-size:var(--fs-sm)}.timeline .text-link{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-sm);margin-left:4px}.order-mini{list-style:none;padding:6px 0}.right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.right small{color:var(--ink-4);font-size:var(--fs-xs)}.order-mini li+li{border-top:1px solid var(--line)}.order-mini button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 16px;text-align:left}.order-mini button:hover{background:var(--surface-soft)}.order-mini strong{display:block;font-size:var(--fs-sm)}.order-mini small{display:block;color:var(--ink-4);font-size:var(--fs-xs)}.order-mini .strong{font-weight:800}.order-mini.compact{padding:0}.order-mini.compact button{padding-inline:0}.order-mini .chev{width:15px;height:15px;color:var(--ink-5)}.avatar.lg{width:48px;height:48px;font-size:var(--fs-title)}.pref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pref-grid>div{padding:8px 10px;border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line)}.pref-grid>div.wide{grid-column:1 / -1}.pref-grid span{display:block;font-size:var(--fs-xs);color:var(--ink-4)}.pref-grid strong{font-size:var(--fs-md)}.page-header .actions .field,.filter-bar select.field{width:auto;min-width:120px}.summary-lines{display:grid;gap:6px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line)}.summary-lines>div{display:flex;justify-content:space-between;color:var(--ink-3)}.summary-lines strong{color:var(--ink-1)}.simple-actions>.field,.simple-actions>select.field{width:auto;flex:0 1 220px;min-width:140px}.simple-actions>input.field:not([type=date]):not([type=number]){flex:1 1 260px}.simple-actions>.app-field{flex:0 0 auto}.simple-actions>.app-field .field{width:160px}.simple-form label.simple-check,.simple-form label.check-row{display:flex;align-items:center;gap:10px}.simple-form>.btn,.simple-form>button{justify-self:start}.notice.shop-off{margin:12px var(--page-x) 0}.feedback-layer{position:fixed;z-index:20000;top:calc(var(--topbar-h) + 12px);right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.feedback-toast{--feedback-accent: var(--success);--feedback-tint: var(--success-soft);position:relative;display:flex;align-items:flex-start;gap:12px;width:min(380px,calc(100vw - 32px));padding:12px 12px 14px 14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--feedback-accent);border-radius:var(--r-md);box-shadow:var(--shadow-lg);color:var(--ink-2);pointer-events:auto;overflow:hidden;animation:slide-in-right var(--t3) var(--ease-snap)}.feedback-toast.is-error{--feedback-accent: var(--danger);--feedback-tint: var(--danger-soft)}.feedback-symbol{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--feedback-tint);color:var(--feedback-accent)}.feedback-symbol svg{width:16px;height:16px}.feedback-copy{flex:1;min-width:0}.feedback-copy strong{display:block;font-size:var(--fs-body);font-weight:700;color:var(--ink-1);line-height:1.5}.feedback-copy p{margin-top:2px;font-size:var(--fs-sm);color:var(--ink-3);line-height:1.55;overflow-wrap:anywhere;max-height:30vh;overflow:auto}.feedback-close{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border-radius:var(--r-xs);color:var(--ink-4)}.feedback-close:hover{background:var(--surface-tertiary);color:var(--ink-1)}.feedback-progress{position:absolute;height:2px;bottom:0;left:0;width:100%;background:var(--feedback-accent);opacity:.5;transform-origin:left;animation:feedback-timeout var(--feedback-duration) linear forwards;animation-play-state:var(--feedback-play-state, running)}@keyframes feedback-timeout{to{transform:scaleX(0)}}.confirm-dialog-overlay{position:fixed;inset:0;z-index:21000;display:grid;place-items:center;padding:24px;background:var(--overlay);animation:fade-in var(--t2) ease-out}.confirm-dialog-card{position:relative;width:min(420px,100%);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);padding:20px;display:grid;gap:16px;animation:rise-in var(--t3) var(--ease-snap);outline:none}.confirm-dialog-close{position:absolute;top:12px;right:12px;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-4)}.confirm-dialog-close:hover{background:var(--surface-tertiary);color:var(--ink-1)}.confirm-dialog-header{display:flex;gap:14px;align-items:flex-start;padding-right:24px}.confirm-dialog-badge{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--warning-soft);color:var(--warning)}.confirm-dialog-badge svg{width:20px;height:20px}.confirm-dialog-badge.is-danger{background:var(--danger-soft);color:var(--danger)}.confirm-dialog-badge.is-info,.confirm-dialog-badge.is-logout{background:var(--primary-soft);color:var(--primary)}.confirm-dialog-texts{display:grid;gap:4px;min-width:0}.confirm-dialog-title{font-size:var(--fs-lg);font-weight:800;color:var(--ink-1)}.confirm-dialog-message{color:var(--ink-2);line-height:1.6}.confirm-dialog-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-3);font-size:var(--fs-sm);line-height:1.6}.confirm-dialog-note svg{width:15px;height:15px;flex:none;margin-top:2px}.confirm-dialog-note.is-danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.confirm-dialog-footer{display:flex;justify-content:flex-end;gap:8px}.confirm-btn-action{--btn-bg: var(--primary);--btn-fg: var(--on-primary);--btn-line: var(--primary)}.confirm-btn-action:hover:not(:disabled){--btn-bg: var(--primary-strong)}.confirm-btn-action.is-danger{--btn-bg: var(--danger);--btn-line: var(--danger);--btn-fg: #fff}.confirm-btn-action.is-danger:hover:not(:disabled){--btn-bg: color-mix(in srgb, var(--danger) 85%, #000)}.members-page .filter-bar .app-search{width:260px}.asset-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.asset-tile{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.asset-main{display:grid;gap:2px;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit}button.asset-main{cursor:pointer}button.asset-main:hover strong{color:var(--primary)}.asset-label{display:inline-flex;align-items:center;gap:5px;color:var(--ink-3);font-size:var(--fs-sm)}.asset-main strong{font-size:20px;font-weight:800;color:var(--ink-1)}.asset-main strong small{font-size:var(--fs-sm);font-weight:500;color:var(--ink-4)}.asset-main>small{display:inline-flex;align-items:center;gap:2px;color:var(--ink-4);font-size:var(--fs-xs)}.asset-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.coupon-chips{list-style:none;display:grid;gap:6px;margin-top:8px}.coupon-chips li{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm)}.coupon-chips li small{color:var(--ink-4)}.coupon-chips li.more{color:var(--ink-4);padding-left:4px}.coupon-face{flex:none;display:inline-grid;place-items:center;min-width:74px;height:40px;padding:0 8px;border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-weight:800;font-size:var(--fs-sm);border:1px dashed color-mix(in srgb,var(--danger) 40%,transparent)}.coupon-face.sm{min-width:60px;height:26px;font-size:var(--fs-xs);border-radius:var(--r-sm)}.coupon-pick{display:grid;gap:8px;max-height:340px;overflow:auto}.coupon-option{display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.coupon-option .grow{display:grid;gap:2px;min-width:0}.coupon-option small{color:var(--ink-4);font-size:var(--fs-xs)}.coupon-option:hover{border-color:var(--primary-line)}.coupon-option.active{border-color:var(--primary);box-shadow:var(--ring-focus)}.coupon-option.new .coupon-face{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-line)}.coupon-quick{margin-top:12px}.topup-packages{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:4px 0 12px}.topup-package{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:inherit;font:inherit;cursor:pointer;text-align:center}.topup-package strong{font-size:var(--fs-md)}.topup-package small{color:var(--danger);font-size:var(--fs-xs);font-weight:600}.topup-package:hover{border-color:var(--primary-line)}.topup-package.active{border-color:var(--primary);background:var(--primary-soft)}.asset-rules h3{font-size:var(--fs-md);margin:12px 0 4px;display:flex;align-items:baseline;gap:6px}.asset-rules h3 small{font-weight:500;font-size:var(--fs-xs)}.package-rows{display:grid;gap:8px;margin:8px 0}.package-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.package-row label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3)}.package-row .field{width:110px}.members-table{table-layout:fixed;min-width:1180px}.members-table td{height:46px;padding-top:4px;padding-bottom:4px;white-space:nowrap}.members-table col.w-member{width:230px}.members-table col.w-check{width:40px}.members-table .check-cell{padding-left:12px;padding-right:0}.members-table .check-cell input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;vertical-align:middle}.members-table col.w-phone{width:128px}.members-table col.w-mini{width:104px}.members-table col.w-note{width:140px}.members-table col.w-money{width:110px}.members-table col.w-count{width:68px}.members-table col.w-recent{width:96px}.members-table col.w-birthday{width:130px}.members-table col.w-date{width:108px}.members-table th:nth-child(n+5),.members-table td:nth-child(n+5){padding-left:18px}.member-cell{display:flex;align-items:center;gap:8px;min-width:0}.member-cell strong{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.member-cell .tag{flex:none}.members-table .num-text{font-variant-numeric:tabular-nums;color:var(--ink-2)}.members-table .num-text.muted{color:var(--ink-4)}.members-table .note-cell{overflow:hidden;text-overflow:ellipsis}.demo-banner{position:fixed;bottom:10px;left:50%;z-index:60;transform:translate(-50%);max-width:calc(100vw - 32px);padding:4px 14px;border-radius:999px;background:#1f2430;color:#fff;font-size:12px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 14px #0f172a33;pointer-events:none;opacity:.92}.demo-locked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:320px;padding:48px 24px;text-align:center;border:1px dashed var(--line, #e5e7eb);border-radius:12px;background:var(--surface, #fff)}.demo-locked-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:6px;border-radius:16px;background:var(--primary-soft, #eef0fd);color:var(--primary, #3a4bd6)}.demo-locked h2{margin:0;font-size:18px}.demo-locked p{margin:0;max-width:420px;color:var(--ink-2, #3a3f4b);font-size:14px;line-height:1.6}.demo-locked p.muted{color:var(--ink-3, #6b7280);font-size:13px}.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100%;transition:grid-template-columns var(--t3) var(--ease-snap)}.shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.shell-main{display:flex;flex-direction:column;min-width:0;min-height:0}.shell-content{position:relative;flex:1;min-height:0;overflow:auto;scroll-behavior:smooth}.shell-content.flush{overflow:hidden}.sidebar{position:relative;z-index:20;display:flex;flex-direction:column;min-height:0;background:var(--rail);color:var(--rail-ink);padding:14px 10px 10px;gap:2px;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:3px 6px 12px;min-width:0;border-radius:var(--r-md);text-align:left;color:inherit}.sidebar-brand .logo{flex:none;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,color-mix(in srgb,var(--primary) 85%,#fff),var(--primary-strong));color:#fff;font-weight:800;font-size:15px;box-shadow:inset 0 0 0 1px #ffffff1f}.sidebar-brand .logo img{width:100%;height:100%;object-fit:cover}.sidebar-brand .name{display:flex;align-items:center;min-width:0;min-height:34px}.sidebar-brand strong{display:block;font-size:var(--fs-md);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--rail-ink)}.nav-item{position:relative;display:flex;align-items:center;gap:11px;height:38px;padding:0 10px;border-radius:var(--r-md);color:var(--rail-ink-2);font-size:var(--fs-md);font-weight:600;text-align:left;white-space:nowrap;transition:background-color var(--t1),color var(--t1)}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:var(--rail-hover);color:var(--rail-ink)}.nav-item.active{background:var(--rail-active);color:var(--rail-ink)}.nav-item.active:before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--primary)}.nav-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-item .label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-item .shortcut{font-family:var(--font-mono);font-size:10px;color:var(--rail-ink-2);opacity:0;transition:opacity var(--t1)}.sidebar:hover .nav-item .shortcut{opacity:.55}.nav-item .count-badge{box-shadow:0 0 0 2px var(--rail)}.sidebar-section{margin:14px 10px 6px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;color:var(--rail-ink-2);opacity:.7;white-space:nowrap}.sidebar-spacer{flex:1}.sidebar-user{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 6px 4px;border-top:1px solid var(--rail-line);min-width:0}.sidebar-user .avatar{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--rail-active);color:var(--rail-ink);font-weight:800;font-size:var(--fs-sm)}.sidebar-user .who{flex:1;min-width:0}.sidebar-user strong{display:block;font-size:var(--fs-body);color:var(--rail-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user small{display:block;color:var(--rail-ink-2);font-size:var(--fs-xs)}.sidebar-user .btn-icon{color:var(--rail-ink-2);width:30px;height:30px}.sidebar-user .btn-icon:hover{background:var(--rail-hover);color:var(--rail-ink)}.shell.collapsed .sidebar{padding-inline:10px}.shell.collapsed .sidebar-brand{justify-content:center;padding-inline:0}.shell.collapsed .sidebar-brand .name,.shell.collapsed .nav-item .label,.shell.collapsed .nav-item .shortcut,.shell.collapsed .sidebar-section,.shell.collapsed .sidebar-user .who,.shell.collapsed .sidebar-user .user-actions{display:none}.shell.collapsed .nav-item{justify-content:center;padding:0}.shell.collapsed .nav-item .count-badge{position:absolute;top:3px;right:5px;min-width:16px;height:16px;font-size:9.5px}.shell.collapsed .sidebar-user{justify-content:center;padding-inline:0}.shell.collapsed .sidebar-user .avatar{cursor:pointer}.topbar{flex:none;display:flex;align-items:center;gap:var(--s3);height:var(--topbar-h);padding:0 var(--s4) 0 var(--s3);background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:10}.topbar .crumbs{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-md)}.topbar .crumbs strong{font-weight:800;white-space:nowrap}.topbar .crumbs .sep{color:var(--ink-5)}.topbar .crumbs span{color:var(--ink-3);white-space:nowrap}.topbar .date-chip{color:var(--ink-4);font-size:var(--fs-sm);white-space:nowrap}.topbar-search{margin-left:auto;display:flex;align-items:center;gap:8px;width:min(380px,34vw);height:34px;padding:0 8px 0 10px;border-radius:var(--r-md);background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-4);font-size:var(--fs-body);transition:border-color var(--t1),background-color var(--t1)}.topbar-search:hover{border-color:var(--line-strong);background:var(--surface)}.topbar-search svg{width:16px;height:16px}.topbar-search span{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-status{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap}.topbar-status i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 20%,transparent)}.topbar-status.error{color:var(--danger);background:var(--danger-soft);border-color:transparent}.topbar-status.error i{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.topbar-actions{display:flex;align-items:center;gap:2px}.topbar .menu-toggle{display:none}.offline-bar{display:flex;align-items:center;gap:10px;padding:8px var(--page-x);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--danger) 20%,transparent)}.offline-bar .btn{margin-left:auto}.command-overlay{align-items:start;padding-top:12vh}.command{width:min(640px,100%)}.command .app-modal-body{padding:0;gap:0}.command>header{display:none}.command-input{display:flex;align-items:center;gap:12px;padding:0 18px;height:58px;border-bottom:1px solid var(--line);color:var(--ink-4)}.command-input input{flex:1;min-width:0;height:100%;font-size:var(--fs-lg);color:var(--ink-1)}.command-input>svg,.command-close{flex:none}.command-results{max-height:52vh;overflow:auto;padding:8px}.command-group{padding:10px 10px 4px;font-size:var(--fs-xs);font-weight:700;color:var(--ink-4);letter-spacing:.06em}.command-result{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border-radius:var(--r-md);text-align:left}.command-result .icon{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--surface-tertiary);color:var(--ink-3);flex:none}.command-result .icon svg{width:16px;height:16px}.command-result .text{flex:1;min-width:0}.command-result strong{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-result small{display:block;color:var(--ink-4);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-result .go{color:var(--ink-5);width:16px;height:16px}.command-result.active{background:var(--primary-soft)}.command-result.active .icon{background:var(--primary);color:var(--on-primary)}.command-result.active .go{color:var(--primary)}.command-empty,.command-error{padding:28px 16px;text-align:center;color:var(--ink-4)}.command-foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line);background:var(--surface-soft);color:var(--ink-4);font-size:var(--fs-sm)}.command-foot span{display:inline-flex;align-items:center;gap:6px}.shortcut-table{width:100%}.shortcut-table td{padding:7px 0;border-bottom:1px solid var(--line)}.shortcut-table td:last-child{text-align:right}.shortcut-table kbd+kbd{margin-left:4px}.shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}@media(max-width:1180px){.shell{grid-template-columns:var(--sidebar-w-collapsed) minmax(0,1fr)}.shell .sidebar-brand .name,.shell .nav-item .label,.shell .nav-item .shortcut,.shell .sidebar-section,.shell .sidebar-user .who,.shell .sidebar-user .user-actions{display:none}.shell .nav-item{justify-content:center;padding:0}.shell .nav-item .count-badge{position:absolute;top:3px;right:5px}.shell .sidebar-brand{justify-content:center;padding-inline:0}.topbar .collapse-toggle{display:none}}@media(max-width:760px){.shell,.shell.collapsed{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;transform:translate(-100%);transition:transform var(--t3) var(--ease-snap)}.sidebar.open{transform:none;box-shadow:var(--shadow-xl)}.shell .sidebar.open .sidebar-brand .name,.shell .sidebar.open .nav-item .label,.shell .sidebar.open .sidebar-user .who{display:block}.shell .sidebar.open .sidebar-user .user-actions{display:flex}.shell .sidebar.open .sidebar-section{display:block}.shell .sidebar.open .nav-item{justify-content:flex-start;padding:0 10px}.topbar .menu-toggle{display:inline-grid}.topbar-search span,.topbar-search kbd,.topbar .date-chip{display:none}.topbar-search{width:36px;padding:0;justify-content:center}.topbar-search{flex:none}.topbar .crumbs{flex:1}.topbar .crumbs span{overflow:hidden;text-overflow:ellipsis}.shortcut-grid{grid-template-columns:minmax(0,1fr)}.sidebar-scrim{position:fixed;inset:0;z-index:19;background:var(--overlay)}}@media(max-width:600px){.topbar{gap:8px;padding-inline:8px}.topbar .crumbs .sep,.topbar .crumbs span{display:none}}
