@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');
:root{--color-primary:#1E4D9B;--color-primary-light:#2E6FDB;--color-primary-dark:#0D2F6B;--color-secondary:#00A651;--color-accent:#F7941D;--color-danger:#E53935;--color-warning:#FB8C00;--color-bg:#F0F4FF;--color-surface:#FFFFFF;--color-surface-2:#F8FAFF;--color-border:#E2E8F0;--color-text:#1A2332;--color-text-muted:#64748B;--glass-bg:rgba(255,255,255,.72);--glass-border:rgba(255,255,255,.34);--glass-shadow:0 8px 32px rgba(30,77,155,.12);--glass-blur:blur(16px);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--font-display:'Sora',sans-serif;--font-body:'Plus Jakarta Sans',sans-serif;--transition-base:250ms cubic-bezier(.4,0,.2,1)}
[data-theme=dark]{--color-bg:#08111f;--color-surface:#101b2e;--color-surface-2:#13223a;--color-border:#223450;--color-text:#eaf2ff;--color-text-muted:#9ab0cc;--glass-bg:rgba(16,27,46,.72);--glass-border:rgba(255,255,255,.08)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 10%,rgba(46,111,219,.16),transparent 30%),linear-gradient(135deg,var(--color-bg),#fff);color:var(--color-text);font-family:var(--font-body);min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1180px,92vw);margin:auto}.navbar{position:sticky;top:0;z-index:20;background:var(--glass-bg);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-family:var(--font-display)}.brand img{height:42px;width:42px;object-fit:contain;border-radius:12px}.nav-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero{position:relative;padding:74px 0 58px;overflow:hidden;background:linear-gradient(120deg,rgba(30,77,155,.96),rgba(0,166,81,.85),rgba(46,111,219,.95));background-size:220% 220%;animation:gradientShift 11s ease infinite;color:white}.hero:after{content:'';position:absolute;inset:-40px;background-image:radial-gradient(circle,rgba(255,255,255,.22) 2px,transparent 3px);background-size:42px 42px;animation:float 18s linear infinite}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center}.hero h1{font-family:var(--font-display);font-size:clamp(34px,6vw,62px);line-height:1.02;margin:0 0 18px}.hero p{font-size:18px;opacity:.92}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card-glass,.card{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);padding:22px;transition:var(--transition-base)}.card-glass:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 60px rgba(30,77,155,.18)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-full);padding:11px 17px;font-weight:800;cursor:pointer;transition:var(--transition-base);font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:white;box-shadow:0 10px 24px rgba(30,77,155,.25)}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,var(--color-secondary),#11c56a);color:white}.btn-danger{background:var(--color-danger);color:white}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.badge{display:inline-flex;gap:6px;align-items:center;border-radius:var(--radius-full);padding:6px 10px;background:rgba(30,77,155,.10);font-size:12px;font-weight:800;text-transform:uppercase}.badge:before{content:'';height:8px;width:8px;border-radius:99px;background:var(--color-secondary)}.input,.input-morph,select,textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:12px 14px;font-family:inherit;outline:0}.input:focus,.input-morph:focus,select:focus,textarea:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 4px rgba(46,111,219,.12)}label{font-weight:800;font-size:13px;margin-bottom:6px;display:block}.field{margin-bottom:14px}.table-modern{width:100%;border-collapse:separate;border-spacing:0 10px}.table-modern th{text-align:left;color:var(--color-text-muted);font-size:12px;text-transform:uppercase}.table-modern td{background:var(--color-surface);padding:13px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.table-modern td:first-child{border-left:1px solid var(--color-border);border-radius:14px 0 0 14px}.table-modern td:last-child{border-right:1px solid var(--color-border);border-radius:0 14px 14px 0}.admin-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--glass-bg);backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-border);padding:22px;overflow:auto}.sidebar a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;color:var(--color-text-muted);font-weight:800}.sidebar a:hover,.sidebar a.active{background:rgba(30,77,155,.10);color:var(--color-primary)}.admin-main{padding:24px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:14px}.stat-card{position:relative;overflow:hidden}.stat-card strong{font-family:var(--font-display);font-size:34px}.muted{color:var(--color-text-muted)}.alert{border-radius:18px;padding:14px 16px;margin:14px 0;font-weight:700}.alert-success{background:rgba(0,166,81,.12);color:#087d42}.alert-error{background:rgba(229,57,53,.12);color:#a0201c}.alert-warning{background:rgba(251,140,0,.14);color:#9a5200}.setup-wrap{min-height:100vh;display:grid;place-items:center;padding:34px}.setup-card{width:min(880px,94vw)}.steps{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.step{flex:1;min-width:120px;border-radius:999px;padding:8px;text-align:center;background:var(--color-surface-2);font-size:12px;font-weight:900}.step.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:white}.event-card{display:flex;flex-direction:column;gap:10px}.event-card .cover{height:160px;background:linear-gradient(135deg,#dbeafe,#dcfce7);border-radius:20px;object-fit:cover}.wheel-stage{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start;padding:28px}.wheel{width:min(520px,80vw);height:min(520px,80vw);border-radius:50%;margin:auto;display:grid;place-items:center;background:conic-gradient(#1E4D9B 0 30deg,#00A651 30deg 60deg,#F7941D 60deg 90deg,#2E6FDB 90deg 120deg,#8b5cf6 120deg 150deg,#ef4444 150deg 180deg,#14b8a6 180deg 210deg,#f59e0b 210deg 240deg,#1E4D9B 240deg 270deg,#00A651 270deg 300deg,#F7941D 300deg 330deg,#2E6FDB 330deg 360deg);box-shadow:0 25px 70px rgba(0,0,0,.22);transition:transform 6s cubic-bezier(.12,.82,.16,1)}.wheel:after{content:'PUTAR';display:grid;place-items:center;width:130px;height:130px;background:white;color:var(--color-primary);border-radius:50%;font:800 22px var(--font-display);box-shadow:0 12px 34px rgba(0,0,0,.18)}.pointer{width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:38px solid var(--color-accent);margin:0 auto -18px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{min-height:104px;border-radius:18px;padding:10px;background:#E8F5E9;border:1px solid var(--color-border)}.toast{position:fixed;right:24px;bottom:24px;background:var(--color-text);color:white;border-radius:18px;padding:14px 18px;box-shadow:0 18px 40px rgba(0,0,0,.22);z-index:99}.footer{padding:30px 0;color:var(--color-text-muted)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes float{to{transform:translate(42px,42px)}}@media(max-width:900px){.hero-content,.grid-2,.grid-3,.grid-4,.admin-shell,.wheel-stage{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.admin-main{padding:16px}.calendar-grid{grid-template-columns:repeat(2,1fr)}.nav-links{display:none}}
