:root{color:#1a1a1a;background:#f5f6f8;font-family:system-ui,sans-serif}body{margin:0}nav{background:#1f2937;align-items:center;gap:16px;padding:12px 20px;display:flex}nav a{color:#d1d5db;text-decoration:none}nav a.active{color:#fff;font-weight:600}nav .sp{flex:1}main{max-width:min(1400px,97vw);margin:20px auto;padding:0 16px}table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid #eee;padding:8px 10px}input,select,button{font:inherit;border:1px solid #ccc;border-radius:6px;padding:7px 10px}button{color:#fff;cursor:pointer;background:#2563eb;border:0}button.sec{color:#111;background:#e5e7eb}button.danger{background:#dc2626}form.row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.card{background:#fff;border-radius:8px;padding:16px}.card b{font-size:1.6rem;display:block}.low{color:#dc2626;font-weight:600}.err{color:#dc2626}@media print{nav,footer,.noprint{display:none!important}body{background:#fff;margin:0}main{max-width:none;margin:0;padding:0}}.badge{color:#fff;text-transform:capitalize;border-radius:10px;padding:2px 8px;font-size:.75rem}.ok{color:#16a34a}.scroll{overflow-x:auto}.tabs{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.tabs button.on{background:#1f2937}.panel{background:#fff;border-radius:8px;margin:12px 0;padding:14px}.grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.grid2 label{color:#555;flex-direction:column;gap:3px;font-size:.8rem;display:flex}.totals td{border:0;padding:3px 10px}.totals td:last-child{text-align:right}.totals tr.big td{border-top:2px solid #ddd;font-size:1.1rem;font-weight:700}.warn{color:#b45309}.alert{background:#eef2ff;border-radius:6px;margin:4px 0;padding:8px 12px}.alert.danger{background:#fee2e2}.alert.warning{background:#fef3c7}nav{flex-wrap:wrap}nav a{font-size:.9rem}h2,h3{margin:14px 0 6px}.mini{width:80px}.right{text-align:right}@media (width<=640px){main{padding:0 8px}th,td{padding:6px 5px;font-size:.85rem}}.invoice{background:#fff;max-width:820px;margin:0 auto;padding:24px}.invoice table{margin:10px 0}nav .links{display:contents}nav .menu{display:none}@media (width<=900px){nav .menu{display:inline-block}nav .links{flex-direction:column;flex-basis:100%;gap:8px;display:none}nav .links.open{display:flex}}.overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:10px;width:100%;max-width:420px;padding:18px}button.card{font:inherit;text-align:left;cursor:pointer;color:inherit;background:#fff;border:2px solid #0000;width:100%}button.card:hover{border-color:#93c5fd}button.card.active{background:#eff6ff;border-color:#2563eb}button.card small{color:#6b7280;margin-top:4px;font-size:.72rem;display:block}.matrix{width:auto;min-width:100%}.matrix th,.matrix td{white-space:nowrap;text-align:center;padding:6px 7px}.matrix th:first-child,.matrix td:first-child{text-align:left;z-index:1;background:#fff;position:sticky;left:0;box-shadow:1px 0 #e5e7eb}.matrix th{vertical-align:bottom;font-size:.8rem}.matrix .dow{color:#6b7280;font-size:.68rem;font-weight:400}.matrix .mon{color:#2563eb;font-size:.68rem}.matrix .wk{background:#f3f4f6}.matrix td.low{background:#fee2e2}.scroll table td,.scroll table th{vertical-align:top}@page{margin:0}.pframe{border-collapse:collapse;background:0 0;border-radius:0;width:100%;overflow:visible}.pframe>thead>tr>td,.pframe>tbody>tr>td,.pframe>tfoot>tr>td{border:0;padding:0}.pg-space{height:0}@media print{.pg-space{height:12mm}.pframe>thead.pf{display:table-header-group}.pframe>tfoot.pf{display:table-footer-group}.invoice{max-width:none!important;margin:0!important;padding:0 12mm!important}}.matrix{overflow:visible}.login-wrap{box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.login-card{text-align:center;box-sizing:border-box;background:#fff;border-radius:12px;width:100%;max-width:440px;margin:0;padding:28px 24px;box-shadow:0 4px 24px #00000014}.login-card h2{margin:0 0 6px}.login-card input{box-sizing:border-box;width:100%}
