:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a25;--bg-hover:#242432;--text-primary:#fff;--text-secondary:#a0a0b0;--text-muted:#6b6b80;--accent:#6366f1;--accent-hover:#818cf8;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--border:#2a2a3a;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary)}.layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column}.sidebar-logo{font-size:20px;font-weight:700;color:var(--accent);margin-bottom:32px;padding:0 12px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;transition:all .2s;margin-bottom:4px}.nav-item.active,.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent);color:#fff}.main-content{flex:1 1;padding:32px;overflow-y:auto}.card{background:var(--bg-card);border-radius:var(--radius);padding:24px;border:1px solid var(--border)}.card-title{font-size:18px;font-weight:600;margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-bottom:32px}.stat-card{background:linear-gradient(135deg,var(--bg-card) 0,var(--bg-secondary) 100%);border-radius:var(--radius);padding:24px;border:1px solid var(--border)}.stat-value{font-size:32px;font-weight:700;color:var(--accent)}.stat-label{font-size:14px;color:var(--text-secondary);margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-danger{background:var(--error);color:#fff}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.form-input:focus{outline:none;border-color:var(--accent)}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:16px;text-align:left;border-bottom:1px solid var(--border)}.table th{font-size:12px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.table tr:hover td{background:var(--bg-hover)}.badge{display:inline-flex;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.badge-success{background:rgba(34,197,94,.15);color:var(--success)}.badge-warning{background:rgba(245,158,11,.15);color:var(--warning)}.badge-error{background:rgba(239,68,68,.15);color:var(--error)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-card);border-radius:var(--radius);padding:32px;width:90%;max-width:500px;border:1px solid var(--border)}.modal-title{font-size:20px;font-weight:600;margin-bottom:24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0,#1a1a2e 100%)}.login-card{width:100%;max-width:400px;padding:40px}.login-title{font-size:28px;font-weight:700;text-align:center;margin-bottom:8px}.login-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.page-title{font-size:28px;font-weight:700}.empty-state{text-align:center;padding:48px;color:var(--text-secondary)}.loading{display:flex;justify-content:center;padding:48px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}