:root{--bg: #0a0a0a;--bg2: #111111;--bg3: #1a1a1a;--border: #2a2a2a;--accent: #e63946;--accent-dark: #c1121f;--accent2: #ffd60a;--text: #f0f0f0;--text-muted: #888888;--radius: 8px;--font-display: "Bebas Neue", sans-serif;--font-body: "Inter", sans-serif}[data-theme=light]{--bg: #f5f5f5;--bg2: #ffffff;--bg3: #ebebeb;--border: #d4d4d4;--accent: #e63946;--accent-dark: #c1121f;--accent2: #b45309;--text: #111111;--text-muted: #666666}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;min-height:100vh;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.container{max-width:1200px;margin:0 auto;padding:0 24px}.page{padding:32px 0;min-height:calc(100vh - 64px)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}.nav{background:var(--bg2);border-bottom:1px solid var(--border);min-height:64px;padding:10px 0;display:flex;align-items:center;position:sticky;top:0;z-index:100;transition:background .3s,border-color .3s}.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;flex-wrap:wrap;gap:8px}.nav-logo{font-family:var(--font-display);font-size:28px;letter-spacing:2px;color:var(--accent2);white-space:nowrap;flex-shrink:0}.nav-logo span{color:var(--accent)}.nav-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav-link{padding:6px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--text-muted);transition:all .15s;cursor:pointer;border:none;background:none;font-family:var(--font-body)}.nav-link:hover{color:var(--text);background:var(--bg3)}.nav-link.active{color:var(--text)}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-top:40px;padding-bottom:40px}.footer-brand{max-width:320px}.footer-description{color:var(--text-muted);font-size:14px;line-height:1.7}.footer-column a{color:var(--text-muted);font-size:14px;transition:color .15s ease}.footer-bottom{border-top:1px solid var(--border);padding:16px 0;color:var(--text-muted);font-size:13px}.site-footer{background:var(--bg2);border-top:1px solid var(--border);margin-top:48px}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding:40px 0}.footer-brand{max-width:360px}.footer-logo{display:inline-block;font-family:var(--font-display);font-size:28px;letter-spacing:2px;color:var(--accent2);margin-bottom:12px}.footer-logo span{color:var(--accent)}.footer-description{color:var(--text-muted);font-size:14px;line-height:1.7;margin-bottom:14px}.footer-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:13px;margin-bottom:12px}.footer-status{font-size:13px;color:var(--text)}.footer-role{color:var(--text-muted);margin-left:4px}.footer-column h3{font-size:15px;margin-bottom:12px;color:var(--text)}.footer-column ul{list-style:none;display:flex;flex-direction:column;gap:10px}.footer-column a,.footer-text{color:var(--text-muted);font-size:14px;transition:color .15s ease}.footer-column a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--border);padding:16px 0}.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:var(--text-muted);font-size:13px}.footer-bottom-inner a{color:var(--text-muted)}.footer-bottom-inner a:hover{color:var(--text)}@media (max-width: 900px){.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.footer-inner{grid-template-columns:1fr;gap:24px}}.footer-pro{background:var(--bg2);border-top:1px solid var(--border);margin-top:80px}.footer-pro-inner{display:flex;justify-content:space-between;gap:60px;padding:60px 0}.footer-pro-brand{max-width:320px}.footer-pro-logo{font-family:var(--font-display);font-size:26px;letter-spacing:1px;color:var(--text);margin-bottom:14px;display:inline-block}.footer-pro-logo span{color:var(--accent)}.footer-pro-brand p{font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:18px}.footer-pro-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.status-dot{width:8px;height:8px;background:#22c55e;border-radius:50%}.footer-pro-grid{display:grid;grid-template-columns:repeat(4,140px);gap:40px}.footer-pro-grid h4{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text)}.footer-pro-grid ul{list-style:none;display:flex;flex-direction:column;gap:10px}.footer-pro-grid a{font-size:13px;color:var(--text-muted);transition:color .15s ease}.footer-pro-grid a:hover{color:var(--text)}.footer-pro-bottom{border-top:1px solid var(--border);padding:18px 0}.footer-pro-bottom-inner{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-muted)}.footer-pro-bottom-links{display:flex;gap:16px}.footer-pro-bottom-links a{color:var(--text-muted)}.footer-pro-bottom-links a:hover{color:var(--text)}.footer-user-mini{color:var(--text-muted)}@media (max-width: 900px){.footer-pro-inner{flex-direction:column;gap:40px}.footer-pro-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.footer-pro-grid{grid-template-columns:1fr}}.theme-toggle{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:5px 12px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px;color:var(--text-muted);font-family:var(--font-body);font-size:13px}.theme-toggle:hover{border-color:#555;color:var(--text)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-weight:600;font-size:14px;cursor:pointer;border:none;transition:all .15s;font-family:var(--font-body)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:#555}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);background:var(--bg3)}.btn-gold{background:var(--accent2);color:#000}.btn-gold:hover{filter:brightness(.9)}.btn-danger{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-danger:hover{background:var(--accent);color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.bracket-scroll{overflow-x:auto;padding-bottom:16px}.bracket-scroll::-webkit-scrollbar{height:6px}.bracket-scroll::-webkit-scrollbar-track{background:var(--bg2)}.bracket-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.5}}.live-indicator{animation:livePulse 2s infinite}.card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:24px;transition:background .3s,border-color .3s}.card-hover:hover{border-color:#444;transform:translateY(-2px);transition:all .2s;cursor:pointer}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-label{font-size:13px;font-weight:500;color:var(--text-muted)}.form-input,.form-select,.form-textarea{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text);font-size:14px;font-family:var(--font-body);transition:border-color .15s,background .3s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent)}.form-textarea{resize:vertical;min-height:80px}.form-select option{background:var(--bg3)}.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.badge-draft{background:#2a2a2a;color:#888}.badge-open{background:#0d3b1e;color:#4ade80}.badge-progress{background:#3b1f0d;color:#fb923c}.badge-completed{background:#1a1a3b;color:#818cf8}.badge-cancelled{background:#3b0d0d;color:#f87171}.badge-pending{background:#2a2a00;color:var(--accent2)}.badge-approved{background:#0d3b1e;color:#4ade80}.badge-rejected{background:#3b0d0d;color:#f87171}.badge-admin{background:#3b1040;color:#e879f9}.badge-organizer{background:#0d2040;color:#60a5fa}[data-theme=light] .badge-draft{background:#e5e7eb;color:#6b7280}[data-theme=light] .badge-open{background:#dcfce7;color:#15803d}[data-theme=light] .badge-progress{background:#ffedd5;color:#c2410c}[data-theme=light] .badge-completed{background:#ede9fe;color:#6d28d9}[data-theme=light] .badge-cancelled{background:#fee2e2;color:#b91c1c}[data-theme=light] .badge-pending{background:#fef9c3;color:#854d0e}[data-theme=light] .badge-approved{background:#dcfce7;color:#15803d}[data-theme=light] .badge-rejected{background:#fee2e2;color:#b91c1c}[data-theme=light] .badge-admin{background:#f3e8ff;color:#7e22ce}[data-theme=light] .badge-organizer{background:#dbeafe;color:#1d4ed8}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.table td{padding:12px;border-bottom:1px solid var(--border);font-size:14px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg3)}.stat{text-align:center}.stat-value{font-family:var(--font-display);font-size:36px;color:var(--accent2);line-height:1}.stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}.page-header{margin-bottom:32px}.page-title{font-family:var(--font-display);font-size:42px;letter-spacing:2px}.page-subtitle{color:var(--text-muted);margin-top:6px}.divider{border:none;border-top:1px solid var(--border);margin:24px 0}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-error{background:#3b0d0d;border:1px solid #7f1d1d;color:#fca5a5}.alert-success{background:#0d3b1e;border:1px solid #14532d;color:#86efac}[data-theme=light] .alert-error{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}[data-theme=light] .alert-success{background:#dcfce7;border-color:#86efac;color:#15803d}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted)}.empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.tab{padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;background:none;border-top:none;border-left:none;border-right:none;font-family:var(--font-body)}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:32px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-title{font-family:var(--font-display);font-size:28px;letter-spacing:1px}@media (max-width: 768px){.form-row,.grid-2,.grid-3{grid-template-columns:1fr}.page-title{font-size:28px}.container{padding:0 16px}.nav{padding:8px 0}.nav-inner{flex-wrap:wrap;gap:8px}.nav-logo{font-size:22px}.nav-links{flex-wrap:wrap;gap:6px;justify-content:flex-end}.nav-link{padding:4px 10px;font-size:13px}.table{display:block;overflow-x:auto;white-space:nowrap}.card{padding:14px}.tabs{overflow-x:auto;flex-wrap:nowrap;gap:2px;padding-bottom:4px}.tab{white-space:nowrap;font-size:12px;padding:6px 10px}.btn{min-height:40px}.btn-sm{min-height:34px;font-size:12px}.theme-toggle{font-size:11px;padding:4px 10px}}@media (max-width: 480px){.page-title{font-size:24px}.nav-links{width:100%;justify-content:center}.nav-logo{font-size:20px}.page-header{flex-direction:column;align-items:flex-start}}
