*{box-sizing:border-box}:root{--bg: #0f1419;--surface: #1a2332;--surface2: #243044;--border: #2d3d52;--text: #e6edf3;--text-muted: #8b9cb3;--accent: #3b82f6;--accent-hover: #2563eb;--success: #22c55e;--warning: #eab308;--danger: #ef4444;--radius: 10px;--font: "DM Sans", system-ui, sans-serif}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.nav{background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.nav-title{font-weight:700;font-size:1.25rem;margin:0;color:var(--text)}.nav-links{display:flex;gap:.5rem;flex-wrap:wrap}.nav-links a{padding:.5rem .75rem;border-radius:var(--radius);color:var(--text-muted);text-decoration:none}.nav-links a:hover,.nav-links a.active{background:var(--surface2);color:var(--text)}.main{flex:1;padding:1.5rem;max-width:1200px;margin:0 auto;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.card h2{margin:0 0 1rem;font-size:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius);border:none;font-weight:500;transition:background .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.1)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--accent)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.8rem;font-weight:500}.badge-in{background:#22c55e33;color:var(--success)}.badge-out{background:#eab30833;color:var(--warning)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:600;font-size:.85rem}tr:hover td{background:#ffffff05}.avatar{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--surface2)}.filters{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;align-items:flex-end}.filters .form-group{margin-bottom:0}.filters label{font-size:.85rem}.empty{text-align:center;color:var(--text-muted);padding:2rem}.loading{text-align:center;padding:2rem;color:var(--text-muted)}
