:root{--color-slate-900: #0f172a;--color-gray-800: #1e293b;--color-gray-700: #374151;--color-gray-400: #9ca3af;--color-gray-300: #d1d5db;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--color-blue-500: #3b82f6;--color-blue-400: #60a5fa;--color-blue-300: #93c5fd;--color-white: white;--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #f8fafc;--bg-form: #f8fafc;--bg-sidebar: #f8f9fa;--bg-hover: #f1f5f9;--text-primary: #222222;--text-secondary: #6c757d;--text-muted: #9ca3af;--text-on-color: #ffffff;--border-color: #dee2e6;--border-light: #e5e7eb;--accent-primary: #0d6efd;--accent-primary-alpha: rgba(13, 110, 253, .1);--accent-hover: #155a9c;--sidebar-active-bg: #e7f1ff;--error-color: #ef4444;--error-color-rgb: 239, 68, 68;--error-color-alpha-10: rgba(239, 68, 68, .1);--error-color-alpha-15: rgba(239, 68, 68, .15);--error-color-alpha-20: rgba(239, 68, 68, .2);--danger-color: var(--error-color);--success-color: #22c55e;--success-color-rgb: 34, 197, 94;--success-hover: #16a34a;--warning-color: #f59e0b;--warning-color-rgb: 245, 158, 11;--warning-color-alpha: rgba(245, 158, 11, .25);--warning-color-alpha-light: rgba(245, 158, 11, .15);--info-color: #3b82f6;--info-color-rgb: 59, 130, 246;--error-hover: #dc2626;--placeholder-text: #999999;--link-color: #0d6efd;--link-hover-color: #155a9c;--scrollbar-thumb: #cbd5e0;--scrollbar-thumb-hover: #9ca3af;--modal-backdrop: rgba(0, 0, 0, .75);--primary-color: var(--accent-primary);--primary-color-alpha: rgba(13, 110, 253, .1);--primary-color-alpha-15: rgba(13, 110, 253, .15);--primary-color-alpha-20: rgba(13, 110, 253, .2);--text-placeholder: var(--placeholder-text);--kbd-bg: rgba(128, 128, 128, .2);--error-bg: rgba(239, 68, 68, .1);--auto-detect-color: var(--error-color);--user-tag-color: var(--warning-color);--marker-tag-color: #8b5cf6;--shadow-color: rgba(0, 0, 0, .12);--shadow-color-medium: rgba(0, 0, 0, .2);--shadow-color-heavy: rgba(0, 0, 0, .4);--badge-info: #60a5fa;--badge-info-text: #ffffff;--badge-info-rgb: 96, 165, 250;--badge-low: #64748b;--badge-low-text: #ffffff;--badge-low-rgb: 100, 116, 139;--badge-medium: #f97316;--badge-medium-text: #ffffff;--badge-medium-rgb: 249, 115, 22;--badge-high: #ef4444;--badge-high-text: #ffffff;--badge-high-rgb: 239, 68, 68;--badge-code: #6b7280;--badge-code-text: #ffffff;--badge-cel: var(--badge-medium);--badge-cel-text: var(--badge-medium-text);--protocol-request: #3b82f6;--protocol-request-bg: rgba(59, 130, 246, .1);--protocol-response: #22c55e;--protocol-response-bg: rgba(34, 197, 94, .1);--protocol-meta: #9ca3af;--protocol-meta-bg: rgba(156, 163, 175, .1);--protocol-status: #f59e0b;--protocol-status-bg: rgba(245, 158, 11, .1);--protocol-poweron: #8b5cf6;--protocol-poweron-bg: rgba(139, 92, 246, .1);--protocol-command: #06b6d4;--protocol-command-bg: rgba(6, 182, 212, .1);--protocol-error: #ef4444;--protocol-error-bg: rgba(239, 68, 68, .1);--packet-viewer-hex: #fb923c;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--spacing-5xl: 5rem;--app-main-padding-top: 1.125rem;--text-h1: 2.25rem;--text-h2: 1.875rem;--text-h3: 1.5rem;--text-h4: 1.25rem;--text-h5: 1.125rem;--text-h6: 1rem;--text-base: .875rem;--text-lg: 1rem;--text-sm: .8rem;--text-xs: .75rem;--text-xl: 1.125rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--font-display: "Outfit Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--shadow-accent-sm: 0 2px 8px rgba(13, 110, 253, .15);--shadow-accent-md: 0 4px 12px rgba(13, 110, 253, .2);--shadow-accent-lg: 0 8px 20px rgba(13, 110, 253, .3);--shadow-accent-xl: 0 12px 24px rgba(13, 110, 253, .4);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--breakpoint-xs: 0px;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--breakpoint-xxl: 1400px;--breakpoint-sm-max: 575.98px;--breakpoint-md-max: 767.98px;--breakpoint-lg-max: 991.98px;--breakpoint-xl-max: 1199.98px;--breakpoint-xxl-max: 1399.98px;--bs-body-bg: var(--bg-primary);--bs-body-color: var(--text-primary);--bs-border-color: var(--border-color);--bs-border-color-translucent: var(--border-light);--bs-primary: var(--accent-primary);--bs-primary-rgb: 13, 110, 253;--bs-secondary: var(--text-secondary);--bs-secondary-color: var(--placeholder-text);--bs-success: var(--success-color);--bs-danger: var(--error-color);--bs-warning: var(--warning-color);--bs-link-color: var(--link-color);--bs-link-hover-color: var(--link-hover-color);--bs-link-color-rgb: 13, 110, 253;--bs-link-opacity: 1;--bs-tertiary-bg: rgba(0, 0, 0, .05);--bs-info-text-emphasis: var(--accent-primary);--bs-info-bg-subtle: rgba(13, 110, 253, .1);--bs-info-border-subtle: rgba(13, 110, 253, .25);--bs-success-text-emphasis: var(--success-color);--bs-success-bg-subtle: rgba(34, 197, 94, .1);--bs-success-border-subtle: rgba(34, 197, 94, .25);--bs-warning-text-emphasis: var(--warning-color);--bs-warning-bg-subtle: rgba(245, 158, 11, .1);--bs-warning-border-subtle: rgba(245, 158, 11, .25);--bs-danger-text-emphasis: var(--error-color);--bs-danger-bg-subtle: rgba(239, 68, 68, .1);--bs-danger-border-subtle: rgba(239, 68, 68, .25)}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-form: #334155;--bg-tertiary: #283548;--bg-sidebar: #1a202c;--bg-hover: #334155;--text-primary: #e2e8f0;--text-secondary: #cbd5e0;--text-muted: #a0aec0;--text-on-color: #ffffff;--border-color: #2d3748;--border-light: #374151;--accent-primary: #60a5fa;--accent-hover: #93c5fd;--sidebar-active-bg: #2d3748;--error-color: #ef4444;--error-color-rgb: 239, 68, 68;--error-color-alpha-10: rgba(239, 68, 68, .1);--error-color-alpha-15: rgba(239, 68, 68, .15);--error-color-alpha-20: rgba(239, 68, 68, .2);--error-hover: #dc2626;--danger-color: var(--error-color);--success-color: #22c55e;--success-color-rgb: 34, 197, 94;--success-hover: #16a34a;--warning-color: #f59e0b;--warning-color-rgb: 245, 158, 11;--placeholder-text: #718096;--link-color: #7dd3fc;--link-hover-color: #38bdf8;--scrollbar-thumb: #4a5568;--scrollbar-thumb-hover: #718096;--primary-color: var(--accent-primary);--primary-color-alpha: rgba(96, 165, 250, .15);--primary-color-alpha-15: rgba(96, 165, 250, .2);--primary-color-alpha-20: rgba(96, 165, 250, .25);--text-placeholder: var(--placeholder-text);--kbd-bg: rgba(255, 255, 255, .1);--error-bg: rgba(239, 68, 68, .15);--auto-detect-color: var(--error-color);--user-tag-color: var(--warning-color);--marker-tag-color: #a78bfa;--shadow-color: rgba(0, 0, 0, .25);--shadow-color-medium: rgba(0, 0, 0, .4);--shadow-color-heavy: rgba(0, 0, 0, .6);--badge-info: #60a5fa;--badge-info-text: #ffffff;--badge-info-rgb: 96, 165, 250;--badge-low: #64748b;--badge-low-text: #ffffff;--badge-low-rgb: 100, 116, 139;--badge-medium: #f97316;--badge-medium-text: #ffffff;--badge-medium-rgb: 249, 115, 22;--badge-high: #ef4444;--badge-high-text: #ffffff;--badge-high-rgb: 239, 68, 68;--badge-code: #6b7280;--badge-code-text: #ffffff;--badge-cel: var(--badge-medium);--badge-cel-text: var(--badge-medium-text);--protocol-request: #60a5fa;--protocol-request-bg: rgba(96, 165, 250, .15);--protocol-response: #34d399;--protocol-response-bg: rgba(52, 211, 153, .15);--protocol-meta: #9ca3af;--protocol-meta-bg: rgba(156, 163, 175, .15);--protocol-status: #fbbf24;--protocol-status-bg: rgba(251, 191, 36, .15);--protocol-poweron: #a78bfa;--protocol-poweron-bg: rgba(167, 139, 250, .15);--protocol-command: #22d3ee;--protocol-command-bg: rgba(34, 211, 238, .15);--protocol-error: #f87171;--protocol-error-bg: rgba(248, 113, 113, .15);--packet-viewer-hex: #fdba74;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .8);--shadow-accent-sm: 0 2px 8px rgba(96, 165, 250, .2);--shadow-accent-md: 0 4px 12px rgba(96, 165, 250, .25);--shadow-accent-lg: 0 8px 20px rgba(96, 165, 250, .35);--shadow-accent-xl: 0 12px 24px rgba(96, 165, 250, .45);--bs-body-bg: var(--bg-primary);--bs-body-color: var(--text-primary);--bs-border-color: var(--border-color);--bs-border-color-translucent: var(--border-light);--bs-primary: var(--accent-primary);--bs-primary-rgb: 96, 165, 250;--bs-secondary: var(--text-secondary);--bs-secondary-color: var(--placeholder-text);--bs-success: var(--success-color);--bs-danger: var(--error-color);--bs-warning: var(--warning-color);--bs-link-color: var(--link-color);--bs-link-hover-color: var(--link-hover-color);--bs-link-color-rgb: 125, 211, 252;--bs-link-opacity: 1;--bs-tertiary-bg: rgba(255, 255, 255, .05);--bs-info-text-emphasis: var(--accent-primary);--bs-info-bg-subtle: rgba(96, 165, 250, .15);--bs-info-border-subtle: rgba(96, 165, 250, .3);--bs-success-text-emphasis: var(--success-color);--bs-success-bg-subtle: rgba(34, 197, 94, .15);--bs-success-border-subtle: rgba(34, 197, 94, .3);--bs-warning-text-emphasis: var(--warning-color);--bs-warning-bg-subtle: rgba(245, 158, 11, .15);--bs-warning-border-subtle: rgba(245, 158, 11, .3);--bs-danger-text-emphasis: var(--error-color);--bs-danger-bg-subtle: rgba(239, 68, 68, .15);--bs-danger-border-subtle: rgba(239, 68, 68, .3)}[data-theme=dark] .form-check-input{background-color:var(--bg-form);border-color:var(--border-color)}[data-theme=dark] .form-check-input:checked{background-color:var(--accent-primary);border-color:var(--accent-primary)}[data-theme=dark] .form-check-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .25rem var(--primary-color-alpha)}[data-theme=dark] .form-check-label{color:var(--text-primary)}[data-theme=dark] .form-range::-webkit-slider-runnable-track{background-color:var(--bg-form)}[data-theme=dark] .form-range::-moz-range-track{background-color:var(--bg-form)}[data-theme=dark] .form-range::-webkit-slider-thumb{background-color:var(--accent-primary);border-color:var(--accent-primary)}[data-theme=dark] .form-range::-moz-range-thumb{background-color:var(--accent-primary);border-color:var(--accent-primary)}.device-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--link-color)}.device-link:hover{color:var(--link-hover-color);text-decoration:none}.car-link{text-decoration:none;color:var(--link-color)}.car-link:hover{color:var(--link-hover-color);text-decoration:none}.toggleable-section-header{background-color:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:background-color .2s ease}.toggleable-section-header:hover{background-color:var(--sidebar-active-bg)}.rich-text-value-badge{display:inline-block;padding:.15em .4em;border-radius:var(--radius-sm);font-family:monospace;font-size:.95em;font-weight:var(--font-weight-medium);background-color:var(--bg-form);white-space:nowrap;vertical-align:baseline;line-height:1;box-shadow:var(--shadow-xs)}.modal-content{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.modal-header{border-bottom-color:var(--border-color)}.modal-footer{border-top-color:var(--border-color)}.modal-title{color:var(--text-primary)}.btn-close{filter:var(--bs-btn-close-filter, invert(1) grayscale(100%) brightness(200%))}[data-theme=dark] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}.form-control,.form-select{background-color:var(--bg-form);border-color:var(--border-color);color:var(--text-primary)}.form-control:focus,.form-select:focus{background-color:var(--bg-form);border-color:var(--accent-primary);color:var(--text-primary);box-shadow:0 0 0 .25rem var(--primary-color-alpha)}.form-control::placeholder{color:var(--text-placeholder)}.form-label{color:var(--text-primary)}.form-text{color:var(--text-muted)}.nav-tabs{border-bottom-color:var(--border-color)}.nav-tabs .nav-link{color:var(--text-secondary)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:var(--border-light) var(--border-light) var(--border-color);color:var(--text-primary)}.nav-tabs .nav-link.active{background-color:var(--bg-secondary);border-color:var(--border-color) var(--border-color) var(--bg-secondary);color:var(--text-primary)}.btn-outline-secondary{background-color:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-secondary)!important}.btn-outline-secondary:hover{background-color:var(--bg-primary)!important;border-color:var(--accent-primary)!important;color:var(--accent-primary)!important}.btn-outline-info{background-color:var(--bg-secondary)!important;border-color:var(--info-color)!important;color:var(--info-color)!important}.btn-outline-info:hover{background-color:var(--info-color)!important;border-color:var(--info-color)!important;color:var(--color-white)!important}.tooltip{--bs-tooltip-bg: var(--bg-secondary);--bs-tooltip-color: var(--text-primary);--bs-tooltip-opacity: 1;z-index:1070}.tooltip .tooltip-inner{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 .125rem .25rem #0000001a;font-size:.75rem;max-width:200px;padding:.375rem .75rem}.tooltip .tooltip-arrow:before{border-color:transparent}.tooltip.bs-tooltip-top .tooltip-arrow:before,.tooltip.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{border-top-color:var(--bg-secondary)}.tooltip.bs-tooltip-end .tooltip-arrow:before,.tooltip.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{border-right-color:var(--bg-secondary)}.tooltip.bs-tooltip-bottom .tooltip-arrow:before,.tooltip.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{border-bottom-color:var(--bg-secondary)}.tooltip.bs-tooltip-start .tooltip-arrow:before,.tooltip.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{border-left-color:var(--bg-secondary)}@keyframes breathing-glow-high{0%,to{box-shadow:0 0 4px rgba(var(--badge-high-rgb),.15),0 0 8px rgba(var(--badge-high-rgb),.08),inset 0 0 4px rgba(var(--badge-high-rgb),.1)}50%{box-shadow:0 0 8px rgba(var(--badge-high-rgb),.15),0 0 12px rgba(var(--badge-high-rgb),.08),inset 0 0 8px rgba(var(--badge-high-rgb),.15)}}@keyframes border-beam{0%{background-position:200% 0%}to{background-position:-200% 0%}}.breathing-glow-high{position:relative;animation:breathing-glow-high 3s ease-in-out infinite}.breathing-glow-high:before{content:"";position:absolute;inset:-2px;border-radius:12px;background:linear-gradient(90deg,transparent 0%,transparent 45%,rgba(var(--badge-high-rgb),.3) 50%,transparent 55%,transparent 100%);background-size:200% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;padding:2px;animation:border-beam 8s linear infinite;animation-delay:calc(var(--beam-delay, 0) * -1s);pointer-events:none}.breathing-glow-high:hover{animation:none}.breathing-glow-high:hover:before{animation:none;opacity:0}.modal-content[data-modal-border-laptop-only][data-severity=High]{box-shadow:0 0 20px rgba(var(--badge-high-rgb),.4),0 0 40px rgba(var(--badge-high-rgb),.2)}.modal-content[data-modal-border-laptop-only][data-severity=Medium]{box-shadow:0 0 20px rgba(var(--badge-medium-rgb),.4),0 0 40px rgba(var(--badge-medium-rgb),.2)}.modal-content[data-modal-border-laptop-only][data-severity=Low]{box-shadow:0 0 20px rgba(var(--badge-low-rgb),.4),0 0 40px rgba(var(--badge-low-rgb),.2)}.modal-content[data-modal-border-laptop-only][data-severity=Info]{box-shadow:0 0 20px rgba(var(--badge-info-rgb),.4),0 0 40px rgba(var(--badge-info-rgb),.2)}@media(max-width:991.98px){.modal-content[data-modal-border-laptop-only]{box-shadow:none}}.dot-pattern-bg{position:relative}.dot-pattern-bg:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--border-light) 1.5px,transparent 1.5px);background-size:32px 32px;background-position:0 0;opacity:.4;pointer-events:none;border-radius:inherit;z-index:0}.dot-pattern-bg>*{position:relative;z-index:1}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.gradient-text{background:linear-gradient(-45deg,var(--color-blue-600),var(--color-blue-300));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900;animation:gradientShift 20s ease infinite;line-height:1.2}.modern-tagline{font-weight:300;letter-spacing:.025em;line-height:1.5}@media(max-width:575.98px){.gradient-text{letter-spacing:-.01em}}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease!important}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{margin:0;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chart-grabbable,.chart-grabbable *{cursor:grab!important}.chart-dragging,.chart-dragging *{cursor:grabbing!important}.chart-grabbable button,.chart-grabbable button *,.chart-dragging button,.chart-dragging button *{cursor:pointer!important}code{font-family:var(--font-mono)}.card-header-borderless{border-bottom:none!important}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--border-color);border-radius:3px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-primary);border-radius:50%;cursor:pointer;border:2px solid var(--bg-secondary);box-shadow:0 1px 3px #0003;transition:transform .15s ease,box-shadow .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 4px #0000004d}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--accent-primary);border-radius:50%;cursor:pointer;border:2px solid var(--bg-secondary);box-shadow:0 1px 3px #0003;transition:transform .15s ease,box-shadow .15s ease}input[type=range]::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 4px #0000004d}input[type=range]::-moz-range-track{background:var(--border-color);border-radius:3px;height:6px}input[type=range]:focus{outline:none}input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--primary-color-alpha)}.modal.show{animation:modalFadeIn .2s ease-out;display:flex!important;align-items:center;justify-content:center;overflow:hidden}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog-responsive-large,.modal-dialog-responsive-small{animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-dialog.modal-dialog-responsive-large{margin:var(--spacing-lg) auto;width:750px;max-width:100%}.modal-dialog.modal-dialog-responsive-large .modal-content{border-radius:var(--radius-lg);display:flex;flex-direction:column;height:calc(100vh - 2 * var(--spacing-lg));height:calc(100dvh - 2 * var(--spacing-lg));max-height:calc(100vh - 2 * var(--spacing-lg));max-height:calc(100dvh - 2 * var(--spacing-lg));box-shadow:0 20px 60px #0000004d;border:1px solid var(--border-light)}@media(max-width:767.98px){.modal-dialog.modal-dialog-responsive-large{margin:0!important;width:100%!important;max-width:100%!important;height:100vh!important;height:100dvh!important;display:flex!important;align-items:stretch!important}.modal-dialog.modal-dialog-responsive-large .modal-content{border-radius:0!important;max-height:100vh!important;max-height:100dvh!important;height:100%!important;border:none!important;margin:0!important}.modal-dialog.modal-dialog-responsive-large .btn-close{position:absolute;top:1rem;right:1rem;background-color:#0000000d;border-radius:50%;padding:.5rem;width:2rem;height:2rem;opacity:.8;z-index:10}.modal-dialog.modal-dialog-responsive-large .btn-close:hover{opacity:1;background-color:#0000001a}.modal-dialog.modal-dialog-responsive-large .modal-body{padding:1rem!important}.modal-dialog.modal-dialog-responsive-large .alert-rule-sheet-body{padding:0!important}}@media(min-width:768px)and (max-width:991.98px){.modal-dialog.modal-dialog-responsive-large{margin:var(--spacing-xl) auto;width:700px;max-width:100%;max-height:100vh;max-height:100dvh;display:flex;align-items:center}.modal-dialog.modal-dialog-responsive-large .modal-content{height:calc(100vh - 2 * var(--spacing-xl));height:calc(100dvh - 2 * var(--spacing-xl));max-height:calc(100vh - 2 * var(--spacing-xl));max-height:calc(100dvh - 2 * var(--spacing-xl));width:100%}}@media(min-width:992px)and (max-width:1199.98px){.modal-dialog.modal-dialog-responsive-large{margin:var(--spacing-2xl) auto;width:750px;max-width:100%;max-height:100vh;max-height:100dvh;display:flex;align-items:center}.modal-dialog.modal-dialog-responsive-large .modal-content{height:calc(100vh - 2 * var(--spacing-2xl));height:calc(100dvh - 2 * var(--spacing-2xl));max-height:calc(100vh - 2 * var(--spacing-2xl));max-height:calc(100dvh - 2 * var(--spacing-2xl));width:100%}}@media(min-width:1200px){.modal-dialog.modal-dialog-responsive-large{margin:2.5rem auto;width:850px;max-width:100%;max-height:100vh;max-height:100dvh;display:flex;align-items:center}.modal-dialog.modal-dialog-responsive-large .modal-content{height:calc(100vh - 5rem);height:calc(100dvh - 5rem);max-height:calc(100vh - 5rem);max-height:calc(100dvh - 5rem);width:100%}}.modal-dialog.modal-dialog-responsive-small{margin:var(--spacing-lg) auto;width:550px;max-width:100%}.modal-dialog.modal-dialog-responsive-small .modal-content{border-radius:var(--radius-lg);max-height:calc(100vh - 2 * var(--spacing-lg));max-height:calc(100dvh - 2 * var(--spacing-lg));box-shadow:0 10px 40px #0003;border:1px solid var(--border-light)}@media(max-width:767.98px){.modal-dialog.modal-dialog-responsive-small{margin:var(--spacing-lg) auto!important;width:calc(100% - 2 * var(--spacing-lg))!important;max-width:calc(100% - 2 * var(--spacing-lg))!important}.modal-dialog.modal-dialog-responsive-small .modal-content{border-radius:var(--radius-md)}.modal-dialog.modal-dialog-responsive-small .modal-body{padding:var(--spacing-lg)!important}.modal-dialog.modal-dialog-responsive-small .btn-close{opacity:.8}.modal-dialog.modal-dialog-responsive-small .btn-close:hover{opacity:1}}@media(min-width:768px)and (max-width:991.98px){.modal-dialog.modal-dialog-responsive-small{margin:var(--spacing-xl) auto;width:500px;max-width:100%;max-height:100vh;max-height:100dvh;display:flex;align-items:center}.modal-dialog.modal-dialog-responsive-small .modal-content{width:100%}}@media(min-width:992px){.modal-dialog.modal-dialog-responsive-small{margin:var(--spacing-2xl) auto;width:550px;max-width:100%;max-height:100vh;max-height:100dvh;display:flex;align-items:center}.modal-dialog.modal-dialog-responsive-small .modal-content{width:100%}}.modal-dialog-responsive-large .btn-close,.modal-dialog-responsive-small .btn-close{transition:all .2s ease}.modal-dialog-responsive-large .btn-close:focus,.modal-dialog-responsive-small .btn-close:focus{box-shadow:0 0 0 .2rem var(--primary-color-alpha-20);outline:none}@media(min-width:768px){.modal-dialog-responsive-large .btn-close:hover,.modal-dialog-responsive-small .btn-close:hover{transform:scale(1.1);background-color:var(--bg-hover)}}.modal-dialog-responsive-large .modal-body,.modal-dialog-responsive-small .modal-body{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.modal-dialog-responsive-large .modal-body::-webkit-scrollbar,.modal-dialog-responsive-small .modal-body::-webkit-scrollbar{width:8px}.modal-dialog-responsive-large .modal-body::-webkit-scrollbar-track,.modal-dialog-responsive-small .modal-body::-webkit-scrollbar-track{background:transparent}.modal-dialog-responsive-large .modal-body::-webkit-scrollbar-thumb,.modal-dialog-responsive-small .modal-body::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.modal-dialog-responsive-large .modal-body::-webkit-scrollbar-thumb:hover,.modal-dialog-responsive-small .modal-body::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.sidebar-offcanvas{z-index:1200!important;background-color:var(--bg-sidebar)}.sidebar-offcanvas .offcanvas-header{background-color:var(--bg-sidebar);color:var(--text-primary);border-bottom:none;display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem}.sidebar-offcanvas .offcanvas-title{font-weight:700;font-size:1.75rem;color:var(--text-primary)}.sidebar-brand-mobile{font-family:var(--font-display);display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1.75rem;transition:opacity .2s ease}.sidebar-brand-mobile:hover{opacity:.8;color:var(--text-primary)}.sidebar-offcanvas .offcanvas-body{background:var(--bg-sidebar);color:var(--text-primary);padding-top:.5rem}.sidebar-close-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.25rem;border-radius:.375rem;transition:color .2s ease,background-color .2s ease;display:inline-flex;align-items:center;justify-content:center}.sidebar-close-button:hover{color:var(--accent-primary);background-color:var(--primary-color-alpha)}.sidebar-offcanvas-user-info{font-size:.9rem;color:var(--text-muted);gap:.3rem}.sidebar-offcanvas-logout{color:var(--accent-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-desktop{min-width:280px;position:fixed;z-index:1000;top:0;bottom:0;overflow-y:auto;background:var(--bg-sidebar)!important;transition:min-width .3s ease,background-color .3s ease}.sidebar-desktop.sidebar-collapsed{min-width:60px;padding:.75rem .5rem!important;align-items:center;background:var(--bg-primary)!important}.sidebar-desktop.sidebar-collapsed>.d-flex{width:100%;justify-content:center!important;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.sidebar-desktop.sidebar-collapsed .sidebar-brand-collapsed{display:none}.sidebar-collapse-toggle{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;border-radius:.375rem;transition:color .2s ease,background-color .2s ease;display:inline-flex;align-items:center;justify-content:center}.sidebar-collapsed .sidebar-collapse-toggle{width:48px;height:48px;padding:.625rem;border-radius:.5rem}.sidebar-collapse-toggle:hover{color:var(--accent-primary);background-color:var(--primary-color-alpha)}.sidebar-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;transition:opacity .2s ease}.sidebar-brand:hover{opacity:.8}.sidebar-brand-collapsed{gap:0}.sidebar-logo{width:32px;height:32px;flex-shrink:0}.sidebar-brand-text{font-size:1.75rem;font-family:var(--font-display);font-weight:700;color:var(--text-primary);-webkit-user-select:none;user-select:none}.sidebar-user-info{font-size:.9rem;color:var(--text-muted);-webkit-user-select:text;user-select:text;gap:.3rem}.sidebar-user-separator{font-size:.8rem;-webkit-user-select:none;user-select:none;white-space:nowrap;color:var(--text-muted)}.sidebar-logout{background:none;border:none;padding:0;font:inherit;font-size:.8rem;color:var(--accent-primary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.sidebar-logout:hover,.sidebar-logout:focus{color:var(--accent-hover);text-decoration:none;background:none;outline:none;box-shadow:none}.sidebar-footer{border-top:1px solid var(--border-color);padding-top:1rem;color:var(--text-muted)}.sidebar-spacer{min-width:280px;position:sticky;left:0;z-index:0;transition:min-width .3s ease}.sidebar-spacer.sidebar-spacer-collapsed{min-width:60px}.nav-item-folder{padding-left:16px}.sidebar-nav-collapsed{align-items:center}.nav-icon-collapsed{width:48px;height:48px;padding:.625rem;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease,color .2s ease;color:var(--text-primary)}.nav-icon-collapsed:hover{background-color:var(--primary-color-alpha);color:var(--accent-primary)}.nav-item-main-collapsed.active,.nav-item-child-collapsed.active{background-color:var(--sidebar-active-bg)}.nav-item-folder-collapsed{width:100%;display:flex;flex-direction:column;align-items:center;background-color:transparent;border-radius:.5rem;transition:background-color .2s ease}.nav-item-folder-collapsed:has(.folder-open){background-color:var(--bg-secondary);padding:.25rem 0}.nav-item-folder-header-collapsed{cursor:pointer;position:relative}.nav-item-folder-header-collapsed:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:20px;height:2px;background-color:var(--border-color);border-radius:1px}.nav-item-folder-header-collapsed.folder-open{color:var(--accent-primary)}.nav-item-folder-header-collapsed.folder-open:after{background-color:var(--accent-primary)}.nav-children-collapsed{width:100%;display:flex;flex-direction:column;align-items:center;padding:.25rem 0 0;overflow:hidden}.nav-children-collapsed .nav-icon-collapsed{width:44px;height:44px;margin-top:.25rem;background-color:var(--bg-secondary)}.nav-children-collapsed .nav-icon-collapsed:hover{background-color:var(--primary-color-alpha);color:var(--accent-primary)}.nav-item-folder-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary)!important;font-family:var(--font-display)}.nav-item-child{background-color:transparent;-webkit-user-select:none;user-select:none;color:var(--text-primary)!important;font-family:var(--font-display)}.nav-item-child.active{background-color:var(--sidebar-active-bg)}.nav-item-child .nav-arrow{padding:0;margin:0}.nav-item-main{background-color:transparent;transition:background-color .2s;-webkit-user-select:none;user-select:none;color:var(--text-primary)!important;font-family:var(--font-display)}.nav-item-main.active{background-color:var(--sidebar-active-bg)}.nav-link-animated{position:relative;overflow:hidden;transition:color .3s ease}.nav-link-animated:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--accent-primary);transform:scaleX(0);transform-origin:right;transition:transform .3s ease;border-radius:2px}.nav-link-animated:hover{color:var(--accent-primary)!important}.nav-link-animated:hover:after{transform:scaleX(1);transform-origin:left}.nav-arrow{opacity:0;transform:translate(-6px);transition:opacity .3s ease,transform .3s ease;font-weight:700;-webkit-user-select:none;user-select:none}.nav-link-animated:hover .nav-arrow{opacity:1;transform:translate(0)}.offcanvas-backdrop,.offcanvas{z-index:1200!important}.theme-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:.375rem;transition:color .2s ease,background-color .2s ease;display:inline-flex;align-items:center;justify-content:center;margin-top:0}.theme-toggle:hover{color:var(--accent-primary);background-color:var(--primary-color-alpha)}.sidebar-collapsed-footer{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color);margin-top:auto}.sidebar-collapsed-footer-item{width:48px;height:48px;padding:.625rem;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease,color .2s ease;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;background:none;border:none}.sidebar-collapsed-footer-item:hover{background-color:var(--primary-color-alpha);color:var(--accent-primary)}.sidebar-collapsed-footer .theme-toggle{width:48px;height:48px;padding:.625rem;border-radius:.5rem;color:var(--text-primary)}.sidebar-collapsed-footer .theme-toggle:hover{background-color:var(--primary-color-alpha);color:var(--accent-primary)}.chat-spacer{flex:0 0 auto;width:0;align-self:stretch;transition:width .28s ease}.chat-sidebar{position:fixed;top:0;right:0;height:100dvh;z-index:900;overflow:hidden;background:var(--bg-primary);border-left:1px solid var(--border-color);transform:translate(100%);transition:transform .28s ease}.chat-sidebar.chat-sidebar--open{transform:translate(0)}.chat-sidebar--resizing,.chat-spacer--resizing{transition:none}.chat-sidebar-inner{position:relative;height:100%;display:flex;flex-direction:column;min-width:0;min-height:0}.chat-resize-handle{position:absolute;left:0;top:0;bottom:0;width:7px;margin-left:-3px;cursor:col-resize;z-index:6;touch-action:none}.chat-resize-handle:after{content:"";position:absolute;left:3px;top:0;bottom:0;width:1px;background:transparent;transition:background .15s ease}.chat-resize-handle:hover:after,.chat-sidebar--resizing .chat-resize-handle:after{background:var(--accent-primary)}.chat-header{display:flex;align-items:center;gap:8px;padding:var(--app-main-padding-top) 12px var(--app-main-padding-top) 16px;min-height:calc(2 * var(--app-main-padding-top) + 36px)}.chat-header-badge{flex:0 0 auto;color:var(--text-muted);pointer-events:none}.chat-header-title-text.is-thinking{background:linear-gradient(100deg,var(--text-primary) 0%,var(--text-primary) 40%,var(--accent-primary) 50%,var(--text-primary) 60%,var(--text-primary) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:chat-title-shimmer 2.5s linear infinite}@keyframes chat-title-shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}@media(prefers-reduced-motion:reduce){.chat-header-title-text.is-thinking{animation:none;background:none;-webkit-text-fill-color:currentColor;color:var(--text-primary)}}.chat-header-title{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.chat-header-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-title-text.is-draft{color:var(--text-muted);font-style:italic}.chat-header-title-input{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text-primary);background:var(--bg-form);border:1px solid var(--border-light);border-radius:6px;padding:4px 8px;outline:none}.chat-title-btn{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:4px 8px;margin-left:-4px;border:none;background:none;border-radius:6px;font-size:14px;font-weight:600;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .15s ease}.chat-title-btn:hover{background:var(--bg-form)}.chat-title-caret{flex-shrink:0;color:var(--text-muted)}.chat-switcher{width:300px;max-width:calc(100vw - 32px);max-height:380px;display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:6px;z-index:1100}.chat-switcher-search{display:flex;align-items:center;gap:6px;padding:6px 8px;color:var(--text-muted);border-bottom:1px solid var(--border-light);margin-bottom:4px}.chat-switcher-search input{flex:1;min-width:0;border:none;background:none;outline:none;color:var(--text-primary);font-size:13px}.chat-switcher-list{overflow-y:auto;display:flex;flex-direction:column;gap:1px}.chat-switcher-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:none;background:none;border-radius:6px;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer}.chat-switcher-item:hover{background:var(--bg-form)}.chat-switcher-item.active{color:var(--accent-primary)}.chat-switcher-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-switcher-empty{padding:16px 10px;text-align:center;color:var(--text-muted);font-size:13px}.chat-switcher-separator{height:1px;background:var(--border-light);margin:4px 0}.chat-switcher-new{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;border-radius:6px;color:var(--accent-primary);font-size:13px;text-align:left;cursor:pointer}.chat-switcher-new:hover:not(:disabled){background:var(--bg-form)}.chat-switcher-new:disabled{background:none;color:var(--text-muted);cursor:default}.chat-icon-btn{display:flex;align-items:center;justify-content:center;padding:6px;border:none;background:none;color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.chat-icon-btn:hover{background:var(--bg-form);color:var(--text-primary)}.chat-menu{min-width:190px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:4px;box-shadow:0 8px 24px #0000002e;z-index:1100}.chat-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:none;color:var(--text-primary);font-size:13px;text-align:left;border-radius:6px;cursor:pointer}.chat-menu-item:hover:not(:disabled){background:var(--bg-form)}.chat-menu-item:disabled{background:none;color:var(--text-muted);cursor:default}.chat-menu-item--danger{color:var(--danger-color, #dc3545)}.chat-menu-separator{height:1px;background:var(--border-light);margin:4px 0}.chat-messages-viewport{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;timeline-scope:--chat-scroll}.chat-messages{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:16px;padding:16px;scroll-timeline:--chat-scroll block}.chat-messages-topfade{position:absolute;top:0;left:0;right:0;height:40px;pointer-events:none;background:linear-gradient(to bottom,var(--bg-primary),transparent);opacity:0}@supports (animation-timeline: scroll()){.chat-messages-topfade{animation:chat-topfade-in linear both;animation-timeline:--chat-scroll;animation-range:0px 40px}}@keyframes chat-topfade-in{0%{opacity:0}to{opacity:1}}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted);text-align:center;padding:0 24px}.chat-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;color:var(--text-muted);font-size:11px;text-align:center;overflow-wrap:anywhere}.chat-meta-icon{flex-shrink:0}.chat-link{color:var(--link-color);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .15s ease}.chat-link:hover{color:var(--accent-primary)}.chat-link--chip{display:inline-flex;align-items:center;padding:0 6px;border:1px solid var(--border-light);border-radius:6px;font-weight:600;background:var(--bg-secondary);transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}.chat-link--chip:hover{background:var(--bg-hover);border-color:var(--accent-primary);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.chat-link,.chat-link--chip{transition:none}.chat-link--chip:hover{transform:none}}.chat-entity-card{display:inline-flex;white-space:nowrap;align-items:center;column-gap:6px;max-width:100%;padding:2px 8px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);text-decoration:none;line-height:1.4;vertical-align:middle;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}a.chat-entity-card:hover{border-color:var(--accent-primary);background:var(--bg-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.chat-entity-card__icon{flex-shrink:0;color:var(--accent-primary)}.chat-entity-card__title{font-weight:600;font-size:13px}.chat-entity-card--unavailable,.chat-entity-card--loading{color:var(--text-muted);background:var(--bg-form);cursor:default}.chat-entity-card--unavailable .chat-entity-card__icon,.chat-entity-card--loading .chat-entity-card__icon{color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.chat-entity-card{transition:none}a.chat-entity-card:hover{transform:none}}.chat-composer{padding:12px 16px;border-top:1px solid var(--border-light)}.chat-composer-row{display:flex;gap:8px;align-items:flex-end}.chat-composer textarea{flex:1;padding:10px 14px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-form);color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;overflow-y:hidden;outline:none;min-height:42px;max-height:140px}.chat-send-btn{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:none;border-radius:8px;background:var(--accent-primary);color:#fff;cursor:pointer;transition:opacity .15s ease}.chat-send-btn:disabled{background:var(--bg-form);color:var(--text-muted);cursor:not-allowed}.chat-disabled-note{display:flex;align-items:center;gap:8px;padding:14px 16px;border-top:1px solid var(--border-light);color:var(--text-muted);font-size:13px}.chat-confirm{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-top:1px solid var(--border-light);background:var(--bg-form)}.chat-confirm-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary)}.chat-confirm-list{display:flex;flex-direction:column;gap:6px}.chat-confirm-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-light)}.chat-confirm-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.chat-confirm-item-title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.35}.chat-confirm-changes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.chat-confirm-changes li{display:flex;gap:8px;font-size:12px;line-height:1.35;word-break:break-word}.chat-confirm-change-label{color:var(--text-secondary);flex-shrink:0}.chat-confirm-change-value{color:var(--text-primary);font-weight:500;word-break:break-word}.chat-confirm-note{font-size:12px;line-height:1.35;padding:4px 8px;border-radius:6px;word-break:break-word}.chat-confirm-note.info{color:var(--text-secondary);background:var(--bg-form)}.chat-confirm-note.warning{color:var(--warning-color);background:var(--warning-color-alpha-light)}.chat-confirm-note.danger{color:var(--error-color);background:var(--error-color-alpha-10)}.chat-action-summary{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-light)}.chat-action-summary-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.chat-action-summary.applied .chat-action-summary-head{color:var(--success-color, #16a34a)}.chat-action-summary.failed .chat-action-summary-head{color:var(--error-color)}.chat-answers{display:flex;flex-direction:column;gap:6px}.chat-answers-row{display:flex;flex-direction:column;gap:1px}.chat-answers-q{font-size:11px;font-weight:600;opacity:.75}.chat-answers-a{font-size:13px;white-space:pre-wrap;word-break:break-word}.chat-answers-a--skipped{opacity:.6;font-style:italic}.chat-confirm-toggle{display:flex;gap:4px;flex-shrink:0}.chat-confirm-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--border-light);background:var(--bg-form);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chat-confirm-toggle-btn:disabled{cursor:not-allowed;opacity:.6}.chat-confirm-toggle-btn.approve.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.chat-confirm-toggle-btn.decline.selected{background:var(--danger-color, #dc3545);border-color:var(--danger-color, #dc3545);color:#fff}.chat-confirm-footer{display:flex;justify-content:flex-end;gap:8px}.chat-confirm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:opacity .15s ease,background .15s ease}.chat-confirm-btn:disabled{cursor:not-allowed;opacity:.5}.chat-confirm-btn.ghost{background:transparent;border-color:var(--border-light);color:var(--text-secondary)}.chat-confirm-btn.ghost:hover:not(:disabled){background:var(--bg-secondary)}.chat-confirm-btn.primary{background:var(--accent-primary);color:#fff}.chat-composer--form{display:flex;flex-direction:column;gap:10px}.chat-composer-draft{padding:8px 12px;border-radius:8px;border:1px dashed var(--border-light);background:var(--bg-form);color:var(--text-muted);font-size:13px;white-space:pre-wrap;word-break:break-word;max-height:72px;overflow:hidden;opacity:.7}.chat-qform{display:flex;flex-direction:column;gap:10px}.chat-qform-label{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.35}.chat-qform-text{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-form);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none}.chat-qform-text:focus{border-color:var(--accent-primary)}.chat-qform-options{display:flex;flex-wrap:wrap;gap:8px}.chat-qform-option{padding:8px 14px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-form);color:var(--text-primary);font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chat-qform-option:hover{border-color:var(--accent-primary)}.chat-qform-option.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.chat-qform-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-qform-nav-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-form);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.chat-qform-nav-btn:hover:not(:disabled){color:var(--accent-primary)}.chat-qform-nav-btn:disabled{cursor:not-allowed;opacity:.4}.chat-qform-progress,.chat-qform-hint{font-size:12px;color:var(--text-muted)}.chat-qform-done{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:8px 16px;border:none;border-radius:8px;background:var(--accent-primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.chat-qform-done:disabled{cursor:not-allowed;opacity:.6}.chat-launcher.active{color:var(--accent-primary)}.chat-backdrop{display:none}@media(max-width:767.98px){.chat-spacer{display:none}.chat-sidebar{width:min(92vw,460px)!important;z-index:1050;box-shadow:-8px 0 24px #0003}.chat-sidebar-inner{width:100%!important}.chat-resize-handle{display:none}.chat-backdrop{display:block;position:fixed;inset:0;background:#00000073;z-index:1049}}nav.breadcrumbs{font-size:var(--text-sm);font-family:var(--font-display);color:var(--text-muted);display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;padding:0;min-height:36px;transition:color .2s ease}nav.breadcrumbs .breadcrumbs-content{display:flex;align-items:center;flex:1;min-width:0}nav.breadcrumbs .breadcrumbs-content span{display:flex;align-items:center;white-space:nowrap}nav.breadcrumbs a{color:var(--text-muted);text-decoration:none;font-weight:400;padding:.375rem .625rem;border-radius:var(--radius-md);transition:color .15s ease,background-color .15s ease}nav.breadcrumbs a:hover{color:var(--text-secondary);background-color:color-mix(in srgb,var(--bg-hover) 50%,transparent);text-decoration:none}nav.breadcrumbs .current{color:var(--text-primary);font-weight:600;padding:.375rem .625rem}.breadcrumb-chevron{flex-shrink:0;margin:0 .5rem;opacity:.4;color:var(--text-muted)}.breadcrumb-icon{vertical-align:sub;margin-right:.4em}.breadcrumb-home-icon{display:flex;align-items:center;padding:.25rem!important}.breadcrumb-home-icon img{display:block;opacity:.6;transition:opacity .15s ease}.breadcrumb-home-icon:hover img{opacity:1}.breadcrumbs-mobile-toggle{background-color:transparent;border-color:transparent;color:var(--text-primary);padding:.25rem .5rem;margin-right:.5rem;border-right:1px solid var(--border-light);border-radius:0}.breadcrumbs-mobile-toggle:hover,.breadcrumbs-mobile-toggle:focus,.breadcrumbs-mobile-toggle:active{background-color:transparent;border-color:transparent;color:var(--accent-primary);border-right:1px solid var(--border-light)}.breadcrumbs-container-mobile{margin-bottom:1rem}.breadcrumbs-progress-line{height:0;position:relative;overflow:visible}.breadcrumbs-progress-line:after{content:"";position:absolute;top:0;left:0;height:2px;width:0;border-radius:1px;pointer-events:none;opacity:0;transition:opacity .3s ease}.breadcrumbs-progress-line.loading-spinner:after{width:100%;opacity:1;background:linear-gradient(90deg,transparent 0%,var(--accent-primary) 30%,rgba(139,92,246,.8) 50%,var(--accent-primary) 70%,transparent 100%);background-size:200% 100%;animation:progress-shimmer 1.5s ease-in-out infinite}.breadcrumbs-progress-line.loading-progress:after{width:var(--loading-progress, 0%);opacity:1;background:linear-gradient(90deg,var(--accent-primary) 0%,rgba(139,92,246,.9) 100%);transition:width .3s ease-out,opacity .3s ease,background .3s ease}.breadcrumbs-progress-line.loading-complete:after{width:100%;opacity:1;background:linear-gradient(90deg,var(--success-color) 0%,rgba(16,185,129,.9) 100%);animation:progress-fade-out .6s ease-out .2s forwards}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes progress-fade-out{0%{opacity:1}to{opacity:0}}@keyframes pulse-red{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 8px 2px #ef444499}}.offline-warning{display:flex;align-items:center;color:var(--error-color);background-color:var(--bs-danger-bg-subtle, rgba(var(--bs-danger-rgb, 239, 68, 68), .1));border:1px solid var(--bs-danger-border-subtle, rgba(var(--bs-danger-rgb, 239, 68, 68), .2));border-radius:.25rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500;height:1.75rem;opacity:1;visibility:visible;transition:opacity .2s ease,visibility .2s ease,background-color .2s ease,border-color .2s ease;cursor:default;animation:pulse-red 2s ease-in-out infinite}.offline-warning:hover{background-color:var(--bs-danger-bg-subtle, rgba(var(--bs-danger-rgb, 239, 68, 68), .15));border-color:var(--bs-danger-border-subtle, rgba(var(--bs-danger-rgb, 239, 68, 68), .3))}.offline-text,.offline-warning:hover .offline-text{color:var(--error-color)!important}.offline-warning.hidden{opacity:0;visibility:hidden}.offline-icon{margin-right:.375rem;flex-shrink:0}.offline-text{white-space:nowrap}@media(max-width:575.98px){.offline-text{display:none}.offline-warning{padding:.375rem}}@media(max-width:767.98px){.breadcrumbs-container-mobile{position:sticky!important;top:0;z-index:1050;margin-bottom:0;border-radius:0;border:none}nav.breadcrumbs{background-color:color-mix(in srgb,var(--bg-primary) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);border-radius:0;padding:.5rem .75rem}nav.breadcrumbs .breadcrumb-home-wrapper .breadcrumb-link:not(.breadcrumb-home-icon){display:none!important}.breadcrumb-icon{display:none!important}nav.breadcrumbs .current .breadcrumb-icon{display:none!important}}@keyframes bell-shake{0%,to{transform:rotate(0)}15%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}}@keyframes badge-pop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.notification-bell-ring{animation:bell-shake .5s ease-in-out;transform-origin:top center}.notification-badge-enter{animation:badge-pop .3s ease-out both}.login-page{position:relative;min-height:100vh;overflow:hidden}.login-form-wrapper{position:relative;z-index:1}.login-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.login-logo-mark{width:64px;height:64px;margin-bottom:.75rem;animation:login-glow 4s ease-in-out infinite}.login-grad-stop-1{stop-color:#60a5fa;animation:login-grad-1 8s ease-in-out infinite}.login-grad-stop-2{stop-color:#38bdf8;animation:login-grad-2 8s ease-in-out infinite}.login-grad-stop-3{stop-color:#818cf8;animation:login-grad-3 8s ease-in-out infinite}@keyframes login-grad-1{0%,to{stop-color:#60a5fa}33%{stop-color:#38bdf8}66%{stop-color:#818cf8}}@keyframes login-grad-2{0%,to{stop-color:#38bdf8}33%{stop-color:#818cf8}66%{stop-color:#60a5fa}}@keyframes login-grad-3{0%,to{stop-color:#818cf8}33%{stop-color:#60a5fa}66%{stop-color:#38bdf8}}@keyframes login-glow{0%,to{filter:drop-shadow(0 0 6px rgba(96,165,250,.25))}50%{filter:drop-shadow(0 0 16px rgba(96,165,250,.55))}}.login-brand-text{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.login-transition-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-primary);animation:overlayFadeIn .5s ease both}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.login-transition-logo{width:120px;height:120px;animation:transitionLogoEnter .6s cubic-bezier(.34,1.56,.64,1) .4s both,transitionLogoExit 1s cubic-bezier(.16,1,.3,1) 1.4s both;filter:drop-shadow(0 0 20px rgba(96,165,250,.5))}@keyframes transitionLogoEnter{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes transitionLogoExit{0%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(2.15)}to{opacity:0;transform:scale(2.2)}}.login-transition-fill{animation:transitionFillOut .4s ease 1.4s both}@keyframes transitionFillOut{to{opacity:0}}.login-transition-stroke{stroke-dasharray:1500;stroke-dashoffset:0;animation:transitionStrokeErase .8s cubic-bezier(.4,0,.2,1) 1.4s both}@keyframes transitionStrokeErase{to{stroke-dashoffset:1500}}.login-transition-fallback{text-align:center;animation:fallbackFadeIn .6s ease both;margin-top:2rem}.login-transition-fallback p{font-size:1.25rem;font-weight:500;color:var(--text-muted, #a0aec0);margin:0 0 .5rem}.login-transition-fallback a{font-size:.875rem;color:var(--accent-primary, #60A5FA);text-decoration:underline}@keyframes fallbackFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.login-transition-logo{width:96px;height:96px}}@media(prefers-reduced-motion:reduce){.login-logo-mark,.login-grad-stop-1,.login-grad-stop-2,.login-grad-stop-3,.login-transition-overlay,.login-transition-logo,.login-transition-fill,.login-transition-stroke,.login-transition-fallback{animation:none}.login-logo-mark{filter:drop-shadow(0 0 6px rgba(96,165,250,.25))}.login-transition-overlay{opacity:1}.login-transition-logo{opacity:0}.login-grad-stop-1{stop-color:#60a5fa}.login-grad-stop-2{stop-color:#38bdf8}.login-grad-stop-3{stop-color:#818cf8}}.policy-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary)}.policy-container{max-width:900px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl);flex:1}.policy-title{font-size:var(--text-h1);text-align:center;margin-bottom:var(--spacing-2xl)}.policy-content{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.policy-content p{margin-bottom:var(--spacing-lg);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.policy-content h2{font-size:var(--text-h4);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md)}.policy-content h2:first-of-type{margin-top:var(--spacing-lg)}.policy-content ul{margin-bottom:var(--spacing-lg);padding-left:var(--spacing-xl);color:var(--text-secondary)}.policy-content li{margin-bottom:var(--spacing-sm);line-height:var(--line-height-relaxed)}.policy-content a{color:var(--link-color);text-decoration:none;transition:color .2s ease}.policy-content a:hover{color:var(--link-hover-color);text-decoration:underline}.policy-content strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.policy-content em{color:var(--text-muted);font-size:var(--text-sm)}@media(max-width:767.98px){.policy-container{padding:var(--spacing-xl) var(--spacing-lg)}.policy-content{padding:var(--spacing-lg)}.policy-title{font-size:2rem;margin-bottom:var(--spacing-xl)}.policy-content h2{font-size:1.25rem;margin-top:var(--spacing-xl)}.policy-content p,.policy-content li{font-size:.95rem}.policy-content ul{padding-left:var(--spacing-lg)}}@media(max-width:575.98px){.policy-container{padding:var(--spacing-lg) var(--spacing-md)}.policy-content{padding:var(--spacing-md)}.policy-title{font-size:1.75rem}.policy-content h2{font-size:1.125rem}.policy-content p,.policy-content li{font-size:.9rem}}.not-found-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary)}.not-found-hero{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-xl);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border-light);min-height:60vh}.not-found-hero-container{max-width:800px;text-align:center}.not-found-hero-title{font-size:3rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-lg);line-height:var(--line-height-tight)}.not-found-hero-subtitle{font-size:var(--text-h4);color:var(--text-secondary);margin-bottom:var(--spacing-2xl)}.not-found-hero-cta{display:flex;justify-content:center;gap:var(--spacing-lg)}.not-found-cta-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-2xl);background-color:var(--accent-primary);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--text-h6);transition:all .3s ease;box-shadow:var(--shadow-md)}.not-found-cta-button:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.not-found-app{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--spacing-2xl)}.not-found-app-title{font-size:3rem;margin:0;color:var(--text-primary);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-lg)}.not-found-app-subtitle{margin-top:0;color:var(--text-secondary);font-size:var(--text-h4);margin-bottom:var(--spacing-2xl)}.not-found-app-button{display:inline-flex;align-items:center;gap:var(--spacing-sm)}@media(max-width:767.98px){.not-found-hero{padding:var(--spacing-xl) var(--spacing-lg)}.not-found-hero-title,.not-found-app-title{font-size:2rem}.not-found-hero-subtitle,.not-found-app-subtitle{font-size:var(--text-h5)}.not-found-app{padding:var(--spacing-xl)}}.settings-section .card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border-top:1px solid var(--border-light)}.settings-section .settings-section-description{color:var(--text-secondary);font-size:.875rem;margin:0}.alerts-settings .alerts-time-range{display:flex;align-items:center;gap:var(--spacing-sm)}.alerts-settings .alerts-time-range input[type=time]{max-width:120px}.alerts-settings .alerts-time-separator{color:var(--text-muted)}.alerts-settings .alerts-tz-select{max-width:320px}.settings-layout{display:flex;gap:var(--spacing-lg);min-height:400px}.settings-tabs{flex:0 0 200px;display:flex;flex-direction:column;gap:2px}.settings-tab-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md, 6px);background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease;white-space:nowrap}.settings-tab-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.settings-tab-btn.active{background:var(--primary-color-alpha, rgba(59, 130, 246, .1));color:var(--accent-primary)}.settings-tab-content{flex:1;min-width:0}@media(max-width:767.98px){.settings-layout{flex-direction:column;gap:var(--spacing-md)}.settings-tabs{flex:none;flex-direction:row;overflow-x:auto;gap:var(--spacing-xs, 4px);padding-bottom:var(--spacing-xs, 4px);-webkit-overflow-scrolling:touch}.settings-tab-btn{font-size:.85rem;padding:var(--spacing-xs, 4px) var(--spacing-sm)}}.modern-page-wrapper{min-height:100vh;display:flex;flex-direction:column}.modern-page-header{padding:var(--spacing-2xl) var(--spacing-xl);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-2xl)}.modern-page-title{font-size:var(--text-h1);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-md);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.modern-page-title.with-gradient{background:linear-gradient(-45deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modern-page-subtitle{font-size:var(--text-h5);font-weight:var(--font-weight-light);color:var(--text-secondary);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-wide);margin:0}.modern-inline-header{margin-bottom:var(--spacing-2xl)}.modern-inline-title{font-size:var(--text-h2);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-sm);line-height:var(--line-height-tight)}.modern-inline-subtitle{font-size:var(--text-base);font-weight:var(--font-weight-light);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0}.modern-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all .3s ease}.modern-card-hover{cursor:pointer}.modern-card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.modern-card-gradient-bg{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.modern-section{padding:var(--spacing-2xl) var(--spacing-xl);background-color:var(--bg-primary)}.modern-section-title{font-size:var(--text-h2);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center;margin-bottom:var(--spacing-md);line-height:var(--line-height-tight)}.modern-section-subtitle{font-size:var(--text-h6);font-weight:var(--font-weight-light);color:var(--text-secondary);text-align:center;margin-bottom:var(--spacing-2xl);line-height:var(--line-height-relaxed)}.modern-button-primary{padding:var(--spacing-md) var(--spacing-2xl);background-color:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--text-base);cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md);text-decoration:none;display:inline-block;line-height:normal}.modern-button-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.modern-button-secondary{padding:var(--spacing-md) var(--spacing-2xl);background-color:transparent;color:var(--accent-primary);border:2px solid var(--accent-primary);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--text-base);cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;line-height:normal}.modern-button-secondary:hover{background-color:var(--primary-color-alpha);transform:translateY(-2px);color:var(--accent-primary)}.modern-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.modern-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.modern-grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl)}.modern-empty-state{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.modern-empty-state-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);border:1px solid var(--border-light);max-width:600px;margin:0 auto}.modern-empty-state-title{font-size:var(--text-h3);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-md)}.modern-empty-state-message{font-size:var(--text-base);font-weight:var(--font-weight-light);color:var(--text-secondary);margin-bottom:var(--spacing-xl);line-height:var(--line-height-relaxed)}.modern-gradient-text{background:linear-gradient(-45deg,#3b82f6,#8b5cf6,#06b6d4,#10b981);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.modern-tagline{font-weight:var(--font-weight-light);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-relaxed)}.modern-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl)}@media(max-width:991.98px){.modern-page-header{padding:var(--spacing-xl) var(--spacing-lg)}.modern-page-title{font-size:var(--text-h2)}.modern-page-subtitle{font-size:var(--text-h6)}.modern-section{padding:var(--spacing-xl) var(--spacing-lg)}.modern-section-title{font-size:var(--text-h3)}.modern-grid-2,.modern-grid-3,.modern-grid-auto{grid-template-columns:1fr}}@media(max-width:767.98px){.modern-page-header{padding:var(--spacing-lg) var(--spacing-md);margin-bottom:var(--spacing-xl)}.modern-page-title{font-size:var(--text-h3);margin-bottom:var(--spacing-sm)}.modern-page-subtitle{font-size:var(--text-base)}.modern-inline-title{font-size:var(--text-h3)}.modern-section{padding:var(--spacing-lg) var(--spacing-md)}.modern-section-title{font-size:var(--text-h4)}.modern-section-subtitle{font-size:var(--text-base)}.modern-card{padding:var(--spacing-lg)}.modern-empty-state,.modern-empty-state-card{padding:var(--spacing-xl)}.modern-empty-state-title{font-size:var(--text-h4)}.modern-button-primary,.modern-button-secondary{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--text-sm)}}@media(max-width:575.98px){.modern-page-title{font-size:1.75rem}.modern-page-subtitle{font-size:.95rem}.modern-inline-title{font-size:1.5rem}.modern-section-title,.modern-empty-state-title{font-size:1.25rem}}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-layout{display:flex;overflow-x:hidden;position:relative;z-index:1}.app-main{flex-grow:1;padding:var(--app-main-padding-top) 20px 20px;min-width:0}@media(max-width:767.98px){.app-layout{overflow-x:visible}.app-main{padding-top:0;padding-left:0;padding-right:0;overflow-y:auto;height:100vh}.app-content{margin-top:1.5rem;margin-left:20px;margin-right:20px}}.app-content{margin-left:20px;margin-right:20px}@media(min-width:768px){.app-layout{height:100dvh;overflow:hidden}.app-main{height:100dvh;overflow-y:auto}}body{transition:background-color .3s ease,color .3s ease;position:relative}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.02) 1px,transparent 1px);background-size:16px 16px;pointer-events:none;z-index:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);color:var(--text-primary);margin-bottom:1rem}h1{font-size:var(--text-h1);font-weight:var(--font-weight-bold);color:var(--accent-primary)}h2{font-size:var(--text-h2);font-weight:var(--font-weight-bold);color:var(--accent-primary)}h3{font-size:var(--text-h3);font-weight:var(--font-weight-semibold)}h4{font-size:var(--text-h4);font-weight:var(--font-weight-semibold)}h5{font-size:var(--text-h5);font-weight:var(--font-weight-medium)}h6{font-size:var(--text-h6);font-weight:var(--font-weight-medium)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-medium{font-weight:var(--font-weight-medium)}.text-bold{font-weight:var(--font-weight-bold)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}label{display:block;font-weight:600;margin-top:12px;margin-bottom:6px;color:var(--text-primary)}button{background-color:var(--accent-primary);color:#fff;border:none;border-radius:.4em;padding:.4em .6em;cursor:pointer;transition:background-color .3s ease}button:hover,button:active{background-color:var(--accent-hover)}ul{padding-left:20px}p{font-size:1rem;line-height:1.4;color:var(--text-primary)}div{box-sizing:border-box}input::placeholder{color:var(--text-muted)}.error{color:var(--error-color);margin-top:12px;font-weight:600}.btn{border-radius:0!important}input[type=text],input[type=email],input[type=password],input[type=number],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-color);padding:.5rem 1rem;font-size:1rem;width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;color:var(--text-primary);background-color:var(--bg-form);position:relative;z-index:1;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-touch-callout:default}input:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633;outline:none;-webkit-appearance:none;z-index:2}.searchable-select__input:focus{box-shadow:none!important}.logo{transition:transform .3s ease}.logo:hover{transform:scale(1.1)}.description{font-size:.9rem;opacity:.8;line-height:1.5}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.rotating{animation:rotate 8s linear infinite}.pulsing{animation:pulse 2s ease-in-out infinite}.card{background-color:var(--bg-secondary)!important;border-color:var(--border-light)!important;color:var(--text-primary)!important;transition:background-color .3s ease,border-color .3s ease}.dtc-notification-card[data-severity=High]{border-color:rgba(var(--badge-high-rgb),.35)!important}.dtc-notification-card[data-severity=High]:hover{border-color:rgba(var(--badge-high-rgb),.7)!important}.dtc-notification-card[data-severity=Medium]{border-color:rgba(var(--badge-medium-rgb),.35)!important}.dtc-notification-card[data-severity=Medium]:hover{border-color:rgba(var(--badge-medium-rgb),.7)!important}.dtc-notification-card[data-severity=Low]{border-color:rgba(var(--badge-low-rgb),.35)!important}.dtc-notification-card[data-severity=Low]:hover{border-color:rgba(var(--badge-low-rgb),.7)!important}.dtc-notification-card[data-severity=Info]{border-color:rgba(var(--badge-info-rgb),.35)!important}.dtc-notification-card[data-severity=Info]:hover{border-color:rgba(var(--badge-info-rgb),.7)!important}.modal-content{background-color:var(--bg-secondary)!important;border-color:var(--border-light)!important;color:var(--text-primary)!important}.modal-header{border-bottom-color:var(--border-light)!important}.modal-footer{border-top-color:var(--border-light)!important}.dropdown-menu{background-color:var(--bg-secondary)!important;border-color:var(--border-light)!important}.dropdown-item{color:var(--text-primary)!important}.dropdown-item:hover,.dropdown-item:focus{background-color:var(--sidebar-active-bg)!important;color:var(--text-primary)!important}.btn-primary{background-color:var(--accent-primary);border-color:var(--accent-primary)}.btn-primary:hover,.btn-primary:focus{background-color:var(--accent-hover);border-color:var(--accent-hover)}.table{color:var(--text-primary)!important}.card .table,.bg-secondary .table{--bs-table-bg: transparent !important}.table-striped>tbody>tr:nth-of-type(odd)>td,.table-striped>tbody>tr:nth-of-type(odd)>th{background-color:#0000000d!important}[data-theme=dark] .table-striped>tbody>tr:nth-of-type(odd)>td,[data-theme=dark] .table-striped>tbody>tr:nth-of-type(odd)>th{background-color:#ffffff0d!important}.bg-light{background-color:var(--bg-secondary)!important}.alert-danger{background-color:#ef44441a!important;border-color:var(--error-color)!important;color:var(--error-color)!important}.alert-success{background-color:#22c55e1a!important;border-color:var(--success-color)!important;color:var(--success-color)!important}.alert-warning{background-color:#f59e0b1a!important;border-color:var(--warning-color)!important;color:var(--warning-color)!important}.text-placeholder{color:var(--placeholder-text)!important;font-style:italic}.text-muted{color:var(--placeholder-text)!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-button{display:none}html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--bg-primary);scrollbar-gutter:stable}.hide-scrollbar::-webkit-scrollbar{display:none}.form-control:disabled,.form-select:disabled{background-color:var(--bg-form)!important;border-color:var(--border-color)!important;color:var(--text-secondary)!important;opacity:.8!important;cursor:not-allowed!important;border-style:dashed!important}.form-control:disabled::placeholder{color:var(--placeholder-text)!important}.input-group .form-control{border-color:var(--border-color)!important;color:var(--text-primary)!important}.input-group .form-control:focus{border-color:var(--accent-primary)!important;color:var(--text-primary)!important}.input-group .form-control:disabled{background-color:var(--bg-form)!important;border-color:var(--border-color)!important;color:var(--text-secondary)!important;opacity:.8!important;cursor:not-allowed!important;border-style:dashed!important}.btn-outline-secondary{border-color:var(--border-color)!important;color:var(--text-secondary)!important;background-color:var(--bg-secondary)!important}.btn-outline-secondary:hover,.btn-outline-secondary:focus{background-color:var(--sidebar-active-bg)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}.btn-outline-secondary:disabled{background-color:var(--bg-primary)!important;border-color:var(--border-color)!important;color:var(--text-muted)!important}.form-control,.form-select,.input-group .form-control,.input-group .btn{height:38px!important;line-height:1.4!important;padding:.25rem .5rem!important;font-size:.9rem!important;border-color:var(--border-color)!important;color:var(--text-primary)!important;background-color:var(--bg-form)!important;-webkit-appearance:none!important;-webkit-user-select:text!important;-khtml-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important;position:relative!important;z-index:1!important}.form-select{padding-right:2.25rem!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")!important;background-repeat:no-repeat!important;background-position:right .5rem center!important;background-size:16px 12px!important}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e2e8f0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")!important}.form-control:focus,.form-select:focus{border-color:var(--accent-primary)!important;color:var(--text-primary)!important;background-color:var(--bg-form)!important;box-shadow:0 0 0 .2rem #0d6efd40!important;-webkit-appearance:none!important;z-index:2!important;outline:none!important}.input-group .btn{display:flex!important;align-items:center!important;justify-content:center!important;margin-top:0!important}@supports (-webkit-appearance: none){input[type=password],input[type=email],input[type=text],.form-control{-webkit-appearance:none!important;-webkit-border-radius:0!important;-webkit-user-select:text!important;-khtml-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important;cursor:text!important;pointer-events:auto!important;touch-action:manipulation!important}input[type=password]:focus,input[type=email]:focus,input[type=text]:focus,.form-control:focus{-webkit-appearance:none!important;-webkit-tap-highlight-color:transparent!important;outline:none!important;-webkit-user-select:text!important;-khtml-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}input[type=password]{-webkit-text-security:disc!important;text-security:disc!important;-webkit-user-select:text!important;-khtml-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;cursor:text!important}}input[autocomplete=off]::-webkit-contacts-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;height:0;width:0;margin:0}input::-webkit-contacts-auto-fill-button,input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0;height:0;width:0;margin:0}.form-control.is-valid,.form-control.is-invalid{pointer-events:auto!important}.was-validated .form-control:valid,.was-validated .form-control:invalid,.form-control.is-valid,.form-control.is-invalid{background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important;padding-right:calc(1.5em + .75rem)!important}@supports (-webkit-appearance: none){.form-control.is-valid,.form-control.is-invalid{-webkit-user-select:text!important;user-select:text!important;cursor:text!important}}.modern-page-wrapper{display:flex;flex-direction:column}.modern-empty-state{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl)}.modern-empty-state-card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);border:1px solid var(--border-light);max-width:600px}@media(max-width:767.98px){.modern-empty-state{padding:var(--spacing-xl);min-height:50vh}.modern-empty-state-card{padding:var(--spacing-xl)}}.error-boundary-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);padding:var(--spacing-xl);animation:errorFadeIn .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-boundary-card{max-width:520px;width:100%;background-color:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);overflow:hidden}.error-boundary-header{background:linear-gradient(135deg,rgba(var(--error-color-rgb),.1),rgba(var(--error-color-rgb),.05));padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;border-bottom:1px solid var(--border-light)}.error-boundary-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:linear-gradient(135deg,rgba(var(--error-color-rgb),.15),rgba(var(--error-color-rgb),.25));border-radius:50%;margin-bottom:var(--spacing-lg);animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1);box-shadow:0 0 rgba(var(--error-color-rgb),.2)}50%{transform:scale(1.02);box-shadow:0 0 0 12px rgba(var(--error-color-rgb),0)}}.error-boundary-icon{font-size:32px;color:var(--error-color)}.error-boundary-title{font-size:var(--text-h3);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:var(--letter-spacing-tight)}.error-boundary-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin:0;line-height:var(--line-height-normal)}.error-boundary-body{padding:var(--spacing-xl)}.error-boundary-message{background-color:var(--error-bg);border:1px solid rgba(var(--error-color-rgb),.2);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex;align-items:flex-start;gap:var(--spacing-md)}.error-boundary-message-icon{color:var(--error-color);flex-shrink:0;margin-top:2px}.error-boundary-message-text{font-size:var(--text-sm);color:var(--text-primary);margin:0;line-height:var(--line-height-relaxed);word-break:break-word}.error-boundary-message-text strong{color:var(--error-color);font-weight:var(--font-weight-medium)}.error-boundary-actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.error-boundary-btn{flex:1;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-weight-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all .2s ease;border:none}.error-boundary-btn-primary{background-color:var(--accent-primary);color:#fff}.error-boundary-btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.error-boundary-btn-primary:active{transform:translateY(0)}.error-boundary-btn-secondary{background-color:var(--bg-form);color:var(--text-primary);border:1px solid var(--border-color)}.error-boundary-btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--accent-primary)}.error-boundary-btn-secondary.copied{background-color:rgba(var(--success-color-rgb),.15);border-color:var(--success-color);color:var(--success-color)}.error-boundary-help{background-color:var(--bg-form);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-lg)}.error-boundary-help-title{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0;display:flex;align-items:center;gap:var(--spacing-sm)}.error-boundary-help-title svg{color:var(--accent-primary)}.error-boundary-help-list{margin:0;padding-left:var(--spacing-xl);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.8}.error-boundary-help-list li{margin-bottom:var(--spacing-xs)}.error-boundary-help-list li:last-child{margin-bottom:0}.error-boundary-dev-section{margin-top:var(--spacing-xl);border-top:1px solid var(--border-light);padding-top:var(--spacing-xl)}.error-boundary-dev-toggle{cursor:pointer;font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);-webkit-user-select:none;user-select:none}.error-boundary-dev-toggle:hover{color:var(--text-secondary)}.error-boundary-dev-toggle svg{transition:transform .2s ease}.error-boundary-dev-toggle[open] svg{transform:rotate(90deg)}.error-boundary-dev-content{background-color:var(--bg-form);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-md)}.error-boundary-dev-label{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm)}.error-boundary-dev-pre{font-family:var(--font-mono);font-size:11px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--spacing-md);margin:0 0 var(--spacing-lg) 0;overflow:auto;max-height:200px;white-space:pre-wrap;word-break:break-word}.error-boundary-dev-pre:last-child{margin-bottom:0}.error-boundary-footer{padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--bg-form);border-top:1px solid var(--border-light);text-align:center}.error-boundary-brand{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:var(--text-sm);color:var(--text-muted)}.error-boundary-brand img{width:20px;height:20px;opacity:.7}@media(max-width:575.98px){.error-boundary-page{padding:var(--spacing-lg)}.error-boundary-header{padding:var(--spacing-xl) var(--spacing-lg)}.error-boundary-body{padding:var(--spacing-lg)}.error-boundary-actions{flex-direction:column}.error-boundary-title{font-size:var(--text-h4)}}@media(prefers-reduced-motion:reduce){.error-boundary-page,.error-boundary-icon-wrapper{animation:none}.error-boundary-btn,.error-boundary-dev-toggle svg{transition:none}}
