*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f8f9fa;--color-surface:#fff;--color-border:#e9ecef;--color-text:#212529;--color-text-muted:#6c757d;--color-primary:#1a3763;--color-primary-hover:#142d52;--color-accent:#ed6c2d;--color-accent-hover:#d45e22;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#ac4737;--color-gray:#6b7280;--status-active:#16a34a;--status-active-bg:#dcfce7;--status-in_review:#d97706;--status-in_review-bg:#fef3c7;--status-on_hold:#6b7280;--status-on_hold-bg:#f3f4f6;--status-new:#1a3763;--status-new-bg:#e8edf5;--status-completed:#7c3aed;--status-completed-bg:#ede9fe;--quote-pending:#d97706;--quote-pending-bg:#fef3c7;--quote-accepted:#16a34a;--quote-accepted-bg:#dcfce7;--quote-rejected:#ac4737;--quote-rejected-bg:#fce8e6;--quote-in_review:#1a3763;--quote-in_review-bg:#e8edf5;--sidebar-width:220px;--radius:8px;--shadow:0 1px 3px #00000014}body{color:var(--color-text);background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit;font-size:14px}input,select,textarea{font-family:inherit;font-size:14px}a{color:inherit;text-decoration:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#8f3a2e}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-hover)}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-active{background:var(--status-active-bg);color:var(--status-active)}.badge-in_review{background:var(--status-in_review-bg);color:var(--status-in_review)}.badge-on_hold{background:var(--status-on_hold-bg);color:var(--status-on_hold)}.badge-new{background:var(--status-new-bg);color:var(--status-new)}.badge-completed{background:var(--status-completed-bg);color:var(--status-completed)}.badge-pending{background:var(--quote-pending-bg);color:var(--quote-pending)}.badge-accepted{background:var(--quote-accepted-bg);color:var(--quote-accepted)}.badge-rejected{background:var(--quote-rejected-bg);color:var(--quote-rejected)}.badge-todo{color:#6b7280;background:#f3f4f6}.badge-in_progress{color:#1a3763;background:#e8edf5}.badge-done{color:#16a34a;background:#dcfce7}.form-field{flex-direction:column;gap:4px;display:flex}.form-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;outline:none;padding:8px 10px;transition:border-color .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-primary)}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{font-size:20px;font-weight:700}.error-msg{color:var(--color-danger);background:#fee2e2;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.loading{height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}
