:root {
  --ink: #292b2f;
  --muted: #696a66;
  --line: #ded9cd;
  --paper: #fffdf7;
  --wash: #f8f5ec;
  --green: #292b2f;
  --green-2: #3b3d42;
  --lime: #d6a419;
  --red: #a23a31;
  --mustard: #d6a419;
  --mustard-deep: #b7800f;
  --mustard-soft: #f4e4ae;
  --graphite: #292b2f;
  --graphite-soft: #45474c;
  --off-white: #f8f5ec;
  --shadow: 0 18px 50px rgba(41,43,47,.11);
  background: var(--off-white);
}

body { background: radial-gradient(circle at 92% 4%,rgba(214,164,25,.22) 0,transparent 30rem),linear-gradient(180deg,#fbf9f3 0%,#f8f5ec 55%,#f1eee6 100%); }
.site-header { background: rgba(255,253,247,.95); border-bottom-color: #ded9cd; }
.brand-mark { background: linear-gradient(145deg,var(--graphite-soft),var(--graphite)); color: #fffdf7; box-shadow: 0 8px 20px rgba(41,43,47,.20); }
.badge { background: var(--mustard); color: var(--graphite); }
.panel { background: rgba(255,253,247,.98); border-color: #ded9cd; }
.hero h1 span,.eyebrow,.text-button,.course-code { color: var(--mustard-deep); }
.button { background: var(--graphite); color: #fffdf7; }
.button:hover { background: var(--graphite-soft); }
.button-google { background: var(--off-white); color: var(--graphite); border-color: #d6d0c3; }
.button-google:hover { background: #f2ecdc; }
.button-secondary,.button-ghost { background: var(--mustard-soft); color: var(--graphite); }
.avatar,.step { background: var(--mustard-soft); color: var(--graphite); }
input { border-color: #d3cdbf; background: #fffefa; color: var(--graphite); }
input:focus { border-color: var(--mustard-deep); box-shadow: 0 0 0 3px rgba(214,164,25,.20); }
.action-banner { background: #fff5d6; border-color: #e4c466; color: #5c4812; }
.notice-success,.email-sent { background: #f7ecc6; border-color: #dfbd4f; color: var(--graphite); }
.notice-error,.error-box { background: #fff0ed; border-color: #e2b7af; color: #8b3029; }
.status-pill { background: #f3e3b0; color: #5d4710; }
.status-ready { background: var(--mustard-soft); color: var(--graphite); }
.scan-panel { background: linear-gradient(135deg,#202226,var(--graphite) 60%,var(--graphite-soft)); box-shadow: 0 22px 48px rgba(41,43,47,.23); }
.scan-panel p { color: #e8e4da; }
.scan-panel .step { background: rgba(214,164,25,.22); color: #fffdf7; }
.scan-panel .button { background: var(--mustard); color: var(--graphite); }
.course-card { background: #fffefa; border-color: #ded9cd; }
.course-code { background: #f4e4ae; }
.metric { background: #f2f0e9; }
.admin-claim { background: #fff6da; border-color: #dfbd4f; }
.course-tab { border-color: #d5cec0; background: #fffefa; color: var(--graphite); }
.course-tab.active { background: var(--mustard); color: var(--graphite); border-color: var(--mustard-deep); }
.register-button.is-registered,.register-button.is-registered:disabled { background: var(--mustard-soft); color: var(--graphite); opacity: 1; cursor: default; }
.skeleton { background: linear-gradient(90deg,#e9e5da 25%,#fbf9f3 40%,#e9e5da 60%); background-size: 300% 100%; }
footer { border-top-color: #ded9cd; }

.admin-subheading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:28px 0 14px; padding-top:22px; border-top:1px solid var(--line); }
.admin-subheading h3 { margin:0 0 4px; font-size:20px; }
.admin-subheading p { margin:0; color:var(--muted); font-size:14px; }
.qr-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.qr-card { position:relative; border:1px solid var(--line); border-radius:18px; background:#fffefa; padding:20px; text-align:center; overflow:hidden; }
.qr-card h4 { margin:13px 0 3px; font-size:17px; }
.qr-card p { margin:0 0 3px; color:var(--muted); }
.qr-card small { color:var(--muted); display:block; }
.qr-image-wrap { width:min(100%,260px); aspect-ratio:1; margin:14px auto 0; padding:10px; border-radius:16px; background:#fffdf7; border:1px solid #e2ddd2; }
.qr-image { display:block; width:100%; height:100%; object-fit:contain; }
.qr-action { display:inline-flex; border-radius:999px; padding:6px 11px; font-size:12px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.qr-checkin { background:var(--mustard); color:var(--graphite); }
.qr-checkout { background:var(--graphite); color:#fffdf7; }
.qr-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.qr-validity { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:5px 9px; font-size:11px; font-weight:850; }
.qr-validity:before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.qr-active { background:#e2f2e5; color:#287039; }
.qr-waiting { background:#f6e8b8; color:#765807; }
.qr-expired { background:#eeeae1; color:#77736a; }
.qr-actions { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:8px; flex-wrap:wrap; }
.qr-actions .text-button { padding:5px 0; }
.qr-empty { grid-column:1/-1; }

@media(max-width:760px){.qr-grid{grid-template-columns:1fr}.admin-subheading{align-items:flex-start;flex-direction:column}.admin-subheading .button{width:100%}}
@media print{.site-header,.account-bar,.layout,.course-tabs,.admin-panel>.section-heading,.admin-panel>.section-intro,.admin-metrics,.admin-subheading .button,footer,.notice-region{display:none!important}body{background:#fff}.shell{width:100%}.admin-panel{box-shadow:none;border:0;margin:0;padding:0}.admin-subheading{border:0;margin-top:0}.qr-grid{grid-template-columns:repeat(2,1fr)}.qr-card{break-inside:avoid}.qr-actions{display:none}}

.admin-toolbar { display:flex; justify-content:flex-end; margin:-48px 0 18px; }
.course-form { border:1px solid var(--line); border-radius:18px; background:#f6f2e8; padding:20px; margin:0 0 22px; }
.course-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.course-form label { color:var(--graphite); font-size:13px; font-weight:750; }
.course-form input,.course-form select { display:block; width:100%; margin-top:7px; border:1px solid #d3cdbf; border-radius:11px; padding:12px 13px; background:#fffefa; color:var(--graphite); font:inherit; }
.course-form select:focus { border-color:var(--mustard-deep); outline:0; box-shadow:0 0 0 3px rgba(214,164,25,.20); }
.open-registration { display:flex; align-items:center; gap:9px; margin:17px 0; }
.open-registration input { width:auto; margin:0; accent-color:var(--mustard-deep); }
.form-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.form-actions small { color:var(--muted); }
@media(max-width:760px){.admin-toolbar{margin:0 0 16px;justify-content:stretch}.admin-toolbar .button{width:100%}.course-form-grid{grid-template-columns:1fr}}
@media print{.admin-toolbar,.course-form{display:none!important}}
