:root{--bg:#f5f6f8;--card:#fff;--text:#1d2330;--muted:#6b7280;--border:#e3e6eb;--accent:#2f6fed;--accent-text:#fff;--danger:#d64545;--section:#f0f3f8;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14171c;--card:#1d2128;--text:#e6e8ec;--muted:#9aa1ad;--border:#2d333d;--accent:#5b8cff;--section:#232933}}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:inherit;text-decoration:none}h1{margin:0 0 4px;font-size:1.5rem}h3{margin:10px 0 4px;font-size:1.05rem}.container{max-width:1100px;margin:0 auto;padding:16px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:16px}.topbar{background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.topbar-right{align-items:center;gap:12px;display:flex}.brand{font-size:1.1rem;font-weight:700}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.bottom{margin-top:12px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.estimate-card{margin:0;transition:border-color .15s;display:block}.estimate-card:hover{border-color:var(--accent)}.btn{font:inherit;cursor:pointer;color:inherit;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 14px}.btn.primary{background:var(--accent);color:var(--accent-text)}.btn.primary:disabled{opacity:.5;cursor:default}.btn.ghost{border-color:var(--border)}.btn.ghost:hover{border-color:var(--accent)}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.small{padding:3px 8px;font-size:.85rem}.back{margin-bottom:12px}.badge-select{cursor:pointer;width:auto}.badge,.badge-select{background:var(--section);color:var(--text);border:none;border-radius:999px;padding:3px 10px;font-family:inherit;font-size:.8rem}.badge.sent,.badge-select.sent{color:#7a5b00;background:#fff3cd}.badge.approved,.badge-select.approved{color:#1c6b38;background:#d9f2e1}.badge.done,.badge-select.done{color:#2849a8;background:#dde7ff}.auth{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.tabs{background:var(--section);border-radius:10px;gap:4px;padding:4px;display:flex}.tabs button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;border-radius:8px;flex:1;padding:6px}.tabs button.active{background:var(--card);box-shadow:0 1px 2px #0000001a}label{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}input,textarea,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;width:100%;padding:7px 10px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.head-form{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:10px;margin-top:12px;display:grid}.head-form .wide{grid-column:1/-1}.notes{white-space:pre-wrap;margin:8px 0 0}.table-card{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:9px 12px}th{color:var(--muted);font-size:.8rem;font-weight:600}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.actions{text-align:right;white-space:nowrap;width:1%}.actions .btn+.btn{margin-left:4px}.section-row td{background:var(--section);font-weight:600}tfoot td{border-bottom:none;font-size:1.05rem;font-weight:700}.editor td{background:var(--section)}.editor input{padding:5px 8px}.small-input{margin-top:4px;font-size:.85rem}input.narrow{width:80px}.show-sm{display:none}@media (width<=640px){.container{padding:12px}table{min-width:0}th,td{padding:8px}.hide-sm{display:none}.show-sm{margin-top:2px;display:block}.editor td{display:block}.editor input.narrow{width:100%}}
