/* === Solar CRM UI – Tokens === */
:root {
  --brand:#0d7bbb; --brand-600:#0b6aa1; --accent:#00c2a8;
  --bg:#f7f9fb; --surface:#ffffff; --text:#0f172a; --muted:#64748b; --border:#e2e8f0;
  --shadow:0 10px 20px rgba(2,6,23,.07),0 2px 6px rgba(2,6,23,.08);
  --success:#16a34a; --warning:#f59e0b; --danger:#dc2626; --info:#0ea5e9;
  --fs-2xl:clamp(1.75rem,2vw,2rem); --fs-xl:1.375rem; --fs-lg:1.125rem; --fs-md:1rem; --fs-sm:.875rem;
  --control-h:42px; --container:1200px;
  --pad-y:.9rem; --pad-x:1rem; --pad-y-compact:.55rem; --pad-x-compact:.75rem;
}
[data-theme="dark"]{
  --bg:#0b1220; --surface:#0f172a; --text:#e2e8f0; --muted:#94a3b8; --border:#1e293b;
  --shadow:0 10px 20px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.3);
}

body{background:var(--bg);color:var(--text);font:400 var(--fs-md)/1.5 ui-sans-serif,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
.wrap{max-width:var(--container);margin:0 auto;padding:2rem}
.card{background:var(--surface);border:1px solid var(--border);margin-top:15px;border-radius:1rem;box-shadow:var(--shadow);}
.card-hd{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.card-bd{padding:1.25rem}
.row{display:flex;gap:1rem;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:.4rem;height:28px;border-radius:999px;padding:0 .75rem;font-size:var(--fs-sm);border:1px solid var(--border);background:#fff}
.dot{width:8px;height:8px;border-radius:50%}
.dot.success{background:var(--success)}.dot.warning{background:var(--warning)}.dot.info{background:var(--info)}.dot.danger{background:var(--danger)}

.btn{border:1px solid transparent;background:var(--brand);color:#fff;height:var(--control-h);padding:0 1rem;border-radius:.8rem;font-weight:600;letter-spacing:.2px;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;box-shadow:var(--shadow)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--border);box-shadow:none}
.btn.secondary{background:var(--accent)}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}

.input,.select,.textarea{height:var(--control-h);border-radius:.75rem;border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.6));padding:0 .9rem;color:var(--text);outline:none}
.textarea{height:auto;padding:.9rem;min-height:110px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(13,123,187,.15)}

.tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border)}
.tab{padding:.75rem 1rem;border-radius:.75rem .75rem 0 0;border:1px solid transparent;cursor:pointer;font-weight:600;color:var(--muted)}
.tab[aria-selected="true"]{color:var(--text);border-color:var(--border) var(--border) transparent var(--border);background:var(--surface)}

.segmented{display:inline-flex;border:1px solid var(--border);border-radius:.75rem;overflow:hidden}
.segmented button{background:transparent;border:0;padding:.5rem .9rem;font-weight:600;color:var(--muted);cursor:pointer}
.segmented button[aria-pressed="true"]{background:var(--brand);color:#fff}

.table-wrap{position:relative;border-radius:1rem;overflow:hidden}
.table-scroll{overflow:auto;-webkit-overflow-scrolling:touch}
.table{width:100%;border-collapse:collapse}
.table th,.table td{text-align:left;padding:var(--pad-y) var(--pad-x);border-bottom:1px solid var(--border);vertical-align:middle}
.table thead th{font-size:var(--fs-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface)}
.table tbody tr:hover{background:rgba(13,123,187,.05)}
.table-sticky thead th{position:sticky;top:0;z-index:1}
.density-compact .table th,.density-compact .table td{padding:var(--pad-y-compact) var(--pad-x-compact)}

@media (max-width:720px){
  .mobile-only{display:inline-flex}
  .table.reflow{border-collapse:separate;border-spacing:0 .75rem}
  .table.reflow thead{display:none}
  .table.reflow tbody tr{display:block;background:var(--surface);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow)}
  .table.reflow tbody td{display:grid;grid-template-columns:40% 1fr;gap:.5rem;border:0;padding:.75rem 1rem}
  .table.reflow tbody td::before{content:attr(data-label);font-size:var(--fs-sm);color:var(--muted)}
  .table.reflow .row-actions{display:flex;gap:.5rem;margin-top:.25rem}
}
@media (min-width:721px){ .mobile-only{display:none} }

/* Dark-mode badge contrast fix */
[data-theme="dark"] .badge{background:#f1f5f9;color:#0f172a;border-color:#94a3b8}

/* Pagination controls */
.pagination-controls{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin-top:1rem}
.rows-per-page{display:flex;align-items:center;gap:.5rem}
