@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--primary-red:#eb1e1e;--primary-red-hover:#d31212;--primary-red-light:#fdecec;--primary-red-glow:#eb1e1e26;--white:#fff;--black:#000;--bg-app:#f9fafb;--bg-surface:#fff;--bg-sidebar:#14181f;--bg-sidebar-hover:#1f242e;--bg-sidebar-active:#eb1e1e;--text-primary:#1d2330;--text-secondary:#626d84;--text-light:#a7afbe;--text-on-sidebar:#e6e6e6;--text-on-sidebar-active:#fff;--border-color:#e2e4e9;--border-focus:#eb1e1e;--success:#22c35d;--success-light:#eefcf3;--warning:#f59f0a;--warning-light:#fef7eb;--danger:#eb1e1e;--danger-light:#fdecec;--info:#0d80f2;--info-light:#ecf5fe;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #00000005;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-glow:0 0 15px #eb1e1e40;--sidebar-width:260px;--sidebar-collapsed-width:72px;--header-height:70px;--border-radius-sm:6px;--border-radius-md:10px;--border-radius-lg:16px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-red)}.layout-container{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;transition:grid-template-columns var(--transition-normal);background-color:var(--bg-app);display:grid}.layout-container.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr}.sidebar{background-color:var(--bg-sidebar);color:var(--text-on-sidebar);transition:width var(--transition-normal);z-index:100;border-right:1px solid #ffffff0d;flex-direction:column;display:flex;position:relative;overflow-x:hidden}.sidebar-header{height:var(--header-height);border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.logo-container{color:var(--white);letter-spacing:.5px;align-items:center;gap:12px;font-size:1.2rem;font-weight:800;display:flex}.logo-dot{background-color:var(--primary-red);width:8px;height:8px;box-shadow:var(--shadow-glow);border-radius:50%}.sidebar-menu{flex-direction:column;flex:1;gap:6px;padding:20px 12px;list-style:none;display:flex}.sidebar-item{border-radius:var(--border-radius-md);color:var(--text-on-sidebar);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;align-items:center;gap:14px;padding:12px 14px;font-weight:500;display:flex}.sidebar-item:hover{background-color:var(--bg-sidebar-hover);color:var(--white)}.sidebar-item.active{background-color:var(--primary-red);color:var(--text-on-sidebar-active);box-shadow:0 4px 12px #eb1e1e59}.sidebar-item svg{width:20px;height:20px;transition:transform var(--transition-fast);flex-shrink:0}.sidebar-item:hover svg{transform:translate(2px)}.sidebar-footer{border-top:1px solid #ffffff0d;padding:16px}.sidebar-user{border-radius:var(--border-radius-md);align-items:center;gap:12px;padding:8px;display:flex}.user-avatar{background-color:var(--primary-red);width:38px;height:38px;color:var(--white);border:2px solid var(--white);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.user-info{flex-direction:column;display:flex;overflow:hidden}.user-name{color:var(--white);text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.user-role{color:var(--text-light);font-size:.75rem}.header{height:var(--header-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:90;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:16px;display:flex}.menu-toggle{color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.menu-toggle:hover{background-color:var(--bg-app);color:var(--primary-red)}.page-title{color:var(--text-primary);font-size:1.3rem;font-weight:700}.header-right{align-items:center;gap:20px;display:flex}.notification-bell{color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:8px;position:relative}.notification-bell:hover{background-color:var(--bg-app);color:var(--text-primary)}.notification-badge{background-color:var(--primary-red);border:2px solid var(--bg-surface);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.main-content{flex-direction:column;flex:1;min-width:0;display:flex}.content-viewport{flex:1;padding:24px;overflow-y:auto}.auth-wrapper{background:radial-gradient(circle at 10% 20%,#000 0%,#101318 90%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.auth-background-decoration{pointer-events:none;z-index:1;background:radial-gradient(circle,#eb1e1e14 0%,#0000 70%);width:500px;height:500px;position:absolute;top:-100px;left:-100px}.auth-background-decoration-2{pointer-events:none;z-index:1;background:radial-gradient(circle,#eb1e1e0d 0%,#0000 70%);width:600px;height:600px;position:absolute;bottom:-150px;right:-150px}.auth-card{-webkit-backdrop-filter:blur(16px)saturate(120%);border-radius:var(--border-radius-lg);z-index:10;background:#1e1e23b3;border:1px solid #ffffff14;flex-direction:column;width:100%;max-width:440px;padding:40px;display:flex;box-shadow:0 20px 40px #0006,0 0 100px #0003}.auth-header{text-align:center;margin-bottom:30px}.auth-logo{color:var(--white);align-items:center;gap:12px;margin-bottom:12px;font-size:1.8rem;font-weight:900;display:inline-flex}.auth-subtitle{color:var(--text-light);font-size:.95rem}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-label{color:var(--white);margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.auth-footer{text-align:center;color:var(--text-light);margin-top:24px;font-size:.85rem}.btn{border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-red);color:var(--white);box-shadow:var(--shadow-sm)}.btn-primary:not(:disabled):hover{background-color:var(--primary-red-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-app);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:not(:disabled):hover{background-color:var(--border-color);color:var(--text-primary)}.btn-outline{color:var(--primary-red);border:1px solid var(--primary-red);background-color:#0000}.btn-outline:not(:disabled):hover{background-color:var(--primary-red-light);box-shadow:var(--shadow-sm)}.btn-danger{background-color:var(--danger);color:var(--white)}.btn-danger:not(:disabled):hover{background-color:#bc1010}.btn-icon{border-radius:var(--border-radius-sm);padding:8px}.btn-lg{padding:12px 24px;font-size:1rem}.btn-block{width:100%;display:flex}.spinner{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-group{flex-direction:column;gap:6px;width:100%;display:flex}.form-label{color:var(--text-primary);font-size:.9rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-secondary);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:14px}.input-icon svg{width:18px;height:18px}.form-input{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--bg-surface);width:100%;color:var(--text-primary);transition:all var(--transition-fast);outline:none;padding:10px 14px}.input-wrapper .form-input{padding-left:44px}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-red-glow)}.form-input.dark-input{color:var(--white);background-color:#ffffff0d;border:1px solid #ffffff1a}.form-input.dark-input:focus{border-color:var(--primary-red);background-color:#ffffff14;box-shadow:0 0 0 3px #eb1e1e33}.form-error{color:var(--danger);font-size:.8rem;font-weight:500}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding:24px}.card-hoverable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title{color:var(--text-primary);font-size:1.15rem;font-weight:700}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:28px;display:grid}.metric-card{justify-content:space-between;align-items:center;display:flex}.metric-details{flex-direction:column;gap:4px;display:flex}.metric-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.metric-value{color:var(--text-primary);font-size:1.8rem;font-weight:800}.metric-icon-box{border-radius:var(--border-radius-md);background-color:var(--primary-red-light);width:48px;height:48px;color:var(--primary-red);justify-content:center;align-items:center;display:flex}.metric-icon-box svg{width:24px;height:24px}.table-container{border-radius:var(--border-radius-md);border:1px solid var(--border-color);background-color:var(--bg-surface);margin-top:16px;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background-color:var(--bg-app);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);padding:14px 18px;font-size:.85rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:16px 18px;font-size:.92rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:var(--primary-red-light)!important}.badge{border-radius:50px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge-success{background-color:var(--success-light);color:var(--success)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}.badge-info{background-color:var(--info-light);color:var(--info)}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;border-radius:var(--border-radius-md);background-color:var(--bg-surface);width:320px;box-shadow:var(--shadow-lg);border-left:4px solid var(--primary-red);transition:all var(--transition-normal);align-items:flex-start;gap:12px;padding:16px;animation:.3s cubic-bezier(.4,0,.2,1) slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast.toast-success{border-left-color:var(--success)}.toast.toast-warning{border-left-color:var(--warning)}.toast.toast-error{border-left-color:var(--danger)}.toast.toast-info{border-left-color:var(--info)}.toast-icon{flex-shrink:0;margin-top:2px}.toast-icon svg{width:18px;height:18px}.toast-success .toast-icon{color:var(--success)}.toast-warning .toast-icon{color:var(--warning)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--info)}.toast-body{flex:1}.toast-title{margin-bottom:2px;font-size:.9rem;font-weight:700}.toast-message{color:var(--text-secondary);font-size:.82rem}.toast-close{color:var(--text-light);cursor:pointer;border-radius:var(--border-radius-sm);background:0 0;border:none;padding:2px;display:flex}.toast-close:hover{background-color:var(--bg-app);color:var(--text-secondary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;background-color:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg-surface);border-radius:var(--border-radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s cubic-bezier(.34,1.56,.64,1) scaleUp;display:flex;overflow:hidden}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-title{font-size:1.2rem;font-weight:700}.modal-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);background:0 0;border:none;padding:4px;display:flex}.modal-close:hover{background-color:var(--bg-app);color:var(--text-primary)}.modal-body{max-height:70vh;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background-color:var(--bg-app);justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px;display:flex}.dashboard-grid{grid-template-columns:2fr 1fr;gap:24px;margin-top:24px;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){.layout-container{grid-template-columns:1fr}.sidebar{width:var(--sidebar-width);box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.layout-container.sidebar-open .sidebar{transform:translate(0)}.layout-container.sidebar-collapsed .sidebar{transform:translate(-100%)}}.hover-glow{transition:all var(--transition-fast)}.hover-glow:hover{box-shadow:0 0 10px var(--primary-red-glow)}.skeleton{border-radius:var(--border-radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}
