:root{--background:#f5f6f8;--foreground:#182033;--card:#fff;--muted-foreground:#687386;--border:#e4e7ec;--input:#d0d5dd;--ring:#3157d5;--primary:#3157d5;--primary-foreground:#fff;--secondary:#f2f4f7;--secondary-foreground:#182033;--accent:#e8edff;--accent-foreground:#182033;--destructive:#b42318;--success:#067647;--warning:#a15c00;--radius:.7rem;--theme-font-sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--theme-font-sans)}button,input,select,textarea{font:inherit}[hidden]{display:none!important}.ldb-login{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.ldb-login-card{width:min(100%,390px);display:grid;gap:1rem;padding:2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:0 12px 34px rgba(23,32,51,.08)}.ldb-login-card h1,.ldb-login-card p{margin:0}.ldb-login-card label{font-size:.75rem;color:var(--muted-foreground)}.ldb-login-card input{width:100%;min-height:2.5rem;padding:.55rem .65rem;border:1px solid var(--input);border-radius:calc(var(--radius) - .15rem)}.ldb-login-error{color:var(--destructive)}.ldb-autosave-note{font-size:.72rem;color:var(--muted-foreground);padding:.5rem 0}
.ldb-costing{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:1600px;margin:0 auto;padding:1.25rem;color:var(--foreground);font-family:var(--theme-font-sans,system-ui,sans-serif)}
.ldb-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.ldb-header h1{margin:.15rem 0;font-size:1.65rem;line-height:1.2}.ldb-eyebrow,.ldb-subtitle{margin:0;color:var(--muted-foreground)}.ldb-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.ldb-subtitle{font-size:.86rem}.ldb-header-actions{display:flex;align-items:center;gap:.65rem}.ldb-identity{font-size:.75rem;color:var(--muted-foreground)}
.ldb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.65rem}.ldb-kpi{display:flex;min-height:5.2rem;flex-direction:column;justify-content:center;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.ldb-kpi-label{font-size:.68rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em}.ldb-kpi strong{font-size:1.22rem}.ldb-kpi small{color:var(--muted-foreground)}
.ldb-controls{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.ldb-settings{display:flex;align-items:flex-end;gap:.6rem;margin-left:auto;flex-wrap:wrap}.ldb-field{display:flex;flex-direction:column;gap:.25rem}.ldb-field label{font-size:.7rem;color:var(--muted-foreground)}
.ldb-costing input,.ldb-costing select,.ldb-costing textarea{width:100%;min-height:2rem;padding:.38rem .5rem;border:1px solid var(--input);border-radius:calc(var(--radius) - .15rem);background:var(--background);color:var(--foreground);font:inherit}.ldb-costing input:focus,.ldb-costing select:focus,.ldb-costing textarea:focus{outline:2px solid var(--ring);outline-offset:1px}.ldb-controls select{min-width:12rem}.ldb-controls input{width:7.5rem}
.ldb-button{min-height:2rem;padding:.38rem .7rem;border:1px solid var(--border);border-radius:calc(var(--radius) - .15rem);background:var(--secondary);color:var(--secondary-foreground);cursor:pointer}.ldb-button:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}.ldb-button:disabled{opacity:.55;cursor:not-allowed}.ldb-button-primary{background:var(--primary);color:var(--primary-foreground)}.ldb-button-small{font-size:.75rem;white-space:nowrap}
.ldb-message,.ldb-state,.ldb-empty{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.ldb-error{color:var(--destructive)}.ldb-success,.ldb-positive{color:var(--success,var(--primary))}.ldb-negative{color:var(--destructive);font-variant-numeric:tabular-nums}
.ldb-groups{display:flex;flex-direction:column;gap:.65rem}.ldb-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}.ldb-group>summary{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;font-weight:650;cursor:pointer}.ldb-group[open]>summary{border-bottom:1px solid var(--border)}.ldb-group-total{color:var(--muted-foreground);font-size:.78rem;font-weight:400}.ldb-table-scroll{overflow:auto}.ldb-costing table{width:100%;min-width:82rem;border-collapse:collapse}.ldb-costing th,.ldb-costing td{padding:.55rem;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}.ldb-costing th{position:sticky;top:0;z-index:1;background:var(--card);font-size:.67rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em}.ldb-costing td{font-size:.78rem}.ldb-costing td:nth-child(1){width:12rem}.ldb-costing td:nth-child(2){width:19rem}.ldb-costing td:nth-child(3),.ldb-costing td:nth-child(4){width:9rem}.ldb-costing td:nth-child(5),.ldb-costing td:nth-child(6){width:8.5rem}.ldb-costing td:nth-child(7){width:7rem}.ldb-costing td:nth-child(8){width:18rem}.ldb-item strong,.ldb-item small{display:block}.ldb-item small{margin-top:.25rem;color:var(--muted-foreground)}.ldb-status-covered{color:var(--success,var(--primary))}.ldb-status-to_confirm,.ldb-status-option{color:var(--warning,var(--foreground))}.ldb-status-out_of_scope{color:var(--muted-foreground)}
@media(max-width:900px){.ldb-costing{padding:.75rem}.ldb-header{align-items:flex-start;flex-direction:column}.ldb-header-actions,.ldb-settings{margin-left:0}.ldb-controls{align-items:stretch}.ldb-field{flex:1 1 10rem}}
