@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Cormorant+Garamond:wght@500;600&display=swap";:root{--ink:#1b2430;--muted:#4a5565;--line:#dde2e8;--line-soft:#eef1f4;--field:#c8cfd8;--bg:#f4f5f7;--card:#fff;--accent:#0f5e5e;--accent-dark:#0a4444;--accent-soft:#e3f2ef;--warn-bg:#fff6e5;--warn-line:#f0d49a;--warn-ink:#6b4a00;--danger:#a3261f;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:IBM Plex Sans,system-ui,sans-serif}a{color:var(--accent)}a:hover{color:var(--accent-dark)}h1{margin:0;font-size:28px;font-weight:600}h2{margin:0;font-size:18px;font-weight:600}p.sub{color:var(--muted);margin:4px 0 0;font-size:14px}.topbar{background:var(--ink);color:#fff;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 24px;display:flex}.topbar .brand{color:#fff;letter-spacing:.01em;align-items:center;gap:10px;font-size:17px;font-weight:600;text-decoration:none;display:flex}.topbar .brand:hover{color:#fff}.topbar .brand img{width:40px;height:40px;display:block}.topbar nav{flex-wrap:wrap;flex:auto;gap:4px;display:flex}.topbar nav a{color:#d5dce4;white-space:nowrap;border-radius:6px;padding:9px 11px;font-size:14px;text-decoration:none}.topbar nav a.active{color:#fff;background:#2e3a4a}.topbar nav a,.topbar .menubtn{align-items:center;gap:6px;display:inline-flex}.topbar .badge{color:#1b2430;background:#c9a227;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;line-height:16px}.topbar .menu{position:relative}.topbar .menubtn{color:#d5dce4;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:0;padding:9px 11px;font-size:14px}.topbar .menubtn:hover,.topbar nav a:hover{color:#fff}.topbar .menubtn.active{color:#fff;background:#2e3a4a}.topbar .menubtn .caret{opacity:.7;font-size:10px}.topbar .gear .menubtn{padding:6px 10px;font-size:18px}.topbar .menulist{border:1px solid var(--line);z-index:50;background:#fff;border-radius:8px;flex-direction:column;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);box-shadow:0 10px 30px #0f17202e}.topbar .menulist.left{left:0}.topbar .menulist.right{right:0}.topbar .menulist a{color:var(--ink);border-radius:6px;padding:9px 12px;font-size:14px;text-decoration:none}.topbar .menulist a:hover{background:var(--accent-soft);color:var(--ink)}.topbar .menulist a.active{color:var(--ink);background:#eef1f4}.topbar .who{color:#d5dce4;align-items:center;gap:12px;font-size:13px;display:flex}.topbar .who b{color:#8fd3c9;text-transform:capitalize;font-weight:500}.topbar .who select.viewas{color:#8fd3c9;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 4px;font-weight:500}.topbar .who select.viewas:hover,.topbar .who select.viewas:focus{border-color:#4a5565;outline:none}.topbar .who select.viewas option{color:#1b2430}.previewbar{color:#5a4300;background:#fff4d6;border-bottom:1px solid #e8c96a;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 28px;font-size:13px;display:flex}.previewbar button{color:#5a4300;cursor:pointer;font:inherit;background:0 0;border:1px solid #c9a646;border-radius:6px;padding:4px 10px;font-size:12px}.topbar .who button{color:#d5dce4;cursor:pointer;font:inherit;background:0 0;border:1px solid #4a5565;border-radius:6px;padding:6px 10px;font-size:12px}main.page{flex-direction:column;gap:18px;max-width:1200px;margin:0 auto;padding:24px 20px 56px;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=760px){.grid3,.grid4{grid-template-columns:1fr}}label.f{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}input,select,textarea{font:inherit;border:1px solid var(--field);color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px;font-size:14px}textarea{resize:vertical}button,.btn{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:10px 16px;font-size:14px;text-decoration:none;display:inline-flex}button.ghost,.btn.ghost{color:var(--accent);background:#fff}button.plain{color:var(--accent);background:0 0;border:0;min-height:0;padding:4px 6px}button:disabled{opacity:.5;cursor:default}.btn:hover{color:#fff}.btn.ghost:hover{color:var(--accent-dark)}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--field);min-height:40px;color:var(--ink);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px}.pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.seg{border:1px solid var(--field);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:var(--ink);background:#fff;border:0;border-radius:0;min-height:40px}.seg button.on{background:var(--ink);color:#fff}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:10px 14px}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tablewrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:14px}table.t th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 8px;font-size:12px;font-weight:500}table.t td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:9px 8px}table.t.vendors td{overflow-wrap:anywhere}.linkrow{flex-wrap:wrap;gap:0 4px;margin-left:-6px;display:flex}.linkrow button{white-space:nowrap;font-size:13px}table.t td.n,table.t th.n{text-align:right;font-family:var(--mono);white-space:nowrap}table.t tr.pay td{background:#f7f9fc}.tag{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:12px}.tag.received{background:var(--accent-soft);color:var(--accent-dark)}.tag.on_order{color:var(--warn-ink);background:#fff1d6}.tag.payment{color:#1d3d6e;background:#e8eef8}.tag.credit{color:#4d2a6e;background:#f1e8f8}.note{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:8px;padding:10px 12px;font-size:13px}.error{color:var(--danger);font-size:14px}.kv{justify-content:space-between;gap:12px;font-size:14px;display:flex}.kv .v{font-family:var(--mono)}.kv.total{border-top:1px solid var(--line);padding-top:10px;font-size:16px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px}.center{justify-content:center;align-items:center;min-height:70vh;display:flex}dialog{border:1px solid var(--line);border-radius:12px;width:min(640px,94vw);padding:0}dialog::backdrop{background:#1b243066}dialog form{flex-direction:column;gap:12px;padding:20px;display:flex}.panel.tile{gap:6px}.panel.tile b{font-size:26px;font-weight:600}.warnink{color:var(--warn-ink)}.chg{font-family:var(--mono);white-space:nowrap;font-size:12px}.chg.up{color:var(--accent-dark)}.chg.down{color:var(--danger)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.sharebar{align-items:center;gap:8px;min-width:140px;display:flex}.sharebar i{background:var(--accent);border-radius:4px;height:8px;display:block}.sharebar span{font-family:var(--mono);color:var(--muted);font-size:12px}table.t.heat td.n{font-size:13px}table.t tr.dim td{color:var(--muted)}.bucket{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.bucket b{font-family:var(--mono);font-size:18px;font-weight:500}.bucket.late{background:var(--warn-bg);border-color:var(--warn-line)}.tag.age{background:var(--line-soft);color:var(--ink);font-family:var(--mono)}.tag.age.late{background:var(--warn-bg);color:var(--warn-ink)}.chartwrap{overflow-x:auto}.chartwrap svg{min-width:560px}@media (width<=760px){.grid4.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.panel.tile b{font-size:22px}}.entrygrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.sheet{background:#fff;flex-direction:column;gap:22px;width:8.5in;min-height:11in;margin:0 auto 24px;padding:.6in .9in .5in;font-size:13pt;display:flex;box-shadow:0 1px 3px #00000014}.sheet.cardsheet{gap:12px;padding:.5in;font-size:10pt}.sheet .logo{width:1.25in;height:1.25in;margin:0 auto;display:block}.sheet .wordmark{text-align:center;font-family:Cormorant Garamond,Georgia,serif;font-size:34px;font-weight:500}.sheet .tagline{text-align:center;letter-spacing:.28em;margin-top:-14px;font-size:12pt;font-weight:600}.sheet .billto{border-top:1px solid var(--field);justify-content:space-between;gap:24px;padding-top:12px;line-height:1.6;display:flex}.sheet table.totals{border-collapse:collapse;width:100%}.sheet table.totals td{border-bottom:1px solid var(--line);padding:9px 0}.sheet table.totals td.n{text-align:right;font-family:var(--mono)}.sheet table.totals tr.last td{border-bottom:2px solid var(--ink)}.sheet table.totals tr.due td{border-bottom:0;padding-top:14px;font-size:14pt;font-weight:600}.sheet .footer{border-top:1px solid var(--field);white-space:pre-line;margin-top:auto;padding-top:10px;font-size:10.5pt;line-height:1.6}.sheet table.t{font-size:9pt}.sheet table.t th{font-size:8pt}.printbar{z-index:2;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:12px 20px;display:flex;position:sticky;top:0}@media print{@page{size:letter;margin:0}html,body,#root{background:#fff!important}*,:before,:after{-webkit-print-color-adjust:economy;print-color-adjust:economy;box-shadow:none!important;text-shadow:none!important;background:0 0!important}.topbar,.printbar,.noprint,dialog{display:none!important}.sheet{page-break-after:always;break-after:page;width:8.5in;height:11in;min-height:0;margin:0;overflow:hidden}.sheet.cardsheet{height:auto;overflow:visible}.sheet:last-child{page-break-after:auto;break-after:auto}table.t thead{display:table-header-group}table.t tr{break-inside:avoid}.tag{border-radius:0;padding:0;color:#000!important}.muted,table.t th{color:#333!important}.sheet .logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.linked{background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px;font-size:13px;display:flex}.linked .chip{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;padding:3px 10px}.linked .chip.current{border-color:var(--accent)}.linked .chip a{text-decoration:none}.linked.pending{background:var(--warn-bg);border-color:var(--warn-line)}.linked.reused-bar{background:#fdecec;border-color:#f2b8b5}.reused{color:var(--danger);font-weight:600}.reused.small{font-size:12px}fieldset.tracking{border:1px solid var(--line);border-radius:8px;margin:4px 0 8px;padding:8px 12px 10px}fieldset.tracking legend{color:var(--muted);padding:0 6px;font-size:12px}.track{white-space:nowrap;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;margin-top:3px;padding:1px 8px;font-size:11.5px;display:inline-block}.track.late{color:var(--danger);background:#fdecec;border-color:#f2b8b5;font-weight:600}.track.unconfirmed{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}.track.ships_soon{background:var(--accent-soft);border-color:var(--accent);color:var(--ink,#222)}.track.confirmed{color:var(--ink,#333)}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.tile{text-align:left;border:1px solid var(--line);cursor:pointer;font:inherit;color:inherit;background:#fff;border-radius:10px;padding:10px 12px}.tile .big{font-size:24px;font-weight:600;line-height:1.2}.tile.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.tile.late .big{color:var(--danger)}.tile.unconfirmed .big{color:var(--warn-ink)}.hero-tiles{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;display:grid}.hero-tile{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden}.hero-tile:before{content:"";background:var(--line);width:4px;position:absolute;top:0;bottom:0;left:0}.hero-tile.good:before{background:var(--accent)}.hero-tile.bad:before{background:var(--danger)}.hero-tile b{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:clamp(20px,2.1vw,27px);font-weight:600;line-height:1.2}.hero-tile.bad b{color:var(--danger)}.hero-tile .up{color:var(--accent);font-weight:600}.hero-tile .down{color:var(--danger);font-weight:600}.myday h1{letter-spacing:.005em;font-family:Cormorant Garamond,Georgia,serif;font-size:38px;font-weight:600}.daygroup h2 .count{text-align:center;background:var(--line-soft);min-width:24px;color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.daygroup.late h2 .count{color:var(--danger);background:#fdecec}.daygroup.follow_up h2 .count,.daygroup.unconfirmed h2 .count{background:var(--warn-bg);color:var(--warn-ink)}.daygroup.approved h2 .count{background:var(--accent-soft);color:var(--accent-dark)}.daygroup.late{border-left:4px solid var(--danger)}.daygroup.approved{border-left:4px solid var(--accent)}.daylist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.daylist li+li{border-top:1px solid var(--line-soft)}.dayrow{color:inherit;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:10px 6px;text-decoration:none;display:grid}.dayrow:hover{background:var(--accent-soft);color:inherit}.dayrow .who{flex-direction:column;min-width:0;display:flex}.dayrow .who b{font-weight:600}.dayrow .detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dayrow .amt{font-variant-numeric:tabular-nums;font-weight:600}.dayrow .go{color:var(--accent);white-space:nowrap;font-size:13px}.bigsum{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=760px){.grid2{grid-template-columns:1fr}.dayrow{grid-template-columns:1fr auto}.dayrow .go{display:none}.myday h1{font-size:30px}}.tile.static{cursor:default}.agebar{background:var(--line-soft);border-radius:999px;gap:2px;height:12px;display:flex;overflow:hidden}.agebar .age{min-width:6px;display:block}.agebar .a0_30{background:var(--accent)}.agebar .a31_60{background:#6fa8a0}.agebar .a61_90{background:#c9a227}.agebar .a90p{background:var(--danger)}.kv.margin .v{color:var(--ink)}.kv.margin.good .v{color:var(--accent)}.kv.margin.bad .v{color:var(--danger)}.panel.commission{background:linear-gradient(#fff 0%,#f6fbfa 100%)}.approve-page{background:#f7f5f1;min-height:100vh}.approve-brand{justify-content:center;align-items:center;gap:14px;padding:26px 16px 6px;display:flex}.approve-brand .wordmark{letter-spacing:.14em;font-family:Cormorant Garamond,Georgia,serif;font-size:26px;font-weight:600;line-height:1}.serif{font-family:Cormorant Garamond,Georgia,serif;font-size:34px;font-weight:600}.approve-total{text-align:right;flex-direction:column;margin-left:auto;display:flex}.approve-total b{font-variant-numeric:tabular-nums;font-size:30px}.approve-lines{width:100%}h2.room{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:6px 0 4px;font-size:13px}.approve-sum{font-variant-numeric:tabular-nums;flex-direction:column;gap:6px;min-width:280px;margin-left:auto;display:flex}.approve-sum>div{justify-content:space-between;gap:20px;display:flex}.approve-sum .grand{border-top:1px solid var(--line);padding-top:8px;font-size:18px;font-weight:600}.approve-box{border:2px solid var(--accent)}.approve-box.approved{background:var(--accent-soft)}.approve-box.declined{border-color:var(--line)}@media (width<=760px){.approve-sum{width:100%;min-width:0}.serif{font-size:28px}}@media (width<=560px){.approve-lines th:nth-child(3),.approve-lines td:nth-child(3){display:none}}.topbar .usermenu .menubtn{padding:4px 6px}.topbar .avatar{color:#fff;letter-spacing:.02em;background:#2e3a4a;border:1px solid #45546a;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:inline-flex}.topbar .usermenu .menulist{min-width:240px}.topbar .usermenu .who{color:var(--ink);flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px;font-size:14px;display:flex}.topbar .usermenu .who .name{color:var(--ink);text-transform:none;font-weight:600}.topbar .usermenu .who select.viewas{color:var(--accent);border:1px solid var(--line)}.topbar .usermenu .who button{margin-top:4px}.previewbar .viewas{color:#5a4300;font:inherit;background:#fff;border:1px solid #c9a646;border-radius:6px;padding:3px 6px;font-weight:600}.previewbar .muted-ink{opacity:.85}.previewbar.asuser{color:#0a4444;background:#e3f2ef;border-bottom-color:#8fc4bb}.previewbar.asuser .viewas,.previewbar.asuser button{color:#0a4444;border-color:#0f5e5e}.previewbar{padding:7px 24px}.previewbar button{min-height:0;margin-left:auto}
