*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f1f5f9;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--text:#1e293b;--text-muted:#64748b;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#eef2ff;--success:#22c55e;--success-light:#f0fdf4;--warning:#f59e0b;--warning-light:#fffbeb;--danger:#ef4444;--danger-light:#fef2f2;--info:#3b82f6;--info-light:#eff6ff;--radius:10px;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}body,#root{min-height:100svh}.nav{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.nav-brand{color:var(--text);letter-spacing:-.3px;font-size:17px;font-weight:700;text-decoration:none}.nav-brand span{color:var(--primary)}.nav-badge{background:var(--primary-light);color:var(--primary);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600}.page{max-width:900px;margin:0 auto;padding:32px 20px 64px}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 18px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-sm{padding:6px 12px;font-size:13px}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.hero{text-align:center;max-width:600px;margin:0 auto;padding:64px 20px 48px}.hero h1{letter-spacing:-1.2px;color:var(--text);margin-bottom:14px;font-size:42px;font-weight:800;line-height:1.15}.hero h1 span{color:var(--primary)}.hero p{color:var(--text-muted);max-width:440px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:16px}.role-cards{grid-template-columns:1fr 1fr;gap:16px;max-width:520px;margin:0 auto;display:grid}@media (width<=480px){.role-cards{grid-template-columns:1fr}}.role-card{background:var(--surface);border:2px solid var(--border);cursor:pointer;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.role-card:hover{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light);transform:translateY(-2px)}.role-icon{font-size:36px}.role-card h3{font-size:17px;font-weight:700}.role-card p{color:var(--text-muted);text-align:center;font-size:13px}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.dash-header h2{letter-spacing:-.4px;font-size:22px;font-weight:700}.dash-header .subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}@media (width<=600px){.stats{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat-card .stat-val{letter-spacing:-.5px;font-size:28px;font-weight:800}.stat-card .stat-label{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.card h3{margin-bottom:16px;font-size:16px;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=540px){.form-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:var(--text);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-group textarea{resize:vertical;min-height:80px}.form-full{grid-column:1/-1}.form-footer{justify-content:flex-end;margin-top:4px;display:flex}.alert{border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.alert-success{background:var(--success-light);color:#166534;border:1px solid #bbf7d0}.alert-error{background:var(--danger-light);color:#991b1b;border:1px solid #fecaca}.request-list{flex-direction:column;gap:10px;display:flex}.request-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.request-item:hover{border-color:#cbd5e1}.request-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.request-desc{color:var(--text-muted);margin-top:4px;font-size:14px}.request-info{color:var(--text-muted);margin-top:6px;font-size:12px}.request-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.badge{letter-spacing:.2px;text-transform:uppercase;white-space:nowrap;border-radius:99px;align-items:center;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge-pending{color:#92400e;background:#fef3c7}.badge-assigned{color:#1e40af;background:#dbeafe}.badge-in_progress{color:#3730a3;background:#e0e7ff}.badge-completed{background:var(--success-light);color:#166534}.badge-cancelled{color:#475569;background:#f1f5f9}.priority-low{color:#22c55e;font-size:12px;font-weight:700}.priority-medium{color:#f59e0b;font-size:12px;font-weight:700}.priority-high{color:#ef4444;font-size:12px;font-weight:700}.priority-emergency{color:#7c3aed;font-size:12px;font-weight:700}.category-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.status-select{border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;min-width:130px;padding:6px 10px;font-family:inherit;font-size:13px;font-weight:600}.status-select:focus{border-color:var(--primary);outline:none}.empty{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-icon{margin-bottom:10px;font-size:40px}.empty p{font-size:15px}.section-title{color:var(--text);margin-bottom:14px;font-size:16px;font-weight:700}.divider{background:var(--border);height:1px;margin:24px 0}
