@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";
.landing-navlink:hover{color:var(--text-primary)!important}@media (max-width:640px){.landing-nav-bar{gap:10px!important;padding:0 16px!important}.landing-nav-links-only{display:none!important}.landing-wordmark{text-overflow:ellipsis;max-width:200px;overflow:hidden;font-size:.92rem!important}.landing-logo-img{width:30px!important;height:30px!important}.landing-login-btn{padding:8px 12px!important;font-size:.72rem!important}.landing-hero-grid{grid-template-columns:1fr!important}.landing-footer-grid{grid-template-columns:1fr 1fr!important;gap:24px!important}}@media (max-width:420px){.landing-footer-grid{grid-template-columns:1fr!important}}:root{--bg-color:#0b0f19;--bg-gradient-1:#8b5cf61a;--bg-gradient-2:#3b82f61a;--panel-bg:#111827b3;--panel-bg-solid:#111827;--panel-border:#ffffff14;--panel-border-glow:#3b82f626;--panel-hover-border:#3b82f633;--panel-hover-shadow:0 10px 30px #0000004d;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent-primary:#3b82f6;--accent-secondary:#8b5cf6;--accent-gradient:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--accent-glow:0 0 20px #3b82f666;--success:#10b981;--success-glow:0 0 15px #10b9814d;--danger:#ef4444;--danger-glow:0 0 15px #ef44444d;--warning:#f59e0b;--warning-glow:0 0 15px #f59e0b4d;--input-bg:#ffffff0a;--input-focus-bg:#ffffff14;--select-bg:#111827f2;--table-hover:#ffffff05;--scrollbar-track:#0b0f19;--scrollbar-thumb:#ffffff1a;--scrollbar-thumb-hover:#ffffff40;--modal-overlay:#05070cd9;--qr-bg:#fff;--qr-fg:#0b0f19;--alert-danger-bg:#ef44441f;--alert-danger-border:#ef444440;--alert-danger-text:#fda4af;--alert-success-bg:#10b9811f;--alert-success-border:#10b98140;--alert-success-text:#a7f3d0;--alert-warning-bg:#f59e0b1f;--alert-warning-border:#f59e0b47;--alert-warning-text:#fcd34d;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-color:#f0f2f5;--bg-gradient-1:#8b5cf60d;--bg-gradient-2:#3b82f60d;--panel-bg:#ffffffd9;--panel-bg-solid:#fff;--panel-border:#00000014;--panel-border-glow:#3b82f61a;--panel-hover-border:#3b82f640;--panel-hover-shadow:0 10px 30px #00000014;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--accent-primary:#2563eb;--accent-secondary:#7c3aed;--accent-gradient:linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--accent-glow:0 0 20px #2563eb40;--success:#059669;--success-glow:0 0 15px #05966933;--danger:#dc2626;--danger-glow:0 0 15px #dc262633;--warning:#d97706;--warning-glow:0 0 15px #d9770633;--input-bg:#00000008;--input-focus-bg:#0000000d;--select-bg:#fffffff2;--table-hover:#00000005;--scrollbar-track:#f0f2f5;--scrollbar-thumb:#0000001f;--scrollbar-thumb-hover:#00000040;--modal-overlay:#00000080;--qr-bg:#fff;--qr-fg:#111827;--alert-danger-bg:#ef444414;--alert-danger-border:#ef444433;--alert-danger-text:#b91c1c;--alert-success-bg:#10b98114;--alert-success-border:#10b98133;--alert-success-text:#047857;--alert-warning-bg:#f59e0b1a;--alert-warning-border:#f59e0b47;--alert-warning-text:#92400e}[data-theme=light] .btn-secondary{color:var(--text-primary);background:#0000000a;border-color:#0000001a}[data-theme=light] .btn-secondary:hover{background:#00000014;border-color:#0003}[data-theme=light] .badge-pending{color:#92400e;background:#f59e0b1a;border-color:#f59e0b40}[data-theme=light] .badge-approved{color:#065f46;background:#10b9811a;border-color:#10b98140}[data-theme=light] .badge-paid{color:#1e40af;background:#3b82f61a;border-color:#3b82f640}[data-theme=light] .badge-rejected{color:#991b1b;background:#ef44441a;border-color:#ef444440}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(at 10% 20%, var(--bg-gradient-1) 0px, transparent 50%), radial-gradient(at 90% 80%, var(--bg-gradient-2) 0px, transparent 50%);background-attachment:fixed;min-height:100vh;font-family:Plus Jakarta Sans,Outfit,system-ui,-apple-system,sans-serif;transition:background-color .4s,color .3s;position:relative;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,sans-serif;font-weight:700}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--panel-border);border-radius:var(--radius-md);transition:var(--transition-smooth);padding:16px}.glass-panel:hover{border-color:var(--panel-hover-border);box-shadow:var(--panel-hover-shadow)}.form-group{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.form-input{background:var(--input-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition-smooth);width:100%;padding:8px 12px;font-family:inherit;font-size:.85rem}.form-input:focus{border-color:var(--accent-primary);background:var(--input-focus-bg);outline:none;box-shadow:0 0 0 3px #3b82f640}.form-input::placeholder{color:var(--text-muted)}.form-select{background-color:var(--select-bg);cursor:pointer}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #3b82f64d}.btn-primary:hover{box-shadow:var(--accent-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{border:1px solid var(--panel-border);color:var(--text-primary);background:#ffffff0f}.btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff1f}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 15px #10b98133}.btn-success:hover{box-shadow:var(--success-glow);transform:translateY(-2px)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 15px #ef444433}.btn-danger:hover{box-shadow:var(--danger-glow);transform:translateY(-2px)}.btn-disabled{color:var(--text-muted)!important;cursor:not-allowed!important;box-shadow:none!important;background:#ffffff08!important;transform:none!important}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:50px;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-pending{color:var(--warning);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-approved{color:var(--success);background:#10b98126;border:1px solid #10b9814d}.badge-paid{color:var(--accent-primary);background:#3b82f626;border:1px solid #3b82f64d}.badge-rejected{color:var(--danger);background:#ef444426;border:1px solid #ef44444d}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-pending{background-color:var(--warning);box-shadow:var(--warning-glow)}.dot-approved{background-color:var(--success);box-shadow:var(--success-glow)}.dot-rejected{background-color:var(--danger);box-shadow:var(--danger-glow)}.table-container{width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--panel-border);padding:10px 12px;font-size:.75rem;font-weight:700}.custom-table td{border-bottom:1px solid var(--panel-border);color:var(--text-primary);vertical-align:middle;padding:10px 12px;font-size:.82rem}.custom-table tr:hover td{background:var(--table-hover)}.modal-overlay{background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-md);width:90%;max-width:500px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 20px 50px #00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shake-animation{animation:.5s ease-in-out shake}.pulse-animation{animation:1.5s ease-in-out infinite pulse}.spin-animation{animation:1s linear infinite spin}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-track{white-space:nowrap;will-change:transform;animation-name:ticker-scroll;animation-timing-function:linear;animation-iteration-count:infinite;display:inline-flex}.ticker-viewport{background:linear-gradient(90deg,#6366f124 0%,#6366f112 45%,#6366f124 100%)}.ticker-window{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 26px calc(100% - 26px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 26px calc(100% - 26px),#0000 100%)}.ticker-viewport:hover .ticker-track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.ticker-track{white-space:normal;animation:none;transform:none}.ticker-window{-webkit-mask-image:none;mask-image:none}}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.metric-card.glass-panel{padding:12px 13px}.metric-card{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.metric-action{flex-shrink:0}.metric-icon-box{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--accent-primary);background:#3b82f61a;border:1px solid #3b82f633;flex-shrink:0;justify-content:center;align-items:center;display:flex}.metric-info{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.metric-value{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:Outfit,sans-serif;font-size:1.12rem;font-weight:800;line-height:1.25;overflow:hidden}.metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:600}.alert-box{border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:20px;padding:16px;font-size:.9rem;font-weight:500;display:flex}.alert-danger{background:var(--alert-danger-bg);border:1px solid var(--alert-danger-border);color:var(--alert-danger-text)}.alert-success{background:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--alert-success-text)}.alert-warning{background:var(--alert-warning-bg);border:1px solid var(--alert-warning-border);color:var(--alert-warning-text)}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:radial-gradient(circle,#3b82f626 0%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:4s ease-in-out infinite pulse;position:absolute;top:-100px;left:-100px}.login-container:after{content:"";background:radial-gradient(circle,#8b5cf626 0%,#0000 70%);border-radius:50%;width:400px;height:400px;animation:5s ease-in-out 1s infinite pulse;position:absolute;bottom:-100px;right:-100px}.login-card{z-index:10;width:100%;max-width:440px;animation:.5s cubic-bezier(.16,1,.3,1) slideUp}.login-card .form-input{padding:14px 16px;font-size:1rem}@media (max-height:700px){.login-container{gap:12px;flex-direction:column!important;justify-content:flex-start!important;padding:16px!important;overflow-y:auto!important}.login-back-link{position:static!important}.login-card{padding:28px 24px!important}}.password-wrapper{position:relative}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text-primary)}.theme-toggle{background:var(--input-bg);border:1px solid var(--panel-border);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);border-radius:10px;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--input-focus-bg);color:var(--accent-primary);border-color:var(--accent-primary)}.mobile-nav-toggle,.app-shell-backdrop{display:none}@media (max-width:768px){.mobile-nav-toggle{display:inline-flex}.sidebar-collapse-btn{display:none!important}.app-shell-sidebar{transform:translate(-100%);z-index:200!important;border-radius:0!important;width:82vw!important;min-width:240px!important;max-width:300px!important;height:100vh!important;max-height:100vh!important;transition:transform .25s cubic-bezier(.4,0,.2,1)!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important}.app-shell-sidebar.mobile-open{transform:translate(0)}.app-shell-backdrop.visible{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:199;background:#05070c99;display:block;position:fixed;inset:0}.app-shell-header{flex-wrap:nowrap!important;gap:10px!important;margin:12px!important;padding:12px 14px!important}.app-header-tagline{display:none!important}.app-header-actions{flex-shrink:0;gap:8px!important}.app-header-username{max-width:92px;font-size:.78rem!important}.app-header-logout-label{display:none}#logout-btn{padding:8px!important}}@media (max-width:400px){.app-header-username{max-width:64px}.app-shell-header h1{font-size:1rem!important}.app-main-layout{margin:0 12px 12px!important}}.dev-mode-bar{background:var(--panel-bg-solid);border-top:1px solid var(--panel-border);z-index:999;color:var(--text-muted);align-items:center;gap:12px;padding:8px 20px;font-size:.8rem;display:flex;position:fixed;bottom:0;left:0;right:0}.user-detail-root [style*="display: flex"],.user-detail-root [style*=display\:flex],.user-detail-root [style*="display: flex"]>*,.user-detail-root [style*=display\:flex]>*{min-width:0}.user-detail-idline{overflow-wrap:anywhere}@media (max-width:900px){.user-detail-grid{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:640px){.user-detail-headmain{flex-basis:100%!important;min-width:0!important}.user-detail-head{gap:12px!important}.user-detail-idline{line-height:1.5;font-size:.7rem!important}.user-detail-root .table-container{-webkit-overflow-scrolling:touch}}.alert-toast{z-index:1200;align-items:flex-start;width:min(420px,100vw - 40px);margin-bottom:0;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;position:fixed;top:88px;right:20px;box-shadow:0 12px 32px #00000059}.alert-toast.alert-success{background:linear-gradient(var(--alert-success-bg), var(--alert-success-bg)), var(--panel-bg-solid)}.alert-toast.alert-danger{background:linear-gradient(var(--alert-danger-bg), var(--alert-danger-bg)), var(--panel-bg-solid)}.alert-toast.alert-warning{background:linear-gradient(var(--alert-warning-bg), var(--alert-warning-bg)), var(--panel-bg-solid)}.alert-toast .alert-toast-text{word-break:break-word;flex:1;min-width:0}.alert-toast .alert-toast-close{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;line-height:1}.alert-toast .alert-toast-close:hover{opacity:1}@media (max-width:720px){.alert-toast{width:auto;top:12px;left:12px;right:12px}}@media (max-width:640px){.brand-footer-sep{display:none}}@media (max-width:720px){.glass-panel{overflow-wrap:break-word}}
