:root{--bg-page:#000;--bg-card:#111;--bg-elevated:#1a1a1a;--bg-sidebar:#0a0a0a;--bg-input:#111;--border-subtle:#222;--border-input:#2a2a2a;--text-primary:#fff;--text-secondary:#888;--text-tertiary:#555;--accent-primary:#4f6af5;--accent-primary-hover:#3d56e0;--accent-primary-soft:#4f6af526;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition:all .15s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;line-height:1.6;position:relative}a{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .4s var(--transition) forwards}h1,.page-title{color:var(--text-primary);margin-bottom:.75rem;font-size:24px;font-weight:600}h2,.section-title{color:var(--text-primary);margin-bottom:.5rem;font-size:18px;font-weight:600}h3{color:var(--text-primary);margin-bottom:.5rem;font-size:16px;font-weight:600}p,body text{color:var(--text-primary);margin-bottom:1rem;font-size:14px;font-weight:400}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary);font-size:14px}.text-muted{color:var(--text-secondary);font-size:13px}.text-accent{color:var(--accent-primary)}.text-sm{font-size:13px}.text-xs{font-size:12px}.section-label{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;font-size:13px;font-weight:500}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}@media (max-width:768px){.container{padding:0 1rem}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.grid{gap:1rem;display:grid}.grid-cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-cols-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:20px;transition:border-color .15s}.card:hover{border-color:#333}.card-sm{padding:16px}input,textarea,select,.input,.textarea{background:var(--bg-input);border:1px solid var(--border-input);color:var(--text-primary);border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:focus,textarea:focus,select:focus,.input:focus,.textarea:focus{border-color:var(--accent-primary)}.textarea{resize:vertical;min-height:110px}.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{padding:6px 12px!important;font-size:13px!important}.btn-primary{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.btn-primary:hover{background:var(--accent-primary-hover)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s}.btn-secondary:hover{background:var(--bg-elevated)}.btn-ghost{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-elevated)}.badge,.pill{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.pill-success{color:var(--accent-success,#34d399);background:#34d3991a;border-color:#34d39933}.pill-accent{background:var(--accent-primary-soft);color:var(--accent-primary);border-color:#4f6af54d}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content,.modal-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:var(--bg-sidebar);border-bottom-right-radius:16px;border-bottom-left-radius:16px;justify-content:flex-end;align-items:center;gap:16px;padding:20px 24px;display:flex}@media (max-width:768px){.hidden-mobile{display:none}}.mobile-topbar{background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-subtle);z-index:40;align-items:center;height:48px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.menu-btn{color:#fff;cursor:pointer;background:0 0;border:none;margin-right:16px}.desktop-sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);z-index:50;flex-direction:column;width:260px;height:100vh;padding:20px 12px;display:flex;position:fixed;top:0;left:0}.mobile-drawer-overlay{z-index:99;background-color:#0009;position:fixed;inset:0}.mobile-drawer-sidebar{background-color:var(--bg-sidebar);z-index:100;flex-direction:column;width:260px;height:100vh;padding:20px 12px;transition:left .3s;display:flex;position:fixed;top:0}.mobile-drawer-sidebar.open{left:0}.mobile-drawer-sidebar.closed{left:-100%}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:16px;right:16px}.close-btn:hover{color:#fff}.sidebar-logo{border-bottom:1px solid var(--border-subtle);align-items:center;margin-bottom:8px;padding:20px 16px 24px;display:flex}.sidebar-logo img,.logo-img{display:block}.sidebar-nav{flex-direction:column;flex:1;gap:4px;margin-top:8px;display:flex}.nav-link{color:var(--text-secondary);background-color:#0000;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover,.nav-link.active{background-color:var(--bg-elevated);color:var(--text-primary)}.user-section{border-top:1px solid var(--border-subtle);align-items:center;gap:10px;margin-top:auto;padding-top:16px;display:flex}.user-avatar{background-color:var(--accent-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.settings-btn{color:var(--text-secondary)}.settings-btn:hover{color:var(--text-primary)}.logout-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .15s}.logout-btn:hover{color:#ef4444}@media (min-width:768px){.hidden-desktop{display:none!important}}@media (max-width:767px){.hidden-mobile{display:none!important}}.content-display-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (min-width:768px){.content-display-grid{grid-template-columns:1fr 1fr}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:1s linear infinite spin}.overlay-loader{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;border-radius:inherit;color:#fff;background:#111111d9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}
