:root { --demo-green:#174f46; --demo-ink:#1e3431; --demo-muted:#61716b; --demo-line:#d8e3dc; --demo-paper:#fffefa; --demo-soft:#f0f5ef; --demo-gold:#9d7d43; }
body.demo-body { background:#f4f5ef; color:var(--demo-ink); }
.demo-header { max-width:1000px; margin:auto; padding:24px 22px 16px; border:0; background:transparent; }
.demo-header-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.demo-header-actions a,.demo-footer a { color:var(--demo-green); font-weight:650; }
.demo-header h1 { color:var(--demo-green); font-size:clamp(1.55rem,4vw,2.25rem); letter-spacing:-.045em; }
.demo-eyebrow,.demo-step { margin:0 0 5px; color:var(--demo-gold); font-size:.76rem; font-weight:750; letter-spacing:.13em; }
.demo-main { max-width:1000px; padding:0 16px 48px; }
.demo-main section { border-color:var(--demo-line); border-radius:14px; background:var(--demo-paper); padding:20px; margin:14px 0; box-shadow:0 7px 24px #173d2f0a; }
.demo-notice { border-left:4px solid var(--demo-gold)!important; background:#fbf5e8!important; }
.demo-notice p,.demo-help { margin:6px 0 0; color:var(--demo-muted); font-size:.94rem; }
.demo-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.demo-section-head h2,.demo-students h2 { margin:0; color:var(--demo-green); letter-spacing:-.03em; }
.demo-chip { display:inline-flex; align-items:center; min-height:28px; padding:4px 10px; border-radius:999px; background:var(--demo-soft); color:var(--demo-green); font-size:.8rem; font-weight:650; white-space:nowrap; }
.demo-students label { margin-top:14px; }
.demo-students select { min-width:min(100%,320px); }
.demo-record-list,.demo-publication-list { display:grid; gap:9px; margin:14px 0; }
.demo-record { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; border:1px solid var(--demo-line); border-radius:10px; padding:12px; }
.demo-record input { width:20px; height:20px; accent-color:var(--demo-green); }
.demo-record strong,.demo-record small { display:block; }
.demo-record small { color:var(--demo-muted); margin-top:2px; }
.demo-record-metrics { color:var(--demo-green); text-align:right; font-size:.9rem; font-weight:650; }
.demo-editor-form { display:grid; gap:12px; margin-top:14px; }
.demo-editor-form textarea { min-height:100px; }
.demo-editor-form input,.demo-editor-form textarea { width:100%; }
.demo-toolbar { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.demo-toolbar button,.demo-main button { min-height:42px; }
.demo-main button.primary { background:var(--demo-green); border-color:var(--demo-green); }
.demo-main button[disabled] { cursor:not-allowed; opacity:.55; }
.demo-publication { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; border:1px solid var(--demo-line); border-radius:10px; padding:14px; }
.demo-publication h3 { margin:0; color:var(--demo-green); }
.demo-publication p { margin:4px 0 0; color:var(--demo-muted); font-size:.92rem; }
.demo-status { min-height:1.5em; margin:12px 2px; color:var(--demo-green); font-weight:650; }
.demo-status.error { color:#9a3e24; }
.demo-footer { padding:18px 4px; color:var(--demo-muted); font-size:.9rem; }
@media(max-width:600px) {
  .demo-header { padding:18px 16px 12px; }
  .demo-main section { padding:16px; }
  .demo-record { grid-template-columns:auto 1fr; }
  .demo-record-metrics { grid-column:2; text-align:left; }
  .demo-section-head { align-items:flex-start; }
}
@media print {
  .demo-header,.demo-notice,.demo-status,.demo-footer,.demo-print-button { display:none!important; }
  .demo-main { max-width:none; padding:0; }
  .demo-main section { border:0; box-shadow:none; margin:0; padding:0; }
}
.date-saturday { color:#245bb2; }
.date-holiday { color:#bc3030; }
.date-saturday,.date-holiday { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
time:not(.date-saturday):not(.date-holiday),.calendar :is(small,b):not(.date-saturday):not(.date-holiday) { color:#000; }
