*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f172a;--surface: #1e293b;--surface-hover: #334155;--border: #334155;--primary: #3b82f6;--primary-hover: #2563eb;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--text: #f1f5f9;--text-muted: #94a3b8;--radius: 8px}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none}button{cursor:pointer;border:none;font-family:inherit;font-size:.875rem;padding:.5rem 1rem;border-radius:var(--radius);transition:background .15s}input{font-family:inherit;font-size:.9rem;padding:.6rem .8rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none;width:100%}input:focus{border-color:var(--primary)}table{width:100%;border-collapse:collapse}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}tr:hover{background:var(--surface-hover)}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:240px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem 0}.app-main{flex:1;min-width:0;padding:2rem;overflow-x:auto;overflow-y:auto}.mobile-topbar,.sidebar-backdrop{display:none}@media(max-width:768px){.app-shell{flex-direction:column}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.mobile-topbar button{background:transparent;color:var(--text);font-size:1.4rem;padding:.25rem .5rem}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;transform:translate(-100%);transition:transform .25s ease;z-index:100}.app-sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:90}.app-main{padding:1rem}.responsive-row{flex-wrap:wrap;gap:.5rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:640px}}
