:root{--navy:#132329;--ink:#24343b;--muted:#728087;--gold:#b09052;--paper:#f5f6f7;--line:#e3e7e9;--white:#fff;--red:#a23232;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}[hidden]{display:none!important}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #c5aa72;outline-offset:3px}input,select{border:1px solid #d6dce0;border-radius:7px;background:white;color:var(--ink);min-height:42px;padding:9px 12px;max-width:100%}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#596970}.primary,.secondary,.subtle,.icon-button{border-radius:7px;min-height:42px;padding:10px 16px;font-weight:600}.primary{background:var(--navy);color:white;border:1px solid var(--navy);display:flex;align-items:center;justify-content:space-between;gap:25px}.primary:hover{background:#26414a}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}.secondary:hover{background:#f2f4f5}.subtle,.icon-button{border:0;background:transparent;color:var(--muted)}.muted{color:var(--muted);font-weight:400;line-height:1.6}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--gold);margin:0 0 14px}.wordmark{font-family:Georgia,serif;font-size:32px;letter-spacing:5px;text-decoration:none;color:inherit;display:block}.wordmark span{display:block;font-family:"Segoe UI",sans-serif;font-size:10px;letter-spacing:3px;margin-top:7px;color:#b9a67e}.message{min-height:20px;line-height:1.5;color:var(--red);margin:14px 0}.message.success{color:#3c6b5f}.message.loading{color:#667884}.login-screen{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;background:#fff}.login-story{background:var(--navy);color:#fff;padding:55px 11%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.login-story h1{font-family:Georgia,serif;font-size:clamp(42px,4.2vw,70px);line-height:1.17;letter-spacing:-2px;font-weight:400;margin:22px 0}.login-story em{color:#c9b07b;font-weight:400}.login-story p:not(.eyebrow){color:#a2b1b7;font-size:15px}.login-story small{font-size:9px;color:#7f969e;letter-spacing:2px}.login-panel{display:grid;place-items:center;padding:50px}.login-panel form{max-width:360px;width:100%}.login-panel h2{font-size:32px;margin:0 0 12px;letter-spacing:-1px}.login-panel label{margin-top:25px}.login-panel .primary{width:100%;margin-top:28px}.login-panel small{font-size:11px;display:block;margin-top:36px}.workspace{display:flex;min-height:100vh}aside{width:238px;background:var(--navy);color:#f1f3f3;position:fixed;inset:0 auto 0 0;padding:30px 19px;display:flex;flex-direction:column;z-index:20}aside .wordmark{font-size:27px;margin:3px 16px 32px}.nav-label{font-size:9px;letter-spacing:2px;color:#718991;margin:0 16px 14px}nav{overflow:auto;flex:1}nav .group-name{font-size:10px;color:#92a5ab;margin:22px 16px 8px}nav .group-name:first-child{margin-top:5px}nav button{display:block;width:100%;text-align:left;background:transparent;color:#c0cdd0;border:0;padding:10px 14px;margin:3px 0;border-radius:6px;font-size:12px;line-height:1.4}nav button:hover{background:#20373e}nav button.active{background:#30464b;color:#fff;border-left:3px solid var(--gold);padding-left:11px}nav button small{font-size:9px;color:#bca578;margin-left:5px}.sidebar-foot{font-size:11px;padding:20px 12px 0;margin-top:12px;border-top:1px solid #2c4148;color:#b7c7cd}.sidebar-foot small{display:block;color:#7c969e;font-size:9px;margin-top:9px}.status-dot{width:6px;height:6px;background:var(--gold);display:inline-block;border-radius:50%;margin-right:4px}main{margin-left:238px;min-width:0;width:calc(100% - 238px)}.topbar{height:83px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:16px}.top-label{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-bottom:7px}.topbar strong{font-size:13px;font-weight:600}.user-area{display:flex;align-items:center;gap:20px;font-size:12px}.user-area .subtle{font-size:11px;border-left:1px solid var(--line);border-radius:0}.icon-button{display:none;font-size:20px}.content{padding:35px 38px 20px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:25px}.page-heading h1{font-size:29px;font-weight:600;letter-spacing:-1px;margin:0}.page-heading .muted{max-width:770px;font-size:12px;margin:12px 0 0}.date-pill{white-space:nowrap;border:1px solid var(--line);border-radius:30px;background:#fff;padding:9px 14px;font-size:10px;color:var(--muted);margin-top:26px}.filter-card,.table-card{background:white;border:1px solid var(--line);border-radius:9px}.filter-card{padding:21px 23px}.filter-card form{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.filter-set{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.filter-set input{width:164px}.filter-info{margin:0;align-self:center;color:var(--muted);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0 24px}.metrics>div{background:white;border:1px solid var(--line);border-radius:8px;padding:20px 24px}.metrics span{font-size:9px;color:var(--muted);letter-spacing:1.4px;display:block}.metrics strong{font-size:27px;display:block;margin:11px 0 6px;font-weight:500;letter-spacing:-.6px}.metrics small{font-size:10px;color:#919c9f}.table-toolbar{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.table-toolbar h2{font-size:15px;margin:0;font-weight:600}.table-toolbar p{font-size:10px;margin:6px 0 0}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.table-actions input{width:190px;font-size:11px}.table-actions button{font-size:11px}.table-note{padding:10px 24px;background:#faf6ec;color:#877046;font-size:11px;margin:0}.table-scroll{overflow:auto;max-height:65vh;border-top:1px solid var(--line)}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}th{position:sticky;top:0;background:#f8fafb;z-index:1;text-align:left;border-bottom:1px solid var(--line);padding:0;white-space:nowrap;color:#66747a;font-size:10px}th button{border:0;background:transparent;color:inherit;padding:15px 16px;width:100%;font:inherit;text-align:inherit;white-space:nowrap}td{border-bottom:1px solid #edf0f1;padding:13px 16px;white-space:nowrap;max-width:500px;overflow:hidden;text-overflow:ellipsis}td.number,th.number{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:#fafbfc}tbody tr.total{background:#f4f1e9;font-weight:600}thead tr.filters th{top:43px;padding:6px}thead tr.filters input{min-height:32px;width:140px;font-size:10px}.empty-state{padding:60px 20px 70px;text-align:center;border-top:1px solid var(--line);color:var(--muted)}.empty-symbol{font-size:35px;color:#baa06a;background:#f7f4ed;border-radius:14px;width:65px;height:65px;line-height:65px;margin:auto}.empty-state h3{font-size:15px;color:var(--ink);font-weight:500}.empty-state p{font-size:12px}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;gap:16px;font-size:10px;color:var(--muted)}.table-footer>div{display:flex;gap:8px;align-items:center}.table-footer button{min-height:32px;padding:5px 12px}.inline-label{flex-direction:row;align-items:center;font-size:10px;font-weight:400}.inline-label select{min-height:30px;padding:4px 8px;font-size:10px}.page-footer{display:flex;justify-content:space-between;color:#8b969b;font-size:9px;gap:20px;margin-top:26px}.page-footer span:first-child{letter-spacing:1.5px}#reportMessage:empty{margin:0;min-height:0}
@media(max-width:1100px){.content{padding:28px 22px}.topbar{padding:0 22px}.date-pill{display:none}.filter-card form{align-items:flex-start;flex-direction:column}.filter-card .primary{align-self:flex-end}.table-actions{width:100%}}
@media(max-width:760px){.login-screen{grid-template-columns:1fr}.login-story{min-height:0;padding:28px}.login-story>div:not(.wordmark),.login-story>small{display:none}.login-panel{padding:36px 28px}.login-panel form{max-width:440px}aside{transform:translateX(-100%);transition:transform .2s;width:230px;top:72px}aside.open{transform:translateX(0);box-shadow:12px 0 30px #13232940}main{width:100%;margin:0}.icon-button{display:block;padding:5px}.topbar{height:72px;padding:0 16px;justify-content:flex-start}.user-area{margin-left:auto;gap:6px}.user-area>span{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-label{font-size:7px}.topbar strong{font-size:11px}.content{padding:25px 16px 16px}.page-heading h1{font-size:25px}.filter-card{padding:16px}.filter-set{gap:12px;width:100%}.filter-set label{flex:1;min-width:120px}.filter-set input{width:100%;min-width:0}.filter-card .primary{width:100%}.metrics{gap:8px;margin:16px 0}.metrics>div{padding:13px 10px}.metrics span{font-size:7px;letter-spacing:.5px}.metrics strong{font-size:20px}.metrics small{font-size:8px}.table-toolbar{padding:17px}.table-actions input{width:100%}.table-actions button{flex:1;padding:8px}.table-footer{padding:12px;flex-wrap:wrap}.table-footer>div{margin-left:auto}.page-footer{flex-direction:column;gap:8px}.table-note{padding:10px 17px}#fetchedTime{font-size:17px}}

/* Keep the whole header group together, including totals and filter inputs. */
#dataTable thead{position:sticky;top:0;z-index:3}
#dataTable thead th{position:static}
#dataTable thead tr.filters th{top:auto}
#dataTable .column-totals td{background:#f5efdf;color:#493e29;padding:12px 16px;font-size:12px;font-weight:600;border-bottom:1px solid #dfd2b4;max-width:none;overflow:visible;font-variant-numeric:tabular-nums}

.metrics strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

#dataTable tfoot{position:sticky;bottom:0;z-index:2}
#dataTable tfoot td,#dataTable tfoot th{position:static;background:#eae0c8;color:#302b21;padding:14px 16px;font-size:12px;font-weight:700;border-top:2px solid #b09052;border-bottom:1px solid #d6c7a7;white-space:nowrap;font-variant-numeric:tabular-nums}
#fetchedTime.sales-total-value{font-size:clamp(20px,2.1vw,27px)}

nav a.admin-link{display:block;text-decoration:none;color:#c0cdd0;padding:10px 14px;margin:3px 0;border-radius:6px;font-size:12px;line-height:1.4}nav a.admin-link:hover{background:#20373e;color:#fff}
