/*
 * Eventform core stylesheet.
 *
 * Global fonts, design tokens, reset rules and shared UI primitives live here.
 * Feature-specific rules belong in app.css; White Circus visual skin belongs
 * in theme.css. Keep this file free of page-specific overrides.
 */

@font-face{font-family:'Untitled Sans';src:url('/index.php?route=%2Foffer-font%2Funtitled-sans-regular') format('opentype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:'Untitled Sans';src:url('/index.php?route=%2Foffer-font%2Funtitled-sans-regular') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Untitled Sans';src:url('/index.php?route=%2Foffer-font%2Funtitled-sans-medium') format('opentype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Untitled Sans';src:url('/index.php?route=%2Foffer-font%2Funtitled-sans-medium') format('opentype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Untitled Sans';src:url('/index.php?route=%2Foffer-font%2Funtitled-sans-medium') format('opentype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Comfortaa';src:local('Comfortaa Light'),local('Comfortaa'),url('/index.php?route=%2Foffer-font%2Fcomfortaa-light') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:'Comfortaa';src:local('Comfortaa Regular'),local('Comfortaa'),url('/index.php?route=%2Foffer-font%2Fcomfortaa-regular') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Comfortaa';src:local('Comfortaa Medium'),local('Comfortaa'),url('/index.php?route=%2Foffer-font%2Fcomfortaa-medium') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'Comfortaa';src:local('Comfortaa SemiBold'),local('Comfortaa'),url('/index.php?route=%2Foffer-font%2Fcomfortaa-semibold') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Comfortaa';src:local('Comfortaa Bold'),local('Comfortaa'),url('/index.php?route=%2Foffer-font%2Fcomfortaa-bold') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{
  font-family:'Kaftan Serif';
  src:local('Kaftan Serif'),url('/index.php?route=%2Foffer-font%2Fkaftan-serif') format('opentype');
  font-style:normal;font-weight:400;font-display:swap;
}
@font-face{
  font-family:'Untitled Sans Medium';
  src:local('Untitled Sans Medium'),local('Untitled Sans'),url('/index.php?route=%2Foffer-font%2Funtitled-sans-medium') format('opentype');
  font-style:normal;font-weight:500;font-display:swap;
}

:root{--bg:#f6f1ea;--paper:#fff;--paper-soft:#fbf7f1;--ink:#171614;--muted:#726a5f;--line:#e5dacb;--accent:#9b6f45;--accent-dark:#7c5532;--success:#285945;--danger:#8c3b35;--shadow:0 20px 50px rgba(45,33,20,.08);--radius:24px;--font-scale:1}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at top right, rgba(155,111,69,.12), transparent 30%),linear-gradient(180deg,#f8f4ee 0%,var(--bg) 100%);color:var(--ink);font-family:'Comfortaa',system-ui,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'Comfortaa',system-ui,sans-serif;font-weight:600;line-height:1.05;margin:0;letter-spacing:.01em}h1{font-size:calc(clamp(2.3rem,calc(4vw * var(--font-scale)),4rem) + 1px)}h2{font-size:calc(clamp(1.9rem,calc(3vw * var(--font-scale)),2.7rem) + 1px)}h3{font-size:calc(1.7rem + 1px)}small.eyebrow,.eyebrow{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:calc(.72rem + 1px);color:var(--accent);margin-bottom:.8rem}.shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}.sidebar{border-right:1px solid rgba(122,98,70,.12);background:rgba(255,255,255,.65);backdrop-filter:blur(16px);padding:28px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:16px}.brand-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#d8b089);color:#fff;font-weight:700;letter-spacing:.08em}.nav{display:grid;gap:8px}.nav a{padding:12px 14px;border-radius:14px;color:var(--muted);transition:.2s ease}.nav a:hover{background:rgba(155,111,69,.08);color:var(--ink)}.profile-card{padding:16px;border-radius:20px;background:var(--paper-soft);border:1px solid var(--line);display:grid;gap:4px}.content{padding:40px 48px 56px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:28px}.header-actions,.filter-actions,.form-actions,.inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel,.auth-card,.stat-card{background:rgba(255,255,255,.9);border:1px solid rgba(122,98,70,.12);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.hero-metrics{display:grid;gap:16px;align-content:start}.hero-metrics div,.stat-card{padding:18px 20px;background:rgba(255,255,255,.78);border-radius:20px;border:1px solid var(--line)}.hero-metrics strong,.stat-card strong{display:block;font-size:calc(1.6rem + 1px);font-family:'Comfortaa',system-ui,sans-serif}.hero-metrics span,.stat-card small{color:var(--muted)}.grid{display:grid;gap:20px;margin-bottom:20px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:calc(.95rem + 1px)}thead th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:600;font-size:calc(.85rem + 1px)}tbody td{padding:14px;border-bottom:1px solid rgba(229,218,203,.7);vertical-align:top}tbody tr:last-child td{border-bottom:none}.sub-row td{padding-top:0;color:var(--muted);font-size:calc(.92rem + 1px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-weight:600;transition:transform .15s ease;box-shadow:0 10px 22px rgba(155,111,69,.2)}.button:hover{transform:translateY(-1px)}.button-ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}.button-danger{background:linear-gradient(135deg,var(--danger),#b14d45);color:#fff;border:none;box-shadow:0 10px 22px rgba(140,59,53,.22)}.small-note{font-size:calc(.85rem + 1px)}.switch-card{align-items:center}.switch-card input{width:auto}.switch-card span{display:grid;gap:4px}.switch-card strong{font-size:calc(1rem + 1px)}.switch-card small{color:var(--muted)}.button-full{width:100%}.link{color:var(--accent-dark);font-weight:600}.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:calc(.78rem + 1px);font-weight:600;border:1px solid transparent}.alert{margin-bottom:18px;padding:16px 18px;border-radius:18px;border:1px solid var(--line)}.alert-success{background:#ebf6f0;color:#22533f}.alert-error{background:#fff0ed;color:#8c3b35}.filters,.form-grid,.stack,.stack-lg{display:grid;gap:16px}.stack-lg{gap:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}label{display:grid;gap:8px}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.9);color:var(--ink)}textarea{resize:vertical}.checkbox-card,.checkbox-inline{display:flex;gap:12px;align-items:flex-start}.checkbox-card{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--paper-soft)}.checkbox-card input{width:auto;margin-top:3px}.feature-list,.audit-list{display:grid;gap:10px;margin:0;padding-left:18px}.audit-item{background:var(--paper-soft);border:1px solid var(--line);border-radius:20px;padding:16px}.audit-item pre{background:#1d1b18;color:#f2ebe1;border-radius:16px;padding:14px;overflow:auto;font-size:calc(.82rem + 1px)}.definition-list{display:grid;gap:12px;margin:0}.definition-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(229,218,203,.7)}.definition-list div:last-child{border-bottom:none}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;text-align:right;font-weight:600}.break-all{word-break:break-all}.muted{color:var(--muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-wrap{width:min(1180px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}.auth-visual{padding:48px;border-radius:32px;color:#fff;background:linear-gradient(135deg, rgba(26,23,20,.82), rgba(52,39,27,.7));box-shadow:var(--shadow);display:grid;align-content:end}.auth-visual h1{font-size:calc(clamp(2.8rem,calc(5vw * var(--font-scale)),4.7rem) + 1px);max-width:11ch}.auth-visual p{max-width:58ch;color:rgba(255,255,255,.8)}.auth-card{padding:34px;max-width:520px;width:100%}button,input,select,textarea{font:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid rgba(122,98,70,.12)}.grid-4,.grid-2,.auth-wrap,.form-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}



/* Shared OTP fields: also used by the administrator MFA reset form. */
.mfa-otp-form{align-content:start}.mfa-otp-block{gap:12px}.mfa-otp-inputs{display:flex;gap:12px;flex-wrap:wrap}.mfa-otp-digit{width:58px;min-width:58px;height:64px;padding:0;border-radius:18px;text-align:center;font-size:calc(1.4rem + 1px);font-weight:700;letter-spacing:0;background:#fff}.mfa-otp-digit:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(155,111,69,.12)}.mfa-submit{justify-self:start;min-width:220px}@media (max-width:640px){.mfa-otp-inputs{gap:10px}.mfa-otp-digit{width:50px;min-width:50px;height:58px;font-size:calc(1.2rem + 1px)}.mfa-submit{min-width:180px}}

.event-form{max-width:none}
.event-header-card{display:grid;gap:24px;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,248,239,.85))}
.event-header-brand{display:flex;justify-content:space-between;gap:16px;align-items:center}
.event-header-brand h2{font-size:calc(clamp(2rem,calc(3vw * var(--font-scale)),3rem) + 1px)}
.event-header-logo{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-weight:700;font-size:calc(1.4rem + 1px);letter-spacing:.08em;box-shadow:0 10px 24px rgba(155,111,69,.2)}

.event-block{padding:20px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.72);display:grid;gap:16px}
.event-block h4{font-size:calc(1.45rem + 1px)}
.event-table{width:100%;border-collapse:separate;border-spacing:0 10px}
.event-table thead th{padding:0 12px 8px;border-bottom:1px solid var(--line)}
.event-table tbody tr{background:var(--paper-soft)}
.event-table tbody td{padding:10px 12px;border-top:1px solid rgba(229,218,203,.65);border-bottom:1px solid rgba(229,218,203,.65)}
.event-table tbody td:first-child{border-left:1px solid rgba(229,218,203,.65);border-top-left-radius:18px;border-bottom-left-radius:18px}
.event-table tbody td:last-child{border-right:1px solid rgba(229,218,203,.65);border-top-right-radius:18px;border-bottom-right-radius:18px}
.event-table strong{white-space:nowrap}
.section-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:#faf3ee;border:1px solid rgba(155,111,69,.16)}
.section-total strong{font-size:calc(1.2rem + 1px);font-family:'Comfortaa',system-ui,sans-serif}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.summary-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.summary-card{padding:18px 20px;border-radius:22px;border:1px solid rgba(155,111,69,.18);background:#fff3ee;display:grid;gap:8px}
.summary-card small{color:var(--muted);font-size:calc(.92rem + 1px)}
.summary-card strong{font-size:calc(1.6rem + 1px);font-family:'Comfortaa',system-ui,sans-serif;line-height:1}
.event-meta-grid{display:grid;gap:16px}
.event-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}



.settings-grid{max-width:720px}
.details-grid{align-items:start}
@media (max-width:1100px){
  .event-meta-grid,.summary-grid,.summary-grid.compact,.settings-grid{grid-template-columns:1fr}
  .event-header-brand{align-items:flex-start;flex-direction:column}
}
