:root{--cmm-bg:#0b1b2b;--cmm-ink:#0c2847;--cmm-muted:#4d657d;--cmm-accent:#1d77ff;--cmm-panel:#f7f9fc;--cmm-ok:#0a9367;--cmm-warn:#c47f00;--cmm-bad:#bf1e2e}
.cmm-root *{box-sizing:border-box}
.cmm-header{background:var(--cmm-bg);color:#fff;padding:18px 22px;border-radius:12px 12px 0 0}
.cmm-header h1{color:#fff !important; margin:0;font-size:18px;letter-spacing:.2px}
.cmm-container{padding:20px 22px 40px;background:#fff;border:1px solid #e6edf5;border-top:none;border-radius:0 0 12px 12px}
.cmm-card{background:var(--cmm-panel);border:1px solid #e6edf5;border-radius:14px;padding:14px}
.cmm-section-title{font-weight:700;color:var(--cmm-ink);margin:14px 0 8px}
.cmm-pill{display:inline-block;background:#edf4ff;color:#1d3f7a;padding:4px 8px;border-radius:999px;font-size:12px;margin-left:8px}
.cmm-note{color:var(--cmm-muted);font-size:12px;margin-top:6px;display:block;line-height:1.3}
.cmm-grid.twelve{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.cell{display:flex;flex-direction:column;gap:6px}
.span-12{grid-column:span 12}.span-6{grid-column:span 6}.span-3{grid-column:span 3}.span-2{grid-column:span 2}
.right{justify-content:flex-end;align-items:flex-end}
label{display:block;font-size:12px;color:var(--cmm-muted)}
#cmm-root input[type=text], #cmm-root input[type=number], #cmm-root select{width:100%;padding:8px 10px;border:1px solid #d7e0ea;border-radius:10px;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--cmm-ink);background:#fff}
.centered{text-align:center}
/* Left-align Month/Years */
#cmm-months, #cmm-years { text-align:left; }
/* Hide SOFR row + fields */
.cmm-hidden{display:none !important;}
#cmm-fred-key, #cmm-sofr-sync { display:none !important; }
.cmm-btn{appearance:none;border:0;border-radius:10px;padding:10px 14px;background:var(--cmm-accent);color:#fff;font-weight:600;cursor:pointer}
.cmm-secondary{background:#e9eef6;color:#1b3a5a}
.cmm-wrap{overflow:auto;max-height:60vh;border:1px solid #e6edf5;border-radius:12px}
#cmm-table{width:100%;border-collapse:collapse;margin-top:14px;background:#fff}
#cmm-table thead th{position:sticky;top:0;background:#f2f6fb;z-index:1;font-size:12px;color:#4d657d;border-bottom:1px solid #e2eaf3;padding:8px 10px;text-align:right}
#cmm-table thead th:first-child,#cmm-table tbody td:first-child{text-align:center}
#cmm-table tbody td{border-bottom:1px solid #eef2f7;padding:8px 10px;text-align:right}
#cmm-table tbody tr:nth-child(odd){background:#fcfdff}
.neg{color:var(--cmm-bad)}
/* LTV widget */
.cmm-ltv{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e6edf5;border-radius:12px;padding:10px 12px}
.cmm-ltv .ltv-left{display:flex;align-items:baseline;gap:10px;min-width:220px}
.cmm-ltv .ltv-title{font-weight:700;color:var(--cmm-ink);font-size:13px;letter-spacing:.3px}
.cmm-ltv .ltv-value{font-weight:800;font-size:18px}
.cmm-ltv .ltv-tag{font-size:12px;color:var(--cmm-muted);padding:2px 8px;border-radius:999px;background:#f6f9ff}
.cmm-ltv .ltv-bar{flex:1;height:10px;background:#eef3fa;border-radius:999px;overflow:hidden}
.cmm-ltv #cmm-ltv-bar{height:100%;width:0%;background:var(--cmm-accent);transition:width .25s ease, background-color .2s ease}
@media (max-width:900px){
  .span-3{grid-column:span 6}
  .span-2{grid-column:span 4}
  .right{grid-column:span 12}
  .cmm-ltv{flex-direction:column;align-items:flex-start}
  .cmm-ltv .ltv-left{min-width:auto}
}


/* --- Adaptive Light/Dark Header Title --- */
.cmm-root.theme-dark .cmm-header{ background: var(--cmm-bg, #0f172a); }
.cmm-root.theme-dark .cmm-header h1{ color:#fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.6); }

.cmm-root.theme-light .cmm-header{ background: var(--cmm-bg, #f8fafc); }
.cmm-root.theme-light .cmm-header h1{ color:#111827 !important; text-shadow: none; }

/* Fallback to system preference if theme class not set yet */
@media (prefers-color-scheme: dark){
  .cmm-root:not(.theme-light):not(.theme-dark) .cmm-header h1{ color:#fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
}
@media (prefers-color-scheme: light){
  .cmm-root:not(.theme-light):not(.theme-dark) .cmm-header h1{ color:#111827 !important; }
}
