@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--bg-main: #07080c;--bg-sidebar: #0b0d14;--bg-card: #0f121a;--bg-card-hover: #141824;--bg-input: #090b10;--bg-surface: #121622;--bg-glass: rgba(15, 18, 26, .85);--primary: #2563eb;--primary-light: #3b82f6;--primary-hover: #1d4ed8;--primary-glow: rgba(37, 99, 235, .3);--primary-subtle: rgba(37, 99, 235, .14);--accent-blue: #60a5fa;--accent-cyan: #38bdf8;--text-main: #ffffff;--text-secondary: #94a3b8;--text-muted: #64748b;--text-highlight: #60a5fa;--border: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .04);--border-focus: rgba(59, 130, 246, .55);--border-blue: rgba(37, 99, 235, .3);--success: #10b981;--success-bg: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .12);--info: #38bdf8;--info-bg: rgba(56, 189, 248, .12);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .3);--shadow-md: 0 6px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 30px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .5);--shadow-xl: 0 24px 45px -8px rgba(0, 0, 0, .8);--shadow-glow: 0 0 30px rgba(37, 99, 235, .25);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 9999px;--transition: all .22s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .32s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-main);color:var(--text-main);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 15% 15%,rgba(37,99,235,.09),transparent 35%),radial-gradient(circle at 85% 85%,rgba(56,189,248,.06),transparent 40%);background-attachment:fixed;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:#3b82f666}.app-container{display:flex;min-height:100vh;position:relative;background-color:var(--bg-main)}.main-content{flex:1;padding:1.5rem 2.25rem;overflow-y:auto;max-width:1650px;margin:0 auto;width:100%;transition:var(--transition-slow)}.floating-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.5rem;background:#0d1019cc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 10px 30px #00000080,inset 0 1px #ffffff14;margin-bottom:2rem;gap:1.25rem;flex-wrap:wrap;transition:var(--transition)}.floating-header-left{display:flex;flex-direction:column;gap:.125rem}.floating-header-breadcrumb{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.floating-header-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-main);margin:0}.floating-header-right{display:flex;align-items:center;gap:.875rem}.notif-toggle-btn{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-md);padding:.6875rem;color:var(--text-main);position:relative;transition:var(--transition)}.notif-toggle-btn:hover{background:#2563eb1a;border-color:var(--border-blue);color:var(--accent-cyan)}.notif-badge-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background-color:var(--accent-cyan);box-shadow:0 0 10px var(--accent-cyan)}.notif-dropdown-menu{position:absolute;right:0;top:calc(100% + 10px);width:330px;z-index:1000;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;background:#0d1019f5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-blue);box-shadow:0 25px 50px #000000d9,0 0 25px #2563eb33;max-height:400px;overflow-y:auto;border-radius:var(--radius-lg);animation:modalEnter .2s cubic-bezier(.34,1.4,.64,1)}.notif-dropdown-header{border-bottom:1px solid var(--border);padding-bottom:.625rem;display:flex;justify-content:space-between;align-items:center}.notif-dropdown-item{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.625rem;border-bottom:1px dashed var(--border)}.user-profile-capsule{display:flex;align-items:center;gap:.75rem;padding:.45rem 1rem .45rem .5rem;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);transition:var(--transition)}.user-profile-capsule:hover{border-color:var(--border-blue);background:#2563eb0f}.user-avatar-img{width:38px;height:38px;border-radius:50%;border:2px solid var(--primary-light);box-shadow:0 0 12px #2563eb59;flex-shrink:0;object-fit:cover}.user-avatar-placeholder{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2563eb59,#3b82f626);border:2px solid rgba(59,130,246,.4);color:var(--accent-cyan);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;flex-shrink:0}.user-nickname-text{font-weight:700;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main);max-width:150px}.sidebar-wrapper{flex-shrink:0;position:sticky;top:0;height:100vh;display:flex;align-items:center;padding:1.25rem 0 1.25rem 1.25rem;z-index:100;transition:width .3s cubic-bezier(.34,1.2,.64,1)}.sidebar-container{background-color:var(--bg-sidebar);border:1px solid var(--border);border-radius:var(--radius-xl);height:100%;display:flex;flex-direction:column;box-shadow:0 16px 36px #0009,inset 0 1px #ffffff14;position:relative;padding:1.5rem 1rem;transition:width .3s cubic-bezier(.34,1.2,.64,1),padding .3s ease;overflow:visible;scrollbar-width:none;-ms-overflow-style:none}.sidebar-container::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.sidebar-wrapper.expanded .sidebar-container{width:270px}.sidebar-wrapper.collapsed .sidebar-container{width:80px;padding:1.5rem .625rem;align-items:center}.sidebar-toggle-btn{position:absolute;top:1.25rem;right:-14px;width:32px;height:32px;border-radius:50%;background-color:#0b0d14;border:1px solid rgba(255,255,255,.18);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #000000b3,0 0 10px #2563eb33;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:110}.sidebar-toggle-btn:hover{background-color:var(--primary);border-color:var(--primary-light);transform:scale(1.12);box-shadow:0 0 16px var(--primary-glow)}.sidebar-header{display:flex;align-items:center;gap:.75rem;padding:.25rem .5rem 1.25rem;margin-bottom:.5rem;min-height:48px;border-bottom:1px solid var(--border-subtle)}.sidebar-wrapper.collapsed .sidebar-header{justify-content:center;padding:.25rem 0 1.25rem;width:100%}.sidebar-logo-text{display:none!important}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;overflow-x:hidden;margin-top:.25rem;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.sidebar-section-label{font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;padding:.75rem .75rem .25rem;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:opacity .2s ease}.sidebar-wrapper.collapsed .sidebar-section-label{display:none}.sidebar-divider{margin:.5rem;height:1px;background:var(--border-subtle)}.sidebar-wrapper.collapsed .sidebar-divider{margin:.5rem .25rem;width:70%;align-self:center}.sidebar-item{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:.9375rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;background:transparent;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.sidebar-item:hover{background-color:#ffffff0a;color:var(--text-main);border-color:#ffffff0f}.sidebar-item.active{background-color:#f1f5f9;color:#090d16!important;font-weight:700;box-shadow:0 4px 14px #0000004d;border-color:#fff}.sidebar-item.active svg{color:#090d16!important}.sidebar-wrapper.collapsed .sidebar-item{padding:.75rem;justify-content:center;width:48px;height:48px;margin:0 auto;border-radius:14px}.sidebar-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s ease}.sidebar-wrapper.collapsed .sidebar-item-label{display:none}.sidebar-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.sidebar-item:hover .sidebar-item-icon{transform:scale(1.08)}.sidebar-tooltip{position:absolute;left:calc(100% + 14px);background-color:#0f121a;color:#fff;padding:.45rem .85rem;border-radius:8px;font-size:.8125rem;font-weight:600;white-space:nowrap;box-shadow:0 8px 24px #000000b3,0 0 0 1px #ffffff1a;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-6px);transition:all .18s cubic-bezier(.4,0,.2,1);z-index:999}.sidebar-tooltip:before{content:"";position:absolute;top:50%;left:-4px;transform:translateY(-50%) rotate(45deg);width:8px;height:8px;background-color:#0f121a;border-left:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-wrapper.collapsed .sidebar-item:hover .sidebar-tooltip{opacity:1;visibility:visible;transform:translate(0)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem}.sidebar-wrapper.collapsed .sidebar-footer{align-items:center;padding-top:.75rem}h1{font-size:2.25rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem;color:var(--text-main)}h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-main)}h3{font-size:1.125rem;font-weight:600;color:var(--text-main)}.text-muted{color:var(--text-muted)}.text-gradient{background:linear-gradient(135deg,#93c5fd,#3b82f6,#1d4ed8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-md);transition:var(--transition);position:relative}.card-hover:hover{transform:translateY(-3px);border-color:var(--border-blue);box-shadow:0 14px 30px -8px #2563eb40,0 0 0 1px #3b82f640}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;padding:.8125rem 1.375rem;border-radius:var(--radius-md);font-family:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:var(--transition);border:1px solid transparent;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px #2563eb59;border:1px solid rgba(255,255,255,.15)}.btn-primary:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 22px #2563eb8c;transform:translateY(-1px)}.btn-secondary{background-color:#ffffff08;border-color:var(--border);color:var(--text-main)}.btn-secondary:hover{background-color:#ffffff0f;border-color:#ffffff2e;color:#fff}.btn-danger{background-color:var(--danger-bg);color:var(--danger);border-color:#ef444433}.btn-danger:hover{background-color:var(--danger);color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-success{background-color:var(--success-bg);color:var(--success);border-color:#10b98133}.btn-success:hover{background-color:var(--success);color:#fff;box-shadow:0 4px 12px #10b9814d}.input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.input-group label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.input-field{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:.875rem 1.125rem;color:var(--text-main);font-family:inherit;font-size:.9375rem;transition:var(--transition)}.input-field:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 4px var(--primary-glow);background-color:#0b0e16}.input-field::placeholder{color:var(--text-muted)}.checkbox-label{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input{width:1.125rem;height:1.125rem;accent-color:var(--primary)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-sm)}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{background-color:#ffffff05;padding:1.125rem 1.25rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.custom-table td{padding:1.125rem 1.25rem;font-size:.9375rem;border-bottom:1px solid var(--border-subtle);color:var(--text-main);transition:var(--transition)}.custom-table tbody tr{transition:var(--transition);position:relative}.custom-table tbody tr:hover{background-color:#2563eb0d}.custom-table tbody tr:hover td{color:#fff}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;position:relative;box-shadow:0 2px 6px #0003}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor;box-shadow:0 0 8px currentColor;animation:badgeDotPulse 2s infinite ease-in-out;flex-shrink:0}@keyframes badgeDotPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.4);opacity:1;box-shadow:0 0 12px currentColor}}.badge-success{background-color:var(--success-bg);color:var(--success);border:1px solid rgba(16,185,129,.25)}.badge-warning{background-color:var(--warning-bg);color:var(--warning);border:1px solid rgba(245,158,11,.25)}.badge-danger{background-color:var(--danger-bg);color:var(--danger);border:1px solid rgba(239,68,68,.25)}.badge-info{background-color:var(--info-bg);color:var(--info);border:1px solid rgba(56,189,248,.25)}.badge-primary{background-color:var(--primary-subtle);color:var(--accent-cyan);border:1px solid var(--border-blue)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background-color:#000000c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;overflow-y:auto}.modal-content{background:#0f121a;background:linear-gradient(180deg,#141826,#0d1018);border:1px solid rgba(59,130,246,.35);border-radius:var(--radius-xl);width:100%;max-width:580px;box-shadow:0 25px 70px #000000e6,0 0 35px #2563eb33;overflow:hidden;position:relative;z-index:10000;animation:modalSpring .25s cubic-bezier(.34,1.3,.64,1);margin:auto}@keyframes modalSpring{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{padding:1.375rem 1.75rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#ffffff05}.modal-body{padding:1.75rem;max-height:70vh;overflow-y:auto}.modal-footer{padding:1.25rem 1.75rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem;background-color:#0000004d}.tabs-header{display:flex;gap:.5rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.tab-btn{background:none;border:none;color:var(--text-secondary);font-family:inherit;font-size:.9375rem;font-weight:600;padding:1rem 1.25rem;cursor:pointer;position:relative;transition:var(--transition)}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--accent-cyan)}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent-cyan));box-shadow:0 0 10px var(--primary-glow)}.toast{position:fixed;bottom:2rem;right:2rem;background:#0f121af5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-blue);padding:1rem 1.5rem;border-radius:var(--radius-md);box-shadow:0 16px 36px #000000b3,0 0 25px #2563eb40;display:flex;align-items:center;gap:.75rem;z-index:2000;animation:toastEnter .3s ease forwards}@keyframes toastEnter{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.grid-cols-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.grid-cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid-cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.animate-fade-in{animation:fadeIn .2s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-header,.mobile-close-btn,.mobile-overlay{display:none}@media (max-width: 1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.main-content{padding:1.5rem}}@media (max-width: 768px){.app-container{flex-direction:column}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.main-content{padding:1.25rem 1rem}.floating-header{flex-direction:column;align-items:flex-start;padding:1.25rem;gap:1rem}.floating-header-right{width:100%;justify-content:space-between}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background-color:var(--bg-sidebar);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:500}.mobile-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:800}.sidebar-wrapper{position:fixed;top:0;left:0;height:100vh;padding:0;z-index:900;transform:translate(-110%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-wrapper.mobile-open{transform:translate(0)}.sidebar-wrapper .sidebar-container{width:280px!important;border-radius:0 var(--radius-xl) var(--radius-xl) 0!important;height:100vh!important;padding:1.5rem 1.25rem!important}.sidebar-toggle-btn{display:none}.mobile-close-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:1.25rem;right:1.25rem;background:#ffffff0d;border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;transition:var(--transition)}.mobile-close-btn:hover{color:var(--text-main);background:#ffffff1f}.sidebar-item-label,.sidebar-section-label{display:block!important}.modal-overlay{padding:.75rem;align-items:flex-end}.modal-content{max-width:100%!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh}.custom-table th,.custom-table td{white-space:nowrap;padding:.75rem 1rem;font-size:.875rem}.card{padding:1.25rem}.tabs-header{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.tab-btn{white-space:nowrap;padding:.75rem 1rem;font-size:.875rem}.toast{bottom:1rem;right:1rem;left:1rem}.input-field{font-size:16px}h1{font-size:1.625rem}h2{font-size:1.25rem}}
