*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#000;--bg-card:#121212;--bg-hover:#1e1e1e;--border:#ffffff14;--border-light:#ffffff0a;--accent:#f97316;--accent-dark:#ea580c;--accent-glow:#f973161a;--blue:#3b82f6;--green:#10b981;--red:#ef4444;--yellow:#f59e0b;--text:#f3f4f6;--text-muted:#9ca3af;--text-dim:#6b7280;--radius-sm:6px;--radius:8px;--radius-lg:12px}body{background-color:var(--bg-primary);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;width:240px;display:flex}.brand{align-items:center;gap:12px;height:72px;padding:0 24px;display:flex}.logo{background:var(--accent);color:#000;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:800;display:flex}.brand span{color:var(--accent);font-size:18px;font-weight:700}.nav{flex-direction:column;flex:1;gap:8px;padding:24px 16px;display:flex}.nav-item{color:var(--text-muted);border-radius:var(--radius);border:1px solid #0000;align-items:center;gap:12px;margin-left:4px;padding:12px 16px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-item:hover{color:var(--text);background:var(--bg-hover)}.nav-item.active{color:var(--accent);background:var(--accent-glow);border-color:#f9731633}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;width:4px;height:60%;position:absolute;top:50%;left:-20px;transform:translateY(-50%)}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.page{flex:1;padding:32px;overflow-y:auto}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-header h1{color:var(--text);letter-spacing:-.5px;margin-bottom:4px;font-size:24px;font-weight:700}.page-sub{color:var(--text-muted);font-size:14px}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-bottom:32px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:transform .2s,box-shadow .2s}.card:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 24px #0006}.card-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;display:flex}.card-icon.blue{color:var(--blue);background:#3b82f61a}.card-icon.green{color:var(--green);background:#10b9811a}.card-icon.orange{color:var(--accent);background:#f973161a}.card-icon.yellow{color:var(--yellow);background:#f59e0b1a}.card h3{color:var(--text);margin-bottom:4px;font-size:24px;font-weight:700}.card p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.login-bg{color:#fff;background:#000;height:100vh;display:flex}.login-left{background:#090d16;flex:1.2;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.login-left:after{display:none}.login-left-content{z-index:1;max-width:480px;position:relative}.login-logo-large{align-items:center;gap:16px;margin-bottom:24px;display:flex}.login-logo-large .logo-icon{background:var(--accent);color:#000;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:flex;box-shadow:0 0 30px #f973164d}.login-logo-large .logo-name{letter-spacing:-1px;font-size:32px;font-weight:800}.login-sub{letter-spacing:-1.5px;margin-bottom:16px;font-size:42px;font-weight:800;line-height:1.1}.login-tagline{color:var(--accent);margin-bottom:60px;font-size:18px;font-weight:500}.login-features{grid-template-columns:1fr 1fr;gap:32px;display:grid}.feature-item{align-items:flex-start;gap:16px;display:flex}.feature-icon{color:var(--text-muted)}.feature-item span{color:var(--text);font-size:14px;font-weight:600;line-height:1.4}.login-right{border-left:1px solid var(--border);background:#0a0a0a;flex:1;justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:400px;padding:40px}.login-logo{display:none}.login-title{letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:700}.login-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:15px}.auth-input-group{margin-bottom:16px;position:relative}.auth-icon{color:var(--text-dim);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.auth-input-group input{border:1px solid var(--border);color:#fff;background:#141414;border-radius:12px;width:100%;padding:14px 16px 14px 48px;font-size:15px;transition:all .2s}.auth-input-group input:focus{border-color:var(--accent);background:#1a1a1a;outline:none;box-shadow:0 0 0 3px #f973161a}.auth-input-group input::placeholder{color:#555}.pwd-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.pwd-toggle:hover{color:#fff}.auth-options{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:24px;font-size:13px;display:flex}.auth-options label{cursor:pointer;align-items:center;gap:8px;display:flex}.auth-options input[type=checkbox]{accent-color:var(--accent);border:1px solid var(--border);cursor:pointer;background:#141414;border-radius:4px;width:16px;height:16px}.forgot-link{color:var(--accent);font-weight:500;text-decoration:none}.forgot-link:hover{text-decoration:underline}.btn-login{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-size:15px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #f9731633}.btn-login:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 6px 16px #f973164d}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.auth-divider{text-align:center;color:var(--text-dim);align-items:center;margin:24px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border);flex:1}.auth-divider span{padding:0 16px}.error-banner{border-left:3px solid var(--red);color:#fca5a5;background:#ef44441a;border-radius:0 8px 8px 0;margin-bottom:24px;padding:12px 16px;font-size:14px;font-weight:500}@media (width<=900px){.login-left{display:none}.login-right{border-left:none}.login-logo{align-items:center;gap:12px;margin-bottom:32px;display:flex}.login-logo .logo-icon{background:var(--accent);color:#000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:flex;box-shadow:0 0 20px #f973164d}.login-logo .logo-name{letter-spacing:-.5px;font-size:24px;font-weight:800}}.table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:0 4px 6px #0003}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap;padding:16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:16px;font-size:14px}.data-table tbody tr:hover td{background:#ffffff05}.status-badge,.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:100px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.completed,.badge-green{color:var(--green);border:1px solid #10b98133}.status-badge.pending,.badge-orange,.status-badge.active{color:var(--accent);border:1px solid #f9731633}.status-badge.cancelled,.badge-red,.status-badge.inactive{color:var(--red);border:1px solid #ef444433}.form-row{gap:16px;margin-bottom:16px;display:flex}.form-group{flex-direction:column;flex:1;gap:8px;display:flex}.form-group label{color:var(--text-muted);font-size:12px;font-weight:500}input,select,textarea{background:var(--bg-card);width:100%;color:var(--text);border:1px solid #0000;border-radius:100px;outline:none;padding:12px 16px;font-size:14px;transition:all .15s}input:focus,select:focus,textarea:focus{border-color:var(--border);background:var(--bg-hover)}.btn-primary{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:var(--bg-card);border-color:var(--text-dim)}.action-btns{gap:8px;display:flex}.action-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:0 0;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;display:flex}.action-btn-view{color:var(--blue);background:#3b82f60d;border-color:#3b82f61a}.action-btn-pdf{color:var(--yellow);background:#f59e0b0d;border-color:#f59e0b1a}.action-btn-print{color:var(--green);background:#10b9810d;border-color:#10b9811a}.action-btn:hover{background:var(--bg-hover)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--border) 50%, var(--bg-card) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s infinite skeleton-loading}.skeleton-text{height:16px;margin-bottom:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:500px;padding:32px;position:relative;box-shadow:0 20px 40px #000c}.modal-title{color:var(--text);margin-bottom:8px;font-size:20px;font-weight:700}.modal-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}
