:root{color:#17211b;background:#f5f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;padding:32px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:24px;margin-bottom:28px}.topbarActions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.eyebrow{color:#67715f;font-size:13px;font-weight:700;margin:0 0 6px;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:32px;line-height:1.1}.status{background:#fff4d6;border:1px solid #e6c76d;border-radius:999px;color:#6f5200;font-size:14px;font-weight:700;padding:8px 12px}.metrics{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.metric,.panel{background:#fff;border:1px solid #dfe6d8;border-radius:8px}.metric{padding:18px}.metric span,.metric p{color:#63705d;font-size:14px}.metric strong{display:block;font-size:28px;margin:10px 0 6px}.panel{display:flex;flex-direction:column;gap:20px;margin-bottom:24px;padding:24px}.panel h2{font-size:22px;margin-bottom:8px}.empty{border:1px dashed #aeb8a7;border-radius:8px;color:#64705d;min-width:240px;padding:24px;text-align:center}.sales{border-collapse:collapse;width:100%}.sales th,.sales td{border-bottom:1px solid #eef2ea;font-size:14px;padding:10px 12px;text-align:left;vertical-align:top}.sales th{color:#63705d;font-weight:700}.sales td:last-child,.sales th:last-child{text-align:right;font-variant-numeric:tabular-nums}.sales tbody tr:hover{background:#f7faf4}.tabs{display:flex;gap:8px}.tab{background:#fff;border:1px solid #dfe6d8;border-radius:999px;color:#3b4a37;cursor:pointer;font-size:14px;font-weight:700;padding:8px 16px}.tab.active{background:#2f7d3a;border-color:#2f7d3a;color:#fff}.tab:disabled{opacity:.6;cursor:default}.overviewStatus{display:inline-block;margin-bottom:16px}.adminBar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.adminBar h2{font-size:22px}.muted{color:#9aa595}.loginShell{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.loginCard{background:#fff;border:1px solid #dfe6d8;border-radius:12px;display:flex;flex-direction:column;gap:12px;max-width:360px;padding:32px;width:100%}.loginCard h1{font-size:26px}.loginLogo{align-self:center;height:96px;object-fit:contain;width:96px}.loginHint{color:#63705d;font-size:14px}.loginCard label{display:flex;flex-direction:column;gap:6px}.loginCard button{background:#2f7d3a;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:11px}.loginCard button:disabled{opacity:.6}.loginError{color:#b13b3b;font-size:14px;font-weight:700}input{border:1px solid #cfd8c8;border-radius:6px;font:inherit;padding:8px 10px}.products input[type=text],.products input[type=number],.products input:not([type]){width:100%}.products td{vertical-align:middle}.products .newRow input{background:#f3f8ef}.products tr.inactive,.sales tr.inactive{opacity:.5}.checkboxCell{align-items:center;display:flex;gap:6px;font-size:14px}.checkboxCell input{width:auto}.sales button{background:#eef2ea;border:1px solid #cfd8c8;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;margin-right:6px;padding:7px 12px}.sales button.primary{background:#2f7d3a;border-color:#2f7d3a;color:#fff}.sales button.danger{background:#fff;border-color:#e2b4b4;color:#b13b3b}.rowActions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.rowActions button{margin-right:0}.detailRow td{background:#f7faf4}.itemsTable{border-collapse:collapse;width:100%}.itemsTable th,.itemsTable td{border-bottom:1px solid #e3ebdd;font-size:13px;padding:6px 10px;text-align:left}.itemsTable th{color:#63705d;font-weight:700}.itemsTable td:last-child,.itemsTable th:last-child,.itemsTable td:nth-child(3),.itemsTable th:nth-child(3),.itemsTable td:nth-child(2),.itemsTable th:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}.chartMonthPicker{align-items:center;display:flex;gap:8px}.chartMonthPicker span{color:#63705d;font-size:13px;font-weight:700}.chartGrid{display:flex;flex-direction:column;gap:24px}.chartCard h3{font-size:16px;margin-bottom:2px}.chartHint{color:#63705d;font-size:13px;margin-bottom:16px}.colChart{display:flex;align-items:flex-end;gap:10px;height:220px}.colItem{display:flex;flex:1;flex-direction:column;height:100%;min-width:0}.colBarArea{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:flex-end;min-height:0}.colValue{color:#3b4a37;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;height:16px;white-space:nowrap}.colBar{background:#2f7d3a;border-radius:4px 4px 0 0;margin-top:4px;max-width:48px;min-height:3px;width:70%}.colBar:hover{background:#276a31}.colLabel{color:#63705d;font-size:12px;padding-top:8px;text-align:center}.barsChart{display:flex;flex-direction:column;gap:8px}.barRow{align-items:center;display:grid;gap:12px;grid-template-columns:150px 1fr 70px}.barLabel{color:#17211b;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barTrack{background:#eef2ea;border-radius:6px;height:18px;overflow:hidden}.barFill{background:#2f7d3a;border-radius:6px;height:100%;min-width:2px}.barValue{color:#3b4a37;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.salesFilter{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.salesFilter label{display:flex;flex-direction:column;gap:4px}.salesFilter label span{color:#63705d;font-size:13px;font-weight:700}.debtTotal{border-color:#e6c76d;background:#fff9e8}.debtTotal strong{color:#6f5200}.sales tfoot td{border-top:2px solid #dfe6d8;border-bottom:0;color:#3b4a37;font-weight:700;padding-top:12px}.splitParts{color:#63705d;font-size:12px;margin-top:2px}.fiadoName{color:#6f5200;font-size:12px;font-weight:700;margin-top:2px}.fiadoDetail{background:#fff4d6;border:1px solid #e6c76d;border-radius:6px;color:#6f5200;font-size:13px;margin-bottom:10px;padding:8px 10px}.cancelBox{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.cancelBox input{flex:1;min-width:220px}@media (max-width: 900px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.shell{padding:20px}.topbar,.panel{align-items:stretch;flex-direction:column}.metrics{grid-template-columns:1fr}}
