/* I-DIP vault theme — rose gold, orange, white. Do not merge into Academy tokens.css. */
:root {
  --idip-rose: #C9A07A;
  --idip-rose-deep: #B76E79;
  --idip-orange: #E86A33;
  --idip-orange-deep: #D4551F;
  --idip-white: #FFFBF7;
  --idip-paper: #FFFFFF;
  --idip-ink: #3A2426;
  --idip-muted: #7A5F62;
  --idip-line: rgba(183, 110, 121, 0.22);
  --bg: var(--idip-white);
  --bg-soft: #F7EEE8;
  --text-primary: var(--idip-ink);
  --text-secondary: var(--idip-muted);
  --accent-primary: var(--idip-orange);
  --accent-gold: var(--idip-rose);
  --page-bg: var(--idip-white);
  --surface-page: var(--idip-white);
  --surface-panel: var(--idip-paper);
  --text-on-dark: var(--idip-white);
  --text-on-dark-muted: #F0E4DC;
}
html, body, .page-shell { background: var(--idip-white) !important; color: var(--idip-ink) !important; }
.site-header { background: var(--idip-paper) !important; border-bottom: 1px solid var(--idip-line); color: var(--idip-ink); }
.site-footer { background: #F7EEE8 !important; color: var(--idip-ink); border-top: 1px solid var(--idip-line); }
.brand { align-items: center; gap: 0.75rem; }
.brand-logo { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: var(--idip-rose); box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--idip-rose); }
.brand-title { color: var(--idip-rose-deep); font-weight: 700; letter-spacing: 0.04em; }
.brand-sub { color: var(--idip-muted); }
.nav-links a { color: var(--idip-ink) !important; }
.nav-links a:hover { color: var(--idip-orange) !important; }
.btn-primary { background: var(--idip-orange) !important; border-color: var(--idip-orange) !important; color: #fff !important; }
.btn-primary:hover { background: var(--idip-orange-deep) !important; }
.btn-ghost { color: var(--idip-rose-deep) !important; border-color: var(--idip-line) !important; background: transparent !important; }
.kicker { color: var(--idip-orange) !important; letter-spacing: 0.12em; text-transform: uppercase; }
.page-title, h1, h2, .panel-title { color: var(--idip-ink) !important; }
.lead, .panel-copy, .muted, .footer-meta { color: var(--idip-muted) !important; }
.section.bg-soft, .bg-soft { background: var(--idip-white) !important; }
.idip-hero {
  padding: 3.5rem 0 2rem;
  color: #FFFBF7;
  background: linear-gradient(180deg, var(--charcoal) 0%, var(--black) 100%);
}
.idip-hero h1,
.idip-hero .page-title { font-size: clamp(2rem, 4vw, 3.2rem); max-width: 18ch; margin: 0.4rem 0 1rem; color: #FFFBF7 !important; }
.idip-hero .lead { max-width: 42rem; font-size: 1.15rem; color: #F0E4DC !important; }
.idip-hero .btn-ghost { color: #FFFBF7 !important; border-color: rgba(255,251,247,0.38) !important; }
.idip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; margin: 2.5rem 0 3rem; }
.idip-card { background: var(--idip-paper); border: 1px solid var(--idip-line); border-radius: 1.1rem; padding: 1.35rem 1.4rem 1.5rem; box-shadow: 0 10px 30px rgba(183, 110, 121, 0.08); }
.idip-card h2 { font-size: 1.15rem; margin: 0.35rem 0 0.5rem; }
.idip-card .status { display: inline-block; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--idip-orange); font-weight: 700; }
.idip-card .status.later { color: var(--idip-muted); }
.idip-card a { color: var(--idip-orange); font-weight: 600; }
.idip-trust { border-top: 1px solid var(--idip-line); padding-top: 1.5rem; color: var(--idip-muted); }

.idip-academy-list { list-style: none; margin: 1rem 0 0; padding: 0; }
.idip-academy-list li { display: flex; justify-content: space-between; align-items: baseline; gap: 0.75rem; padding: 0.55rem 0; border-top: 1px solid var(--idip-line); color: var(--idip-ink); font-weight: 600; }
.idip-academy-list a { color: var(--idip-orange); font-weight: 600; }
.idip-academy-list .status { font-weight: 700; }
.idip-academy-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.idip-btn-disabled { opacity: 0.4; pointer-events: none; filter: grayscale(0.4); cursor: not-allowed; }

/* Emergency plan forms */
.page-shell main label,
.page-shell .field-label,
.page-shell form label {
  display: block;
  margin: 1rem 0 0.35rem;
  color: #3a2a22;
  font-size: 0.85rem;
  font-weight: 600;
}
.page-shell input[type="text"],
.page-shell input[type="email"],
.page-shell input[type="tel"],
.page-shell input[type="number"],
.page-shell select,
.page-shell textarea {
  display: block;
  width: 100%;
  max-width: 40rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid #c9b8ad;
  border-radius: 10px;
  background: #fff;
  color: #1c1410;
  font: inherit;
}
.page-shell textarea { min-height: 6rem; }
.page-shell button[type="submit"],
.page-shell .btn-primary {
  margin-top: 1.25rem;
}
.page-shell .kicker { color: #c45a1a; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.75rem; font-weight: 700; }
.page-shell .page-title { color: #1c1410; }

.page-shell .nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; }
.page-shell .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.page-shell .nav-links a { color: #3a2a22; font-weight: 600; white-space: nowrap; }
.page-shell .nav-links a:hover { color: #c45a1a; }
