:root{--bg-primary:#0c1222;--bg-secondary:#101829;--bg-tertiary:#152036;--bg-hover:#1a2a44;--bg-active:#213352;--accent-primary:#3b82f6;--accent-hover:#2563eb;--accent-light:#60a5fa;--accent-glow:rgba(59,130,246,.25);--accent-soft:rgba(59,130,246,.1);--text-primary:#e2e8f0;--text-secondary:#8ca3c4;--text-muted:#5e7189;--success:#22c55e;--success-color:#22c55e;--success-rgb:34,197,94;--error:#ef4444;--error-color:#ef4444;--warning:#f59e0b;--warning-color:#f59e0b;--danger-color:#ef4444;--info:#3b82f6;--border-color:rgba(59,130,246,.08);--border-hover:rgba(59,130,246,.15);--shadow:0 4px 6px -1px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5);--shadow-glow:0 4px 20px rgba(59,130,246,.25);--radius:12px;--radius-sm:8px;--radius-xs:6px;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-y:scroll;scrollbar-gutter:stable}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}.lucide{width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}.lucide-spin{animation:spin 1s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--border-hover);border:2px solid transparent;background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}.modal-content::-webkit-scrollbar-track{background:transparent;margin:16px 0}.modal-content::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--border-hover);border:2px solid transparent;background-clip:padding-box}*{scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important}::-webkit-scrollbar-corner{background:transparent!important}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:var(--transition);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--accent-primary);color:#fff;width:100%;position:relative}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-primary i{font-size:1rem}.btn-primary .btn-loader{align-items:center;gap:8px}.btn-primary .btn-loader i{animation:spin 1s linear infinite}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.btn-danger:active{transform:translateY(0)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-filter{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);position:relative}.btn-filter:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.filter-count{position:absolute;top:-8px;right:-8px;background:var(--accent-primary);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.btn-pagination{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:8px 16px}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.btn-pagination:not(:disabled):hover{background:var(--bg-hover);border-color:var(--accent-primary)}.toggle-switch{width:44px;height:24px;border-radius:12px;border:none;position:relative;transition:background .2s;flex-shrink:0}.toggle-switch--disabled{cursor:not-allowed;opacity:.5}.toggle-switch__knob{width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;top:3px;transition:left .2s}.error-message{margin-top:15px;padding:12px;background:rgba(239,68,68,.1);border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:.9rem;display:none}.error-message.show{display:block;animation:shake .5s ease-out}.custom-checkbox{position:relative;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:.75rem}.custom-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.custom-checkbox .checkmark{position:relative;height:22px;width:22px;background:var(--surface-light,#1a2a44);border:2px solid var(--border-color,rgba(59,130,246,.08));border-radius:6px;transition:background-color .2s ease,border-color .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.custom-checkbox:hover .checkmark{border-color:var(--primary-color,#3b82f6);background:rgba(59,130,246,.05)}.custom-checkbox input:checked~.checkmark{background:linear-gradient(135deg,var(--primary-color,#3b82f6),#60a5fa);border-color:var(--primary-color,#3b82f6)}.custom-checkbox .checkmark>svg.lucide{width:14px;height:14px;color:#fff;stroke-width:3;opacity:0;transform:scale(.6);transition:opacity .18s ease-out,transform .2s cubic-bezier(.34,1.56,.64,1);will-change:transform,opacity}.custom-checkbox input:checked~.checkmark>svg.lucide{opacity:1;transform:scale(1)}.custom-checkbox input:focus~.checkmark{outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.custom-checkbox input:disabled~.checkmark{opacity:.5;cursor:not-allowed;background:var(--surface-dark,#152036)}.custom-checkbox input:disabled~.checkbox-label{opacity:.5;cursor:not-allowed}.custom-checkbox.disabled{cursor:not-allowed}.checkbox-label{font-size:.9375rem;color:var(--text-primary,#e2e8f0);transition:color .2s ease;display:inline-flex;align-items:center;gap:.5rem;line-height:1.5;flex:1 1}.checkbox-label>svg.lucide{width:1em;height:1em;vertical-align:0;flex-shrink:0}.custom-checkbox input:checked~.checkbox-label{color:var(--text-primary,#e2e8f0)}.custom-checkbox.small .checkmark{height:18px;width:18px}.custom-checkbox.small .checkmark>svg.lucide{width:11px;height:11px}.custom-checkbox.small .checkbox-label{font-size:.875rem}.custom-checkbox.large .checkmark{height:26px;width:26px}.custom-checkbox.large .checkmark>svg.lucide{width:17px;height:17px}.custom-checkbox.large .checkbox-label{font-size:1rem}.permission-item .custom-checkbox{width:100%;height:100%;min-height:54px;padding:.75rem;background:var(--surface-light,#1a2a44);border:1px solid var(--border-color,rgba(59,130,246,.08));border-radius:8px;transition:all .2s ease;display:flex;align-items:center}.permission-item .custom-checkbox:hover{background:rgba(59,130,246,.05);border-color:var(--primary-color,#3b82f6);transform:translateY(-1px)}.permission-item .custom-checkbox input:checked{background:rgba(59,130,246,.1)}.permission-item .custom-checkbox .checkbox-label{flex:1 1;word-break:break-word;line-height:1.4}.custom-checkbox .log-type-color-dot{flex-shrink:0;display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle}.roles-checkboxes{max-height:300px;overflow-y:auto}.confirm-checkbox-container .custom-checkbox{padding:.75rem;background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.3);border-radius:8px}.confirm-checkbox-container .custom-checkbox:hover{background:rgba(239,68,68,.1);border-color:var(--danger-color,#ef4444)}.confirm-checkbox-container .custom-checkbox input:checked~.checkmark{background:linear-gradient(135deg,var(--danger-color,#ef4444),#f87171);border-color:var(--danger-color,#ef4444)}@media (max-width:768px){.custom-checkbox{gap:.625rem}.custom-checkbox .checkmark{height:20px;width:20px}.custom-checkbox .checkmark>svg.lucide{width:12px;height:12px}.checkbox-label{font-size:.875rem}}@media (max-width:480px){.permission-item .custom-checkbox{padding:.625rem}}.custom-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.custom-checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.custom-checkbox-box{position:relative;width:22px;height:22px;background:var(--surface-light,#1a2a44);border:2px solid var(--border-color,rgba(59,130,246,.08));border-radius:6px;transition:background-color .2s ease,border-color .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.custom-checkbox-box i,.custom-checkbox-box svg.lucide{font-size:.75rem;width:14px;height:14px;color:#fff;opacity:0;transform:scale(.6);transition:opacity .18s ease-out,transform .2s cubic-bezier(.34,1.56,.64,1);stroke-width:3;will-change:transform,opacity}.custom-checkbox-label:hover .custom-checkbox-box{border-color:var(--primary-color,#3b82f6);background:rgba(59,130,246,.05)}.custom-checkbox-input:checked~.custom-checkbox-box{background:linear-gradient(135deg,var(--primary-color,#3b82f6),#60a5fa);border-color:var(--primary-color,#3b82f6)}.custom-checkbox-input:checked~.custom-checkbox-box i,.custom-checkbox-input:checked~.custom-checkbox-box svg.lucide{opacity:1;transform:scale(1)}.custom-checkbox-input:focus~.custom-checkbox-box{outline:2px solid var(--primary-color,#3b82f6);outline-offset:2px}.custom-checkbox-input:disabled~.custom-checkbox-box{opacity:.5;cursor:not-allowed;background:var(--surface-dark,#152036)}.custom-checkbox-input:disabled~.custom-checkbox-text{opacity:.5;cursor:not-allowed}.custom-checkbox-text{color:var(--text-primary,#e2e8f0);font-size:.9375rem}.custom-select-wrapper{width:100%}.custom-select{width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block}.custom-select-trigger{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9375rem;transition:all .2s ease;min-height:44px;cursor:pointer}.custom-select-trigger:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.custom-select-trigger .select-value{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger .select-value.placeholder{color:var(--text-secondary);opacity:.7}.custom-select-trigger .select-arrow{font-size:.75rem;color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem}.custom-select-trigger .select-arrow.open{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--accent-primary);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;max-height:250px;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.3)}.custom-select-dropdown.dropdown-up{top:auto;bottom:100%;border-top:1px solid var(--accent-primary);border-bottom:none;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 -4px 12px rgba(0,0,0,.3)}.custom-select.open .custom-select-trigger{border-color:var(--accent-primary)}.custom-select.open:has(.dropdown-up) .custom-select-trigger{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.custom-select.open:not(:has(.dropdown-up)) .custom-select-trigger{border-bottom-left-radius:0;border-bottom-right-radius:0}.custom-select-option{padding:.75rem 1rem;color:var(--text-primary);font-size:.9375rem;cursor:pointer;transition:all .15s ease;border-bottom:1px solid var(--border-color)}.custom-select-option:last-child{border-bottom:none}.custom-select-option:hover{background:var(--bg-hover);color:var(--accent-primary)}.custom-select-option.selected{background:rgba(59,130,246,.1);color:var(--accent-primary);font-weight:500}.custom-select-option.selected:before{content:"✓ ";margin-right:.5rem}.custom-select-dropdown::-webkit-scrollbar{width:6px}.custom-select-dropdown::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.custom-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.custom-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.custom-select-dropdown:not(.dropdown-up){animation:slideDown .2s ease}.custom-select-dropdown.dropdown-up{animation:slideUp .2s ease}.custom-select-wrapper.small .custom-select-trigger{padding:.5rem .75rem;font-size:.875rem;min-height:36px}.custom-select-wrapper.small .custom-select-option{padding:.5rem .75rem;font-size:.875rem}.custom-select-wrapper.disabled{opacity:.5;pointer-events:none}.custom-select-wrapper.disabled .custom-select-trigger{cursor:not-allowed;background:var(--bg-tertiary)}.custom-select,.custom-select-wrapper{display:block;width:100%}.custom-select-trigger{width:100%;box-sizing:border-box}.custom-select-trigger .select-arrow,.custom-select-trigger>*{pointer-events:none}.custom-select,.custom-select-wrapper{position:relative;min-height:44px}.custom-select-trigger{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;gap:.75rem!important;padding:.75rem 1rem!important;box-sizing:border-box!important;z-index:2!important;background:var(--bg-secondary)!important}.custom-select-dropdown{z-index:1050}.custom-select-dropdown--portal{position:fixed;max-height:250px;z-index:9999}.icon-picker-container{position:relative;width:100%}.icon-picker-container .form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.icon-picker-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9375rem;cursor:pointer;transition:all .2s ease}.icon-picker-trigger:hover{border-color:var(--primary-color);background:var(--background-light)}.icon-picker-trigger:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(52,152,219,.1)}.icon-picker-trigger>i:first-child{font-size:1.125rem;color:var(--primary-color);flex-shrink:0}.icon-picker-trigger>span{flex:1 1;text-align:left}.icon-picker-trigger .chevron-icon{font-size:.75rem;color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0}.icon-picker-overlay{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;max-height:300px;overflow-y:auto;animation:fadeIn .15s ease}.icon-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));grid-gap:.375rem;gap:.375rem;padding:.75rem}.icon-picker-grid .icon-option{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:1.125rem;color:var(--text-primary)}.icon-picker-grid .icon-option:hover{background:var(--background-light);border-color:var(--primary-color);transform:scale(1.05)}.icon-picker-grid .icon-option.selected{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.icon-picker-overlay::-webkit-scrollbar{width:8px}.icon-picker-overlay::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:0 8px 8px 0}.icon-picker-overlay::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.icon-picker-overlay::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.color-picker-trigger>i:first-child{font-size:1.25rem}.color-option{position:relative}.color-option i{font-size:1.5rem;transition:transform .2s ease}.color-option:hover i{transform:scale(1.15)}.color-option.selected:after{content:"\f00c";font-family:Font Awesome\ 5 Free;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.875rem;text-shadow:0 0 3px rgba(0,0,0,.5);pointer-events:none}@media (max-width:768px){.icon-picker-overlay{max-height:250px}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr))}.icon-picker-grid .icon-option{width:38px;height:38px;font-size:1rem}.color-option i{font-size:1.25rem}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%)}.auth-box{background:var(--bg-secondary);border-radius:16px;padding:40px;width:100%;max-width:450px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:slideUp .5s ease-out}.logo{text-align:center;margin-bottom:30px}.logo-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-light));border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;box-shadow:var(--shadow-md);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.logo h1{font-size:2rem;margin-bottom:8px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-secondary);font-size:.9rem}.auth-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid var(--border-color)}.tab-button{flex:1 1;padding:12px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px}.tab-button,.tab-button i{font-size:1rem}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent-primary)}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--accent-primary);animation:expandWidth .4s cubic-bezier(.4,0,.2,1)}@keyframes expandWidth{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.auth-form{display:none;opacity:0;transform:translateY(20px)}.auth-form.active{display:block;animation:slideInUp .5s cubic-bezier(.4,0,.2,1) forwards}.auth-closed-notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin-bottom:18px;border-radius:10px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:var(--text-secondary)}.auth-closed-notice i{color:#ef4444;font-size:1rem;margin-top:2px}.auth-closed-notice strong{display:block;color:var(--text-primary);font-size:.92rem;margin-bottom:2px}.auth-closed-notice p{margin:0;font-size:.82rem;line-height:1.4}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center;gap:6px}.form-group label i{color:var(--accent-primary)}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .input-icon{position:absolute;left:16px;color:var(--text-muted);pointer-events:none;transition:var(--transition)}.input-with-icon input{width:100%;padding:12px 16px 12px 45px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:var(--transition)}.input-with-icon input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input-with-icon input:focus~.input-icon{color:var(--accent-primary)}.input-with-icon .input-icon.match{color:var(--success-color)}.input-with-icon .input-icon.no-match{color:var(--error-color)}.auth-box--center{text-align:center}.logo-icon--amber{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.maintenance-icon{font-size:3rem;color:#f59e0b;margin-bottom:16px;display:block}.maintenance-title{font-size:1.3rem;color:var(--text-primary);margin-bottom:12px}.maintenance-text{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.input-with-icon input::placeholder{color:var(--text-muted)}.toggle-password{font-size:1rem;position:absolute;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:var(--transition);border-radius:4px;z-index:2}.toggle-password:hover{color:var(--accent-primary);background:rgba(59,130,246,.1)}.toggle-password i{font-size:1rem}.password-strength{margin-top:8px;opacity:0;transition:opacity .3s ease;height:0;overflow:hidden}.password-strength.visible{opacity:1;height:auto}.strength-bar{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden;margin-bottom:4px}.strength-bar-fill{height:100%;width:0;transition:all .3s ease;border-radius:2px}.strength-bar-fill.weak{width:33%;background:#ef4444}.strength-bar-fill.medium{width:66%;background:#f59e0b}.strength-bar-fill.strong{width:100%;background:#22c55e}.strength-text{font-size:.75rem;color:var(--text-muted)}.strength-text.weak{color:var(--error-color)}.strength-text.medium{color:#f59e0b}.strength-text.strong{color:var(--success-color)}.confirm-password-status{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.78rem;transition:all .3s ease}.confirm-password-status.match{color:#22c55e}.confirm-password-status.no-match{color:#ef4444}.confirm-password-status i{font-size:.78rem}.auth-options{justify-content:space-between;margin-bottom:20px;font-size:.85rem}.auth-options,.remember-me{display:flex;align-items:center}.remember-me{gap:8px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.remember-me input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer;border-radius:4px}.remember-me span{font-size:.85rem}.forgot-password-link{color:var(--accent-primary);text-decoration:none;font-size:.85rem;transition:color .2s ease}.forgot-password-link:hover{color:var(--accent-light);text-decoration:underline}.btn-text-visible{display:inline}.btn-text-hidden{display:none}.btn-full{width:100%}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-24{margin-bottom:24px}.auth-box-centered{text-align:center}.auth-section{margin-bottom:24px}.auth-heading{font-size:1.2rem;color:var(--text-primary);text-align:center}.auth-heading-lg{font-size:1.3rem;color:var(--text-primary)}.auth-subtitle{text-align:center;line-height:1.5}.auth-body-text,.auth-subtitle{color:var(--text-secondary);font-size:.85rem}.auth-body-text{line-height:1.6}.auth-body-text-md{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.auth-emphasis{color:var(--text-primary)}.auth-status-icon{font-size:3rem;margin-bottom:16px}.auth-status-icon-success{color:var(--success-color,#22c55e)}.auth-status-icon-error{color:#ef4444}.auth-status-icon-accent{color:var(--accent-primary)}.logo-icon-error{background:linear-gradient(135deg,#ef4444,#f87171)}.password-hint{font-size:.7rem;color:var(--text-muted);margin-left:8px}.btn-mb-12{margin-bottom:12px}.btn-mb-16{margin-bottom:16px}.welcome-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%);display:flex;display:-moz-flex;flex-direction:column;-moz-flex-direction:column;justify-content:center;-webkit-justify-content:center;-moz-justify-content:center;align-items:center;-webkit-align-items:center;-moz-align-items:center;z-index:10000;opacity:1;transition:opacity .6s ease-out}.welcome-overlay.hidden{opacity:0;pointer-events:none}.welcome-content{text-align:center;color:var(--text-primary)}.welcome-icon{width:120px;height:120px;margin:0 auto 30px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-light));border-radius:30px;display:flex;display:-moz-flex;flex-direction:column;-moz-flex-direction:column;justify-content:center;-webkit-justify-content:center;-moz-justify-content:center;align-items:center;-webkit-align-items:center;-moz-align-items:center;font-size:3.5rem;color:#fff;box-shadow:0 10px 40px rgba(0,0,0,.3);will-change:transform,opacity;transform:translateZ(0);opacity:0;transform:scale(0) rotate(-180deg)}.welcome-overlay.active .welcome-icon{animation:welcomeIconAnimation 1.5s ease-out forwards!important}@keyframes welcomeIconAnimation{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.1) rotate(10deg)}80%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.welcome-message{font-size:2.5rem;font-weight:700;margin-bottom:15px;color:var(--text-primary);opacity:0}.welcome-overlay.active .welcome-message{animation:fadeInUp .8s ease-out .3s forwards!important}.welcome-username{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--accent-primary),var(--accent-light));-webkit-background-clip:text;-moz-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-moz-text-fill-color:transparent;color:transparent;margin:20px auto;opacity:0;overflow:hidden;white-space:nowrap;border-right:3px solid var(--accent-primary);max-width:fit-content;max-width:-moz-fit-content;max-width:-webkit-fit-content;width:0}.welcome-overlay.active .welcome-username{animation:typeWriter 1.5s steps(30) .8s forwards,fadeIn .5s ease-out .8s forwards!important}@keyframes typeWriter{0%{width:0}to{width:100%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.welcome-subtitle{font-size:1.3rem;color:var(--text-secondary);font-weight:400;opacity:0}.welcome-overlay.active .welcome-subtitle{animation:fadeInUp .8s ease-out 2.5s forwards!important}.welcome-loader{margin-top:40px;opacity:0}.welcome-overlay.active .welcome-loader{animation:fadeIn .5s ease-out 3s forwards!important}.welcome-spinner{width:60px;height:60px;margin:0 auto;border-radius:50%;position:relative;animation:spin 1.2s linear infinite}.welcome-spinner:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;border-color:#3b82f6 #2563eb transparent transparent;border-style:solid;border-width:4px}.welcome-spinner:after{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border-radius:50%;border-color:#60a5fa transparent transparent #93c5fd;border-style:solid;border-width:3px;animation:spin .8s linear infinite reverse}.welcome-overlay.welcome-back .welcome-message{font-size:2rem}.welcome-overlay.welcome-back.active .welcome-icon{animation:welcomeBackIcon 1s ease-out forwards!important}@keyframes welcomeBackIcon{0%{transform:translateY(-100px);opacity:0}60%{transform:translateY(10px)}80%{transform:translateY(-5px)}to{transform:translateY(0);opacity:1}}.welcome-overlay.fade-out{animation:fadeOutScale .8s ease-out forwards}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@media (max-width:768px){.welcome-content{width:100%;display:flex;display:-webkit-flex;flex-direction:column;align-items:center;-webkit-align-items:center}.welcome-icon{width:90px;height:90px;font-size:2.5rem;border-radius:22px}.welcome-message{font-size:1.8rem}.welcome-username{font-size:2rem}.welcome-subtitle{font-size:1rem;padding:0 20px}}@media (max-width:480px){.welcome-icon{width:72px;height:72px;font-size:2rem;border-radius:18px}.welcome-message{font-size:1.5rem}.welcome-username{font-size:1.5rem;margin-left:auto;margin-right:auto;text-align:center;max-width:90vw;white-space:normal;width:auto!important;border-right:none}.welcome-subtitle{font-size:.9rem}.welcome-content{width:100%;padding:0 16px;display:flex;display:-webkit-flex;flex-direction:column;align-items:center;-webkit-align-items:center}}.dashboard-container{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-template-rows:70px 1fr;height:100vh;overflow-x:hidden}.dashboard-container:not(:has(.sidebar)){grid-template-columns:1fr}.dashboard-header{grid-column:1/-1;background:rgba(12,18,34,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border-color);padding:0 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);min-height:70px;position:-webkit-sticky;position:sticky;top:0;z-index:1300}.header-left{flex-shrink:1;min-width:0;margin-right:20px}.header-left h1{font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{gap:20px;flex-shrink:0;margin-left:auto}.header-right,.user-info{display:flex;align-items:center}.user-info{color:var(--text-primary);font-size:.95rem;gap:8px;font-weight:500;line-height:1}.user-info i.fa-user-circle{font-size:1.3rem;color:var(--accent-primary);display:flex;align-items:center}.user-info i.fa-circle-notch,.user-info svg.lucide-loader,.user-info svg.lucide-loader-circle{font-size:1rem;color:var(--accent-primary);display:flex;align-items:center}.user-info span{line-height:1.3rem}.user-actions{gap:6px;padding-left:12px;border-left:1px solid var(--border-color)}.btn-icon,.user-actions{display:flex;align-items:center}.btn-icon{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:var(--transition);justify-content:center;font-size:1.1rem}.btn-icon:hover{background:var(--bg-hover);color:var(--accent-primary)}.btn-icon.active{background:var(--accent-primary);color:#fff}.btn-icon.active:hover{background:var(--accent-primary-dark)}.btn-notif--subscribed{color:#22c55e!important}.btn-logout{color:var(--text-secondary)}.btn-logout:hover{color:var(--error-color);background:rgba(239,68,68,.1)}.main-content{min-width:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;background:var(--bg-primary);padding:30px}.main-content:has(.message-content){padding:0;overflow:hidden;height:calc(100vh - 70px)}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:20px;gap:20px;margin-bottom:20px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px;transition:var(--transition)}@media (hover:hover){.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-primary)}}.stat-icon{font-size:2.5rem}.stat-icon i{color:var(--accent-primary)}.stat-label{color:var(--text-secondary);font-size:.9rem;margin-bottom:4px}.stat-value{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.controls-section{display:flex;gap:15px;margin-bottom:20px}.search-bar{flex:1 1;position:relative}.search-bar input{width:100%;padding:12px 16px 12px 40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:var(--transition)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-bar input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft)}.loading{text-align:center;color:var(--text-secondary);padding:40px;font-size:1.1rem}.user-avatar-circle{width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0}.header-mobile-actions,.mobile-only{display:none!important}.desktop-only{display:flex!important}.mobile-bottom-bar{display:none}@media (max-width:768px){.mobile-only{display:flex!important}.desktop-only{display:none!important}.header-mobile-actions{display:flex!important;align-items:center;gap:10px;margin-left:auto}.user-panel-mobile{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px}.user-panel-mobile .user-avatar-circle{width:28px;height:28px;font-size:.8rem}.user-name-mobile{font-size:.85rem;font-weight:500;color:var(--text-primary);max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-toggle-sidebar{position:relative;width:40px;height:40px;padding:0;line-height:1;font-size:1.1rem;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);display:flex;align-items:center;justify-content:center;z-index:1250;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.btn-toggle-sidebar i{display:block;line-height:1;width:1em;text-align:center;transform:none}.btn-toggle-sidebar:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.btn-toggle-sidebar:active{transform:scale(.94)}.btn-toggle-sidebar.active{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:none}.ws-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ws-dot.online{background:var(--success);box-shadow:0 0 6px rgba(34,197,94,.5)}.ws-dot.offline{background:var(--text-muted)}.mobile-bottom-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1100;background:rgba(12,18,34,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--border-color);padding:10px 0 calc(12px + env(safe-area-inset-bottom, 0px));justify-content:space-around;align-items:center}.bottom-bar-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 16px;background:none;border:none;color:var(--text-muted);font-size:.65rem;cursor:pointer;transition:var(--transition);border-radius:var(--radius-xs);min-width:60px}.bottom-bar-item i,.bottom-bar-item svg.lucide{font-size:1.55rem;width:1.55rem;height:1.55rem}.bottom-bar-item span{font-weight:500}.bottom-bar-item:active{transform:scale(.92)}.bottom-bar-item.active{color:var(--accent-primary)}.bottom-bar-icon-wrapper{position:relative}.bottom-bar-badge,.bottom-bar-icon-wrapper{display:flex;align-items:center;justify-content:center}.bottom-bar-badge{position:absolute;top:-6px;right:-10px;background:var(--error);color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:8px;line-height:1}.main-content{padding-bottom:calc(75px + env(safe-area-inset-bottom, 0px))}.main-content:has(.message-content){height:calc(100vh - 60px - 70px - env(safe-area-inset-bottom, 0px));height:calc(100dvh - 60px - 70px - env(safe-area-inset-bottom, 0px));padding-bottom:0;overflow:hidden}.main-content:has(.message-content) .message-content{height:100%;padding-bottom:0}.main-content:has(.map-root){padding:0;overflow:hidden;height:calc(100vh - 60px - 75px - env(safe-area-inset-bottom, 0px));height:calc(100dvh - 60px - 75px - env(safe-area-inset-bottom, 0px))}.main-content.mobile-hidden{display:none!important}}.draggable-list{display:flex;flex-direction:column;gap:8px}.draggable-list__item{-moz-user-select:none;user-select:none;-webkit-user-select:none}.draggable-list.is-dragging .draggable-list__item,.draggable-list.is-dragging .draggable-list__item *{transition:none!important}.draggable-list.is-dragging .stat-card-item:hover{background:var(--surface-dark)!important;border-color:var(--border-color)!important;transform:none!important}.draggable-list__drop-bar{height:3px;border-radius:2px;background:var(--accent-primary);margin:2px 4px}.dashboard-initial-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary);color:var(--text-muted)}.dashboard-initial-loading .lucide{width:32px;height:32px;opacity:.6}.load-error-screen{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-primary)}.load-error-content{text-align:center;color:var(--text-secondary)}.load-error-icon{font-size:2rem;opacity:.4;display:block}.load-error-icon,.load-error-text{margin-bottom:16px}.logs-section{border-radius:12px}.ws-status-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);transition:all .3s ease}.ws-status-indicator i{font-size:.9rem}.logs-container{min-height:300px}.log-item{padding:15px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;cursor:pointer;position:relative}.log-item,.log-item:after{transition:var(--transition)}.log-item:after{content:"\f06e";font-family:Font Awesome\ 5 Free;font-weight:900;position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--text-muted);opacity:0;font-size:1.2rem}@media (hover:hover){.log-item:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:translateX(2px)}.log-item:hover:after{opacity:1}}.log-item:active{transform:scale(.99)}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.log-type-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;margin-right:12px;font-size:1.1rem;color:#fff!important;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:var(--transition);flex-shrink:0}.log-type-badge i{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.log-type-badge-inline{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:.8em;font-weight:600;color:#fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.3);background:linear-gradient(135deg,#3b82f605,#00000073)}.log-type-badge-inline i{font-size:.9rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.log-timestamp{color:var(--text-muted);font-size:.85rem}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:12px;min-height:300px}.access-denied i{font-size:4rem;color:var(--text-muted);margin-bottom:20px;opacity:.5}.access-denied h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:10px;font-weight:600}.access-denied p{color:var(--text-secondary);font-size:1rem;max-width:400px;line-height:1.5}.empty-state{font-size:3rem;padding:80px 20px;min-height:400px}.empty-state i{font-size:5rem;color:var(--accent-primary);margin-bottom:30px;opacity:.6}.empty-state h3{color:var(--text-primary);font-size:1.8rem;margin-bottom:15px;font-weight:600}.empty-state p{color:var(--text-secondary);font-size:1.1rem;max-width:500px;line-height:1.6}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px;padding-top:10px}.page-info{color:var(--text-secondary);font-size:.9rem}.log-data-preview{margin-top:8px;font-size:.9em;color:var(--text-secondary);line-height:1.6}.log-data-preview strong{color:var(--text-primary);font-weight:600}.json-display{background:var(--bg-secondary);padding:12px;border-radius:6px;border:1px solid var(--border-color);overflow-x:auto;font-family:Courier New,monospace;font-size:.85em;max-height:300px}.empty-data{text-align:center;padding:20px;color:var(--text-muted);font-style:italic}.action-result-modal{max-width:700px;max-height:80vh}.action-result-modal .modal-header{background:linear-gradient(135deg,var(--success) 0,var(--success-dark,#27ae60) 100%);color:#fff;padding:20px 24px;border-radius:12px 12px 0 0}.action-result-modal .modal-header h3{display:flex;align-items:center;gap:12px;margin:0;font-size:1.3rem}.action-result-modal .modal-header i{font-size:1.5rem}.action-result-content{overflow-y:auto}.result-display{display:flex;flex-direction:column;gap:16px}.result-status{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-weight:600;font-size:1rem}.result-status i{font-size:1.2rem}.status-success{background:rgba(46,213,115,.1);border:1px solid rgba(46,213,115,.3);color:#2ed573}.status-error{background:rgba(255,71,87,.1);border:1px solid rgba(255,71,87,.3);color:#ff4757}.result-status.status-info{background:rgba(52,152,219,.1);border:1px solid rgba(52,152,219,.3);color:#3498db}.result-data{gap:12px}.result-data,.result-item{display:flex;flex-direction:column}.result-item{gap:6px;padding:12px;background:var(--bg-secondary,#1e1e1e);border-radius:6px;border-left:3px solid var(--primary)}.result-value-container{display:flex;align-items:center;gap:10px;justify-content:space-between}.result-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.result-value{font-size:1rem;color:var(--text-primary);line-height:1.5;word-break:break-word}.result-value.error-text{color:#ff4757;font-weight:500}.null-value{color:var(--text-tertiary);font-style:italic}.result-raw{margin-top:8px;border:1px solid var(--border-color,#333);border-radius:6px;overflow:hidden}.result-raw summary{padding:10px 14px;background:var(--bg-secondary,#1e1e1e);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s ease}.result-raw summary:hover{background:var(--bg-tertiary,#252525);color:var(--text-primary)}.result-raw pre{margin:0;padding:14px;font-family:Courier New,monospace;font-size:.85rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;background:rgba(0,0,0,.3);border-top:1px solid var(--border-color,#333)}.result-section{margin-top:8px}.result-section-title{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;color:var(--primary);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--primary)}.result-section-title i{font-size:1rem}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:12px;gap:12px}.result-grid-item{background:var(--bg-secondary,#1e1e1e);border-radius:6px;padding:12px;border:1px solid var(--border-color,#333);transition:all .2s ease}.result-grid-value-container{display:flex;align-items:center;gap:10px;justify-content:space-between}.result-grid-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.result-grid-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.result-grid-value{font-size:1rem;color:var(--text-primary);font-weight:500;word-break:break-word}.boolean-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:.85rem;font-weight:600}.boolean-badge.true{background:rgba(46,213,115,.15);color:#2ed573}.boolean-badge.false{background:rgba(255,71,87,.15);color:#ff4757}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.online{background:rgba(46,213,115,.15);color:#2ed573}.status-badge.offline{background:hsla(184,9%,62%,.15);color:#95a5a6}.lifetime-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,rgba(142,68,173,.15),rgba(155,89,182,.15));color:#9b59b6}.number-value{font-family:Courier New,monospace;font-weight:600;color:var(--primary)}.action-result-content pre{margin:0;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}@keyframes copyMessageFade{0%{opacity:0;transform:translateY(-50%) translateX(10px)}10%{opacity:1;transform:translateY(-50%) translateX(0)}90%{opacity:1;transform:translateY(-50%) translateX(0)}to{opacity:0;transform:translateY(-50%) translateX(10px)}}.action-button{position:relative;overflow:hidden}.action-button.loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);animation:loadingShimmer 1.5s infinite}@keyframes loadingShimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.copy-btn{padding:6px 10px;background:var(--bg-tertiary,#2a2a2a);border:1px solid var(--border-color,#444);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;flex-shrink:0}.copy-btn:hover{background:var(--accent-primary,#6366f1);color:#fff;border-color:var(--accent-primary,#6366f1);transform:scale(1.05)}.copy-btn:active{transform:scale(.95)}.copy-btn i.fa-check,.copy-btn svg.lucide-check{color:#2ed573}.copy-btn i{font-size:.9rem}.stat-card--numeric{position:relative;overflow:hidden;cursor:pointer}.stat-sparkline-bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.stat-card-inner{position:relative;z-index:1;display:flex;align-items:center;gap:15px;width:100%}.sh-modal{max-width:560px!important}.sh-modal-title{display:flex!important;align-items:center!important;gap:10px!important;font-size:1.1rem!important}.sh-period-btns{display:flex;gap:6px;margin-left:auto;margin-right:12px}.sh-period-btn{padding:5px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border-color);color:var(--text-secondary);background:transparent;transition:var(--transition)}.sh-period-btn:hover{border-color:var(--accent-primary);color:var(--text-primary)}.sh-period-btn--active{color:#fff!important}.sh-current{margin-bottom:20px}.sh-current-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:6px}.sh-variation{font-size:.875rem;font-weight:600}.sh-variation--up{color:#10b981}.sh-variation--down{color:#ef4444}.sh-variation-label{font-weight:400;color:var(--text-secondary)}.sh-stats-row{display:flex;gap:10px;margin-bottom:20px}.sh-stat-chip{flex:1 1;display:flex;flex-direction:column;gap:3px;background:var(--bg-tertiary,var(--bg-secondary));border:1px solid var(--border-color);border-radius:8px;padding:10px 14px}.sh-stat-label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.sh-stat-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.sh-stat-value--min{color:#ef4444}.sh-stat-value--max{color:#10b981}.sh-chart-wrap{margin:0 -4px}.sh-empty,.sh-loading{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:.9rem}.sh-tooltip{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;font-size:12px}.sh-tooltip-date{color:var(--text-secondary);margin-bottom:4px}.sh-tooltip-value{font-size:14px;font-weight:700}.spinner{border:4px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{to{opacity:1}}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:8px;color:#fff;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:9999;display:flex;align-items:center;gap:.75rem;transform:translateX(400px);opacity:0;transition:all .3s ease;max-width:400px}.toast.show{transform:translateX(0);opacity:1}.toast i{font-size:1.25rem}.btn.loading{position:relative;pointer-events:none;opacity:.7}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:3rem;color:var(--text-muted);height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state i{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:var(--text-secondary)}.empty-state p{margin:0;font-size:.9rem}.notification-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:380px;pointer-events:none}.notification-item{pointer-events:all;background:var(--bg-tertiary);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.4);overflow:hidden;cursor:pointer;animation:notificationSlideIn .3s cubic-bezier(.34,1.56,.64,1);transition:transform .2s ease,opacity .2s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.notification-item:hover{transform:translateX(-4px)}.notification-item.notification-exit{animation:notificationSlideOut .3s ease forwards}@keyframes notificationSlideIn{0%{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes notificationSlideOut{0%{transform:translateX(0) scale(1);opacity:1}to{transform:translateX(120%) scale(.9);opacity:0}}.notification-content{display:flex;align-items:center;gap:10px;padding:14px 16px;position:relative}.notification-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px}.notification-message{flex:1 1;color:var(--text-primary);font-size:.875rem;line-height:1.4;font-weight:500;word-wrap:break-word}.notification-count{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:hsla(0,0%,100%,.12);color:var(--text-primary);font-size:.75rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:transform .2s ease}.notification-count--bump{animation:notif-count-bump .3s ease-out}@keyframes notif-count-bump{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}.notification-close{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .2s ease;font-size:12px;padding:0}.notification-close:hover{background:hsla(0,0%,100%,.1);color:var(--text-primary)}.notification-progress-bar{height:3px;background:hsla(0,0%,100%,.06);overflow:hidden}.notification-progress-fill{height:100%;transition:width 50ms linear}@media (max-width:768px){.notification-container{top:8px;right:8px;left:8px;max-width:none;gap:6px}.notification-item{border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.35);animation:notificationSlideDown .25s cubic-bezier(.22,1,.36,1)}.notification-item:hover{transform:none}.notification-item.notification-exit{animation:notificationSlideUp .2s ease forwards}@keyframes notificationSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes notificationSlideUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.notification-content{padding:10px 12px;gap:8px}.notification-icon{width:18px;height:18px;font-size:14px}.notification-message{font-size:.8rem;line-height:1.3}.notification-close{width:20px;height:20px;font-size:11px}.notification-progress-bar{height:2px}}@keyframes notificationPulse{0%,to{box-shadow:0 4px 20px rgba(0,0,0,.4)}50%{box-shadow:0 4px 20px rgba(239,68,68,.5)}}.notif-settings-tabs{display:flex;gap:1rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.notif-tab-btn{background:none;padding:.75rem 1.5rem;color:var(--text-secondary);cursor:pointer;font-weight:500;border:none;border-bottom:2px solid transparent;transition:var(--transition);font-size:.95rem}.notif-tab-btn:hover{color:var(--text-primary)}.notif-tab-btn.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.notif-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:1rem;gap:1rem}.notif-project-card{background:var(--bg-secondary);padding:1rem;border-radius:var(--radius-sm);display:flex;align-items:center;gap:1rem;cursor:pointer;transition:var(--transition);border:1px solid var(--border-color)}.notif-project-card:hover{transform:translateY(-2px);border-color:var(--accent-primary);box-shadow:0 4px 12px rgba(0,0,0,.2)}.notif-project-card .project-icon{width:40px;height:40px;background:var(--accent-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0}.notif-project-card .project-info h4{margin:0;font-size:1rem;color:var(--text-primary)}.notif-project-card .manage-link{font-size:.8rem;color:var(--accent-primary);margin-top:2px;display:block}.notif-back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:0;font-size:.95rem;transition:var(--transition)}.notif-back-btn:hover{color:var(--text-primary)}@media (max-width:768px){.notif-settings-tabs{overflow-x:auto;padding-bottom:5px}.notif-tab-btn{white-space:nowrap;padding:.75rem 1rem}.notif-project-grid{grid-template-columns:1fr}}.ns-modal-body{padding:16px 20px}.ns-header-bell{margin-right:10px}.ns-global-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;margin-bottom:16px}.ns-global-toggle-left{display:flex;align-items:center;gap:10px}.ns-global-toggle-icon{font-size:.9rem}.ns-global-toggle-label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.ns-unsupported-badge{font-size:.7rem;color:var(--text-muted)}.ns-toggle-list{display:flex;flex-direction:column;gap:4px}.ns-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px}.ns-toggle-row-left{display:flex;align-items:center;gap:10px}.ns-toggle-row-icon{color:var(--accent-primary);width:16px;text-align:center;font-size:.8rem}.ns-toggle-row-label{font-size:.85rem;color:var(--text-primary)}.ns-empty-message{color:var(--text-secondary);font-size:.85rem}.ns-project-title{margin:0 0 12px;font-size:.95rem;color:var(--text-primary)}.ns-project-toggle-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ns-subsection-card-last{padding:12px 14px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-color)}.ns-subsection-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.ns-subsection-list{display:flex;flex-direction:column;gap:2px}.ns-subsection-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px}.ns-subsection-item-left{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-primary)}.ns-subsection-item-icon{width:14px;text-align:center}.onboarding-overlay-click{position:fixed;inset:0;z-index:9001;cursor:default}.onboarding-spotlight-ring{position:fixed;z-index:9002;border-radius:10px;pointer-events:none;box-shadow:0 0 0 9999px rgba(0,0,0,.72),0 0 0 2px var(--accent-primary),0 0 0 4px rgba(59,130,246,.2),0 0 24px rgba(59,130,246,.35);transition:top .26s cubic-bezier(.4,0,.2,1),left .26s cubic-bezier(.4,0,.2,1),width .26s cubic-bezier(.4,0,.2,1),height .26s cubic-bezier(.4,0,.2,1);animation:onboarding-fade-in .2s ease-out both}.onboarding-tooltip{position:fixed;z-index:9003;background:var(--bg-tertiary);border:1px solid rgba(59,130,246,.25);border-radius:14px;padding:16px 18px 14px;min-width:240px;max-width:300px;box-shadow:0 8px 32px rgba(0,0,0,.55),inset 0 0 0 1px rgba(59,130,246,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:onboarding-slide-in .22s cubic-bezier(.34,1.56,.64,1) both;pointer-events:all}.onboarding-tooltip__arrow{position:absolute;width:10px;height:10px;background:var(--bg-tertiary);border-left:1px solid rgba(59,130,246,.25);border-top:1px solid rgba(59,130,246,.25)}.onboarding-tooltip__title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:.01em}.onboarding-tooltip__text{font-size:13px;color:var(--text-secondary);line-height:1.55;margin-bottom:14px}.onboarding-tooltip__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.onboarding-tooltip__skip{background:transparent;border:none;color:var(--text-muted);font-size:12px;cursor:pointer;padding:4px 2px;transition:color .15s;flex-shrink:0}.onboarding-tooltip__skip:hover{color:var(--text-secondary)}.onboarding-tooltip__next{background:var(--accent-primary);border:none;color:#fff;font-size:13px;font-weight:600;padding:8px 18px;border-radius:8px;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.onboarding-tooltip__next:hover{background:var(--accent-hover)}.onboarding-tooltip__next:active{transform:scale(.97)}.onboarding-progress{display:flex;justify-content:center;gap:5px;margin-top:12px}.onboarding-progress__dot{height:4px;border-radius:2px;background:var(--bg-hover);transition:width .22s ease,background .22s ease}.onboarding-progress__dot--active{width:18px;background:var(--accent-primary)}.onboarding-progress__dot--inactive{width:6px}.onboarding-fullscreen{position:fixed;inset:0;z-index:9010;background:linear-gradient(160deg,var(--bg-primary) 0,var(--bg-secondary) 60%,var(--bg-primary) 100%);justify-content:center;padding:24px 20px;text-align:center;animation:onboarding-fade-in .28s ease-out both}.onboarding-fullscreen,.onboarding-fullscreen__card{display:flex;flex-direction:column;align-items:center}.onboarding-fullscreen__card{background:var(--bg-tertiary);border:1px solid rgba(59,130,246,.15);border-radius:20px;padding:32px 28px 28px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 0 0 1px rgba(59,130,246,.06)}.onboarding-fullscreen__icon{font-size:44px;margin-bottom:18px;line-height:1}.onboarding-fullscreen__title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.01em}.onboarding-fullscreen__subtitle{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:22px;max-width:300px}.onboarding-fullscreen__steps{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:4px 0;width:100%;text-align:left;margin-bottom:22px}.onboarding-fullscreen__step{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--text-secondary);padding:10px 16px;border-bottom:1px solid var(--border-color);line-height:1.45}.onboarding-fullscreen__step:last-child{border-bottom:none}.onboarding-fullscreen__step-num{color:var(--accent-primary);font-weight:700;font-size:13px;width:18px;flex-shrink:0;padding-top:1px}.onboarding-fullscreen__actions{display:flex;gap:10px;width:100%}.onboarding-fullscreen__later{flex:1 1;background:transparent;border:1px solid rgba(59,130,246,.18);color:var(--text-muted);font-size:13px;padding:11px;border-radius:10px;cursor:pointer;transition:border-color .15s,color .15s}.onboarding-fullscreen__later:hover{border-color:rgba(59,130,246,.35);color:var(--text-secondary)}.onboarding-fullscreen__done{flex:2 1;background:var(--accent-primary);border:none;color:#fff;font-size:13px;font-weight:600;padding:11px;border-radius:10px;cursor:pointer;transition:background .15s,transform .1s}.onboarding-fullscreen__done:hover{background:var(--accent-hover)}.onboarding-fullscreen__done:active{transform:scale(.98)}.onboarding-fullscreen__done--notifications{background:var(--success-color)}.onboarding-fullscreen__done--notifications:hover{background:#16a34a}.onboarding-fullscreen__done--notifications:disabled,.onboarding-fullscreen__done:disabled{opacity:.55;cursor:not-allowed;transform:none}@keyframes onboarding-fade-in{0%{opacity:0}to{opacity:1}}@keyframes onboarding-slide-in{0%{opacity:0;transform:scale(.92) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.onboarding-progress--mb{margin-bottom:18px}.onboarding-error-hint{color:var(--error-color);font-size:12px;margin-bottom:12px}@media (max-width:768px){.onboarding-tooltip{min-width:0;max-width:calc(100vw - 24px);left:12px!important;right:12px!important;width:auto;padding:14px 16px 12px}.onboarding-fullscreen{justify-content:flex-end;padding:16px 16px calc(20px + env(safe-area-inset-bottom, 0px))}.onboarding-fullscreen__card{padding:24px 20px 20px;border-radius:16px;max-width:100%}.onboarding-fullscreen__title{font-size:18px}.onboarding-fullscreen__icon{font-size:38px;margin-bottom:14px}}@media (max-width:380px){.onboarding-tooltip__next{padding:7px 12px;font-size:12px}}