:root{--bg: #0f1419;--surface: #1a2332;--border: #2d3a4d;--text: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--success: #3fb950;--warning: #d29922;--danger: #f85149;--radius: 8px;--font: "DM Sans", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;-webkit-text-size-adjust:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,select,button,textarea{font-family:inherit;font-size:1rem;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:none;border-radius:var(--radius);padding:.6rem 1.1rem;min-height:44px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;white-space:nowrap}button:hover{filter:brightness(1.1)}button:active{filter:brightness(.92)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger)}.container{max-width:1200px;margin:0 auto;padding:1rem}@media(min-width:640px){.container{padding:1.5rem}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600}select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.4rem .6rem;-webkit-appearance:none;appearance:none}input[type=date]{color-scheme:dark;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.4rem .6rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .75rem;min-height:44px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;-webkit-appearance:none;appearance:none}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%238b949e' d='M5 8l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:1.2rem;padding-right:2rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.nav{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:0 1rem;min-height:56px;background:var(--surface);border-bottom:1px solid var(--border);margin-bottom:1rem}.nav a{color:var(--muted);font-size:.95rem;padding:.25rem 0}.nav a.active{color:var(--accent)}.admin-nav{display:flex;align-items:center;padding:0 1rem;min-height:56px;background:var(--surface);border-bottom:1px solid var(--border);position:relative}.admin-nav__brand{font-weight:600;font-size:1rem;white-space:nowrap}.admin-nav__links{display:flex;align-items:center;gap:1rem;margin-left:1.5rem;flex:1}.admin-nav__links a{color:var(--muted);font-size:.95rem;white-space:nowrap}.admin-nav__links a.active{color:var(--accent)}.admin-nav__links .nav-logout{margin-left:auto;min-height:36px;padding:.4rem .85rem}.admin-nav__toggle{display:none;margin-left:auto;min-height:40px;width:40px;padding:0;font-size:1.3rem;border-radius:var(--radius)}.admin-nav__drawer{display:none;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--border)}.admin-nav__drawer a,.admin-nav__drawer button{display:flex;align-items:center;width:100%;padding:.9rem 1.25rem;border:none;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);font-size:1rem;min-height:52px;text-align:left;white-space:nowrap;justify-content:flex-start}.admin-nav__drawer a.active{color:var(--accent);background:#58a6ff0f}.admin-nav__drawer a:hover,.admin-nav__drawer button:hover{background:#ffffff0a;filter:none;text-decoration:none}@media(max-width:767px){.admin-nav__links{display:none}.admin-nav__toggle{display:inline-flex}.admin-nav__drawer.open{display:flex}}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes modal-sheet-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modal-sheet-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes modal-sheet-in-desktop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-sheet-out-desktop{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(12px) scale(.97)}}.modal-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:0;animation:modal-overlay-in .2s ease}.modal-overlay.closing{animation:modal-overlay-out .2s ease forwards}.modal-sheet{width:100%;max-height:92dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:1.5rem 1.25rem 2rem;animation:modal-sheet-in .25s cubic-bezier(.32,.72,0,1)}.modal-overlay.closing .modal-sheet{animation:modal-sheet-out .2s ease forwards}@media(min-width:640px){.modal-overlay{align-items:center;padding:1rem}.modal-sheet{max-width:440px;border-radius:var(--radius);max-height:90dvh;animation:modal-sheet-in-desktop .2s ease}.modal-overlay.closing .modal-sheet{animation:modal-sheet-out-desktop .18s ease forwards}}.error{color:var(--danger);background:#f851491a;border-radius:var(--radius);padding:.5rem .75rem;margin:.5rem 0;font-size:.9rem}.success{color:var(--success);background:#3fb9501a;border-radius:var(--radius);padding:.5rem .75rem;margin:.5rem 0;font-size:.9rem}.badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500;white-space:nowrap}.badge.active{background:#3fb95033;color:var(--success)}.badge.inactive{background:#f8514933;color:var(--danger)}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
