/* =========================================================================
   Myoma Admin — "Still Water" theme (matches the public myomawater.com)
   Deep teal × warm ivory × brass · Cormorant / Hanken Grotesk / Spline Mono
   Loaded AFTER bootstrap to reskin the default template.
   ========================================================================= */
:root {
  --abyss:#06232A; --deep:#0B3942; --tide:#115E6B; --aqua:#4FB3C4; --aqua-lo:#8CD2DC;
  --mist:#CFE6E6; --paper:#FAF8F2; --paper-2:#F1ECE0; --ink:#0A2024; --muted:#5C7378;
  --brass:#B8924E; --brass-lo:#D9BD86; --line:rgba(10,32,36,.12); --line-2:rgba(10,32,36,.07);
  --danger:#a83232;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Hanken Grotesk",system-ui,sans-serif;
  --mono:"Spline Sans Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}

body {
  font-family:var(--sans); background:var(--paper); color:var(--ink);
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
/* subtle grain, same as the site */
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9999;
  opacity:.03; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

h1,h2,h3,h4 { font-family:var(--serif); font-weight:500; letter-spacing:-.01em; color:var(--ink); }
h1 { font-size:clamp(1.9rem,3vw,2.6rem); margin-bottom:.2rem; }
a { color:var(--tide); }
a:hover { color:var(--deep); }
.text-muted { color:var(--muted) !important; }

/* ---- Header ---- */
.navbar {
  background:var(--deep) !important;
  border-bottom:1px solid rgba(250,248,242,.10) !important;
  box-shadow:0 10px 30px -18px rgba(6,35,42,.6); margin-bottom:2rem !important;
}
.navbar .container { align-items:center; }
.navbar-brand { display:flex; flex-direction:column; line-height:1.05; padding-block:.55rem; }
.navbar-brand .bl-name { font-family:var(--serif); font-size:1.35rem; font-weight:600; color:var(--paper); }
.navbar-brand .bl-sub {
  font-family:var(--mono); font-size:.58rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--brass-lo); margin-top:.15rem;
}
.navbar .nav-link { color:rgba(250,248,242,.82) !important; font-weight:500; }
.navbar .nav-link:hover, .navbar .nav-link.active { color:var(--aqua-lo) !important; }
.navbar .navbar-nav .text-muted { color:rgba(250,248,242,.65) !important; }
.navbar-toggler { border-color:rgba(250,248,242,.3); }
.navbar-toggler-icon { filter:invert(1) brightness(1.6); }

/* ---- Buttons (reskin bootstrap classes) ---- */
.btn {
  border-radius:100px; font-family:var(--sans); font-weight:600; font-size:.76rem;
  letter-spacing:.1em; text-transform:uppercase; padding:.62em 1.4em;
  transition:transform .4s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.btn:hover { transform:translateY(-2px); }
.btn svg { width:1.05em; height:1.05em; vertical-align:-.15em; }
.btn svg + span, .btn span + svg { margin-left:.05em; }
.btn.icon-only { padding:.45em .6em; }
.btn.icon-only svg { width:1.15em; height:1.15em; vertical-align:-.2em; }
.btn-sm { font-size:.66rem; padding:.45em 1em; }
.btn-primary { background:var(--tide); border-color:var(--tide); color:var(--paper); }
.btn-primary:hover, .btn-primary:focus { background:var(--deep); border-color:var(--deep); color:var(--paper); }
.btn-outline-primary { color:var(--tide); border-color:var(--tide); }
.btn-outline-primary:hover { background:var(--tide); border-color:var(--tide); color:var(--paper); }
.btn-outline-secondary { color:var(--muted); border-color:var(--line); }
.btn-outline-secondary:hover { background:var(--paper-2); border-color:var(--line); color:var(--ink); }
.btn-danger { background:var(--danger); border-color:var(--danger); color:var(--paper); }
.btn-danger:hover { background:#8f2a2a; border-color:#8f2a2a; color:var(--paper); }
.btn-outline-danger { color:var(--danger); border-color:rgba(168,50,50,.4); }
.btn-outline-danger:hover { background:var(--danger); border-color:var(--danger); color:var(--paper); }

/* ---- Tables ---- */
.table { --bs-table-bg:transparent; color:var(--ink); }
.table thead th {
  font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  font-weight:500; color:var(--muted); border-bottom:1px solid var(--line);
}
.table td, .table th { border-color:var(--line-2); padding:.6rem .5rem; vertical-align:middle; }
.table-striped>tbody>tr:nth-of-type(odd)>* { --bs-table-accent-bg:rgba(241,236,224,.5); color:var(--ink); }
.table code { color:var(--tide); background:var(--paper-2); padding:.12em .5em; border-radius:5px; font-family:var(--mono); font-size:.82em; }

/* ---- Forms ---- */
.form-label { font-weight:600; font-size:.85rem; color:var(--ink); }
.form-text { color:var(--muted); }
.form-control, .form-select {
  border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); padding:.55rem .8rem;
}
.form-control:focus, .form-select:focus {
  border-color:var(--tide); box-shadow:0 0 0 .2rem rgba(17,94,107,.15);
}

/* ---- Alerts ---- */
.alert { border-radius:10px; border-width:1px; }
.alert-success { background:rgba(17,94,107,.08); color:var(--tide); border-color:rgba(17,94,107,.22); }
.alert-danger  { background:rgba(168,50,50,.08); color:var(--danger); border-color:rgba(168,50,50,.22); }
.alert-warning { background:rgba(184,146,78,.1); color:#8a6a2f; border-color:rgba(184,146,78,.32); }

/* ---- Footer ---- */
.footer { border-top:1px solid var(--line) !important; color:var(--muted) !important; }
.footer a { color:var(--tide); }

/* ---- Documents manager ---- */
.docs-toolbar { border:1px solid var(--line); border-radius:10px; padding:.6rem .9rem; background:#fff; }
.docs-group-head {
  font-size:1.25rem; display:flex; align-items:center; gap:.1rem;
  padding-bottom:.4rem; border-bottom:2px solid var(--brass-lo); margin-bottom:.4rem;
}
.docs-group-head .badge-count {
  font-family:var(--mono); font-size:.62rem; font-weight:500; color:var(--muted);
  background:var(--paper-2); border-radius:100px; padding:.15em .7em; margin-left:.6rem; letter-spacing:.05em;
}
.docs-table td, .docs-table th { padding:.35rem .4rem; }
.docs-table tr.is-hidden { opacity:.55; }
.docs-table tr.is-hidden .inline-edit { text-decoration:line-through; text-decoration-color:var(--muted); }
#docs-form.hide-hidden .docs-table tr.is-hidden,
#docs-form.hide-hidden .docs-group.all-hidden { display:none; }
.badge-hidden {
  font-family:var(--mono); font-size:.56rem; text-transform:uppercase; letter-spacing:.12em;
  color:#8a6a2f; background:rgba(184,146,78,.15); border-radius:4px; padding:.1em .5em; margin-left:.5em; vertical-align:middle;
}
.move-cell { white-space:nowrap; }
.move-btn {
  font-size:.6rem; line-height:1; color:var(--muted); padding:.15em .35em; border-radius:4px;
  transition:color .2s, background .2s;
}
.move-btn:hover:not(:disabled) { color:var(--tide); background:var(--paper-2); }
.move-btn:disabled { opacity:.4; }
.inline-edit { transition:box-shadow .3s, border-color .3s; }
.inline-edit.saved { border-color:var(--tide); box-shadow:0 0 0 .15rem rgba(17,94,107,.18); }
.inline-edit.save-error { border-color:var(--danger); box-shadow:0 0 0 .15rem rgba(168,50,50,.2); }

/* ---- Editable category combobox ---- */
.combo { position:relative; }
.combo-input { padding-right:1.7rem !important; }
.combo-toggle {
  position:absolute; top:0; right:0; height:100%; width:1.7rem;
  display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:.6rem;
}
.combo-toggle:hover, .combo.open .combo-toggle { color:var(--tide); }
.combo-menu {
  position:absolute; top:calc(100% + 2px); left:0; right:0; z-index:50; margin:0; padding:.25rem;
  list-style:none; max-height:14rem; overflow-y:auto; background:#fff;
  border:1px solid var(--line); border-radius:9px; box-shadow:0 16px 40px -18px rgba(6,35,42,.4);
}
.combo-option { padding:.35rem .6rem; border-radius:6px; cursor:pointer; font-size:.85rem; }
.combo-option:hover, .combo-option.active { background:var(--paper-2); color:var(--tide); }
.combo-empty { padding:.4rem .6rem; font-size:.78rem; color:var(--muted); }

/* ---- Login card ---- */
.login-shell { max-width:26rem; margin:5vh auto 0; }
.login-shell .eyebrow {
  font-family:var(--mono); font-size:.62rem; letter-spacing:.3em; text-transform:uppercase;
  color:#86672F; text-align:center; display:block; margin-bottom:.5rem;
}

/* Site alert status pills */
.alert-status { display: inline-block; font-size: .72rem; font-weight: 600; letter-spacing: .04em; padding: .15rem .55rem; border-radius: 999px; background: #eee; color: #555; }
.alert-status-live { background: #dcefe4; color: #1d6b3f; }
.alert-status-scheduled { background: #e3eef6; color: #1f5a85; }
.alert-status-expired, .alert-status-off { background: #eee; color: #777; }
