/* Shared participant-facing theme. Admin templates deliberately do not load this file. */
:root {
  --cream-bg: #f6efe3;
  --cream-soft: #fbf7f0;
  --ivory: #fffdf8;
  --beige: #eadcc8;
  --beige-deep: #d9c1a3;
  --brown: #584535;
  --brown-soft: #796452;
  --accent: #9a7650;
  --accent-dark: #755638;
  --line: #e3d3be;
}

body {
  color: var(--brown) !important;
  background: radial-gradient(circle at 8% 0%, #fffdf9 0, transparent 29%), linear-gradient(140deg, #f8f2e9 0%, #eee0cd 100%) !important;
}

body::before { opacity: .22 !important; }

.container, .wrap, .dashboard-container, main, .main-card, .card, .form-container,
.login-box, .login-container, .profile-card, .section, section, header, .top-bar,
.hero, .content-card, .details-card, .status-card, .question-card {
  border-color: var(--line) !important;
}

.main-card, .card, .form-container, .login-box, .profile-card, .section, section,
.top-bar, .hero, .content-card, .details-card, .status-card, .question-card {
  background: var(--ivory) !important;
  box-shadow: 0 12px 30px rgba(91, 65, 38, .10) !important;
}

h1, h2, h3, h4, h5, h6, .title, .section-title, .page-title { color: var(--brown) !important; }
p, .subtitle, .muted, .text-muted, .description, .helper-text { color: var(--brown-soft) !important; }

input, select, textarea {
  color: var(--brown) !important;
  border-color: var(--beige-deep) !important;
  background: #fffefa !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(154, 118, 80, .16) !important;
}

input[readonly], input:disabled, textarea:disabled, select:disabled {
  background: #f4eadc !important;
  color: var(--brown-soft) !important;
}

button, .btn, .button, .submit-btn, .corner-btn, .nav-btn, .action-btn {
  background: var(--accent-dark) !important;
  border-color: var(--accent-dark) !important;
  color: #fffdf8 !important;
  box-shadow: 0 4px 12px rgba(91, 65, 38, .12) !important;
}

button:hover, .btn:hover, .button:hover, .submit-btn:hover, .corner-btn:hover, .nav-btn:hover, .action-btn:hover {
  background: #63482f !important;
  border-color: #63482f !important;
}

.secondary, .btn-secondary, .btn-back, .back-btn, .cancel-btn, .outline-btn {
  background: #efe2d0 !important;
  border-color: var(--beige-deep) !important;
  color: var(--accent-dark) !important;
}

a { color: var(--accent-dark); }
.section-heading, .section-header, .form-header, .header, .title-bar { border-color: var(--line) !important; }
.badge, .step-number, .title-icon, .section-icon { background: var(--accent) !important; color: var(--ivory) !important; }

table th { background: #eee0cd !important; color: var(--brown) !important; }
table td { background: var(--ivory) !important; border-color: var(--line) !important; color: var(--brown) !important; }

@media (max-width: 700px) { body { background: linear-gradient(150deg, #f9f4eb, #eee0cd) !important; } }

/* Barcode login: intentionally calmer than the original bright blue/purple treatment. */
.box {
  width: min(440px, calc(100% - 28px)) !important;
  padding: 42px 34px !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  background: rgba(255, 253, 248, .96) !important;
  box-shadow: 0 22px 52px rgba(91, 65, 38, .14) !important;
}

.box:hover { transform: translateY(-2px) !important; box-shadow: 0 26px 56px rgba(91, 65, 38, .16) !important; }
.brand-icon { width:70px !important; height:70px !important; border-radius:22px !important; background:#f2e5d1 !important; box-shadow:0 9px 20px rgba(91,65,38,.12) !important; }
.brand-icon i { background:none !important; -webkit-text-fill-color:var(--accent-dark) !important; color:var(--accent-dark) !important; filter:none !important; }
.box h2 { background:none !important; -webkit-text-fill-color:var(--brown) !important; color:var(--brown) !important; font-family:Georgia,serif !important; }
.sub, .note { color:var(--brown-soft) !important; }
.sub i, .input-group i, .note i { color:var(--accent) !important; text-shadow:none !important; }
.input-group input { border:1px solid var(--beige-deep) !important; border-radius:12px !important; padding:14px 18px 14px 50px !important; box-shadow:none !important; transform:none !important; }
.input-group input:focus { border-color:var(--accent) !important; background:#fffefa !important; box-shadow:0 0 0 3px rgba(154,118,80,.15) !important; animation:none !important; }
.login-btn, .profile-btn { border-radius:11px !important; padding:14px 18px !important; transform:none !important; box-shadow:none !important; }
.login-btn { background:var(--accent-dark) !important; }.profile-btn { background:var(--accent) !important; }
.login-btn:hover, .profile-btn:hover { background:#63482f !important; transform:translateY(-1px) !important; box-shadow:0 7px 14px rgba(91,65,38,.14) !important; }
.login-btn::after, .profile-btn::after { display:none !important; }
.divider { color:var(--brown-soft) !important; }.divider::before, .divider::after { background:linear-gradient(90deg,transparent,var(--beige-deep),transparent) !important; }
.note { background:#f7f0e4 !important; border-color:var(--line) !important; border-radius:14px !important; }
.admin-corner-btn { background:var(--brown) !important; border-color:var(--brown) !important; color:var(--ivory) !important; box-shadow:0 6px 15px rgba(91,65,38,.18) !important; }
