
:root{
  --accent:#FE40C5;
  --accent-600:#e636b2;
  --bg:#f2f2f2;
  --ink:#1f2937;
  --muted:#6b7280;
  --card:#ffffff;
  --border:#e5e7eb;
  --shadow:0 8px 30px rgba(0,0,0,.05);
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.navbar{box-shadow:0 2px 10px rgba(0,0,0,.05)}
.navbar .btn-accent{background:var(--accent);border-color:var(--accent)}
.navbar .btn-accent:hover{background:var(--accent-600);border-color:var(--accent-600)}
.accent{color:var(--accent)}
.bg-page{background:var(--bg)}
.card{border:1px solid var(--border);border-radius:1rem;background:var(--card);box-shadow:var(--shadow)}
.card .card-title{font-weight:700}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-600);border-color:var(--accent-600);color:#fff}
.btn-outline-accent{color:var(--accent);border-color:var(--accent)}
.btn-outline-accent:hover{background:var(--accent);color:#fff}
.badge-accent{background:var(--accent)}
.table{--bs-table-striped-bg: rgba(0,0,0,.012);}
.table thead th{position:sticky;top:0;background:#fff;z-index:2;border-bottom:2px solid var(--border)}
.table td,.table th{vertical-align:middle}
.form-control, .form-select{border-radius:.75rem;border:1px solid var(--border)}
.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(254,64,197,.15);border-color:var(--accent)}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.page-header h3{margin:0;font-weight:800}
.subtle{color:var(--muted)}
.kicker{font-size:.85rem;color:var(--muted)}
.toolbar .btn{margin-right:.5rem}
code, pre{background:#fafafa;border:1px solid #eee;border-radius:.5rem;padding:.2rem .4rem}

/* Scrolling viewports */
.table-wrap{overflow-x:auto; overflow-y:auto;}
.scroll-y-25{max-height:720px;} /* ~25 compact rows */
/* Avoid wrapping so horizontal scrollbar appears when needed */
.table-nowrap th, .table-nowrap td{white-space:nowrap;}

/* --- Margins page: compact typography (8pt) --- */
/* Only affect the content area & local modals, not the global navbar */
body.margins-page .mg-wrap,
body.margins-page .mg-wrap * {
  font-size: 8pt;
  line-height: 1.25;
}

/* Ensure common controls inherit the 8pt size */
body.margins-page .mg-wrap select,
body.margins-page .mg-wrap button,
body.margins-page .mg-wrap input,
body.margins-page .mg-wrap textarea {
  font-size: inherit;
  line-height: inherit;
}

/* Modals rendered by this page also inherit 8pt */
body.margins-page .mg-modal,
body.margins-page .mg-modal * {
  font-size: 8pt;
  line-height: 1.25;
}

/* Table header/body cells explicitly inherit (some CSS resets set px) */
body.margins-page #pivotTable th,
body.margins-page #pivotTable td {
  font-size: inherit;
  line-height: inherit;
}

/* Buttons in this page’s UI (namespaced) */
body.margins-page .mg-btn {
  font-size: inherit;
  line-height: inherit;
}

}




