/* styles.css - extracted and cleaned from original */
:root{
  --border:#e6e6e6;
  --border-accent:#97C459;
  --border-danger:#f2c6c6;
  --bg-accent:#EAF3DE;
  --text-primary:#111;
  --text-secondary:#666;
  --text-muted:#888;
  --text-accent:#0C447C;
  --surface-1:#ffffff;
  --surface-2:#f7f7f7;
  --radius:8px;
  --bg-success:#EAF3DE;
  --bg-warning:#FAEEDA;
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; font-size:16px; color:var(--text-primary); background:transparent; padding:16px}
.app{max-width:1100px;margin:0 auto}
.tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:20px;overflow-x:auto}
.tab{padding:8px 14px;border:none;background:transparent;cursor:pointer;font-size:15px;color:var(--text-secondary);border-bottom:2px solid transparent;white-space:nowrap}
.tab.active{color:var(--text-accent);border-bottom-color:var(--border-accent)}
.section{background:var(--surface-2);border:0.5px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}
.section-title{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}
.row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
input,select,button{height:34px;padding:0 8px;border:0.5px solid var(--border);border-radius:var(--radius);background:var(--surface-1);color:var(--text-primary);font-size:15px}
input:focus,select:focus{outline:none;border-color:var(--border-accent)}
.btn{height:34px;padding:0 12px;border:0.5px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-primary);cursor:pointer;font-size:15px}
.btn-primary{background:var(--bg-accent);border-color:var(--border-accent;color:var(--text-accent)}
.btn-danger{border-color:var(--border-danger);color:#791F1F}
.btn-warning{background:#FAEEDA;border-color:#EF9F27;color:#633806}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;padding:6px 7px;color:var(--text-secondary);font-weight:500;border-bottom:0.5px solid var(--border);font-size:13px;white-space:nowrap}
td{padding:6px 7px;border-bottom:0.5px solid var(--border);vertical-align:middle}
tr:last-child td{border-bottom:none}
.paid-row td{opacity:.45}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px}
.metric{background:var(--surface-1);border-radius:var(--radius);padding:12px}
.metric-label{font-size:13px;color:var(--text-muted);margin-bottom:4px}
.metric-value{font-size:21px;font-weight:500;color:var(--text-primary)}
.metric-value.green{color:#27500A}
.metric-value.red{color:#791F1F}
.metric-value.blue{color:#0C447C}
.metric-value.amber{color:#633806}
.divider-row td{background:var(--surface-1);font-weight:500;font-size:13px;color:var(--text-secondary);padding:5px 7px}
input[type=checkbox]{width:16px;height:16px;cursor:pointer}
.baseline-box{background:#EAF3DE;border:0.5px solid #97C459;border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.baseline-label{font-weight:500;color:#27500A;font-size:15px;flex:1}
.running-usaa{font-weight:500;color:#0C447C}
.running-chase{font-weight:500;color:#633806}
.tag{display:inline-block;padding:2px 9px;border-radius:20px;font-size:13px;font-weight:500}
.tag-usaa{background:#E6F1FB;color:#0C447C}
.tag-chase{background:#FAEEDA;color:#633806}
.tag-capone{background:#EEEDFE;color:#3C3489}
.tag-cash{background:#EAF3DE;color:#27500A}
.sms-result{margin-top:12px;padding:10px 12px;border-radius:var(--radius);font-size:15px;border:0.5px solid var(--border)}
.alert-number-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.unalloc-pos{color:#27500A;font-weight:500}
.unalloc-neg{color:#791F1F;font-weight:500}
.muted{color:var(--text-muted)}
.small{font-size:13px}
.success{background:var(--bg-success);border-color:#97C459;color:#27500A;padding:10px;border-radius:8px}
.warning{background:var(--bg-warning);border-color:#EF9F27;color:#633806;padding:10px;border-radius:8px}
.info{background:#E6F1FB;border-color:#0C447C;color:#0C447C;padding:10px;border-radius:8px}
.danger-row{display:flex;justify-content:space-between;padding:6px 10px;background:#FDECEC;border-radius:8px;margin-bottom:4px}
.bold{font-weight:700}
.red{color:#791F1F}
.green{color:#27500A}
