:root{--color-bg:#000;--color-bg-elevated:#0f0f0f;--color-card:#151515;--color-card-alt:#1d1d1d;--color-card-hover:#232323;--color-border:#282828;--color-border-strong:#3a3a3a;--color-border-accent:#a6ff00;--color-accent:#a6ff00;--color-accent-hover:#87d700;--color-accent-dim:#79b10f;--color-accent-subtle:#a6ff001a;--color-danger:#ed4c5c;--color-warning:#fdba74;--color-text:#ffffffde;--color-text-strong:#fff;--color-text-muted:#afafaf;--color-text-subtle:#919191;--font-family:"Work Sans", system-ui, Avenir, Helvetica, Arial, sans-serif;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px}*{box-sizing:border-box}html{background-color:var(--color-bg)}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family);max-width:100vw;margin:0;overflow-x:hidden}a{color:var(--color-accent)}.page-title{color:var(--color-text-strong);margin:0;font-size:24px;font-weight:700}.dashboard-shell{background-color:var(--color-bg);min-height:100vh;display:flex}.dashboard-sidebar{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;justify-content:space-between;width:240px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar-logo{width:auto;height:28px;margin:8px 12px 32px;display:block}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-nav-item{text-align:left;width:100%;font-family:var(--font-family);color:var(--color-text-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;padding:10px 14px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s;display:block}.sidebar-nav-item:hover{color:var(--color-text-strong);background-color:var(--color-card)}.sidebar-nav-item.active{color:var(--color-text-strong);background-color:var(--color-card);border-left-color:var(--color-accent);font-weight:600}.sidebar-footer{flex-direction:column;gap:10px;display:flex}.sidebar-user-email{color:var(--color-text-subtle);text-overflow:ellipsis;white-space:nowrap;padding:0 12px;font-size:12px;overflow:hidden}.dashboard-main{flex:1;min-width:0}.dashboard-topbar{border-bottom:1px solid var(--color-border);padding:24px 32px}.dashboard-content{max-width:1100px;padding:32px}.section-title{color:var(--color-text-strong);margin:32px 0 16px;font-size:18px;font-weight:700}.card{background-color:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0;display:grid}.stat-card{background-color:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px}.stat-card-label{color:var(--color-text-subtle);margin-bottom:4px;font-size:13px}.stat-card-value{color:var(--color-text-strong);font-size:20px;font-weight:700}.btn{font-family:var(--font-family);border-radius:var(--radius-pill);cursor:pointer;border:none;padding:12px 20px;font-size:14px;font-weight:700;transition:background-color .15s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#000}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-secondary{background-color:var(--color-card-alt);color:var(--color-text-strong);border:1px solid var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background-color:var(--color-card-hover)}.btn-danger{color:var(--color-danger);border:1px solid var(--color-danger);background-color:#0000}.btn-sm{padding:6px 14px;font-size:13px}.field{margin-bottom:16px}.field label{color:var(--color-text-muted);margin-bottom:6px;font-size:13px;display:block}.input{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;color:var(--color-text-strong);font-family:var(--font-family);padding:10px 14px;font-size:14px}.input:focus{border-color:var(--color-accent);outline:none}.table-wrapper{margin-bottom:8px;overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;min-width:560px}.table th{text-align:left;color:var(--color-text-subtle);padding:10px 16px;font-size:13px;font-weight:500}.table td{color:var(--color-text);padding:12px 16px;font-size:14px}.table tbody tr:nth-child(odd){background-color:var(--color-card)}.table tbody tr:first-child td:first-child{border-top-left-radius:var(--radius-md)}.table tbody tr:first-child td:last-child{border-top-right-radius:var(--radius-md)}.table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.badge{border-radius:var(--radius-pill);padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-pending{background-color:var(--color-card-alt);color:var(--color-text-muted)}.badge-approved{background-color:var(--color-accent-subtle);color:var(--color-accent)}.badge-rejected{color:var(--color-danger);background-color:#ed4c5c26}.empty-state{text-align:center;color:var(--color-text-subtle);padding:32px 16px;font-size:14px}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-error{color:var(--color-danger)}code.mono{color:var(--color-text-muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.link-btn{font-family:var(--font-family);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.link-btn:hover:not(:disabled){color:var(--color-text-strong)}.link-btn:disabled{cursor:not-allowed;opacity:.6;text-decoration:none}.link-btn-accent{color:var(--color-accent)}.link-btn-accent:hover:not(:disabled){color:var(--color-accent-hover)}.auth-screen{background-color:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-screen:before{content:"";pointer-events:none;background:radial-gradient(circle,#a6ff0029 0%,#a6ff000d 35%,#0000 65%);width:900px;height:900px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-card{background-color:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:400px;max-width:calc(100vw - 48px);padding:40px 36px;animation:.25s ease-out auth-card-in;position:relative}@keyframes auth-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-logo{width:auto;height:32px;margin:0 auto 28px;display:block}.auth-title{color:var(--color-text-strong);text-align:center;margin:0 0 6px;font-size:22px;font-weight:700}.auth-subtitle{color:var(--color-text-muted);text-align:center;margin:0 0 28px;font-size:14px;line-height:1.5}.otp-box{text-align:center;width:44px;height:52px;font-family:var(--font-family);background-color:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-strong);font-size:22px;font-weight:700}.otp-box:focus{border-color:var(--color-accent);outline:none}.mobile-topbar-toggle{z-index:30;background-color:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;display:none;position:fixed;top:16px;left:16px}.mobile-topbar-toggle span{background-color:var(--color-text-strong);border-radius:1px;width:18px;height:2px;display:block}.sidebar-backdrop{display:none}@media (width<=900px){.dashboard-content{max-width:100%;padding:24px 20px}.dashboard-topbar{padding:20px 20px 20px 64px}.mobile-topbar-toggle{display:flex}.dashboard-sidebar{z-index:40;background-color:var(--color-bg);border-right:1px solid var(--color-border-strong);height:100vh;transition:transform .2s ease-out;position:fixed;top:0;left:0;transform:translate(-100%)}.dashboard-sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:35;background-color:#0009;display:block;position:fixed;inset:0}}@media (width<=520px){.dashboard-content{padding:20px 14px}.dashboard-topbar{padding:16px 16px 16px 60px}.page-title{font-size:19px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.card{padding:16px}.auth-card{width:100%;padding:28px 20px}.otp-box{width:38px;height:46px;font-size:18px}}@media (width<=360px){.otp-box{width:32px;height:42px;font-size:16px}}
