.fulfillment-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:100%;padding:4px 0 2px}.rail-step{display:flex;flex-direction:column;gap:8px;min-width:0}.rail-track{display:flex;align-items:center;height:14px}.rail-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--border-strong);background:var(--bg-card);flex-shrink:0;position:relative;z-index:1;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.rail-line{flex:1;height:2px;background:var(--border);margin:0 2px;border-radius:1px}.rail-label{font-size:11px;font-weight:550;color:var(--text-tertiary);letter-spacing:.02em;line-height:1}.rail-step.is-done .rail-dot{background:var(--sage);border-color:var(--sage)}.rail-step.is-done .rail-line{background:color-mix(in srgb,var(--sage) 55%,transparent)}.rail-step.is-done .rail-label{color:var(--sage)}.rail-step.is-current .rail-dot{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent)}.rail-step.is-current .rail-label{color:var(--amber);font-weight:650}.rail-step.is-muted .rail-dot{background:var(--bg-inset);border-color:var(--border)}.rail-step.is-muted .rail-label{color:var(--text-tertiary)}.fulfillment-rail.is-terminal{opacity:.72}.cashier-query{display:flex;flex-direction:column;gap:16px;padding:20px 22px}.cashier-query-title{margin-bottom:4px}.cashier-query-hint{margin:0;font-size:13px;color:var(--text-secondary)}.cashier-query-row{display:flex;align-items:center;gap:10px}.cashier-input-wrap{position:relative;flex:1;min-width:0}.cashier-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.cashier-input{padding-left:36px}.cashier-ticket{max-width:560px;gap:16px}.cashier-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cashier-order-no{font-size:12px;color:var(--text-tertiary);font-weight:500;letter-spacing:.02em;margin-bottom:4px;font-variant-numeric:tabular-nums}.cashier-merchant{font-size:16px;font-weight:600}.cashier-item-row{grid-template-columns:1fr auto}.cashier-item-amount{font-size:14px;font-weight:550;color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums}.cashier-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px;border-radius:10px;background:var(--amber-bg);border:1px solid color-mix(in srgb,var(--amber) 18%,transparent)}.cashier-total-label{font-size:14px;font-weight:550;color:var(--amber)}.cashier-total .total-amount{font-size:32px}@media(max-width:640px){.cashier-query-row{flex-direction:column;align-items:stretch}}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.9fr);gap:20px;align-items:stretch;padding:22px 24px;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-card) 88%,var(--amber-bg)) 0%,var(--bg-card) 55%)}.dashboard-hero-copy{display:flex;flex-direction:column;gap:8px;justify-content:center}.dashboard-hero-title{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0}.dashboard-hero-desc{margin:0;font-size:14px;line-height:1.6;color:var(--text-secondary);max-width:40em}.dashboard-quick-actions{display:flex;flex-direction:column;gap:8px}.dashboard-quick-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);text-decoration:none;color:inherit;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.dashboard-quick-link:hover{background:var(--bg-hover);border-color:var(--border-strong)}.dashboard-quick-link:active{transform:scale(.98)}.dashboard-quick-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--bg-inset);color:var(--text-primary);flex-shrink:0}.dashboard-quick-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dashboard-quick-text strong{font-size:14px;font-weight:600;color:var(--text-primary)}.dashboard-quick-text span{font-size:12px;color:var(--text-tertiary)}.dashboard-quick-arrow{color:var(--text-tertiary);flex-shrink:0}.dashboard-todo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-todo{position:relative;overflow:hidden;padding-top:20px;min-height:128px}.dashboard-todo:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 2px 2px 0;background:var(--border-strong)}.dashboard-todo.is-amber:before{background:var(--amber)}.dashboard-todo.is-ink:before{background:var(--ink)}.dashboard-todo.is-sky:before{background:var(--sky)}.dashboard-todo .metric-value{font-size:40px}.dashboard-todo-hint{margin-top:auto;font-size:12px;color:var(--text-tertiary)}.dashboard-secondary .metric-value-sm{font-size:26px}@media(max-width:900px){.dashboard-hero,.dashboard-todo-grid{grid-template-columns:1fr}}.logs-row{grid-template-columns:.7fr 1fr 2fr .9fr}.log-time{font-variant-numeric:tabular-nums;white-space:nowrap}.merchants-row{grid-template-columns:1.5fr .6fr 1.4fr .7fr 1fr}.order-history-page{display:flex;flex-direction:column;gap:16px}.order-history-filters{display:grid;grid-template-columns:160px 160px minmax(220px,1fr) 160px auto;gap:12px;align-items:end}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field span,.pagination-size span{font-size:12px;font-weight:500;color:var(--text-tertiary)}.filter-actions{display:flex;gap:8px;padding-bottom:3px}.order-history-layout{display:grid;grid-template-columns:minmax(620px,1fr) minmax(340px,420px);gap:16px;align-items:start}.order-history-list-card{min-width:0}.order-history-row{grid-template-columns:1.1fr 1.15fr 1.25fr .7fr .75fr 90px}.order-history-row-active{border-radius:8px;background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--border-strong)}.order-history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin-top:8px;border-top:1px solid var(--border)}.pagination-summary{font-size:13px;color:var(--text-secondary)}.pagination-size{display:flex;align-items:center;gap:8px;margin-left:auto}.pagination-size .field-input{width:96px}.pagination-buttons{display:flex;gap:8px}.order-detail-panel{position:sticky;top:76px;display:flex;flex-direction:column;gap:18px}.order-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.order-detail-head strong{font-size:16px;color:var(--text-primary)}.order-detail-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:8px;overflow:hidden}.order-detail-grid div{display:flex;flex-direction:column;gap:6px;min-height:70px;padding:12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.order-detail-grid div:nth-child(2n){border-right:none}.order-detail-grid div:nth-last-child(-n+2){border-bottom:none}.order-detail-grid span{font-size:12px;color:var(--text-tertiary)}.order-detail-grid strong{font-size:15px;color:var(--text-primary)}.order-detail-section .section-title{margin-bottom:10px}.detail-items{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden}.detail-item{display:grid;grid-template-columns:1fr 70px 90px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.detail-item:last-child{border-bottom:none}.detail-item>span,.detail-item>strong{font-size:13px;text-align:right}.status-timeline{display:flex;flex-direction:column;gap:12px}.status-log{display:grid;grid-template-columns:14px 1fr;gap:10px}.status-log-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px var(--sage-bg)}.status-log-body{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--border)}.status-log:last-child .status-log-body{border-bottom:none;padding-bottom:0}.status-log-body strong{font-size:13px;color:var(--text-primary)}.status-log-body span,.status-log-body em{font-size:12px;color:var(--text-secondary);font-style:normal}.order-detail-empty{min-height:220px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:14px}@media(max-width:1180px){.order-history-filters,.order-history-layout{grid-template-columns:1fr}.filter-field-wide{grid-column:auto}.order-detail-panel{position:static}}@media(max-width:760px){.data-header.order-history-row{display:none}.order-history-row{grid-template-columns:1fr}.order-history-pagination{align-items:flex-start;flex-direction:column}.pagination-size{margin-left:0}}.orders-layout{align-items:start}.picking-sheet .section-title{margin-bottom:16px}.picking-row{grid-template-columns:2fr .8fr .9fr}.money-cell{font-variant-numeric:tabular-nums;font-weight:550;color:var(--text-primary);text-align:right}.orders-list-head{margin-bottom:-4px}.orders-list-title{margin-bottom:0}.order-ticket{display:flex;flex-direction:column;gap:14px;padding:16px 18px}.order-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.order-ticket-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.order-no{font-size:12px;color:var(--text-tertiary);font-weight:500;letter-spacing:.02em;margin-bottom:2px;font-variant-numeric:tabular-nums}.order-amount{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--amber);font-variant-numeric:tabular-nums}.order-actions{border-top:1px solid var(--border);padding-top:12px}.products-row{grid-template-columns:2fr .9fr .8fr .7fr 1.5fr}.product-stock{font-variant-numeric:tabular-nums}.recon-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.recon-title{margin-bottom:0}.recon-controls{display:flex;align-items:center;gap:10px}.recon-date{width:180px}.recon-metrics{grid-template-columns:repeat(4,1fr)}.recon-gap-card{min-height:120px}.recon-gap-hint{margin-top:auto;font-size:12px;color:var(--text-tertiary)}@media(max-width:900px){.recon-metrics{grid-template-columns:1fr 1fr}.recon-toolbar{align-items:stretch;flex-direction:column}.recon-controls{width:100%}.recon-date{flex:1;width:auto}}.users-mgmt-row{grid-template-columns:1fr 1fr 1.2fr .6fr 1.8fr}.users-panel .modal-actions .btn-secondary,.users-panel .modal-actions .btn-primary{min-width:88px}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(280px,1.05fr) minmax(360px,.95fr);background:var(--bg-app);font-family:PingFang SC,SF Pro Text,Segoe UI,Microsoft YaHei,system-ui,sans-serif}.login-stage{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:40px 48px;background:linear-gradient(160deg,color-mix(in srgb,var(--ink) 96%,#3d4a42) 0%,var(--ink) 55%,#121612 100%);color:var(--text-inverse);overflow:hidden}.login-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 12%,color-mix(in srgb,var(--amber) 28%,transparent),transparent 42%),radial-gradient(circle at 12% 88%,color-mix(in srgb,var(--sage) 18%,transparent),transparent 40%);pointer-events:none}.login-stage-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:28px;max-width:420px}.login-stage-brand{display:flex;align-items:center;gap:10px}.login-stage-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,white 12%,transparent);border:1px solid color-mix(in srgb,white 16%,transparent);color:#fff8ef}.login-stage-brand-name{font-size:14px;font-weight:600;letter-spacing:.02em;color:color-mix(in srgb,white 88%,transparent)}.login-stage-kicker{display:inline-flex;width:fit-content;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,white 14%,transparent);background:color-mix(in srgb,white 8%,transparent);font-size:12px;font-weight:600;letter-spacing:.08em;color:color-mix(in srgb,white 78%,transparent)}.login-stage-title{margin:0;font-size:36px;font-weight:700;letter-spacing:-.03em;line-height:1.2;color:#fbf8f2}.login-stage-copy{margin:0;font-size:14px;line-height:1.7;color:color-mix(in srgb,white 68%,transparent);max-width:34em}.login-stage-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.login-stage-chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:color-mix(in srgb,white 8%,transparent);border:1px solid color-mix(in srgb,white 12%,transparent);font-size:12px;font-weight:500;color:color-mix(in srgb,white 76%,transparent)}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 32px;background:var(--bg-app)}.login-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:36px 32px}.login-header{margin-bottom:28px}.login-title{font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:-.03em;line-height:1.25;margin:0 0 8px}.login-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.55;margin:0}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:13px;font-weight:550;color:var(--text-primary)}.login-input{width:100%;height:40px;padding:0 12px;background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);font-family:inherit;transition:border-color .15s cubic-bezier(.23,1,.32,1),box-shadow .15s cubic-bezier(.23,1,.32,1),background .15s cubic-bezier(.23,1,.32,1);box-sizing:border-box;min-height:unset}.login-input:focus{outline:none;background:var(--bg-card);border-color:var(--border-focus);box-shadow:0 0 0 3px #1a1f1c14}.login-input:disabled{opacity:.5;cursor:not-allowed}.login-input-wrap{position:relative}.login-input-wrap .login-input{padding-right:40px}.login-eye-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;padding:0;min-height:unset;font-weight:400}.login-eye-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.login-error{font-size:13px;color:var(--red);margin:0;padding:10px 12px;background:var(--red-bg);border:1px solid color-mix(in srgb,var(--red) 28%,transparent);border-radius:8px;line-height:1.5}.login-submit{width:100%;height:42px;margin-top:4px;background:var(--ink);color:var(--text-inverse);border:none;border-radius:999px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s cubic-bezier(.23,1,.32,1),opacity .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1);letter-spacing:-.01em;padding:0;min-height:unset}.login-submit:hover:not(:disabled){background:var(--ink-hover)}.login-submit:active:not(:disabled){transform:scale(.98)}.login-submit:disabled{opacity:.38;cursor:not-allowed}.login-footer{margin:20px 0 0;font-size:12px;color:var(--text-tertiary);text-align:center;line-height:1.5}@media(max-width:860px){.login-page{grid-template-columns:1fr}.login-stage{min-height:auto;padding:28px 24px 32px}.login-stage-title{font-size:28px}.login-panel{padding:24px 16px 40px}.login-card{padding:28px 22px}}.not-found-page{min-height:calc(100vh - 124px);display:grid;grid-template-columns:minmax(280px,.92fr) minmax(320px,1fr);align-items:center;gap:48px;overflow:hidden}.not-found-visual{position:relative;min-height:360px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--bg-card) 90%,var(--amber-bg)),var(--bg-card)),repeating-linear-gradient(-32deg,var(--bg-inset) 0,var(--bg-inset) 14px,var(--bg-hover) 14px,var(--bg-hover) 28px)}.not-found-route-line{position:absolute;left:12%;right:12%;top:50%;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--ink) 50%,transparent 0) 0 50% / 36px 4px repeat-x,var(--border-strong);transform:rotate(-7deg)}.not-found-route-line:before,.not-found-route-line:after{position:absolute;top:50%;width:24px;height:24px;border-radius:50%;background:var(--ink);content:"";transform:translateY(-50%)}.not-found-route-line:before{left:-4px}.not-found-route-line:after{right:-4px;background:var(--amber)}.not-found-marker{position:absolute;right:15%;top:17%;display:grid;width:72px;height:72px;place-items:center;border:1px solid color-mix(in srgb,var(--amber) 35%,transparent);border-radius:10px;background:var(--amber-bg);color:var(--amber);transform:rotate(8deg)}.not-found-crate{position:absolute;left:16%;bottom:17%;display:grid;width:168px;height:136px;place-items:center;border:2px solid var(--ink);border-radius:10px;background:linear-gradient(135deg,transparent 46%,rgba(26,31,28,.1) 47% 53%,transparent 54%),var(--amber-bg);color:var(--ink);box-shadow:10px 10px 0 var(--ink);transform:rotate(-5deg)}.not-found-crate span{position:absolute;right:16px;bottom:12px;font-size:28px;font-weight:800;line-height:1}.not-found-copy{max-width:560px}.not-found-eyebrow{margin-bottom:12px;color:var(--amber);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.not-found-copy h2{margin-bottom:18px;color:var(--text-primary);font-size:40px;font-weight:750;line-height:1.12;letter-spacing:-.02em}.not-found-copy p:not(.not-found-eyebrow){max-width:500px;color:var(--text-secondary);font-size:15px;line-height:1.7}.not-found-copy strong{color:var(--text-primary);font-weight:700;word-break:break-all}.not-found-home-link{display:inline-flex;align-items:center;gap:8px;height:40px;margin-top:28px;padding:0 16px;border:none;border-radius:999px;background:var(--ink);color:var(--text-inverse);font-size:14px;font-weight:600;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.not-found-home-link:hover{background:var(--ink-hover)}.not-found-home-link:active{transform:scale(.97)}.not-found-home-arrow{transform:rotate(180deg)}@media(max-width:860px){.not-found-page{grid-template-columns:1fr;gap:28px}.not-found-visual{min-height:260px}.not-found-copy h2{font-size:32px}}@media(max-width:640px){.not-found-page{min-height:auto}.not-found-visual{min-height:220px}.not-found-crate{width:132px;height:108px}.not-found-marker{width:58px;height:58px}.not-found-copy h2{font-size:28px}}:root{--bg-app: #f3f4f2;--bg-card: #fbfbf9;--bg-inset: #eceeea;--bg-hover: #eef0ec;--text-primary: #1a1f1c;--text-secondary: #5c635e;--text-tertiary: #8b928c;--text-inverse: #f7f6f2;--border: rgba(26, 31, 28, .1);--border-strong: rgba(26, 31, 28, .18);--border-focus: #1a1f1c;--ink: #1a1f1c;--ink-hover: #2e3531;--btn-primary: var(--ink);--btn-primary-hover: var(--ink-hover);--amber: #b45309;--amber-bg: #fef3e2;--orange: var(--amber);--orange-bg: var(--amber-bg);--sage: #2f6b4f;--sage-bg: #e8f2ec;--green: var(--sage);--green-bg: var(--sage-bg);--coral: #c2410c;--coral-bg: #fff1ee;--red: #b91c1c;--red-bg: #fef2f2;--sky: #1d4f91;--sky-bg: #eaf1f8;--blue: var(--sky);--blue-bg: var(--sky-bg);--ease-out: cubic-bezier(.23, 1, .32, 1);--duration-fast: .15s;--duration-ui: .2s;--radius-sm: 8px;--radius-md: 12px;--radius-pill: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px}*{box-sizing:border-box}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:PingFang SC,SF Pro Text,Segoe UI,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}h1,h2,h3,p{margin:0}h1{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}h2{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.app-shell{display:grid;min-height:100vh;grid-template-columns:232px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--bg-card);border-right:1px solid var(--border);padding:20px 12px;display:flex;flex-direction:column;gap:8px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;border-bottom:1px solid var(--border);margin-bottom:8px}.sidebar-brand-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--ink);color:var(--text-inverse);border-radius:var(--radius-sm);flex-shrink:0}.sidebar-brand-text strong{display:block;font-size:14px;font-weight:650;color:var(--text-primary);letter-spacing:-.01em}.sidebar-brand-text span{display:block;font-size:11px;color:var(--text-tertiary);margin-top:2px;letter-spacing:.02em}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--text-secondary);text-decoration:none;border:1px solid transparent;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-inset);color:var(--text-primary);border-color:var(--border);font-weight:600}.nav-item svg{flex-shrink:0;opacity:.75}.nav-item.active svg{opacity:1}.workspace{display:flex;flex-direction:column;min-height:100vh;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:56px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-app) 88%,white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0;position:sticky;top:0;z-index:10}.topbar-title{font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.topbar-right{display:flex;align-items:center;gap:10px}.operator-badge{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:var(--radius-pill);background:var(--bg-inset);color:var(--text-secondary);font-size:12.5px;font-weight:500;border:1px solid var(--border)}.logout-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.logout-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.logout-btn:active{transform:scale(.97)}.page-content{padding:28px;flex:1}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:unset;cursor:pointer;font-size:14px;font-weight:500;line-height:1;border:none;border-radius:var(--radius-pill);transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}button:disabled{opacity:.38;cursor:not-allowed}button:active:not(:disabled){transform:scale(.97)}.btn-primary{height:36px;padding:0 16px;background:var(--btn-primary);color:var(--text-inverse);border:none}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-secondary{height:36px;padding:0 14px;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn-danger{height:36px;padding:0 14px;background:var(--bg-card);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 35%,transparent)}.btn-danger:hover:not(:disabled){background:var(--red-bg)}.btn-success{height:36px;padding:0 14px;background:var(--bg-card);color:var(--sage);border:1px solid color-mix(in srgb,var(--sage) 35%,transparent)}.btn-success:hover:not(:disabled){background:var(--sage-bg)}.btn-sm{height:30px;padding:0 12px;font-size:13px}.btn-amber{height:36px;padding:0 16px;background:var(--amber);color:#fffaf3;border:none}.btn-amber:hover:not(:disabled){background:color-mix(in srgb,var(--amber) 88%,black)}.field-input{width:100%;height:36px;padding:0 12px;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);outline:none;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.field-input:focus{background:var(--bg-card);border-color:var(--border-focus);box-shadow:0 0 0 3px #1a1f1c14}.field-input:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-size:12px;font-weight:550;white-space:nowrap;letter-spacing:.01em}.badge-green{background:var(--sage-bg);color:var(--sage)}.badge-orange{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--sky-bg);color:var(--sky)}.badge-gray{background:var(--bg-inset);color:var(--text-secondary)}.metric-card{display:flex;flex-direction:column;gap:8px}.metric-label{font-size:13px;color:var(--text-tertiary);font-weight:500}.metric-value{font-size:32px;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.metric-value.money-value,.money-value{color:var(--amber);font-variant-numeric:tabular-nums}.data-table{display:flex;flex-direction:column}.data-header{display:grid;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-tertiary);font-weight:500;align-items:center}.data-row{display:grid;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;align-items:center}.data-row:last-child{border-bottom:none;padding-bottom:0}.cell-stack{display:flex;flex-direction:column;gap:2px}.cell-primary{font-size:14px;font-weight:550;color:var(--text-primary)}.cell-secondary{font-size:12px;color:var(--text-secondary)}.stack{display:flex;flex-direction:column;gap:16px}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.two-col{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(380px,1.15fr);gap:16px;align-items:start}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.flex-row{display:flex;align-items:center;gap:10px}.flex-grow{flex:1}.actions{display:flex;flex-wrap:wrap;gap:8px}.alert{padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;line-height:1.5}.alert-success{background:var(--sage-bg);color:var(--sage);border:1px solid color-mix(in srgb,var(--sage) 28%,transparent)}.alert-warning{background:var(--amber-bg);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 28%,transparent)}.alert-error{background:var(--red-bg);color:var(--red);border:1px solid color-mix(in srgb,var(--red) 28%,transparent)}.alert-info{background:var(--bg-inset);color:var(--text-secondary);border:1px solid var(--border)}.total-row{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border);font-size:14px;color:var(--text-secondary)}.total-amount{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--amber);font-variant-numeric:tabular-nums}.section-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:14px;letter-spacing:-.01em}.section-kicker{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-head .section-title{margin-bottom:0}.panel-head-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.panel-head-desc{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.45}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-header .section-title{margin-bottom:0}.empty-hint,.data-empty{padding:28px 12px;font-size:13px;color:var(--text-tertiary);text-align:center}.money-cell{font-variant-numeric:tabular-nums;font-weight:550;color:var(--text-primary)}.money-cell.is-amber{color:var(--amber);font-weight:700}.metric-value.is-danger{color:var(--red)}.metric-value.is-ok{color:var(--sage)}.action-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;font-size:12px;font-weight:500;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.action-btn:hover:not(:disabled){background:var(--bg-hover)}.action-btn:active:not(:disabled){transform:scale(.97)}.action-btn:disabled{opacity:.45;cursor:not-allowed}.action-btn-danger{border-color:color-mix(in srgb,var(--red) 35%,transparent);color:var(--red)}.action-btn-danger:hover:not(:disabled){background:var(--red-bg)}.action-btn-success{border-color:color-mix(in srgb,var(--sage) 35%,transparent);color:var(--sage)}.action-btn-success:hover:not(:disabled){background:var(--sage-bg)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1f1c66;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px 26px;width:100%;max-width:400px;box-shadow:0 16px 48px #1a1f1c1f}.modal-title{font-size:16px;font-weight:650;margin:0 0 18px;color:var(--text-primary);letter-spacing:-.01em}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-field label{font-size:13px;color:var(--text-secondary);font-weight:550}.form-field input,.form-field select{height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:14px;outline:none;background:var(--bg-inset);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.form-field input:focus,.form-field select:focus{background:var(--bg-card);border-color:var(--border-focus);box-shadow:0 0 0 3px #1a1f1c14}.form-error{color:var(--red);font-size:13px;margin:0 0 10px;padding:8px 10px;background:var(--red-bg);border-radius:var(--radius-sm)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.metrics-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.page-content{padding:20px 16px}.topbar{padding:0 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}
