:root{--font-title: "Outfit", system-ui, sans-serif;--font-body: "Manrope", system-ui, sans-serif;--color-primary-green: #0a3d2a;--color-accent-emerald: #1a7a45;--color-brand-green: #15803d;--color-brand-green-deep: #0c4a24;--color-gold: #d4a017;--color-gold-soft: #f0c14b;--color-sky: #1e6b8a;--bg-app: #071810;--bg-card: rgba(14, 42, 28, .72);--bg-input: rgba(6, 22, 14, .85);--border-glass: rgba(255, 255, 255, .1);--text-primary: #f4f7f5;--text-secondary: #a8b5ad;--text-muted: #6f7d75;--shadow-main: 0 12px 40px rgba(0, 0, 0, .45);--shadow-glow: 0 0 24px rgba(26, 122, 69, .35);--color-pending: hsl(38, 92%, 50%);--color-approved: hsl(142, 76%, 36%);--color-rejected: hsl(0, 84%, 60%);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .4s cubic-bezier(.175, .885, .32, 1.275)}.light{--bg-app: #f3f6f4;--bg-card: rgba(255, 255, 255, .92);--bg-input: #ffffff;--border-glass: rgba(12, 74, 36, .12);--text-primary: #0f1f17;--text-secondary: #4a5c52;--text-muted: #7a8a82;--shadow-main: 0 12px 36px rgba(10, 40, 24, .12);--shadow-glow: 0 0 18px rgba(21, 128, 61, .18)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5;transition:background-color .5s ease,color .5s ease;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:600;letter-spacing:-.02em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulseGlow{0%{box-shadow:0 0 #15803db3}70%{box-shadow:0 0 0 12px #15803d00}to{box-shadow:0 0 #15803d00}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards}.animate-float{animation:float 4s ease-in-out infinite}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-main);transition:var(--transition-smooth)}.glass-panel:hover{border-color:#15803d40;box-shadow:0 12px 40px #0006}button,.btn{font-family:var(--font-title);font-weight:600;cursor:pointer;border:none;outline:none;transition:var(--transition-bounce);-webkit-user-select:none;user-select:none}button:active,.btn:active{transform:scale(.96)}.btn-primary{background:linear-gradient(135deg,var(--color-primary-green),var(--color-accent-emerald));color:#fff;padding:12px 24px;border-radius:var(--radius-md);box-shadow:var(--shadow-glow);border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{background:linear-gradient(135deg,var(--color-accent-emerald),hsl(142,72%,35%));box-shadow:0 0 20px #15803dcc;transform:translateY(-2px)}.btn-secondary{background:#ffffff14;color:var(--text-primary);padding:12px 24px;border-radius:var(--radius-md);border:1px solid var(--border-glass)}.btn-secondary:hover{background:#ffffff26;border-color:#fff3}.btn-gold{background:linear-gradient(135deg,var(--color-gold),hsl(45,90%,45%));color:#000;padding:12px 24px;border-radius:var(--radius-md);box-shadow:0 4px 15px #eab3084d}.btn-gold:hover{background:linear-gradient(135deg,hsl(45,90%,60%),var(--color-gold));box-shadow:0 4px 20px #eab30880;transform:translateY(-2px)}input,select,textarea{width:100%;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-glass);background-color:var(--bg-input);color:var(--text-primary);font-family:var(--font-body);font-size:14px;transition:var(--transition-smooth)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent-emerald);box-shadow:0 0 0 2px #15803d33;background-color:#142d1e99}.form-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.form-label{font-family:var(--font-title);font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.toggle-container{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px;border-radius:var(--radius-md);background:#ffffff08;border:1px dashed var(--border-glass);margin-bottom:20px}.toggle-switch{position:relative;width:50px;height:26px;background-color:#ffffff1a;border-radius:var(--radius-full);transition:var(--transition-smooth)}.toggle-switch:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background-color:#fff;top:3px;left:3px;transition:var(--transition-smooth)}input[type=checkbox]:checked+.toggle-switch{background-color:var(--color-accent-emerald)}input[type=checkbox]:checked+.toggle-switch:after{transform:translate(24px)}.searchable-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:6px;max-height:200px;overflow-y:auto;z-index:50;background:#17261d;border:1px solid var(--border-glass);border-radius:var(--radius-md);box-shadow:0 10px 25px #00000080;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dropdown-item{padding:10px 16px;cursor:pointer;transition:var(--transition-smooth);font-size:14px}.dropdown-item:hover{background-color:var(--color-accent-emerald);color:#fff}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-card{padding:20px;text-align:center}.metric-val{font-family:var(--font-title);font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:4px;line-height:1.1}.metric-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.pulse-badge{display:inline-flex;align-items:center;gap:8px;background-color:#15803d26;border:1px solid rgba(21,128,61,.3);padding:6px 12px;border-radius:var(--radius-full);font-size:13px;color:#4ade80;animation:pulseGlow 2s infinite}.pulse-dot{width:8px;height:8px;background-color:#22c55e;border-radius:50%}.sync-banner{background:linear-gradient(135deg,#493003,#271902);border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.sync-text{font-size:13px;color:#fef08a;display:flex;align-items:center;gap:8px}.table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-glass)}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{background-color:var(--color-primary-green);color:#fff;padding:14px 16px;font-family:var(--font-title);font-weight:600;font-size:13px;letter-spacing:.05em;text-transform:uppercase}.custom-table td{padding:12px 16px;border-bottom:1px solid var(--border-glass);font-size:13px;color:var(--text-primary)}.custom-table tr{transition:var(--transition-smooth)}.custom-table tr:hover{background-color:#ffffff05}.status-badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:700;text-align:center;text-transform:uppercase}.status-badge.pending{background-color:#eab30826;color:#facc15;border:1px solid rgba(234,179,8,.3)}.status-badge.approved{background-color:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.status-badge.rejected{background-color:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.status-badge.active{background-color:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.35)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-emerald)}.mobile-container{max-width:480px;margin:0 auto;min-height:100vh;padding:16px;display:flex;flex-direction:column;gap:16px}.spinner{border:3px solid rgba(255,255,255,.1);border-left-color:var(--color-accent-emerald);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite}.toast{position:fixed;bottom:24px;right:24px;padding:16px 24px;background-color:#1e293b;color:#fff;border-radius:var(--radius-md);box-shadow:0 10px 30px #00000080;border-left:4px solid var(--color-accent-emerald);z-index:100;animation:fadeIn .3s ease}.app-shell{min-height:100vh;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(26,122,69,.28),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(212,160,23,.12),transparent 45%),var(--bg-app)}.brand-header{margin:12px 16px 0;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-radius:var(--radius-lg);border:1px solid rgba(240,193,75,.28);background:linear-gradient(120deg,#083020f0,#0a2418e0 55%,#083020b3),url(/brand/hero-track.jpg) right center / cover no-repeat;box-shadow:var(--shadow-main);position:relative;overflow:hidden}.brand-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#071810b8 40%,#07181059);pointer-events:none}.brand-header>*{position:relative;z-index:1}.brand-logo-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(180deg,#fff,#f0f5f2);border-radius:16px;padding:10px 16px;border:1px solid rgba(240,193,75,.55);box-shadow:0 8px 22px #00000052,inset 0 1px #ffffffd9}.brand-header-logo{height:72px;width:auto;max-width:240px;object-fit:contain;display:block;background:transparent}.brand-header-mark{height:56px;width:56px;object-fit:contain;display:block}.brand-header-title{font-family:var(--font-title);font-size:1.4rem;font-weight:800;letter-spacing:-.03em;color:#fff;margin:0;line-height:1.15;text-shadow:0 2px 10px rgba(0,0,0,.35)}.brand-header-sub{font-size:.78rem;color:var(--color-gold-soft);margin:2px 0 0;font-weight:700;letter-spacing:.03em}.login-panel-logo-wrap{align-self:center;background:linear-gradient(180deg,#fff,#eef5f0);border-radius:20px;padding:18px 28px;border:1px solid rgba(212,160,23,.45);box-shadow:0 12px 32px #00000061,inset 0 1px #ffffffe6}.login-panel-logo{height:120px;width:auto;max-width:min(320px,78vw);object-fit:contain;display:block;background:transparent}.panel-brand-strip{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:16px;border-radius:var(--radius-md);border:1px solid rgba(240,193,75,.25);background:linear-gradient(90deg,#08281ceb,#0a2418c7,#0a24188c),url(/brand/hero-court.jpg) right center / cover no-repeat;position:relative;overflow:hidden;min-height:84px}.panel-brand-strip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0718108c 30%,#07181040)}.panel-brand-strip>*{position:relative;z-index:1}.panel-brand-strip .brand-logo-wrap{padding:6px 10px}.panel-brand-strip img.brand-header-logo{height:52px;max-width:180px}.login-hero{position:relative;min-height:min(72vh,640px);margin:16px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(240,193,75,.25);box-shadow:var(--shadow-main);display:grid;grid-template-columns:1.1fr .9fr}@media(max-width:860px){.login-hero{grid-template-columns:1fr;min-height:auto}}.login-hero-visual{position:relative;min-height:280px;background-image:linear-gradient(160deg,#07181059,#071810d1),url(/brand/hero-stadium.jpg);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px}.login-hero-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 60%,rgba(7,24,16,.55)),linear-gradient(0deg,rgba(7,24,16,.75),transparent 50%);pointer-events:none}.login-hero-copy{position:relative;z-index:1;max-width:420px}.login-hero-kicker{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a3d2a;background:linear-gradient(90deg,var(--color-gold-soft),#ffe9a3);padding:6px 12px;border-radius:999px;margin-bottom:14px}.login-hero-title{font-family:var(--font-title);font-size:clamp(1.6rem,3vw,2.15rem);font-weight:800;color:#fff;line-height:1.15;margin:0 0 10px;text-shadow:0 2px 16px rgba(0,0,0,.45)}.login-hero-text{color:#d5e0d9;font-size:.95rem;margin:0;line-height:1.5}.login-hero-thumbs{position:relative;z-index:1;display:flex;gap:8px;margin-top:18px}.login-hero-thumbs img{width:72px;height:48px;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.25);opacity:.92}.login-panel{background:linear-gradient(180deg,#0a2418f5,#071810fa);padding:28px 24px 24px;display:flex;flex-direction:column;justify-content:center;gap:18px}.metric-hint{font-size:.68rem;color:var(--text-muted);margin-top:4px;line-height:1.3}
