:root{--brand-50:#eef4ff;--brand-100:#d9e4ff;--brand-200:#b3c7ff;--brand-300:#86a3ff;--brand-400:#5f84f2;--brand-500:#3d67e0;--brand-600:#2d54c1;--brand-700:#24439b;--brand-800:#1e3680;--brand-900:#172a66;--accent-500:#eab308;--success-500:#16a34a;--danger-500:#dc2626;--bg:#f7f8fb;--card:#fff;--line:#e6e8ef;--text:#0f172a;--muted:#475569;--radius:16px;--shadow-1:0 1px 2px rgba(15,23,42,.06),0 4px 12px rgba(15,23,42,.06);--shadow-2:0 10px 30px rgba(15,23,42,.12);--container:1120px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--container-pad-sm:16px;--container-pad-md:24px;--container-pad-lg:32px;--header-height:56px}*{box-sizing:border-box}html{height:auto}body{margin:0;min-height:100dvh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji}body.modal-open{overflow:hidden}img{max-width:100%;display:block}a{color:var(--brand-700);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--container);margin:0 auto;padding-left:var(--container-pad-sm);padding-right:var(--container-pad-sm)}@media (min-width:640px){.container{padding-left:var(--container-pad-md);padding-right:var(--container-pad-md)}}@media (min-width:1024px){.container{padding-left:var(--container-pad-lg);padding-right:var(--container-pad-lg)}}main.container{padding:var(--space-6) var(--container-pad-sm) var(--space-10)}@media (min-width:640px){main.container{padding-left:var(--container-pad-md);padding-right:var(--container-pad-md)}}@media (min-width:1024px){main.container{padding-left:var(--container-pad-lg);padding-right:var(--container-pad-lg)}}header{z-index:50;background:linear-gradient(90deg,var(--brand-700),var(--brand-600));color:#fff;box-shadow:var(--shadow-1)}header .container{justify-content:space-between;height:var(--header-height);padding-top:0;padding-bottom:0}.logo,header .container{display:flex;align-items:center}.logo{gap:.5rem;color:#fff;font-weight:800;letter-spacing:.2px}.logo img{width:36px;height:36px;border-radius:8px}.logo span{font-size:1.05rem}.mobile-nav-panel{position:fixed;left:0;right:0;top:var(--header-height);background:#fff;border-bottom:1px solid var(--line);z-index:999;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(-6px);transition:max-height .28s ease,opacity .18s ease,transform .18s ease}.mobile-nav-panel.open{max-height:80vh;opacity:1;pointer-events:auto;transform:translateY(0);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-nav-panel .panel-inner{display:flex;flex-direction:column;gap:.25rem;padding:.75rem var(--container-pad-sm) 1rem}.mobile-nav-panel a,.mobile-nav-panel form{display:block;padding:.75rem 0;font-size:1rem;line-height:1.3;border-bottom:1px solid var(--line)}.mobile-nav-panel a:last-child,.mobile-nav-panel form:last-child{border-bottom:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow-1)}hr{border:none;border-top:1px solid var(--line);margin:var(--space-6) 0}.events-list .card{padding:var(--space-6)}.events-list .meta{color:var(--muted);font-size:.9rem}h1,h2,h3{margin:0 0 var(--space-4);line-height:1.2}h1{font-size:2rem;font-weight:800}h2{font-size:1.5rem}h2,h3{font-weight:700}h3{font-size:1.125rem}.small{font-size:.875rem;color:var(--muted)}.success{color:var(--success-500)}.error{color:var(--danger-500)}.label{display:block;font-weight:600;margin:var(--space-3) 0 var(--space-2)}.input,select.input,textarea.input{width:100%;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:10px 12px;outline:none;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease}.input:focus,select.input:focus,textarea.input:focus{border-color:var(--brand-500);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-500) 20%,transparent)}input[type=checkbox],input[type=radio]{accent-color:var(--brand-600)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:linear-gradient(180deg,var(--brand-500),var(--brand-600));color:#fff;font-weight:700;padding:10px 14px;border-radius:12px;cursor:pointer;transition:transform .05s ease,filter .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-1)}.btn:hover{filter:brightness(1.02)}.btn:active{transform:translateY(1px)}.btn.secondary{background:#fff;color:var(--brand-700);border-color:color-mix(in srgb,var(--brand-600) 30%,transparent)}.btn.danger{background:linear-gradient(180deg,var(--danger-500),#b91c1c)}.btn[disabled]{opacity:.6;pointer-events:none}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}ul{padding-left:0}.ann-list,li.card{list-style:none}.ann-list{margin:0;padding:0}.ann-list li{padding:.75rem 0;border-bottom:1px solid var(--line)}.ann-list li:last-child{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:700;background:color-mix(in srgb,var(--brand-500) 12%,#fff);color:var(--brand-700);border:1px solid color-mix(in srgb,var(--brand-500) 25%,transparent);border-color:color-mix(in oklab,currentColor 20%,transparent)}.StripeElement,[class*=PaymentElement]{width:100%!important;max-width:100%!important}.sparkline-wrap svg{width:100%;height:auto;display:block}.responsive-table{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.actions-row{display:flex;flex-wrap:wrap;gap:.5rem}.actions-row .btn{flex:1 1 160px}@media (prefers-color-scheme:dark){:root{--bg:#0b1020;--card:#0f172a;--line:#1f2a44;--text:#f2f4f9;--muted:#94a3b8;--shadow-1:0 1px 2px rgba(0,0,0,.25),0 6px 18px rgba(0,0,0,.35);--shadow-2:0 12px 36px rgba(0,0,0,.45)}}.nav-links-desktop{display:none}@media (min-width:768px){.nav-links-desktop{display:flex;align-items:center;gap:1rem}.nav-links-desktop a{color:#fff;opacity:.95}.nav-links-desktop a:hover{opacity:1;text-decoration:none}}.mobile-nav-btn{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;border:1px solid color-mix(in srgb,#fff 35%,transparent);padding:0 10px;color:#fff;background:transparent;z-index:70}.mobile-nav-btn span{display:block;height:2px;width:20px;background:currentColor;border-radius:2px}@media (min-width:768px){.mobile-nav-btn{display:none}}.mobile-modal{position:fixed;inset:0;z-index:200;display:none}.mobile-modal.show{display:block}.mobile-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);border:0;padding:0;margin:0;width:100%;height:100%}.mobile-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:var(--text);width:92vw;max-width:420px;max-height:min(80vh,560px);border-radius:16px;box-shadow:var(--shadow-2);padding:16px;overflow:hidden}.mobile-modal-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:calc(min(80vh, 560px) - 32px);padding-right:4px}.mobile-modal-list a,.mobile-modal-list form{display:block}.mobile-modal-list a{display:block;padding:12px;border-radius:12px;text-align:center;background:#f8fafc;border:1px solid var(--line);color:var(--text)}.mobile-modal-list a:hover{background:#f1f5f9;text-decoration:none}.mobile-modal-list .btn.secondary{display:block;width:100%;padding:12px}header{position:-webkit-sticky;position:sticky;top:0;z-index:100}@media (prefers-color-scheme:dark){.mobile-nav-panel{background:var(--brand-800)!important;border-bottom-color:#22346e!important}.mobile-nav-panel .panel-inner{background:transparent!important}.mobile-nav-panel a{color:#e8eeff!important}.mobile-nav-panel .btn.secondary{background:#1b2b63!important;color:#e8eeff!important;border-color:#2b3d7a!important}.mobile-modal-card{background:var(--brand-800)!important;color:#e8eeff!important}.mobile-modal-list a{background:#1e2b5c!important;border-color:#2b3d7a!important;color:#e8eeff!important}.input,select.input,textarea.input{background:#fff!important;color:#0f172a!important}}@media (prefers-color-scheme:dark){.input::placeholder,textarea.input::placeholder{color:#475569!important}}