:root{--color-bg:#f4f5f7;--color-surface:#fff;--color-border:#dde1e6;--color-text:#1c2126;--color-text-muted:#6b7280;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-danger:#dc2626;--color-danger-bg:#fde8e8;--color-success-bg:#e6f6ec;--color-success-text:#1a7f4b;--color-warning-bg:#fff4e0;--color-warning-text:#9a5b00;--color-neutral-bg:#eef0f3;--radius:6px;--shadow-modal:0 12px 32px #0f172a2e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;font-size:14px}h1,h2,h3{margin:0 0 12px}.muted{color:var(--color-text-muted)}.app-shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:24px;height:52px;padding:0 20px;display:flex}.topbar-brand{flex-shrink:0;font-size:16px;font-weight:700}.topbar-nav{scrollbar-width:none;flex:1;gap:4px;display:flex;overflow-x:auto}.topbar-nav::-webkit-scrollbar{display:none}@media (width<=640px){.topbar-nav{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000)}}.nav-link{border-radius:var(--radius);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;padding:6px 12px;font-weight:500;text-decoration:none}.nav-link:hover{background:var(--color-neutral-bg)}.nav-link.active{background:var(--color-primary);color:#fff}.nav-link-ledger.active{background:#2a3a8c}.topbar-user{flex-shrink:0;align-items:center;gap:10px;display:flex}.content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px 24px}.btn{border-radius:var(--radius);cursor:pointer;background:var(--color-neutral-bg);color:var(--color-text);border:1px solid #0000;padding:7px 14px;font-size:13px;font-weight:600}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-ghost{border-color:var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-neutral-bg)}.btn-danger{color:var(--color-danger)}.btn-block{width:100%}.field{flex-direction:column;gap:4px;margin-bottom:12px;font-weight:500;display:flex}.field input,.field select{border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 10px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.field-row{gap:12px;display:flex}.field-row .field{flex:1;min-width:0}.field-row .field input{width:100%}.form-error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius);margin-bottom:12px;padding:8px 10px;font-size:13px}.filters-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}.filters-row input,.filters-row select{border:1px solid var(--color-border);border-radius:var(--radius);padding:7px 10px;font-size:13px}.filter-date{color:var(--color-text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header-actions{align-items:center;gap:8px;display:flex}.table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);padding:9px 12px}.table th{background:var(--color-neutral-bg);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-size:12px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:#fafbfc}.row-inactive{opacity:.55}.table-actions{justify-content:flex-end;gap:6px;display:flex}.badge{background:var(--color-neutral-bg);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.text-danger{color:var(--color-danger);font-weight:600}.text-success{color:var(--color-success-text);font-weight:600}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.cards-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;display:grid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.card-label{color:var(--color-text-muted);margin-bottom:6px;font-size:13px}.card-value{font-size:26px;font-weight:700}.card-value-sm{font-size:18px}.card-link{color:inherit;text-decoration:none;transition:border-color .15s;display:block}.card-link:hover{border-color:var(--color-primary)}.chart-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:24px;padding:16px}.chart-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.period-toggle{gap:4px;display:flex}.period-toggle button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius);padding:5px 12px;font-size:12px;font-weight:600}.period-toggle button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sales-chart{position:relative}.chart-svg{width:100%;height:220px;overflow:visible}.chart-baseline{stroke:var(--color-border);stroke-width:1px}.chart-bar{fill:var(--color-primary)}.chart-bar-hover{fill:var(--color-primary-hover)}.chart-bar-group{cursor:pointer;outline:none}.chart-value-label{fill:var(--color-text);font-size:11px;font-weight:700}.chart-axis-label{fill:var(--color-text-muted);font-size:10px}.chart-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-modal);padding:4px 10px;font-size:13px;position:absolute;top:0;right:0}.modal-overlay{z-index:50;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);box-shadow:var(--shadow-modal);border-radius:10px;width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);overflow:hidden auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-header h3{margin:0}.modal-body{padding:18px}.modal-footer{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.login-screen{background:linear-gradient(160deg, #eef2ff, var(--color-bg));justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);width:340px;box-shadow:var(--shadow-modal);border-radius:10px;padding:32px}.login-card h1{font-size:20px}.login-card .muted{margin-bottom:20px;font-size:13px}.new-order-grid{grid-template-columns:1fr 1.3fr;align-items:start;gap:24px;display:grid}.product-picker-list{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.product-picker-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.product-picker-item:last-child{border-bottom:none}.qty-input{border:1px solid var(--color-border);border-radius:var(--radius);width:64px;padding:5px 6px}.order-total{text-align:right;margin-top:12px;font-size:18px;font-weight:700}@media (width<=860px){.new-order-grid,.cards-row{grid-template-columns:1fr}}.dashboard-ledger{--paper:#f6f2e7;--paper-raised:#fbf9f2;--ink:#1b1a17;--ink-muted:#58523f;--ink-faint:#a49d8a;--rule:#c9c2ae;--stamp:#2a3a8c;--stamp-deep:#1e2a68;--reg-red:#a3271f;--reg-red-bg:#f4e6e2;--font-data:ui-monospace, "SFMono-Regular", "IBM Plex Mono", Menlo, Consolas, monospace;background:var(--paper);color:var(--ink);min-height:calc(100vh - 53px);margin:-20px -24px 0;padding:28px 24px 48px}.dashboard-ledger h2{letter-spacing:-.01em;font-size:20px}.dashboard-ledger h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0;font-size:12px;font-weight:700}.dashboard-ledger .muted{color:var(--ink-muted)}.dashboard-ledger .ticket-row{border-top:1px dashed var(--rule);margin-top:20px;display:flex}.dashboard-ledger .ticket-row-edge{background:linear-gradient(135deg, transparent 71%, var(--paper) 75%) 0 0 / 9px 9px repeat-x, linear-gradient(45deg, transparent 71%, var(--paper) 75%) 0 0 / 9px 9px repeat-x;background-color:var(--rule);height:9px;margin-bottom:28px}.dashboard-ledger .ticket{border-left:1px dashed var(--rule);flex:1;padding:16px 20px}.dashboard-ledger .ticket:first-child{border-left:none}.dashboard-ledger .ticket-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:8px;font-size:11px;font-weight:600}.dashboard-ledger .ticket-value{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--ink);font-size:26px;font-weight:600}.dashboard-ledger .ticket-value.ticket-value-sm{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;font-weight:600}.dashboard-ledger .chart-section{background:0 0;border:none;border-radius:0;margin-bottom:32px;padding:0}.dashboard-ledger .chart-section-header{align-items:baseline;margin-bottom:14px}.dashboard-ledger .period-toggle{border:1px solid var(--rule);gap:0}.dashboard-ledger .period-toggle button{color:var(--ink-muted);border:none;border-right:1px solid var(--rule);background:0 0;border-radius:0;padding:6px 14px}.dashboard-ledger .period-toggle button:last-child{border-right:none}.dashboard-ledger .period-toggle button:hover:not(.active){background:var(--paper-raised)}.dashboard-ledger .period-toggle button.active{background:var(--stamp);border-color:var(--stamp);color:var(--paper-raised)}.dashboard-ledger .chart-baseline{stroke:var(--rule);stroke-dasharray:3 3}.dashboard-ledger .chart-bar{fill:var(--stamp)}.dashboard-ledger .chart-bar-hover{fill:var(--stamp-deep)}.dashboard-ledger .chart-value-label{fill:var(--ink);font-family:var(--font-data)}.dashboard-ledger .chart-axis-label{fill:var(--ink-muted);font-family:var(--font-data)}.dashboard-ledger .chart-tooltip{background:var(--paper-raised);border:1px solid var(--rule);box-shadow:none;font-family:var(--font-data);font-variant-numeric:tabular-nums;border-radius:0}.dashboard-ledger .chart-tooltip .muted{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.dashboard-ledger .table{border:none;border-top:1px dashed var(--rule);border-radius:0}.dashboard-ledger .table th{color:var(--ink-muted);border-bottom:1px solid var(--rule);letter-spacing:.08em;background:0 0}.dashboard-ledger .table td{border-bottom:1px dashed var(--rule);background:0 0}.dashboard-ledger .table tbody tr:hover{background:var(--paper-raised)}.dashboard-ledger .table td:last-child{font-family:var(--font-data);font-variant-numeric:tabular-nums}.dashboard-ledger--compact{min-height:0}.dashboard-ledger .ticket-link-row{border-top:1px dashed var(--rule);margin-top:24px;display:flex}.dashboard-ledger .ticket-link{border-left:1px dashed var(--rule);color:inherit;flex:1;padding:20px;text-decoration:none;transition:background .12s;display:block}.dashboard-ledger .ticket-link:first-child{border-left:none}.dashboard-ledger .ticket-link:hover{background:var(--paper-raised)}.dashboard-ledger .ticket-link:hover .ticket-link-label{color:var(--stamp)}.dashboard-ledger .ticket-link-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:8px;font-size:11px;font-weight:600;transition:color .12s}.dashboard-ledger .ticket-link-value{color:var(--ink);font-size:15px;font-weight:600}@media (width<=640px){.dashboard-ledger .ticket-row,.dashboard-ledger .ticket-link-row{flex-direction:column}.dashboard-ledger .ticket,.dashboard-ledger .ticket-link{border-left:none;border-top:1px dashed var(--rule)}.dashboard-ledger .ticket:first-child,.dashboard-ledger .ticket-link:first-child{border-top:none}}
