:root{color:#1f2925;font-synthesis:none;text-rendering:optimizelegibility;background:#ebe9e3;font-family:ui-sans-serif,Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}body{background-color:#ebe9e3;background-image:linear-gradient(90deg,#315c5114 1px,#0000 1px),linear-gradient(0deg,#315c510f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}.boot,.login{place-items:center;min-height:100vh;display:grid}.login-panel{background:#f7f5ee;border:1px solid #d5d1c6;border-radius:8px;width:min(420px,100vw - 32px);padding:28px;box-shadow:0 24px 80px #292d282e}.login-panel form,.form-grid{gap:16px;display:grid}label{color:#59615b;gap:7px;font-size:13px;display:grid}input,select{color:#1f2925;background:#fffdf7;border:1px solid #c9c4b8;border-radius:6px;width:100%;min-height:40px;padding:0 12px}.shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.side{color:#f4f1e8;background:#20312c;grid-template-rows:auto 1fr auto;gap:24px;padding:18px;display:grid}.brand{align-items:center;gap:12px;display:flex}.brand.large{margin-bottom:26px}.brand-mark{color:#17201d;background:#d4a547;border-radius:6px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small,.topbar small,.panel-title small{color:#7d867f;font-size:12px}.side .brand small{color:#aeb8b2}nav{align-content:start;gap:8px;display:grid}nav button,.ghost{color:#dfe6e0;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}nav button.active,nav button:hover,.ghost:hover{background:#ffffff1a}.side-footer{gap:10px;display:grid}.role{color:#dfe6e0;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.role b{color:#d4a547}main{min-width:0;padding:22px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.topbar h1{letter-spacing:0;margin:2px 0 0;font-size:28px}.search-pill{color:#85857d;background:#fffdf7cc;border:1px solid #d5d1c6;border-radius:999px;align-items:center;gap:8px;min-width:240px;height:38px;padding:0 14px;display:flex}.page-grid,.records-layout{gap:16px;display:grid}.records-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.42fr);align-items:start}.panel,.kpi,.toolbar,.dropzone{background:#fffdf7e0;border:1px solid #d5d1c6;border-radius:8px}.panel{padding:18px;overflow:hidden}.panel-title{justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px;display:flex}.panel-title h2,.cost-block h3,.detail h3{margin:0}.toolbar{flex-wrap:wrap;gap:10px;padding:10px;display:flex}.toolbar select,.toolbar input{width:auto;min-width:170px}.icon-button{color:#fff;background:#20312c;border-radius:6px;place-items:center;width:40px;height:40px;display:grid}.primary{color:#fff;background:#315c51;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-weight:700;display:inline-flex}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi{gap:8px;padding:16px;display:grid}.kpi small{color:#66706a}.kpi strong{font-size:clamp(20px,2vw,30px)}.split{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:16px;display:grid}.cost-block{gap:8px;margin-bottom:18px;display:grid}.cost-row{border-bottom:1px solid #e3ded3;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.money{font-variant-numeric:tabular-nums}.money.negative{color:#a33d2c}.notice,.error{color:#9a3d28}.notice{background:#fff4de;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;display:flex}.dropzone{text-align:center;cursor:pointer;border-style:dashed;place-items:center;min-height:150px;margin:18px 0;padding:20px;display:grid}.dropzone input{display:none}.result-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.result-grid>*{background:#ece7dc;border-radius:6px;padding:10px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #e3ded3;max-width:220px;padding:10px 8px;overflow:hidden}tbody tr{cursor:pointer}tbody tr:hover{background:#f1ede3}.status{color:#315c51;background:#dfe7e1;border-radius:999px;padding:3px 9px;display:inline-flex}.status.failed{color:#963b2a;background:#f3d5c9}.status.partial{color:#7b5b11;background:#f6e4b8}.detail{position:sticky;top:18px}pre{color:#f4f1e8;white-space:pre-wrap;background:#1f2925;border-radius:6px;max-height:320px;padding:12px;font-size:12px;overflow:auto}.empty{color:#85857d;place-items:center;min-height:220px;display:grid}.monthly-page{gap:16px;display:grid}.monthly-toolbar,.monthly-hero,.monthly-metric,.monthly-equation,.monthly-panel{background:#fcfcf9f0;border:1px solid #cfd6d2;border-radius:8px}.monthly-toolbar{flex-wrap:wrap;align-items:end;gap:12px;padding:12px;display:flex}.monthly-toolbar label{min-width:210px}.monthly-control{color:#52625c;background:#fff;border:1px solid #c5ccc7;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;height:42px;padding:0 10px;display:grid}.monthly-control select,.monthly-control input{background:0 0;border:0;min-height:38px;padding:0}.monthly-refresh{color:#fff;background:#22302c;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 16px;font-weight:700;display:inline-flex}.monthly-hero{color:#f8faf7;background:linear-gradient(135deg,#1f2925fa,#273e38f5),#1f2925;grid-template-columns:minmax(0,1fr) minmax(250px,.3fr);gap:18px;padding:22px;display:grid}.monthly-hero small,.monthly-hero p,.monthly-hero-result span,.monthly-hero-result small{color:#b7c4bd}.monthly-hero h2{letter-spacing:0;max-width:900px;margin:8px 0 0;font-size:clamp(25px,3.2vw,44px);line-height:1.12}.monthly-hero h2 .money,.monthly-hero p .money{color:#f4cf68}.monthly-hero p{max-width:760px;margin:12px 0 0;font-size:15px;line-height:1.65}.monthly-hero-result{border-left:1px solid #ffffff2e;align-content:center;gap:6px;min-height:140px;padding-left:22px;display:grid}.monthly-hero-result strong{font-size:clamp(24px,2.6vw,38px);line-height:1.1}.monthly-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.monthly-metric{border-top-width:4px;gap:12px;min-height:118px;padding:16px;display:grid}.monthly-metric span{color:#5f6d68;font-size:13px}.monthly-metric strong{align-self:end;font-size:clamp(21px,2vw,30px);line-height:1.1}.monthly-metric.ink{border-top-color:#22302c}.monthly-metric.green{border-top-color:#2f6b57}.monthly-metric.amber{border-top-color:#c88b2f}.monthly-metric.blue{border-top-color:#3c6684}.monthly-equation{grid-template-columns:repeat(4,minmax(0,1fr) auto) minmax(0,1.1fr);align-items:stretch;gap:10px;padding:12px;display:grid}.monthly-equation>div{background:#f2f5f2;border-radius:6px;gap:6px;min-height:84px;padding:12px;display:grid}.monthly-equation b{color:#708079;align-self:center}.monthly-equation small{color:#64726d}.monthly-equation strong{align-self:end;font-size:18px}.monthly-equation .equation-result{color:#fff;background:#20312c}.monthly-equation .equation-result small{color:#bfd0c8}.monthly-detail-grid{grid-template-columns:minmax(0,.62fr) minmax(340px,.38fr);align-items:start;gap:16px;display:grid}.monthly-panel{gap:16px;padding:18px;display:grid}.monthly-section-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.monthly-section-title small{color:#7a8782;text-transform:uppercase;font-size:12px}.monthly-section-title h2{letter-spacing:0;margin:2px 0 0;font-size:20px}.monthly-section-title>span{color:#475a53;background:#edf1ef;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 12px;font-size:12px;display:inline-flex}.monthly-cost-list{gap:12px;display:grid}.monthly-cost-line{border-bottom:1px solid #e2e7e3;gap:8px;padding-bottom:12px;display:grid}.monthly-cost-line:last-child{border-bottom:0;padding-bottom:0}.monthly-cost-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.monthly-cost-head strong,.monthly-cost-head small{display:block}.monthly-cost-head small{color:#64726d;margin-top:3px}.monthly-cost-head>span{font-variant-numeric:tabular-nums;color:#32413d;font-weight:800}.monthly-cost-track{background:#e4e9e6;border-radius:999px;height:9px;overflow:hidden}.monthly-cost-track span{border-radius:inherit;background:linear-gradient(90deg,#2f6b57,#c88b2f);min-width:3px;height:100%;display:block}.monthly-ledger{position:sticky;top:18px}.ledger-row{border-bottom:1px solid #e2e7e3;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.ledger-row span{color:#64726d}.ledger-row b{text-align:right}.ledger-row.strong{border-bottom-color:#cbd5d0}.ledger-row.strong span,.ledger-row.strong b{color:#1f2925;font-weight:900}.ledger-row.accent b{color:#2f6b57}.monthly-ledger p{color:#73561c;background:#f7f0df;border-radius:6px;margin:0;padding:10px 12px;line-height:1.5}.order-profit-page{gap:16px;display:grid}.order-profit-summary{background:#fcfcf9f0;border:1px solid #cfd6d2;border-radius:8px;grid-template-columns:minmax(280px,1.5fr) repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:16px;display:grid}.order-profit-summary h2{letter-spacing:0;margin:2px 0 6px;font-size:24px}.order-profit-summary p,.order-profit-summary small{color:#697771}.order-profit-summary p{margin:0;line-height:1.55}.order-profit-summary article{background:#eff3f0;border-radius:6px;align-content:center;gap:8px;min-height:92px;padding:12px;display:grid}.order-profit-summary article span{color:#63716c;font-size:12px}.order-profit-summary article strong{font-size:20px;line-height:1.15}.order-profit-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.36fr);align-items:start;gap:16px;display:grid}.order-profit-table-wrap,.order-profit-detail{background:#fcfcf9f0;border:1px solid #cfd6d2;border-radius:8px}.order-profit-table-wrap{overflow:auto}.order-profit-table th,.order-profit-table td{max-width:180px;padding:12px 10px}.order-profit-table tbody tr.selected{background:#e7eee9}.order-profit-table tbody tr.selected td:first-child{color:#245f4d;font-weight:900}.order-profit-detail{gap:16px;padding:18px;display:grid;position:sticky;top:18px}.order-detail-head{align-items:center;gap:12px;display:flex}.order-detail-head svg{color:#315c51}.order-detail-head h2{letter-spacing:0;margin:2px 0 0;font-size:20px}.order-detail-head small{color:#76827d}.order-equation{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.order-equation article{background:#eef3f0;border-radius:6px;gap:6px;min-height:78px;padding:10px;display:grid}.order-equation article.highlight{color:#fff;background:#20312c}.order-equation span{color:#66746e;font-size:12px}.order-equation article.highlight span{color:#c7d7d0}.order-equation strong{align-self:end;font-size:16px}.order-cost-group{gap:8px;display:grid}.order-cost-group h3{margin:0;font-size:15px}.order-cost-group p{color:#697771;background:#f2f5f2;border-radius:6px;margin:0;padding:10px;line-height:1.5}.order-cost-row{border-bottom:1px solid #e1e7e3;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.order-cost-row span{color:#5f6d68}.order-cost-row b{text-align:right}.order-detail-page{gap:16px;display:grid}.order-detail-summary,.order-detail-table-wrap,.order-detail-card{background:#fcfcf9f0;border:1px solid #cfd6d2;border-radius:8px}.order-detail-summary{grid-template-columns:minmax(280px,1fr) repeat(auto-fit,minmax(120px,.18fr));gap:12px;padding:16px;display:grid}.order-detail-summary h2{letter-spacing:0;margin:2px 0 6px;font-size:24px}.order-detail-summary p,.order-detail-summary small{color:#697771}.order-detail-summary p{margin:0;line-height:1.55}.order-detail-summary article{background:#eff3f0;border-radius:6px;align-content:center;gap:8px;min-height:92px;padding:12px;display:grid}.order-detail-summary article span{color:#63716c;font-size:12px}.order-detail-summary article strong{font-size:20px}.order-detail-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.34fr);align-items:start;gap:16px;display:grid}.order-detail-table-wrap{overflow:auto}.order-detail-table th,.order-detail-table td{max-width:190px;padding:12px 10px}.order-detail-table tbody tr.selected{background:#e7eee9}.order-detail-table svg{color:#315c51}.order-detail-table .selected td:first-child{color:#245f4d;font-weight:900}.order-detail-card{gap:12px;padding:18px;display:grid;position:sticky;top:18px}.detail-row{border-bottom:1px solid #e1e7e3;justify-content:space-between;gap:12px;padding:9px 0;display:flex}.detail-row span{color:#64726d}.detail-row b{text-align:right;overflow-wrap:anywhere;max-width:210px}@media (width<=980px){.shell{grid-template-columns:1fr}.side{grid-template-rows:auto auto;position:static}nav{grid-template-columns:repeat(7,minmax(0,1fr))}nav button span,.side-footer{display:none}.kpi-grid,.split,.records-layout{grid-template-columns:1fr}.search-pill{display:none}.detail{position:static}.monthly-hero,.monthly-kpis,.monthly-detail-grid,.order-profit-summary,.order-profit-layout,.order-detail-summary,.order-detail-layout{grid-template-columns:1fr}.monthly-hero-result{border-top:1px solid #ffffff2e;border-left:0;padding:18px 0 0}.monthly-equation{grid-template-columns:1fr}.monthly-equation b{display:none}.monthly-ledger,.order-profit-detail,.order-detail-card{position:static}}@media (width<=640px){main{padding:14px}.topbar h1{font-size:23px}.toolbar select,.toolbar input,.primary{width:100%}.result-grid{grid-template-columns:1fr 1fr}.monthly-toolbar label,.monthly-refresh{width:100%}.monthly-section-title{display:grid}.order-equation{grid-template-columns:1fr}}
