:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%}#root{width:100%;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}input[type=text],input[type=email],input[type=password],input[type=search],textarea,select{background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=search]::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.6}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,h1,h2,h3,h4,h5,h6,p,th,td{color:var(--text-primary)}:root{--sidebar-width: 260px;--header-height: 64px;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--accent-color: #2563eb;--border-color: #e2e8f0;--input-bg: #ffffff;--input-border: #e2e8f0}:root.dark{--bg-primary: #0a0f1e;--bg-secondary: #1a2332;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--accent-color: #60a5fa;--border-color: #334155;--input-bg: #1e293b;--input-border: #475569}.app-layout{display:flex;min-height:100dvh;height:100%;width:100%;background-color:var(--bg-primary);color:var(--text-primary)}.sidebar{width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;transition:transform .2s ease}.sidebar-header{height:var(--header-height);display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--border-color);font-weight:700;font-size:1.25rem;color:var(--accent-color)}.sidebar-nav{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--text-secondary);transition:all .2s ease;font-weight:500}.nav-item:hover{background-color:var(--border-color);color:var(--text-primary)}.nav-item.active{background-color:var(--accent-color);color:#fff}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.top-bar{height:var(--header-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;padding:0 24px}.page-content{flex:1;overflow-y:auto;padding:32px}.mobile-menu-btn{display:none;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:6px;cursor:pointer}.sidebar-overlay{display:none}.logout-btn{display:flex;align-items:center;gap:12px;padding:10px 12px;width:100%;border:none;background:none;cursor:pointer;color:var(--text-secondary);font-weight:500;border-radius:8px;transition:all .2s ease}.logout-btn:hover{background-color:#450a0a;color:#f87171}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);z-index:1000}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:900}.top-bar{justify-content:space-between;gap:12px}.mobile-menu-btn{display:inline-flex}.page-content{padding:20px}}
