@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--slate-950: #0a0f14;--slate-900: #111827;--slate-800: #1e2a38;--slate-700: #2d3f52;--slate-600: #3d5166;--slate-300: #8da3b8;--slate-200: #c4d0db;--slate-100: #e8eff5;--slate-50: #f4f7fa;--white: #ffffff;--gold: #c9a84c;--gold-light:#f0d98a;--gold-bg: #fdf8ec;--green: #16a34a;--green-bg: #f0fdf4;--red: #dc2626;--red-bg: #fef2f2;--amber: #d97706;--amber-bg: #fffbeb;--bg: var(--slate-50);--surface: var(--white);--border: var(--slate-100);--border-md: var(--slate-200);--text: var(--slate-900);--text-2: var(--slate-700);--muted: var(--slate-300);--accent: var(--gold);--accent-dk: #a8893a;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 16px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06);--num: "ui-monospace","SF Mono","Cascadia Mono",Consolas,monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.amount{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.topbar{background:var(--slate-950);border-bottom:1px solid var(--slate-800);color:var(--slate-200);display:flex;align-items:center;gap:8px;padding:0 20px;height:56px;position:sticky;top:0;z-index:100}.topbar .brand{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--white);margin-right:8px}.nav{display:flex;gap:2px}.nav button{background:none;border:none;color:var(--slate-300);font:500 13px Inter,sans-serif;padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,color .15s}.nav button:hover{background:var(--slate-800);color:var(--white)}.nav button.on{background:var(--slate-800);color:var(--white);box-shadow:inset 0 0 0 1px var(--slate-600)}.topbar .spacer{flex:1}.topbar .who{font-size:12px;color:var(--slate-300);padding:4px 10px;background:var(--slate-800);border-radius:999px;border:1px solid var(--slate-700)}.topbar button.linkish{background:none;border:1px solid var(--slate-700);color:var(--slate-300);border-radius:var(--radius-sm);padding:5px 12px;font:500 12px Inter,sans-serif;cursor:pointer;transition:all .15s}.topbar button.linkish:hover{border-color:var(--gold);color:var(--gold)}input[type=date]{border:1px solid var(--slate-700);border-radius:var(--radius-sm);padding:5px 10px;font:500 13px Inter,sans-serif;background:var(--slate-800);color:var(--white);color-scheme:dark}.page{width:100%;max-width:1400px;margin:0 auto;padding:14px 20px 20px;box-sizing:border-box}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.page-head h1{font-size:20px;font-weight:700;margin:0;color:var(--text);letter-spacing:-.02em}.page-head .sub{color:var(--muted);font-size:13px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat-card:before{display:none}.stat-card .sc-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:6px}.stat-card .sc-value{font-family:var(--num);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.03em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.card.scroll-x,.card.scroll-y-table{overflow-x:auto;overflow-y:visible}.card.scroll-x thead th,.card.scroll-y-table thead th{position:static;top:auto;box-shadow:none}table{border-collapse:collapse;width:100%}thead{background:#f3f4f6}th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid #e5e7eb;font-size:13px;color:var(--text-2)}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right}tfoot td{font-weight:700;color:var(--text);background:#f8fafc;border-top:2px solid var(--border-md);border-bottom:none;font-size:13px}.cell-btn{background:none;border:none;padding:2px 6px;margin:-2px -6px;font-family:var(--num);font-size:13px;color:var(--slate-900);cursor:pointer;border-radius:4px;font-variant-numeric:tabular-nums;transition:background .12s,color .12s;text-decoration:none}.cell-btn:hover{background:var(--gold-bg);color:var(--amber)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap;letter-spacing:.02em}.chip.draft{background:var(--slate-100);color:var(--slate-600)}.chip.submitted{background:var(--green-bg);color:var(--green)}.chip.locked{background:var(--slate-100);color:var(--slate-700)}.chip.missing{background:var(--red-bg);color:var(--red)}.chip.variance{background:var(--amber-bg);color:var(--amber)}.btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-sm);padding:8px 16px;font:600 13px Inter,sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap}.btn{background:var(--slate-900);color:var(--white)}.btn:hover{background:var(--slate-700)}.btn:disabled{background:var(--slate-200);color:var(--muted);cursor:not-allowed}.btn.primary{background:var(--gold);color:var(--slate-950)}.btn.primary:hover{background:var(--accent-dk)}.btn.ghost{background:transparent;color:var(--slate-700);border:1px solid var(--border-md)}.btn.ghost:hover{background:var(--slate-50);border-color:var(--slate-300)}.btn.quiet{background:var(--slate-100);color:var(--slate-700)}.btn.quiet:hover{background:var(--slate-200)}.btn.danger{background:transparent;color:var(--red);border:1px solid #fca5a5}.btn.danger:hover{background:var(--red-bg)}.txt{border:1px solid var(--border-md);border-radius:var(--radius-sm);padding:7px 10px;font:400 13px Inter,sans-serif;color:var(--text);background:var(--white);width:100%;transition:border-color .15s,box-shadow .15s}.txt:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a84c26}.amt{font-family:var(--num);text-align:right;width:110px;border:1px solid var(--border-md);border-radius:var(--radius-sm);padding:6px 8px;font-size:13px;transition:border-color .15s,box-shadow .15s}.amt:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a84c26}select.txt{-webkit-appearance:none;-moz-appearance:none;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'%3E%3Cpath fill='%238da3b8' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.banner{border-radius:var(--radius);padding:12px 16px;margin:0 0 16px;font-size:13px;border:1px solid transparent;display:flex;align-items:flex-start;gap:10px}.banner:before{font-size:15px;flex-shrink:0;margin-top:1px}.banner.warn{background:var(--amber-bg);border-color:#fde68a;color:#92400e}.banner.warn:before{content:"⚠"}.banner.ok{background:var(--green-bg);border-color:#bbf7d0;color:#14532d}.banner.ok:before{content:"✓"}.banner.err{background:var(--red-bg);border-color:#fca5a5;color:#7f1d1d}.banner.err:before{content:"✕"}.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:24px 16px;background:#0f172a;background-image:radial-gradient(ellipse 80% 60% at 20% 30%,rgba(37,99,235,.13) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 70%,rgba(201,168,76,.07) 0%,transparent 55%)}.login-card{width:100%;max-width:470px;background:#1e293b;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:36px 44px 28px;box-shadow:0 20px 48px #0006,0 0 0 1px #ffffff0a}.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:14px;margin-top:0}.login-brand-img{height:112px;max-width:240px;object-fit:contain;filter:drop-shadow(0 4px 18px rgba(201,168,76,.28))}.login-brand-icon{width:112px;height:112px;border-radius:24px;background:#c9a84c1a;border:1px solid rgba(201,168,76,.22);display:flex;align-items:center;justify-content:center}.login-brand-name{font-size:20px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-top:2px;font-weight:800}.login-brand-sub{font-size:13px;font-weight:300;color:var(--gold);opacity:.9;letter-spacing:.03em}.login-brand-rule{width:32px;height:2px;background:var(--gold);border-radius:2px;margin-top:4px}.login-error{display:flex;align-items:center;gap:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:16px}.lf-group{margin-bottom:10px}.lf-group label{display:block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#94a3b8;margin-bottom:8px}.lf-wrap{position:relative;display:flex;align-items:center}.lf-icon{position:absolute;left:14px;color:#475569;pointer-events:none;flex-shrink:0}.lf-input{width:100%;height:44px;padding:0 44px 0 42px;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#f1f5f9;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.lf-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a84c26}.lf-input::placeholder{color:#334155}.lf-eye{position:absolute;right:13px;background:none;border:none;cursor:pointer;color:#475569;display:flex;padding:5px;border-radius:6px}.lf-eye:hover{color:#94a3b8}.login-btn{width:100%;margin-top:0;height:48px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:700;letter-spacing:.03em;background:linear-gradient(180deg,#f6d365,#d4af37);color:#0f172a;border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 22px #c9a84c4d;transition:opacity .15s,box-shadow .15s,transform .1s}.login-btn:hover:not(:disabled){background:linear-gradient(180deg,#fde27a,#e0bc45);box-shadow:0 6px 30px #c9a84c6b}.login-btn:active:not(:disabled){transform:scale(.985);box-shadow:0 2px 12px #c9a84c40}.login-btn:disabled{opacity:.35;cursor:not-allowed}.login-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;font-size:12px;color:#94a3b8}.login-footer{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.login-footer-rule{width:60px;height:1px;background:#ffffff14;margin-bottom:10px}.login-footer-brand{display:flex;align-items:center;gap:6px}.login-footer-by{font-size:12px;color:#64748b}.login-footer-logo{height:20px;width:20px;object-fit:contain;border-radius:5px;vertical-align:middle}.login-footer-name{font-size:14px;font-weight:800;color:#cbd5e1;letter-spacing:.06em}.login-footer-dot{color:#2563eb}.login-footer-tagline{font-size:11px;color:#334155;letter-spacing:.03em}.login-footer-ver{font-size:11px;color:#1e293b;margin-top:2px;color:#334155}.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap;margin-bottom:4px}.crumbs button{background:none;border:none;padding:0;font:500 13px Inter,sans-serif;color:var(--gold);cursor:pointer}.crumbs button:hover{text-decoration:underline}.crumbs .sep,.crumbs .here{color:var(--muted)}.scroll-x{overflow-x:auto;overflow-y:visible;max-width:100%}h2{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:28px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border)}@media (max-width: 640px){body{font-size:13px}.page{padding:16px 12px 60px}th,td{padding:9px 10px}.topbar .who{display:none}.topbar{padding:0 12px;gap:6px}.stat-card .sc-value{font-size:18px}}@media print{.topbar,.btn,button,.nav,input[type=date]{display:none!important}.page{padding:0;max-width:100%}.card{box-shadow:none;border:1px solid #ccc}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-card{border:1px solid #ccc;padding:10px 12px;break-inside:avoid}.stat-card:before{display:none}.sc-value{font-size:16px}body{font-size:12px;color:#000}table{page-break-inside:auto}tr{page-break-inside:avoid}thead{display:table-header-group}tfoot{display:table-footer-group}.chip{border:1px solid #999;background:none!important;color:#000!important}h1{font-size:16px}.page-head{margin-bottom:12px}.page:before{content:"Branch Sales Report";display:block;font-size:18px;font-weight:700;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:16px}}tfoot td{letter-spacing:.01em}.chip.submitted{box-shadow:0 0 0 1px #16a34a33}.chip.missing{box-shadow:0 0 0 1px #dc262633}.chip.variance{box-shadow:0 0 0 1px #d9770633}.stat-card{transition:box-shadow .15s}.stat-card:hover{box-shadow:var(--shadow)}@media print{@page{margin:8mm;size:A4}html,body{height:auto!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body:has(#print-area) *{visibility:hidden!important}body:has(#print-area) #print-area,body:has(#print-area) #print-area *{visibility:visible!important}#print-area{position:absolute!important;top:0!important;left:0!important;width:100%!important;margin:0!important}.no-print{display:none!important}}.ribbon{display:flex;align-items:stretch;gap:0;padding:8px 20px 6px;background:var(--slate-900);border-top:1px solid var(--slate-800)}.ribbon-group{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 14px}.ribbon-buttons{display:flex;gap:6px;align-items:center}.ribbon-buttons input[type=date]{padding:4px 8px;font-size:12px}.ribbon-label{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-300)}.ribbon-sep{width:1px;background:var(--slate-800);margin:2px 0}.topbar{height:auto}.topbar .brand span{color:var(--gold)}.sticky-cols{position:relative}.sticky-col{position:sticky;z-index:2}.sticky-col-1{left:0;min-width:160px}.sticky-col-2{left:160px;box-shadow:2px 0 4px -2px #00000014}thead .sticky-col{background:#f3f4f6;z-index:3}.chrome-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-md);padding:0 8px}.chrome-tab{padding:8px 16px;font-size:12px;font-weight:600;border:none;background:transparent;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:5px;transition:color .12s,border-color .12s}.chrome-tab:hover{color:var(--text-2)}.chrome-tab.on{color:var(--accent-dk);border-bottom-color:var(--accent);background:transparent}.table-toolbar{display:flex;align-items:center;gap:7px;padding:9px 13px;border-bottom:1px solid var(--border);flex-wrap:wrap;row-gap:7px}.table-toolbar>button,.table-toolbar>div:not(.table-search){flex-shrink:0}.table-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border-md);border-radius:7px;padding:5px 10px;background:var(--white);min-width:200px}.table-search input{border:none;outline:none;font:inherit;font-size:12px;flex:1;background:transparent;color:var(--text)}.col-menu{position:absolute;top:34px;right:0;background:var(--white);border:1px solid var(--border-md);border-radius:8px;box-shadow:var(--shadow-lg);padding:8px;z-index:40;min-width:190px}.col-menu label{display:flex;align-items:center;gap:8px;padding:5px 6px;font-size:12px;border-radius:5px;cursor:pointer}.col-menu label:hover{background:var(--slate-50)}table.density-comfortable td{padding:11px 14px}table.density-compact td{padding:7px 12px}table.density-tight td{padding:4px 10px;font-size:12px}table.density-tight .prog-sub{display:none}table.density-tight td .branch-icon{width:22px;height:22px}.scroll-y-table{overflow-x:auto;overflow-y:visible;max-width:100%}.scroll-y-table thead th{position:sticky;top:48px;z-index:4;background:#f3f4f6;box-shadow:0 1px 0 var(--border)}.scroll-y-table thead th.sticky-col{z-index:6}.sticky-right{position:sticky;right:0;z-index:2;box-shadow:-3px 0 5px -3px #0000001a}thead .sticky-right{background:#f3f4f6;z-index:5}.scroll-y-table thead th.sticky-right{z-index:6}@media (max-width: 1100px){.hide-narrow{display:none!important}}tbody tr{background:#fff;transition:background .12s}tbody tr:nth-child(2n){background:#f8fafc}tbody tr .sticky-col,tbody tr .sticky-right{background:#fff}tbody tr:nth-child(2n) .sticky-col,tbody tr:nth-child(2n) .sticky-right{background:#f8fafc}tbody tr.row-notstarted,tbody tr.row-notstarted .sticky-col,tbody tr.row-notstarted .sticky-right{background:#fff8f8}tbody tr.row-inprogress,tbody tr.row-inprogress .sticky-col,tbody tr.row-inprogress .sticky-right{background:#fff9f1}tbody tr.row-complete,tbody tr.row-complete .sticky-col,tbody tr.row-complete .sticky-right{background:#f7fcf8}tbody tr:hover,tbody tr:hover .sticky-col,tbody tr:hover .sticky-right{background:#eef6ff!important}tbody tr.row-selected,tbody tr.row-selected .sticky-col,tbody tr.row-selected .sticky-right{background:#eaf4ff!important}tbody tr.row-selected td:first-child{box-shadow:inset 4px 0 #2563eb}tbody td{border-bottom:1px solid #e5e7eb}.print-only{display:none}@media print{.print-only{display:block!important}.print-header{border-bottom:2px solid #111827;padding-bottom:10px;margin-bottom:16px}aside,header,.table-toolbar,.no-print,.nav,select,input[type=date]{display:none!important}.scroll-x,.scroll-y-table{overflow:visible!important;max-height:none!important}.card{box-shadow:none!important;border:1px solid #d1d5db!important;break-inside:avoid}thead{display:table-header-group}tfoot{display:table-footer-group}tr{break-inside:avoid}tbody tr:nth-child(2n),tbody tr:nth-child(2n) .sticky-col{background:#f4f6f8!important}tbody tr:hover,tbody tr:hover .sticky-col{background:transparent!important}.sticky-col,.sticky-right{position:static!important;box-shadow:none!important}body{font-size:11px;color:#000}.page{padding:0!important;max-width:100%!important}@page{margin:12mm;size:A4 landscape}}.stat-row .stat-card{min-height:74px;display:flex;flex-direction:column;justify-content:center}@media (max-width: 900px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
