:root{--bg:#f6f7fb;--card:#fff;--text:#1f2430;--muted:#6b7280;--line:#e5e7eb;--primary:#4f46e5;--primary-dark:#4338ca;--green:#16a34a;--red:#dc2626;--amber:#d97706;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--primary);text-decoration:none}h1{margin:0 0 8px;font-size:28px}.container{max-width:1100px;margin:0 auto;padding:0 16px}main.container{padding-top:28px;padding-bottom:48px}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:12px;height:60px;display:flex}.brand{color:var(--text);font-size:18px;font-weight:700}nav{flex-wrap:wrap;align-items:center;gap:16px;display:flex}nav a{color:var(--text)}nav a.router-link-exact-active:not(.btn){color:var(--primary);font-weight:600}.who{color:var(--muted);font-size:14px}.btn{font:inherit;background:var(--primary);cursor:pointer;border:0;border-radius:8px;padding:10px 18px;font-weight:600;display:inline-block;color:#fff!important}.btn:hover{background:var(--primary-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.sm{padding:6px 12px;font-size:14px}.btn.ghost{border:1px solid var(--line);background:0 0;color:var(--text)!important}.btn.danger{background:var(--red)}.btn.block{width:100%}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.event-card{color:var(--text);flex-direction:column;padding:0;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.event-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.event-card .cover{aspect-ratio:16/9;background-position:50%;background-size:cover;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.event-card .cover:after{content:"";background:linear-gradient(#0000 55%,#00000040);position:absolute;inset:0}.event-card:hover .cover{filter:saturate(1.1)}.cover-initials{color:#ffffffe6;letter-spacing:2px;text-shadow:0 4px 16px #0003;font-size:56px;font-weight:800}.cover-initials.big{font-size:96px}.date-badge{z-index:1;text-align:center;background:#fff;border-radius:10px;width:54px;padding:6px 0;line-height:1.1;position:absolute;top:12px;left:12px;box-shadow:0 4px 12px #00000026}.date-badge strong{color:var(--text);font-size:20px;display:block}.date-badge span{color:var(--primary);font-size:11px;font-weight:700}.cover-tag{z-index:1;position:absolute;top:12px;right:12px}.event-card .body{flex-direction:column;flex:1;gap:6px;padding:16px;display:flex}.event-card h3{margin:0;font-size:18px}.meta{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.pending{color:var(--amber);background:#fef3c7}.badge.approved{color:var(--green);background:#dcfce7}.badge.rejected{color:var(--red);background:#fee2e2}.badge.full{color:#374151;background:#e5e7eb}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:20px;display:flex}.search{gap:8px;display:flex}input,textarea{width:100%;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px}textarea{resize:vertical;min-height:90px}label{margin:14px 0 6px;font-size:14px;font-weight:600;display:block}.alert{border-radius:8px;margin:12px 0;padding:12px 16px}.alert.error{color:#991b1b;background:#fee2e2}.alert.success{color:#166534;background:#dcfce7}.alert.info{color:#3730a3;background:#e0e7ff}.auth-box{max-width:420px;margin:20px auto}.detail{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}.detail .hero{aspect-ratio:2;background-position:50%;background-size:cover;border-radius:16px;justify-content:center;align-items:center;margin-bottom:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001f}.detail .hero:after{content:"";background:linear-gradient(#0000 45%,#000000a6);position:absolute;inset:0}.hero-caption{z-index:1;color:#fff;position:absolute;bottom:20px;left:24px;right:24px}.hero-caption h1{color:#fff;text-shadow:0 2px 8px #0000004d;margin:0 0 4px}.hero-caption span{opacity:.9}.description{white-space:pre-line;line-height:1.6}.list{flex-direction:column;gap:12px;display:flex}.list-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pager{justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}.live-pill{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.live-pill .dot{background:#9ca3af;border-radius:50%;width:8px;height:8px}.live-pill.on{color:var(--green)}.live-pill.on .dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e40}.toasts{z-index:100;flex-direction:column;gap:10px;max-width:360px;display:flex;position:fixed;bottom:20px;right:20px}.toast{color:#fff;background:#111827;border-radius:12px;padding:14px 18px;font-size:15px;box-shadow:0 10px 25px #0003}.toast.success{background:var(--green)}.toast.error{background:var(--red)}.toast-enter-active,.toast-leave-active{transition:all .35s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(12px)}@media (width<=800px){.live-pill{display:none}.detail{grid-template-columns:1fr}.who{display:none}}
