
:root{
  --navy:#0d2340;
  --navy2:#152f52;
  --gold:#c49545;
  --gold2:#e1bf7b;
  --ivory:#fbf8f2;
  --paper:#ffffff;
  --ink:#10213b;
  --muted:#6f7886;
  --line:#ead8b6;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 15%,rgba(225,191,123,.17),transparent 24%),
    radial-gradient(circle at 88% 88%,rgba(13,35,64,.08),transparent 28%),
    linear-gradient(135deg,#f7f2e9 0%,#fff 48%,#f4ede2 100%);
}
body:before,body:after{
  content:"";position:fixed;pointer-events:none;z-index:-1;border:1px solid rgba(196,149,69,.28);width:260px;height:260px;transform:rotate(45deg)
}
body:before{left:-170px;top:-170px}
body:after{right:-170px;bottom:-170px}
.hero{min-height:100vh;display:grid;place-items:center;padding:34px 20px}
.card{
  position:relative;overflow:hidden;width:min(620px,100%);text-align:center;
  padding:58px 44px 48px;background:rgba(255,255,255,.92);
  border:1px solid var(--line);border-radius:28px;
  box-shadow:0 28px 80px rgba(13,35,64,.14);
}
.card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--navy),var(--gold2),var(--navy));
}
.mark{
  width:76px;height:76px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--navy2),#08182d);color:#efc873;
  font:700 37px Georgia,"Times New Roman",serif;
  box-shadow:0 12px 30px rgba(13,35,64,.2),inset 0 0 0 1px rgba(255,255,255,.1)
}
.eyebrow,.kicker{letter-spacing:.21em;font-size:.72rem;font-weight:800;color:#a57528;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy)}
.card h1{font-size:clamp(2.8rem,8vw,4.8rem);letter-spacing:.075em;line-height:1;margin:.25em 0 .18em}
.tagline{font:italic 1.35rem Georgia,serif;color:#b47c27;margin:20px 0}
.copy{line-height:1.65;color:#657184;margin:24px auto 30px;max-width:460px}
.button,.btn{
  display:inline-flex;align-items:center;justify-content:center;border:0;text-decoration:none;
  background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;padding:14px 25px;
  border-radius:12px;font-weight:800;box-shadow:0 10px 24px rgba(13,35,64,.18);cursor:pointer
}
.button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(13,35,64,.22)}
.button.secondary{background:linear-gradient(135deg,#b47d29,#d1a75e)}
.version{margin:30px 0 0;color:#9a9fa8;font-size:.78rem}
.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:38px 0 64px}.narrow{max-width:650px}
.panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 18px 50px rgba(16,33,59,.08)}
.login{text-align:center;margin-top:5vh}
.login h1{font-size:3rem;letter-spacing:.06em;margin:.25em 0}
.muted{color:#697586;line-height:1.55}
form{text-align:left;margin-top:24px}
label{display:block;font-weight:700;font-size:.92rem;margin:16px 0}
input,select{width:100%;margin-top:7px;border:1px solid #d9dfe7;border-radius:11px;padding:13px 14px;font:inherit;background:#fff;color:var(--navy);outline:none}
input:focus,select:focus{border-color:#c99b50;box-shadow:0 0 0 3px rgba(201,155,80,.14)}
label small{display:block;color:#8b94a2;font-weight:400;margin-top:5px}
.back{display:block;margin-top:24px;color:#8a652b;text-decoration:none}
.alert{padding:12px 14px;border-radius:10px;margin:16px 0}.error{background:#fff0f0;color:#9b2525}
.top{min-height:72px;background:linear-gradient(100deg,#0a1d36,#153356);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1180px)/2));gap:20px;box-shadow:0 8px 25px rgba(13,35,64,.14)}
.top div{display:flex;align-items:baseline;gap:14px}.top span{opacity:.72;font-size:.88rem}.top a{color:#f0d49d;text-decoration:none}.user{font-size:.9rem}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.toolbar h2{font-size:2.3rem;margin:.2em 0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.stats div{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 12px 30px rgba(13,35,64,.06)}
.stats b{display:block;font:700 2rem Georgia,serif;color:var(--navy)}.stats span{color:#788391}
.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px;border-bottom:1px solid #edf0f4;white-space:nowrap}td small{display:block;color:#929aa5;margin-top:3px}
.badge{display:inline-block;background:#f5ead5;color:#7a581f;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:capitalize}
.link{color:#9b6c20;text-decoration:none;font-weight:800}.empty{text-align:center;padding:30px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.eventhero{background:linear-gradient(120deg,#0a1d36,#17385f);color:#fff;border-radius:22px;padding:30px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 18px 42px rgba(13,35,64,.16)}
.eventhero h2{color:#fff;font-size:2.2rem;margin:.2em 0}.eventhero p{margin-bottom:0;color:#d7deea}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.cards .panel{padding:22px}.cards p{color:#6e7887;min-height:52px}.soon{font-size:.76rem;color:#a4772c;font-weight:800}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.chips span{background:#f5ead5;padding:8px 11px;border-radius:999px;font-size:.84rem}
@media(max-width:800px){.cards{grid-template-columns:1fr 1fr}.toolbar{align-items:flex-start;flex-direction:column}.grid2{grid-template-columns:1fr}.top span{display:none}}
@media(max-width:520px){.card{padding:44px 24px 38px}.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.stats div{padding:14px}.stats b{font-size:1.5rem}.panel{padding:21px}.eventhero{align-items:flex-start;gap:12px;flex-direction:column}}

.module-link{display:block;text-decoration:none;color:inherit;transition:.18s ease}.module-link:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(13,35,64,.12)}
.ready{font-size:.78rem;color:#18704b;font-weight:800}

.toolbar-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-light{background:#fff;color:#10213b;border:1px solid #d9bd88;box-shadow:none}
.success-admin{background:#edf8f1;color:#226644;border:1px solid #b8dec7}
@media(max-width:600px){.toolbar-actions{width:100%}.toolbar-actions .btn{flex:1}}
