:root{--bg: #f5f6f8;--bg-elevated: #ffffff;--fg: #1a1d21;--fg-muted: #5a6270;--border: #d8dbe0;--accent: #2f6fed;--accent-fg: #ffffff;--danger: #c73737;--danger-fg: #ffffff;--success: #2f9e5c;--warning: #c98a1f;--shadow: rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #14161a;--bg-elevated: #1e2126;--fg: #eceef1;--fg-muted: #9aa1ac;--border: #33373f;--accent: #5b8dff;--accent-fg: #0c1220;--danger: #ef6a6a;--danger-fg: #1a0909;--success: #4cc783;--warning: #e0a83f;--shadow: rgba(0, 0, 0, .4)}}:root[data-theme=dark]{--bg: #14161a;--bg-elevated: #1e2126;--fg: #eceef1;--fg-muted: #9aa1ac;--border: #33373f;--accent: #5b8dff;--accent-fg: #0c1220;--danger: #ef6a6a;--danger-fg: #1a0909;--success: #4cc783;--warning: #e0a83f;--shadow: rgba(0, 0, 0, .4)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:background-color .15s ease,color .15s ease}@media(prefers-reduced-motion:reduce){body{transition:none}}.stack{display:flex;flex-direction:column;gap:1rem}.muted{color:var(--fg-muted)}.alert.error{border:1px solid var(--danger);border-radius:6px;padding:.75rem;color:var(--danger)}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.module-card{display:flex;flex-direction:column;gap:.75rem}.module-card h4,.module-card p{margin:0}.module-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.module-enabled{background:var(--success);color:#06210f}.module-disabled,.module-not_installed{background:var(--border);color:var(--fg)}.module-needs_configuration,.module-degraded{background:var(--warning);color:#1a1200}.configuration-gap{border-left:3px solid var(--warning);padding-left:.5rem}.module-contract{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;gap:.35rem .75rem}.module-contract dt{color:var(--fg-muted);font-weight:600}.module-contract dd{margin:0;overflow-wrap:anywhere}.module-actions{margin-top:auto}.assistant-admin-grid,.assistant-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.quote-assistant label{display:flex;flex-direction:column;gap:.3rem}.catalog-row,.draft-row,.button-row,.inline-form{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.selection-card{border:1px solid var(--border);border-radius:6px;padding:.75rem}.selection-card>span{display:flex;align-items:center;gap:.4rem}.selection-card input[type=number]{width:8rem}.calculation-preview{border-top:1px solid var(--border);padding-top:1rem}.assistant-total{font-size:1.25rem;font-weight:700}.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:.75rem}.report-filters label{display:flex;flex-direction:column;gap:.3rem}.report-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.report-metric{display:flex;flex-direction:column;gap:.35rem}.report-metric span{color:var(--fg-muted);font-size:.85rem}.report-metric strong{font-size:1.35rem}.report-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.report-heading h3{margin:0}.report-two-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.report-section{overflow-x:auto}.report-statuses{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;margin:0}.report-statuses div{border-left:3px solid var(--accent);padding-left:.6rem}.report-statuses dt{color:var(--fg-muted)}.report-statuses dd{margin:.2rem 0 0;font-size:1.25rem;font-weight:700}a{color:var(--accent);text-decoration:none}a.btn{display:inline-flex;align-items:center;background:transparent;color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.5rem .9rem;font-weight:600;transition:background-color .15s ease,border-color .15s ease}a.btn:hover{background:color-mix(in srgb,var(--fg) 8%,transparent);border-color:var(--accent)}a.btn.btn-sm{padding:.25rem .6rem;font-size:.85rem}button,input,select,textarea{font-family:inherit;font-size:.95rem}input,select,textarea{background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.5rem .6rem}button{background:var(--accent);color:var(--accent-fg);border:none;border-radius:6px;padding:.5rem .9rem;cursor:pointer;font-weight:600}button.secondary{background:transparent;color:var(--fg);border:1px solid var(--border)}button.danger{background:var(--danger);color:var(--danger-fg)}button:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 3px var(--shadow);padding:1.25rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}th{color:var(--fg-muted);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.02em}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.badge.draft{background:var(--border);color:var(--fg)}.badge.sent{background:var(--warning);color:#1a1200}.badge.paid{background:var(--success);color:#06210f}.badge.cancelled{background:var(--danger);color:var(--danger-fg)}
