:root{--color-bg-primary:#0a0e27;--color-bg-secondary:#111638;--color-bg-tertiary:#181d4a;--color-bg-card:#111638cc;--color-bg-card-hover:#181d4ae6;--color-bg-glass:#ffffff0d;--color-bg-glass-hover:#ffffff14;--color-bg-input:#ffffff0f;--color-bg-overlay:#0009;--color-text-primary:#f0f2ff;--color-text-secondary:#a0a6cc;--color-text-muted:#6b72a0;--color-text-inverse:#0a0e27;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#3b82f626;--color-primary-glow:#3b82f64d;--color-success:#10b981;--color-success-light:#10b98126;--color-warning:#f59e0b;--color-warning-light:#f59e0b26;--color-danger:#ef4444;--color-danger-light:#ef444426;--color-info:#8b5cf6;--color-info-light:#8b5cf626;--color-border:#ffffff14;--color-border-hover:#ffffff26;--color-border-focus:var(--color-primary);--gradient-primary:linear-gradient(135deg, #3b82f6, #8b5cf6);--gradient-success:linear-gradient(135deg, #10b981, #059669);--gradient-danger:linear-gradient(135deg, #ef4444, #dc2626);--gradient-card:linear-gradient(145deg, #111638e6, #181d4a99);--gradient-sidebar:linear-gradient(180deg, #0d1235 0%, #0a0e27 100%);--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-xl:0 16px 48px #00000080;--shadow-glow:0 0 20px var(--color-primary-glow);--shadow-card:0 4px 24px #0003, inset 0 1px 0 #ffffff0d;--sidebar-width:260px;--sidebar-collapsed:72px;--topbar-height:64px;--bottomnav-height:60px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500}[data-theme=light]{--color-bg-primary:#f5f7ff;--color-bg-secondary:#fff;--color-bg-tertiary:#eef1fb;--color-bg-card:#fffffff2;--color-bg-card-hover:#fff;--color-bg-glass:#00000008;--color-bg-glass-hover:#0000000d;--color-bg-input:#0000000a;--color-bg-overlay:#0006;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-muted:#9ca3af;--color-text-inverse:#f0f2ff;--color-border:#00000014;--color-border-hover:#00000026;--gradient-card:linear-gradient(145deg, #ffffffe6, #eef1fb99);--gradient-sidebar:linear-gradient(180deg, #fff 0%, #f5f7ff 100%);--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-card:0 2px 12px #0000000f, 0 0 0 1px #0000000a}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-primary);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn var(--transition-base) forwards}.animate-fadeInUp{animation:fadeInUp var(--transition-slow) forwards}.animate-fadeInDown{animation:fadeInDown var(--transition-base) forwards}.animate-scaleIn{animation:scaleIn var(--transition-spring) forwards}.animate-shimmer{background:linear-gradient(90deg, var(--color-bg-glass) 25%, var(--color-bg-glass-hover) 50%, var(--color-bg-glass) 75%);background-size:400% 100%;animation:1.5s infinite shimmer}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-spin{animation:1s linear infinite spin}.stagger>*{animation:fadeInUp var(--transition-slow) forwards;opacity:0}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.18s}.stagger>:nth-child(5){animation-delay:.24s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.36s}.stagger>:nth-child(8){animation-delay:.42s}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm), 0 0 0 0 var(--color-primary-glow)}.btn-primary:hover{box-shadow:var(--shadow-md), 0 0 20px var(--color-primary-glow);filter:brightness(1.1)}.btn-secondary{background:var(--color-bg-glass);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-glass-hover);border-color:var(--color-border-hover)}.btn-success{background:var(--gradient-success);color:#fff}.btn-success:hover{filter:brightness(1.1)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-bg-glass);color:var(--color-text-primary)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md);width:40px;height:40px}.btn-full{width:100%}@media (width<=480px){.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.card{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-base)}@media (width>=480px){.card{padding:var(--space-5)}}@media (width>=768px){.card{padding:var(--space-6)}}.card:hover{border-color:var(--color-border-hover)}.card-interactive:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:translateY(-2px)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.input-group{gap:var(--space-2);flex-direction:column;display:flex}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast)}.input:hover{border-color:var(--color-border-hover)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.input::placeholder{color:var(--color-text-muted)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b72a0'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}select.input option{color:#f0f2ff;background:#1a1f4e}select.input option:checked{background:var(--color-primary);color:#fff}select.input option:disabled{color:#6b72a0}[data-theme=light] select.input option{color:#111827;background:#fff}[data-theme=light] select.input option:checked{background:var(--color-primary);color:#fff}[data-theme=light] select.input option:disabled{color:#9ca3af}textarea.input{resize:vertical;min-height:100px}.input-error{border-color:var(--color-danger)!important}.input-error-msg{font-size:var(--font-size-xs);color:var(--color-danger)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge-info{background:var(--color-info-light);color:var(--color-info)}.badge-neutral{background:var(--color-bg-glass);color:var(--color-text-secondary)}.modal-backdrop{background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast) forwards;position:fixed;inset:0}.modal{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);z-index:var(--z-modal);width:min(90vw,520px);max-height:85vh;animation:scaleIn var(--transition-spring) forwards;box-shadow:var(--shadow-xl);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@media (width>=480px){.modal{padding:var(--space-6)}}@media (width>=768px){.modal{padding:var(--space-8)}}.modal-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.skeleton{background:var(--color-bg-glass);border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--color-bg-glass-hover), transparent);background-size:200% 100%;animation:1.5s infinite shimmer;position:absolute;inset:0}.skeleton-text{width:80%;height:14px}.skeleton-title{width:60%;height:22px}.skeleton-avatar{border-radius:var(--radius-full);width:40px;height:40px}.skeleton-card{height:180px}.toast-container{top:calc(var(--topbar-height) + var(--space-2));right:var(--space-3);left:var(--space-3);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}@media (width>=480px){.toast-container{left:auto;right:var(--space-4);top:calc(var(--topbar-height) + var(--space-3));gap:var(--space-3)}}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);animation:slideInRight var(--transition-spring) forwards;pointer-events:auto;min-width:0;max-width:100%;display:flex}@media (width>=480px){.toast{padding:var(--space-4) var(--space-5);min-width:320px;max-width:min(420px,100vw - 2rem)}}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-primary)}.empty-state{padding:var(--space-8) var(--space-4);text-align:center;justify-content:center;align-items:center;gap:var(--space-3);color:var(--color-text-muted);flex-direction:column;display:flex}@media (width>=480px){.empty-state{padding:var(--space-12) var(--space-8);gap:var(--space-4)}}@media (width>=768px){.empty-state{padding:var(--space-16) var(--space-8)}}.empty-state-icon{opacity:.4}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:var(--color-bg-glass);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle;word-break:break-word}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-bg-glass)}.avatar{border-radius:var(--radius-full);background:var(--gradient-primary);width:40px;height:40px;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-xl)}.tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;white-space:nowrap;align-items:center;min-height:36px;display:flex}@media (width>=480px){.tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}}.tab:hover{color:var(--color-text-primary)}.tab-active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:24px;height:24px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-lg{border-width:4px;width:40px;height:40px}.page-loader{justify-content:center;align-items:center;gap:var(--space-4);min-height:400px;color:var(--color-text-muted);flex-direction:column;display:flex}.modal-overlay{background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast) forwards;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);z-index:var(--z-modal);width:min(90vw,520px);max-height:85vh;animation:scaleIn var(--transition-spring) forwards;box-shadow:var(--shadow-xl);overflow-y:auto}@media (width<=480px){.modal-content{padding:var(--space-4);border-radius:var(--radius-lg);width:calc(100vw - 2rem);max-height:90vh}}@media (width<=640px){.mobile-hide{display:none!important}}.grid-2-col{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=480px){.grid-2-col{grid-template-columns:1fr}}.btn-group-responsive{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=480px){.btn-group-responsive{width:100%}.btn-group-responsive>.btn{flex:1;min-width:0}}.mobile-stack{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=480px){.mobile-stack{flex-direction:column}.mobile-stack>.btn{width:100%}}@media (width<=640px){.table-wrapper{border:none}.table th,.table td{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}}.form-card{padding:var(--space-4)}@media (width>=480px){.form-card{padding:var(--space-6)}}@media (width>=768px){.form-card{padding:var(--space-8)}}.card-floating{cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;overflow:hidden}.card-floating:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0000001f,0 4px 12px #00000014}.card-hero-image{background:var(--color-bg-glass);width:100%;height:160px;position:relative;overflow:hidden}.card-hero-image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:transform .4s,opacity .3s}.card-hero-image img.loaded{opacity:1}.card-floating:hover .card-hero-image img{transform:scale(1.05)}.card-hero-overlay{pointer-events:none;z-index:1;background:linear-gradient(#0000,#00000073);height:60px;position:absolute;bottom:0;left:0;right:0}.card-hero-placeholder{color:#ffffffb3;justify-content:center;align-items:center;width:100%;height:160px;font-size:2.5rem;display:flex}.card-hero-placeholder.lab{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%)}.card-hero-placeholder.lecture_hall{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.card-hero-placeholder.equipment{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}.card-hero-placeholder.meeting_room{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%)}.card-hero-placeholder.other,.card-hero-placeholder.student_item{background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%)}.card-hero-badges{top:var(--space-3);left:var(--space-3);right:var(--space-3);gap:var(--space-2);z-index:2;flex-wrap:wrap;display:flex;position:absolute}.card-hero-badge{border-radius:var(--radius-full);letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);padding:2px 10px;font-size:.7rem;font-weight:600}.card-hero-body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.card-hero-title{font-size:var(--font-size-base);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.3;overflow:hidden}.card-hero-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.card-hero-meta{align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.card-hero-meta-item{align-items:center;gap:4px;display:inline-flex}.card-hero-actions{gap:var(--space-2);padding:0 var(--space-4) var(--space-4);margin-top:auto;display:flex}.text-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.app-layout{min-height:100dvh;display:flex}.app-main{min-width:0;padding-bottom:var(--bottomnav-height);flex-direction:column;flex:1;display:flex}@media (width>=768px){.app-main{margin-left:var(--sidebar-collapsed);padding-bottom:0}}@media (width>=1024px){.app-main{margin-left:var(--sidebar-width)}}.page-content{padding:var(--space-3);margin-top:var(--topbar-height);animation:fadeIn var(--transition-base) forwards;flex:1;overflow-x:hidden}@media (width>=480px){.page-content{padding:var(--space-4)}}@media (width>=768px){.page-content{padding:var(--space-6)}}@media (width>=1024px){.page-content{padding:var(--space-8)}}.sidebar{width:var(--sidebar-width);background:var(--gradient-sidebar);border-right:1px solid var(--color-border);z-index:var(--z-sticky);transition:width var(--transition-base);flex-direction:column;display:none;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}@media (width>=768px){.sidebar{width:var(--sidebar-collapsed);display:flex}.sidebar .nav-label,.sidebar .sidebar-brand-text,.sidebar .sidebar-section-title{display:none}}@media (width>=1024px){.sidebar{width:var(--sidebar-width)}.sidebar .nav-label,.sidebar .sidebar-brand-text,.sidebar .sidebar-section-title{display:block}}.sidebar-brand{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.sidebar-brand-icon{border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.sidebar-brand-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.sidebar-nav{padding:var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex}.sidebar-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;padding:var(--space-4) var(--space-3) var(--space-2)}.tabs{gap:var(--space-1);background:var(--color-bg-glass);border-radius:var(--radius-md);padding:var(--space-1);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;max-width:100%;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);cursor:pointer;text-decoration:none;display:flex}.nav-item:hover{background:var(--color-bg-glass);color:var(--color-text-primary)}.nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.nav-item.active .nav-icon{color:var(--color-primary)}.nav-icon{flex-shrink:0;width:20px;height:20px}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border);flex-shrink:0}.topbar{height:var(--topbar-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);z-index:var(--z-sticky);padding:0 var(--space-3);align-items:center;gap:var(--space-2);background:#0a0e27d9;display:flex;position:fixed;top:0;left:0;right:0}@media (width>=480px){.topbar{padding:0 var(--space-4);gap:var(--space-4)}}[data-theme=light] .topbar{background:#f5f7ffd9}@media (width>=768px){.topbar{left:var(--sidebar-collapsed);padding:0 var(--space-6)}}@media (width>=1024px){.topbar{left:var(--sidebar-width);padding:0 var(--space-8)}}.topbar-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.topbar-spacer{flex:1}.topbar-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}@media (width>=480px){.topbar-actions{gap:var(--space-2)}}.token-pill{border-radius:var(--radius-full);color:#a855f7;font-size:var(--font-size-sm);white-space:nowrap;background:linear-gradient(135deg,#a855f726,#8b5cf61a);border:1px solid #a855f740;align-items:center;gap:6px;padding:5px 12px;font-weight:700;display:flex}[data-theme=light] .token-pill{background:linear-gradient(135deg,#a855f71a,#8b5cf60f)}.notification-bell{padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);color:var(--color-text-secondary);position:relative}.notification-bell:hover{background:var(--color-bg-glass);color:var(--color-text-primary)}.notification-bell-badge{border-radius:var(--radius-full);background:var(--color-danger);color:#fff;min-width:18px;height:18px;font-size:10px;font-weight:var(--font-weight-bold);justify-content:center;align-items:center;padding:0 4px;animation:.6s bounce;display:flex;position:absolute;top:4px;right:4px}.bottom-nav{height:var(--bottomnav-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--color-border);z-index:var(--z-sticky);padding:0 var(--space-2);background:#0a0e27f2;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}[data-theme=light] .bottom-nav{background:#fffffff2}@media (width>=768px){.bottom-nav{display:none}}.bottom-nav-item{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:10px;font-weight:var(--font-weight-medium);transition:all var(--transition-fast);flex-direction:column;align-items:center;gap:2px;min-width:56px;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item:active{transform:scale(.92)}.page-header{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.page-header>div:last-child:not(:first-child){gap:var(--space-2);flex-wrap:wrap;display:flex}.page-header>.btn,.page-header>a.btn{width:100%}@media (width>=480px){.page-header>.btn,.page-header>a.btn{width:auto}}@media (width>=768px){.page-header{margin-bottom:var(--space-6);flex-direction:row;justify-content:space-between;align-items:center}}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}@media (width>=480px){.page-title{font-size:var(--font-size-2xl)}}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.grid-stats{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=400px){.grid-stats{grid-template-columns:1fr}}@media (width>=640px){.grid-stats{gap:var(--space-4)}}@media (width>=1024px){.grid-stats{grid-template-columns:repeat(4,1fr)}}.grid-cards{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=640px){.grid-cards{gap:var(--space-4);grid-template-columns:repeat(2,1fr)}}@media (width>=1200px){.grid-cards{grid-template-columns:repeat(3,1fr)}}.auth-layout{min-height:100dvh;padding:var(--space-4);background:var(--color-bg-primary);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-layout:before{content:"";background:radial-gradient(ellipse at 30% 20%, var(--color-primary-light) 0%, transparent 60%), radial-gradient(ellipse at 70% 80%, #8b5cf614 0%, transparent 60%);pointer-events:none;width:200%;height:200%;position:absolute;top:-50%;left:-50%}.auth-card{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:min(100%,440px);padding:var(--space-5);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1;animation:scaleIn var(--transition-spring) forwards;position:relative}@media (width>=480px){.auth-card{padding:var(--space-10)}}.auth-logo{align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);flex-direction:column;display:flex}.auth-logo-icon{border-radius:var(--radius-lg);background:var(--gradient-primary);color:#fff;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.auth-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center}.auth-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-divider{align-items:center;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-6)}.auth-footer a{color:var(--color-primary);font-weight:var(--font-weight-medium)}.auth-footer a:hover{text-decoration:underline}.stat-card{padding:var(--space-4)}@media (width>=480px){.stat-card{padding:var(--space-5)}}.stat-card-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}@media (width>=480px){.stat-card-header{margin-bottom:var(--space-3)}}.stat-card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;display:flex}@media (width>=480px){.stat-card-icon{width:44px;height:44px}}.stat-card-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}@media (width>=480px){.stat-card-label{font-size:var(--font-size-sm)}}.stat-card-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);animation:countUp var(--transition-slow) forwards}@media (width>=480px){.stat-card-value{font-size:var(--font-size-3xl)}}.stat-card-change{font-size:var(--font-size-xs);margin-top:var(--space-1);align-items:center;gap:var(--space-1);display:flex}
