@charset "UTF-8";:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-3xl: 16px;--radius-full: 50%;--radius-pill: 50px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-2xs: .625rem;--text-xs: .6875rem;--text-sm: .75rem;--text-md: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--leading-tight: 1.3;--leading-normal: 1.55;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: -.01em;--tracking-wide: .04em;--primary-dark: #2E5C8A;--primary-light: #7BB3F0;--color-white: #ffffff;--color-gray-50: #F8F9FA;--color-gray-100: #F5F8FB;--color-gray-150: #EBF2F9;--color-gray-200: #E9ECEF;--color-gray-300: #DEE2E6;--color-gray-400: #CED4DA;--color-gray-500: #8B9BAC;--color-gray-600: #6C757D;--color-gray-700: #5A6C7D;--color-gray-800: #424242;--color-gray-900: #2C3E50;--color-gray-950: #212529;--color-success: #34c759;--color-success-dark: #16a34a;--color-success-light: #4ade80;--color-warning: #ff9500;--color-warning-light: #fbbf24;--color-error: #ff3b30;--color-error-dark: #dc2626;--color-error-light: #f87171;--color-info: #1976D2;--color-text: var(--color-gray-900);--color-text-secondary: var(--color-gray-700);--color-text-muted: var(--color-gray-500);--color-bg: var(--color-white);--color-bg-subtle: var(--color-gray-50);--color-bg-muted: var(--color-gray-100);--color-border: #D5E1EB;--color-border-strong: var(--color-gray-300);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px color-mix(in srgb, var(--primary-color, #1976D2) 8%, transparent);--shadow-md: 0 4px 12px color-mix(in srgb, var(--primary-color, #1976D2) 12%, transparent);--shadow-lg: 0 8px 24px color-mix(in srgb, var(--primary-color, #1976D2) 16%, transparent);--shadow-xl: 0 24px 80px rgba(0, 0, 0, .12), 0 8px 24px rgba(0, 0, 0, .08);--shadow-card: 0 0 0 1px rgba(0, 0, 0, .03), 0 1px 2px rgba(0, 0, 0, .03), 0 4px 16px rgba(0, 0, 0, .04);--shadow-card-hover: 0 0 0 1px rgba(0, 0, 0, .03), 0 2px 4px rgba(0, 0, 0, .04), 0 8px 32px rgba(0, 0, 0, .06);--shadow-dropdown: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 3px color-mix(in srgb, var(--primary-color, #1976D2) 12%, transparent);--glass-bg: rgba(255, 255, 255, .8);--glass-blur: blur(16px) saturate(180%);--glass-border: 1px solid rgba(0, 0, 0, .03);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--ease-spring: cubic-bezier(.25, .46, .45, .94);--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 900;--z-modal: 1000;--z-toast: 2000}[data-bs-theme=dark]{--color-text: var(--bs-body-color);--color-text-secondary: var(--bs-secondary-color);--color-text-muted: var(--bs-tertiary-color);--color-bg: var(--bs-body-bg);--color-bg-subtle: var(--bs-body-bg);--color-bg-muted: var(--bs-tertiary-bg);--color-border: var(--bs-border-color);--light-bg: var(--bs-body-bg);--lighter-bg: var(--bs-tertiary-bg);--text-dark: var(--bs-body-color);--text-medium: var(--bs-secondary-color);--text-light: var(--bs-tertiary-color);--text-color: var(--bs-body-color);--border-color: var(--bs-border-color);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 3px rgba(96, 165, 250, .12);--dm-glass: rgba(28, 28, 30, .72);--dm-dropdown: rgba(44, 44, 46, .92);--dm-surface: rgba(255, 255, 255, .04);--dm-surface-hover: rgba(255, 255, 255, .06);--dm-surface-active: rgba(255, 255, 255, .08);--dm-surface-strong: rgba(255, 255, 255, .1);--dm-border: rgba(255, 255, 255, .06);--dm-border-strong: rgba(255, 255, 255, .08);--dm-border-dashed: rgba(255, 255, 255, .12);--dm-text-heading: rgba(255, 255, 255, .92);--dm-text: rgba(255, 255, 255, .8);--dm-text-muted: rgba(255, 255, 255, .6);--dm-text-faint: rgba(255, 255, 255, .5);--dm-text-subtle: rgba(255, 255, 255, .4);--ed-frosted-bg: var(--dm-glass);--ed-input-bg: var(--dm-surface);--ed-primary-gradient: linear-gradient(135deg, #1e88e5 0%, #1565c0 100%);--ed-primary-shadow: 0 2px 8px rgba(96, 165, 250, .22), 0 0 1px rgba(96, 165, 250, .2);--ed-primary-shadow-hover: 0 4px 14px rgba(96, 165, 250, .3), 0 0 2px rgba(96, 165, 250, .25);--ed-focus-ring: 0 0 0 3px rgba(96, 165, 250, .12)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--primary-color, #1976D2);outline-offset:2px}:focus:not(:focus-visible){outline:none}@supports not (backdrop-filter: blur(1px)){:root{--glass-bg: rgba(255, 255, 255, .95)}}*{margin:0;padding:0;box-sizing:border-box}body{background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--primary-color, #1976D2) 5%,transparent) 0%,transparent 60%),radial-gradient(ellipse at 85% 100%,color-mix(in srgb,var(--primary-color, #1976D2) 3%,transparent) 0%,transparent 60%),#f4f6f9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);color:var(--text-dark);min-height:100vh;display:flex;flex-direction:column}html[data-text-size=text-sm]{font-size:13px}html[data-text-size=text-md]{font-size:15px}html[data-text-size=text-lg]{font-size:17px}html[data-text-size=text-sm] body,html[data-text-size=text-sm] .card,html[data-text-size=text-sm] table,html[data-text-size=text-sm] input,html[data-text-size=text-sm] select,html[data-text-size=text-sm] textarea,html[data-text-size=text-sm] button,html[data-text-size=text-sm] p,html[data-text-size=text-sm] span,html[data-text-size=text-sm] a,html[data-text-size=text-sm] li,html[data-text-size=text-sm] td,html[data-text-size=text-sm] th,html[data-text-size=text-sm] label,html[data-text-size=text-sm] .btn{font-size:13px!important}html[data-text-size=text-lg] body,html[data-text-size=text-lg] .card,html[data-text-size=text-lg] table,html[data-text-size=text-lg] input,html[data-text-size=text-lg] select,html[data-text-size=text-lg] textarea,html[data-text-size=text-lg] button,html[data-text-size=text-lg] p,html[data-text-size=text-lg] span,html[data-text-size=text-lg] a,html[data-text-size=text-lg] li,html[data-text-size=text-lg] td,html[data-text-size=text-lg] th,html[data-text-size=text-lg] label,html[data-text-size=text-lg] .btn{font-size:17px!important}html[data-text-size=text-sm] h1{font-size:1.6rem!important}html[data-text-size=text-sm] h2{font-size:1.3rem!important}html[data-text-size=text-sm] h3{font-size:1.1rem!important}html[data-text-size=text-sm] h4{font-size:1rem!important}html[data-text-size=text-lg] h1{font-size:2.2rem!important}html[data-text-size=text-lg] h2{font-size:1.7rem!important}html[data-text-size=text-lg] h3{font-size:1.4rem!important}html[data-text-size=text-lg] h4{font-size:1.2rem!important}.container{padding:24px}body>.container{flex:1;display:flex;flex-direction:column}body>.container>.card{flex:1}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#main-navbar{background:#ffffffb8;background-color:#ffffffb8;background-image:none;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px #00000008;color:var(--text-dark);margin-bottom:var(--space-6);position:relative;z-index:1050;padding:0}#main-navbar .container{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-6)}.navbar h1{font-size:1.5rem;font-weight:600;letter-spacing:-.5px}#main-navbar .navbar-brand{display:flex;align-items:center;gap:var(--space-3)}#main-navbar .navbar-brand .brand-text{color:var(--primary-color, #1976D2);font-weight:700;font-size:1.15rem;letter-spacing:-.02em}#main-navbar .navbar-brand img{max-height:40px;width:auto;height:auto;object-fit:contain;object-position:center;vertical-align:middle;display:block}#main-navbar nav{display:flex;align-items:center;gap:2px}#main-navbar nav a{color:#6e6e73;font-size:13px;font-weight:500;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all .15s ease;text-decoration:none}#main-navbar nav a:hover{color:#1d1d1f;background:#0000000a;transform:none}#main-navbar nav a:active{transform:none;background:#0000000f}#main-navbar .user-info{color:var(--text-dark);margin-left:1rem;padding:.6rem 1.2rem;font-size:14px;background:#0000000a;border-radius:var(--radius-sm)}#main-navbar .dropdown{position:relative;display:inline-block}#main-navbar .dropdown-toggle{color:#6e6e73;font-size:13px;font-weight:500;padding:var(--space-2) var(--space-3);cursor:pointer;display:inline-block;text-decoration:none;border-radius:var(--radius-sm);transition:all .2s}#main-navbar .dropdown:hover .dropdown-toggle{color:#1d1d1f;background:#0000000a}#main-navbar .dropdown-menu{display:none;position:absolute;top:100%;left:0;border-radius:var(--radius-xl);background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 12px 40px #0000001f,0 4px 12px #0000000f;padding:var(--space-2);min-width:180px;overflow:visible;z-index:1051}#main-navbar .dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:4px;background:transparent}#main-navbar .dropdown:hover .dropdown-menu{display:block}#main-navbar .dropdown-menu a{color:var(--text-dark);border-radius:var(--radius-md);padding:8px 12px;font-size:13px;font-weight:400;display:block;text-decoration:none;margin:0;transition:background .1s ease}#main-navbar .dropdown-menu a:hover{background:#0000000a;transform:none}#main-navbar .dropdown-divider{margin:4px 8px;height:1px;background:#0000000f}#main-navbar .language-switcher{margin-left:.5rem}#main-navbar .language-toggle{padding:4px 8px;border-radius:var(--radius-md);display:flex;align-items:center;gap:.3rem}#main-navbar .language-toggle .flag{font-size:1.3rem;line-height:1}#main-navbar .language-menu{right:0;left:auto;min-width:160px;border-radius:var(--radius-xl);padding:var(--space-2)}#main-navbar .language-option{display:flex;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);padding:var(--space-2) 10px}#main-navbar .language-option .flag{font-size:1.2rem}#main-navbar .language-option .lang-name{font-size:12px}#main-navbar .language-option.active{background:#0000000a;font-weight:500}#main-navbar .language-option.active:after{content:"✓";margin-left:auto;color:var(--success);font-weight:700}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0000002e}.card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-2xl);border:none;box-shadow:var(--shadow-card);padding:var(--space-6);margin-bottom:var(--space-6);transition:box-shadow var(--transition-slow),transform var(--transition-slow)}.card:hover{box-shadow:var(--shadow-card-hover)}.card h2{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;border-bottom:1px solid rgba(0,0,0,.05);padding-bottom:var(--space-3);margin-bottom:var(--space-4);color:var(--text-color, var(--color-text))}.card h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1rem;color:var(--text-color, var(--color-text))}.card--stacked{margin-top:1.5rem}.btn{display:inline-block;border-radius:var(--radius-lg);font-weight:500;font-size:var(--text-md);letter-spacing:0;padding:7px 16px;transition:all .15s ease;border:none;cursor:pointer;text-decoration:none;text-align:center}.btn:hover{transform:translateY(-.5px)}.btn:active{transform:translateY(.5px)}body .btn-primary{background:var(--primary-color, #1976D2);color:#fff;box-shadow:0 1px 3px #0000001a,0 4px 12px color-mix(in srgb,var(--primary-color, #1976D2) 25%,transparent);border:none}body .btn-primary:hover{background:color-mix(in srgb,var(--primary-color, #1976D2) 88%,black);box-shadow:0 2px 6px #0000001f,0 8px 20px color-mix(in srgb,var(--primary-color, #1976D2) 30%,transparent);color:#fff}body .btn-success{background:var(--color-success-dark);color:#fff;box-shadow:0 1px 3px #00000014,0 4px 12px #16a34a33;border:none}body .btn-success:hover{background:color-mix(in srgb,var(--color-success-dark) 90%,black);box-shadow:0 2px 6px #0000001a,0 8px 20px #16a34a40;color:#fff}body .btn-danger{background:transparent;color:var(--color-error-dark);border:1px solid rgba(220,38,38,.2)}body .btn-danger:hover{background:#dc26260d;border-color:#dc26264d;color:color-mix(in srgb,var(--color-error-dark) 85%,black);box-shadow:none}body .btn-secondary{background:#0000000f;color:var(--text-dark, #1c1c1e);box-shadow:none;border:1px solid rgba(0,0,0,.08)}body .btn-secondary:hover{background:#0000001a;color:var(--text-dark, #1c1c1e);border-color:#0000001f}.btn-outline-primary{background:transparent;color:var(--primary-color, #1976D2);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-lg)}.btn-outline-primary:hover{background:var(--primary-color, #1976D2);color:#fff;border-color:var(--primary-color, #1976D2);box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color, #1976D2) 25%,transparent)}.btn-sm{font-size:var(--text-sm);padding:4px 10px;border-radius:var(--radius-md)}.table .btn{font-size:var(--text-sm);padding:4px 10px;border-radius:var(--radius-md);margin-right:.5rem}.table td a.btn{text-decoration:none}body .table td a.btn-primary,body .table td a.btn-primary:hover,body .table td a.btn-primary:visited,body .table td a.btn-primary:link,body .table td a.btn-success,body .table td a.btn-success:hover,body .table td a.btn-success:visited,body .table td a.btn-success:link{color:#fff;text-decoration:none}body .table td a.btn-secondary,body .table td a.btn-secondary:hover,body .table td a.btn-secondary:visited,body .table td a.btn-secondary:link{color:var(--text-dark, #1c1c1e);text-decoration:none}body .table td a.btn-danger,body .table td a.btn-danger:link{color:var(--color-error-dark)}body .table td a.btn-danger:hover{color:color-mix(in srgb,var(--color-error-dark) 85%,black);text-decoration:none}.text-muted{color:var(--text-light);font-size:14px}.table{width:100%;border-collapse:separate;border-spacing:0;background:transparent;margin-top:1rem}.table th{background:transparent;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);padding:8px 12px;border-bottom:1px solid rgba(0,0,0,.06);text-align:left}.table td{font-size:13px;color:var(--text-dark);padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.03);text-align:left}.table tbody tr{transition:background .1s ease}.table tbody tr:hover{background:#00000004}.table td a{color:var(--primary-color, #1976D2);text-decoration:none;font-weight:500}.table td a:hover{text-decoration:underline;color:var(--text-color, var(--color-text))}table.dataTable{border-collapse:separate!important;border-spacing:0}body table.dataTable thead th,body table.dataTable thead td{background:transparent;border-bottom:1px solid rgba(0,0,0,.06);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);cursor:pointer;position:relative;padding-right:2rem}table.dataTable tbody tr{border-bottom:1px solid var(--border-color)}table.dataTable thead th.sorting:after,table.dataTable thead th.sorting_asc:after,table.dataTable thead th.sorting_desc:after{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text-light)}table.dataTable thead th.sorting:after{content:"▲▼";opacity:.3}table.dataTable thead th.sorting_asc:after{content:"▲";color:var(--primary-color, #1976D2);opacity:1}table.dataTable thead th.sorting_desc:after{content:"▼";color:var(--primary-color, #1976D2);opacity:1}.dataTables_wrapper{font-family:inherit;padding:0}.dataTables_wrapper .dataTables_filter{margin-bottom:1rem;display:flex;align-items:center}.dataTables_wrapper .dataTables_filter label,.dataTables_wrapper .dataTables_length label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-medium);font-size:14px}.dataTables_wrapper .dataTables_filter input{border:1px solid rgba(0,0,0,.08);border-radius:9px;background:#00000005;padding:8px 12px 8px 36px;min-width:240px;font-size:13px;transition:all .15s ease;margin-left:.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B9BAC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center}.dataTables_wrapper .dataTables_filter input:focus{border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color, #1976D2) 12%,transparent);background-color:#fff;outline:none}.dataTables_wrapper .dataTables_filter input::placeholder{color:var(--text-light)}.dataTables_wrapper .dataTables_length{margin-bottom:1rem;display:flex;align-items:center}.dataTables_wrapper .dataTables_length select{border:1px solid rgba(0,0,0,.08);border-radius:9px;background-color:#00000005;padding:6px 32px 6px 12px;font-size:13px;font-weight:500;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6C7D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0 .5rem;transition:all .2s}.dataTables_wrapper .dataTables_length select:hover{border-color:var(--primary-color, #1976D2)}.dataTables_wrapper .dataTables_length select:focus{outline:none;border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color, #1976D2) 15%,transparent)}.dataTables_wrapper .dataTables_info{font-size:12px;color:var(--text-light);padding-top:.75rem;font-weight:500}.dataTables_wrapper .dataTables_paginate{background:#0000000a;border-radius:10px;padding:3px;gap:0;display:inline-flex}body .dataTables_wrapper .dataTables_paginate .paginate_button{border:none;background:transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;padding:5px 10px;margin:0 1px;color:var(--text-medium);transition:all var(--transition-fast);cursor:pointer}body .dataTables_wrapper .dataTables_paginate .paginate_button:first-child{border-radius:var(--radius-md)}body .dataTables_wrapper .dataTables_paginate .paginate_button:last-child{border-radius:var(--radius-md)}body .dataTables_wrapper .dataTables_paginate .paginate_button+.paginate_button{border-left:none}body .dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:#0000000a;color:var(--text-dark);border-color:transparent;z-index:auto;position:static}body .dataTables_wrapper .dataTables_paginate .paginate_button.current,body .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:#fff;color:var(--text-dark);border-color:transparent;box-shadow:var(--shadow-xs),0 .5px 1px #0000000f;font-weight:600;z-index:auto;position:static}body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,body .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{opacity:.3;background:transparent;border-color:transparent;cursor:default;color:var(--text-light)}.dataTables_wrapper .dt-buttons{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}body .dataTables_wrapper .dt-buttons .btn.btn-export,body .dataTables_wrapper .dt-buttons .btn-secondary{border:1px solid rgba(0,0,0,.08);border-radius:9px;background:#fff9;color:var(--text-medium);font-size:12px;font-weight:500;padding:6px 14px;transition:all .15s ease}body .dataTables_wrapper .dt-buttons .btn.btn-export:hover,body .dataTables_wrapper .dt-buttons .btn.btn-export:focus,body .dataTables_wrapper .dt-buttons .btn-secondary:hover{background:var(--primary-color, #1976D2);border-color:var(--primary-color, #1976D2);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color, #1976D2) 25%,transparent)}.dataTables_wrapper .dt-buttons .btn.btn-export:active{transform:translateY(1px)}body .dataTables_wrapper .dt-buttons .btn-table-action,body .dataTables_wrapper .dt-buttons .btn-table-action.btn{padding:.5rem 1rem;border-radius:var(--radius-lg);font-size:13px;font-weight:500;margin-right:.75rem}body .card .btn-table-action,body .card .btn-table-action.btn{border-radius:var(--radius-lg)}.datatable-column-filters{background:transparent}body .datatable-column-filters th{padding:4px 8px}.filter-wrapper{position:relative;display:flex;align-items:stretch}.filter-wrapper .filter-input{flex:1;min-width:0;border:1px solid rgba(0,0,0,.06);border-radius:7px;background:#00000005;font-size:12px;padding:5px 24px 5px 8px;transition:all .15s ease}.filter-wrapper .filter-input:focus{outline:none;border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color, #1976D2) 10%,transparent);background:#fff}.filter-wrapper .filter-input::placeholder{color:var(--text-light);font-size:12px}.filter-dropdown-btn{position:absolute;right:1px;top:1px;bottom:1px;width:24px;border:none;border-radius:0 6px 6px 0;background:#00000008;color:var(--text-medium);cursor:pointer;font-size:9px;transition:all .2s;display:flex;align-items:center;justify-content:center}.filter-dropdown-btn:hover{background:var(--border-color);color:var(--primary-color, #1976D2)}.filter-dropdown-menu{position:absolute;top:100%;left:0;right:0;border-radius:10px;border:1px solid rgba(0,0,0,.06);background:#ffffffeb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;padding:4px;z-index:1000;max-height:250px;overflow-y:auto;display:none;margin-top:2px}.filter-dropdown-menu.open{display:block}.filter-dropdown-item{border-radius:6px;font-size:12px;padding:5px 8px;cursor:pointer;transition:background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-dropdown-item:hover{background:#0000000a}.filter-dropdown-item.filter-clear{color:var(--text-light);font-style:italic;border-bottom:1px solid var(--border-color)}.filter-dropdown-item.filter-clear:hover{color:var(--primary-color, #1976D2)}.filter-dropdown-menu::-webkit-scrollbar{width:6px}.filter-dropdown-menu::-webkit-scrollbar-track{background:var(--lighter-bg);border-radius:3px}.filter-dropdown-menu::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.filter-dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.datatable-column-filters input,.datatable-column-filters select{width:100%;padding:.4rem .6rem;border:1px solid var(--border-color);border-radius:4px;font-size:13px;background:#fff}.datatable-column-filters input:focus,.datatable-column-filters select:focus{outline:none;border-color:var(--primary-color, #1976D2)}.datatable-column-filters input::placeholder{color:var(--text-light);font-size:12px}.dataTables_wrapper .top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.dataTables_wrapper .bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(0,0,0,.04);padding-top:12px;margin-top:12px}.form-group{margin-bottom:var(--space-5)}.form-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:var(--space-5)}.form-toggle>label{display:inline-flex;align-items:center;gap:.55rem;margin:0;font-size:var(--text-base);font-weight:400;text-transform:none;letter-spacing:normal;color:var(--text-dark);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.25}.form-toggle>label input[type=checkbox]{width:18px;height:18px;min-width:18px;max-width:18px;margin:0;padding:0;accent-color:var(--primary-color, #1976D2);cursor:pointer;flex-shrink:0}.form-toggle>label input[type=checkbox]:focus-visible{outline:2px solid var(--primary-color, #1976D2);outline-offset:2px;border-radius:4px}.form-toggle>label:has(input[type=checkbox]:disabled){cursor:not-allowed;opacity:.65}.form-toggle>label input[type=checkbox]:disabled{cursor:not-allowed}.form-toggle .form-toggle-hint{font-size:var(--text-sm);color:var(--text-light);font-style:italic}.form-group label{display:block;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-light);margin-bottom:var(--space-2)}.form-group input,.form-group select,.form-group textarea{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);background:#00000005;padding:9px 12px;font-size:var(--text-base);transition:all var(--transition-fast);color:var(--text-dark)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color, #1976D2);box-shadow:var(--shadow-focus);background:#fff;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light);font-size:var(--text-md)}.form-actions{border-top:1px solid rgba(0,0,0,.04);padding-top:16px;margin-top:20px}.form-actions .btn{margin-right:.5rem}.stat-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-2xl);border:none;border-left:3px solid var(--primary-color, #1976D2);box-shadow:var(--shadow-card);padding:1.5rem;transition:transform .25s ease,box-shadow .25s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #00000008,0 4px 12px #0000000f,0 12px 40px #0000000a}.stat-card h4{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;color:var(--text-medium);text-transform:uppercase;margin-bottom:.5rem}.stat-card .stat-value{font-size:2.5rem;font-weight:800;color:var(--primary-color, #1976D2);margin-bottom:.5rem;letter-spacing:-.03em}.stat-card .stat-label{font-size:.875rem;color:var(--text-light)}.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;border:none;text-transform:none}.badge-success{background:#16a34a1a;color:var(--color-success-dark)}.badge-warning{background:#eab3081f;color:#a16207}.badge-info,.badge-primary{background:color-mix(in srgb,var(--primary-color, #1976D2) 10%,transparent);color:var(--primary-color, #1976D2)}.badge-secondary{background:#0000000d;color:var(--text-medium)}.badge-danger{background:#dc262614;color:var(--color-error-dark)}strong+.badge,.badge+.badge,span+.badge{margin-left:.5rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-dialog{border-radius:var(--radius-3xl);border:none;background:#fff;box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;background:#00000005;border-bottom:1px solid rgba(0,0,0,.05);border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;padding:var(--space-4) var(--space-5)}.modal-header h4{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text-color, var(--color-text))}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-light);cursor:pointer;padding:0;border-radius:var(--radius-md);width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:#0000000f;color:var(--text-dark)}.modal-body{padding:var(--space-5);overflow-y:auto;flex:1}.modal-description{margin:0 0 1rem;color:var(--text-medium);font-size:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);background:#00000005;border-top:1px solid rgba(0,0,0,.05);border-radius:0 0 16px 16px;padding:var(--space-3) var(--space-5)}.modal-body .form-group{margin-bottom:1rem}.modal-body .form-group label{display:block;font-size:13px;font-weight:600;color:var(--text-medium, #666);margin-bottom:6px}.modal-input{display:block;width:100%;padding:10px 14px;border:1px solid var(--border-color, #e0e0e0);border-radius:10px;font-size:14px;background:var(--lighter-bg, #f8f9fa);color:var(--text-dark, var(--color-text));box-sizing:border-box;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-input:focus{outline:none;border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 3px #1976d21a;background:#fff}select.modal-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}.modal-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.05)}.flash{border-radius:var(--radius-xl);border:none;font-size:var(--text-md);padding:var(--space-3) var(--space-4);font-weight:500;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;animation:slideIn .3s ease-out}.flash.success{background:#16a34a14;color:color-mix(in srgb,var(--color-success-dark) 90%,black);border-left:3px solid var(--color-success-dark)}.flash.error{background:#dc26260f;color:color-mix(in srgb,var(--color-error-dark) 85%,black);border-left:3px solid var(--color-error-dark)}.flash.info{background:color-mix(in srgb,var(--primary-color, #1976D2) 6%,transparent);color:color-mix(in srgb,var(--primary-color, #1976D2) 80%,black);border-left:3px solid var(--primary-color, #1976D2)}.spinner{border:2px solid rgba(0,0,0,.06);border-top-color:var(--primary-color, #1976D2);border-radius:var(--radius-full);width:32px;height:32px;animation:spin 1s linear infinite;margin:2rem auto}#main-navbar .theme-toggle,#main-navbar .text-size-toggle{background:#0000000a;color:var(--text-medium);border:none;border-radius:8px;width:34px;height:34px;padding:0;font-size:14px;margin:0 4px;transition:background .15s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}#main-navbar .theme-toggle:hover,#main-navbar .text-size-toggle:hover{background:#00000014;color:var(--text-dark)}.text-size-toggle .text-size-icon{font-weight:700;font-family:serif;line-height:1}.print-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000}.print-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3}.print-modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-width:1400px;height:90%;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d}#printModalFrame{width:100%;height:100%;border-radius:8px}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-light, #f8f9fa);border-radius:8px;border:1px solid var(--border-color)}.session-item.current{border-color:var(--primary-color);background:#1976d20d}.session-icon{font-size:2rem}.session-info{flex:1}.session-device{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.session-details{font-size:.875rem}.session-details .separator{margin:0 .5rem}.session-actions{flex-shrink:0}.permissions-grid{display:flex;flex-direction:column;gap:1.25rem;margin:1rem 0}.permissions-grid .permission-group--boolean{display:inline}.permissions-grid-boolean-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.permission-group{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:1.25rem}.permission-group-title{margin:0 0 .75rem;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--primary-color, #1976D2);border-bottom:2px solid var(--primary-color, #1976D2);padding-bottom:.5rem}.permission-items{display:flex;flex-direction:column;gap:.5rem}.check{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.88rem;color:var(--text-dark, #1c1c1e);line-height:1.25;margin:0;font-weight:400}.check input[type=checkbox]{margin:0;width:18px;height:18px;flex-shrink:0;accent-color:var(--primary-color, #1976D2);cursor:pointer}.check input[type=checkbox]:focus-visible{outline:2px solid var(--primary-color, #1976D2);outline-offset:2px;border-radius:4px}.check input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.check__label{flex:1;min-width:0}.check--compact{font-size:.82rem;gap:.45rem}.check--compact input[type=checkbox]{width:16px;height:16px}.check--accent{font-weight:500}.check--accent input[type=checkbox]{width:20px;height:20px}.permission-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.permission-item input[type=checkbox]{margin:0;width:18px;height:18px;accent-color:var(--primary-color, #1976D2);cursor:pointer}.permission-item input[type=checkbox]:focus-visible{outline:2px solid var(--primary-color, #1976D2);outline-offset:2px;border-radius:4px}.permission-item label{margin:0;font-weight:400;cursor:pointer}.permission-item.permission-level{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border-radius:6px;background:#00000005;border:1px solid transparent;transition:background .15s}.permission-item.permission-level:hover{background:#0000000a}.permission-level-label{flex:1;min-width:0}.permission-level-label strong{font-size:.9rem;font-weight:500}.permission-level-options{display:flex;gap:.25rem;flex-shrink:0}.radio-label{display:flex;align-items:center;gap:.3rem;cursor:pointer;font-weight:400;font-size:.85rem;padding:.3rem .65rem;border-radius:5px;border:1px solid #dee2e6;background:#fff;transition:all .15s;-webkit-user-select:none;user-select:none}.radio-label:hover{border-color:var(--primary-color, #1976D2);background:#1976d20a}.radio-label input[type=radio]{margin:0;accent-color:var(--primary-color, #1976D2)}.radio-label:has(input:checked){background:color-mix(in srgb,var(--primary-color, #1976D2) 10%,white);border-color:var(--primary-color, #1976D2);font-weight:500}.permissions-grid.disabled .permission-item{opacity:.6}.permissions-grid.disabled .permission-item.permission-level{background:#00000005}.permissions-grid.disabled .radio-label{cursor:default}[data-bs-theme=dark] .permission-group{background:var(--dm-surface, rgba(255, 255, 255, .04));border-color:var(--dm-border, rgba(255, 255, 255, .06))}[data-bs-theme=dark] .permission-group-title{color:color-mix(in srgb,var(--primary-color, #60a5fa) 80%,white);border-bottom-color:color-mix(in srgb,var(--primary-color, #60a5fa) 40%,transparent)}[data-bs-theme=dark] .permission-item label,[data-bs-theme=dark] .permission-level-label strong{color:var(--dm-text, rgba(255, 255, 255, .8))}[data-bs-theme=dark] .permission-item.permission-level{background:var(--dm-surface, rgba(255, 255, 255, .03));border-color:transparent}[data-bs-theme=dark] .permission-item.permission-level:hover{background:var(--dm-surface-hover, rgba(255, 255, 255, .06))}[data-bs-theme=dark] .radio-label{background:var(--dm-surface, rgba(255, 255, 255, .04));border-color:var(--dm-border-strong, rgba(255, 255, 255, .08));color:var(--dm-text-muted, rgba(255, 255, 255, .6))}[data-bs-theme=dark] .radio-label:hover{border-color:color-mix(in srgb,var(--primary-color, #60a5fa) 50%,transparent);background:var(--dm-surface-hover, rgba(255, 255, 255, .06))}[data-bs-theme=dark] .radio-label:has(input:checked){background:color-mix(in srgb,var(--primary-color, #60a5fa) 15%,transparent);border-color:color-mix(in srgb,var(--primary-color, #60a5fa) 50%,transparent);color:var(--dm-text-heading, rgba(255, 255, 255, .92))}[data-bs-theme=dark] .permissions-grid.disabled .permission-item.permission-level{background:var(--dm-surface, rgba(255, 255, 255, .02))}.api-key-display{background:var(--bg-light);padding:.25rem .5rem;border-radius:4px;font-family:monospace;font-size:.8rem}.locale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem}.locale-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border:2px solid var(--border-color, #e0e0e0);border-radius:12px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;background:var(--card-bg, white)}.locale-card:hover{border-color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 4%,var(--card-bg, white))}.locale-card.active{border-color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 8%,var(--card-bg, white))}.locale-card input[type=checkbox]{display:none}.locale-flag{font-size:1.5rem}.locale-name{font-weight:600;font-size:.95rem;flex:1}.locale-code{font-size:.75rem;font-weight:600;color:var(--text-light, #999);text-transform:uppercase;background:var(--lighter-bg, #f5f5f5);padding:.2rem .5rem;border-radius:4px}.notif-group{border:1px solid var(--border-color, #dee2e6);border-radius:8px;margin-bottom:.75rem;overflow:hidden}.notif-group-header,.notif-type-header,.notif-role-header{cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.notif-group-header{padding:.75rem 1rem;gap:.6rem;background:var(--bg-secondary, #e9ecef);font-size:1rem}.notif-group-header:hover{background:var(--bg-hover, #dee2e6)}.notif-group-body{padding:.5rem .75rem .75rem}.notif-type-in-group{margin:.5rem 0}.notif-type{border:1px solid var(--border-color, #dee2e6);border-radius:8px;margin-bottom:.75rem;overflow:hidden}.notif-group-body .notif-type{margin-bottom:0}.notif-type-header{padding:.65rem 1rem;gap:.6rem;background:var(--bg-secondary, #f8f9fa)}.notif-type-header:hover{background:var(--bg-hover, #e9ecef)}.notif-type-body{padding:.25rem .75rem .5rem}.notif-role{border:1px solid var(--border-color, #e9ecef);border-radius:6px;margin:.5rem 0;overflow:hidden}.notif-role-header{padding:.5rem .75rem;gap:.5rem;background:var(--bg-tertiary, #fdfdfe)}.notif-role-header:hover{background:var(--bg-hover, #f1f3f5)}.notif-role-name{font-weight:600;font-size:.9rem}.notif-counter{font-size:.8rem;color:var(--text-muted, #6c757d);margin-left:.15rem}.notif-role-toggle{margin-left:auto}.notif-role-toggle .mode-btn{padding:.2rem .5rem;font-size:.7rem}.notif-role-body{padding:.35rem .75rem .5rem 1rem}.notif-user{padding:.4rem 0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.notif-user-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.notif-user-name{font-weight:500}.notif-user-email{font-size:.8rem;color:var(--text-muted, #6c757d)}.notif-expand-icon{font-size:.6rem;transition:transform .2s ease;display:inline-block;width:1em;text-align:center;color:var(--text-muted, #6c757d)}.notif-expand-icon.expanded{transform:rotate(90deg)}.notif-mode-switch{display:inline-flex;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #dee2e6);flex-shrink:0}.mode-btn{border:none;background:var(--bg-color, #fff);padding:.3rem .6rem;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--text-muted, #6c757d);transition:background .15s,color .15s;white-space:nowrap;font-family:inherit}.mode-btn:not(:last-child){border-right:1px solid var(--border-color, #dee2e6)}.mode-btn:hover{background:var(--bg-hover, #f1f3f5)}.mode-btn.active{background:var(--primary-color, #1976D2);color:#fff}.mode-btn.active:hover{opacity:.9}.notif-mode-toggle{display:flex;width:fit-content;border-radius:10px;overflow:hidden;border:1px solid var(--border-color, #dee2e6);margin:0 auto 1.5rem}.notif-mode-toggle-btn{border:none;background:var(--bg-color, #fff);padding:.55rem 1.2rem;font-size:.9rem;font-weight:500;cursor:pointer;color:var(--text-muted, #6c757d);transition:background .15s,color .15s;display:inline-flex;align-items:center;gap:.45rem;font-family:inherit}.notif-mode-toggle-btn:not(:last-child){border-right:1px solid var(--border-color, #dee2e6)}.notif-mode-toggle-btn:hover{background:var(--bg-hover, #f1f3f5)}.notif-mode-toggle-btn.active{background:var(--primary-color, #1976D2);color:#fff}.notif-mode-toggle-btn.active:hover{opacity:.9}.notif-address-section{margin-bottom:1.25rem;text-align:center}.notif-address-section .form-control{margin:0 auto;max-width:400px}.notif-address-section .notif-address-help{margin:0 0 .5rem;font-size:13px}.notif-address-label{font-weight:500;font-size:.9rem;margin-bottom:.4rem;display:block;color:var(--text-dark, #212529)}.notif-flat-categories{display:flex;flex-direction:column;gap:0}.notif-flat-group{border:1.5px solid var(--border-color, #ced4da);border-radius:10px;margin-bottom:1rem;overflow:hidden;box-shadow:0 1px 3px #0000000a}.notif-flat-group-header{padding:.65rem 1rem;background:var(--bg-secondary, #e9ecef);font-size:.9rem;border-bottom:1.5px solid var(--border-color, #ced4da);letter-spacing:.01em}.notif-flat-group-header strong{color:var(--text-dark, #212529)}.notif-flat-category{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--border-color, #e9ecef);gap:.75rem;flex-wrap:wrap}.notif-flat-category:last-child{border-bottom:none}.notif-flat-categories>.notif-flat-category{border:1.5px solid var(--border-color, #ced4da);border-radius:10px;margin-bottom:1rem;box-shadow:0 1px 3px #0000000a}.notif-flat-category-name{font-size:.9rem;font-weight:500;color:var(--text-dark, #212529)}.notif-flat-category-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem}.email-badges-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;width:100%;padding:.35rem .5rem;border:1px solid var(--border-color, #ced4da);border-radius:6px;background:var(--input-bg, #fff);margin-top:.4rem;min-height:36px;cursor:text}.email-badges-wrap:focus-within{border-color:var(--primary, #4a89dc);box-shadow:0 0 0 2px #4a89dc26}.email-badges{display:flex;flex-wrap:wrap;gap:.3rem}.email-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;background:var(--primary, #4a89dc);color:#fff;border-radius:20px;font-size:.8rem;line-height:1.4;white-space:nowrap}.email-badge-x{background:none;border:none;color:#ffffffbf;cursor:pointer;font-size:1rem;line-height:1;padding:0 .1rem}.email-badge-x:hover{color:#fff}.email-badge-input{border:none;outline:none;padding:.15rem 0;font-size:.85rem;min-width:180px;flex:1;background:transparent;color:var(--text-dark, #212529)}.email-badge-input::placeholder{color:var(--text-muted, #999)}.ruian-autocomplete-wrapper{position:relative}.ruian-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #00000026}.ruian-suggestion-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background .15s}.ruian-suggestion-item:last-child{border-bottom:none}.ruian-suggestion-item:hover{background:var(--primary-color, #1976D2);color:#fff}.location-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.location-section h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-dark, #333)}.location-type-switcher{display:flex;gap:.5rem;margin-bottom:1rem;padding:4px;background:var(--lighter-bg, #f0f2f5);border-radius:12px;width:fit-content}.location-type-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border:none;background:transparent;border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500;color:var(--text-medium, #666)}.location-type-btn:hover{background:#ffffff80;color:var(--text-dark, #333)}.location-type-btn.active{background:#fff;color:var(--primary-color, #1976D2);box-shadow:0 2px 8px #0000001a}.location-type-icon{font-size:1.1rem}.location-type-label{font-weight:500}.location-panel{padding:1.25rem;background:var(--lighter-bg, #f8f9fa);border-radius:12px;border:1px solid var(--border-color, #e0e0e0)}.location-panel .form-group{margin-bottom:0}.gps-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.btn-geolocation{display:inline-flex;align-items:center;gap:.5rem}.btn-geolocation .btn-icon{font-size:1rem}[data-bs-theme=dark] .location-type-switcher{background:#ffffff0d}[data-bs-theme=dark] .location-type-btn.active{background:#ffffff1a;color:var(--primary-color)}[data-bs-theme=dark] .location-panel{background:#ffffff08;border-color:#ffffff1a}[data-bs-theme=dark] .ruian-suggestions{background:var(--card-bg, #1e1e1e);border-color:#ffffff1a}[data-bs-theme=dark] .ruian-suggestion-item:hover{background:var(--primary-color, #1976D2)}.custom-marker .marker-pin{width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--primary-color, #1976D2);position:absolute;transform:rotate(-45deg);left:50%;top:50%;margin:-15px 0 0 -15px;box-shadow:0 2px 5px #0000004d}.custom-marker .marker-pin:after{content:"";width:14px;height:14px;margin:8px 0 0 8px;background:#fff;position:absolute;border-radius:50%}.custom-marker .marker-pin.cluster{background:#2c9f41;display:flex;align-items:center;justify-content:center}.custom-marker .marker-pin.cluster:after{display:none}.custom-marker .marker-pin.cluster span{transform:rotate(45deg);color:#fff;font-weight:700;font-size:12px}.map-popup{min-width:200px}.map-popup-devices{margin-top:.5rem;max-height:200px;overflow-y:auto}.map-popup-device{padding:.5rem 0;border-bottom:1px solid var(--border-color, #eee)}.map-popup-device:last-child{border-bottom:none}.map-popup-device .device-link{color:var(--primary-color, #1976D2);text-decoration:none}.map-popup-device .device-link:hover{text-decoration:underline}.map-popup-device small{color:var(--text-medium, #666)}.map-legend{display:flex;gap:1.5rem;padding:.75rem;background:var(--lighter-bg, #f5f5f5);border-radius:6px}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-medium, #666)}.legend-marker{width:16px;height:16px;border-radius:50%;background:var(--primary-color, #1976D2)}.legend-marker.cluster{background:#2c9f41}.import-info{background:#f0f7ff;border:1px solid #bdd7ff;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.import-info h4{margin:0 0 .75rem;color:var(--primary-color)}.import-info ul{margin:0;padding-left:1.5rem;line-height:1.8}[data-bs-theme=dark] .import-info{background:var(--dm-surface-hover);border-color:var(--dm-border-strong);color:var(--dm-text)}[data-bs-theme=dark] .import-info h4{color:var(--primary-color, #60a5fa)!important}[data-bs-theme=dark] .import-info ul,[data-bs-theme=dark] .import-info li,[data-bs-theme=dark] .import-info strong{color:var(--dm-text)!important}.section-divider{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.section-divider>h3:first-child,h3.section-divider{margin:0 0 1rem}.section-stack{margin-top:2rem}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-head h2,.page-head h3{margin:0}.page-head .text-muted{margin:.5rem 0 0}.form-grid{display:grid;gap:1rem;align-items:end}.form-grid>.form-group{margin-bottom:0}.form-grid--2col{grid-template-columns:1fr 1fr}.form-grid--auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start}.form-grid--tokens{grid-template-columns:2fr 1fr 1fr auto}.info-card{background:var(--bg-light, #f8f9fa);padding:1rem;border-radius:8px;border:1px solid var(--border-color);margin-bottom:1.5rem}.info-card h4{margin:0 0 .5rem;color:var(--primary-color)}.info-card p{margin:0 0 1rem}.info-card p:last-child{margin-bottom:0}.info-card pre{background:#1e1e1e;color:#d4d4d4;padding:1rem;border-radius:4px;overflow-x:auto;margin:0 0 1rem}.info-card--stacked{margin-top:2rem;margin-bottom:0}.history-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.history-section h3{margin:0 0 1rem}.history-section th.col-date,.history-section th.col-user{width:150px}.table-scroll{overflow-x:auto}.table-ref{font-size:.9rem}.form-control--file{padding:.5rem}.text-required{color:#e53e3e}.current-assignment-info{background:var(--bg-light, #f8f9fa);padding:1rem;border-radius:8px;margin-bottom:1.5rem}.current-assignment-info h4{margin:0 0 .5rem;color:var(--primary-color)}.form-branch{padding-left:2rem;border-left:3px solid var(--primary-blue);margin:1rem 0}.form-intro{margin-bottom:1.5rem}.form-group--stacked{margin-top:1.5rem}.form-sublabel{margin-bottom:.5rem;font-size:.85rem}.form-control--narrow{max-width:300px}.pdf-form-actions>.btn-outline-danger,.form-actions>.btn--reset{margin-left:auto}.editor-toolbar-label{font-size:.85rem;margin:0}.text-center{text-align:center}.text-end{text-align:right}.form-body--narrow{max-width:480px;margin:0 auto}.notif-users-intro{margin-bottom:1rem}.form-actions--stacked{margin-top:1.5rem}.hr--section{margin:1.5rem 0}.is-hidden{display:none!important}.is-disabled{opacity:.5;pointer-events:none}.autocomplete-select-wrapper{position:relative;width:100%}.autocomplete-select-wrapper .autocomplete-input{width:100%;padding:.7rem 2.5rem .7rem 1rem;border:1px solid rgba(0,0,0,.08);border-radius:9px;background:#00000005;font-size:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6C7D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;cursor:pointer;transition:all .2s}.autocomplete-select-wrapper .autocomplete-input:focus,.bulk-search-card .bulk-search-input:focus{outline:none;border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color, #1976D2) 12%,transparent);background-color:#fff}.autocomplete-select-wrapper .autocomplete-input::placeholder{color:var(--text-light)}.autocomplete-select-wrapper .autocomplete-input.has-value{color:var(--text-dark);font-weight:500}.autocomplete-select-dropdown,.bulk-search-dropdown{border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f}.autocomplete-select-dropdown{position:absolute;top:100%;left:0;right:0;border-radius:12px;background:#ffffffeb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:4px;z-index:1000;max-height:300px;overflow-y:auto;display:none;margin-top:4px}.autocomplete-select-dropdown.open{display:block}.autocomplete-select-dropdown .autocomplete-search{position:sticky;top:0;background:#00000005;border-bottom:1px solid rgba(0,0,0,.04);border-radius:10px 10px 0 0;padding:8px}.autocomplete-select-dropdown .autocomplete-search input{width:100%;padding:.6rem 1rem .6rem 2.25rem;border-radius:7px;border:1px solid rgba(0,0,0,.06);font-size:13px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238B9BAC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") no-repeat .6rem center}.autocomplete-select-dropdown .autocomplete-search input:focus{outline:none;border-color:var(--primary-color, #1976D2)}.autocomplete-select-item{border-radius:7px;border-bottom:none;padding:8px 10px;margin:1px 0;cursor:pointer;transition:background .15s}.autocomplete-select-item:last-child{border-bottom:none}.autocomplete-select-item:hover{background:#0000000a}.autocomplete-select-item.selected{background:color-mix(in srgb,var(--primary-color, #1976D2) 8%,transparent);color:var(--primary-color, #1976D2);font-weight:500}.autocomplete-select-item.highlighted{background:#0000000a}.autocomplete-select-item .item-label{font-size:13px;font-weight:500;color:var(--text-dark)}.autocomplete-select-item .item-description{font-size:11px;color:var(--text-medium);margin-top:2px}.autocomplete-select-empty{padding:1rem;text-align:center;color:var(--text-light);font-style:italic}.autocomplete-select-clear{border-radius:7px;border-bottom:1px solid rgba(0,0,0,.04);padding:8px 10px;font-size:13px;color:var(--text-light);font-style:italic;cursor:pointer;transition:background .15s}.autocomplete-select-clear:hover{background:var(--lighter-bg);color:var(--primary-color, #1976D2)}.autocomplete-select-dropdown::-webkit-scrollbar{width:8px}.autocomplete-select-dropdown::-webkit-scrollbar-track{background:var(--lighter-bg);border-radius:0 8px 8px 0}.autocomplete-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.autocomplete-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-light)}@media(max-width:768px){.autocomplete-select-dropdown{border-radius:10px}}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 40px);padding:2rem 1rem}.login-card{max-width:420px;width:100%;margin:0 auto;padding:2.5rem;border-radius:20px;background:#ffffffd1;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 16px #0000000a,0 20px 60px #0000000f}.login-logo{text-align:center;margin-bottom:1.5rem}.login-logo img{max-height:96px;max-width:280px;object-fit:contain}.login-logo-fallback{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:18px;background:linear-gradient(135deg,var(--primary-color, #1976D2) 0%,var(--secondary-color, #424242) 100%);color:#fff;font-size:40px;box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color, #1976D2) 30%,transparent)}.login-card h2{text-align:center;margin-bottom:2rem;font-size:1.25rem;font-weight:600;letter-spacing:-.01em;color:var(--text-color, var(--color-text))}.login-field label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#888}.login-input-wrapper{position:relative}.login-input-wrapper i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#aaa;font-size:14px;pointer-events:none;transition:color .2s ease}.login-input-wrapper input:focus~i,.login-input-wrapper:focus-within i{color:var(--primary-color, #1976D2)}.login-card .login-input-wrapper input{padding-left:38px}.login-card .checkbox-item{margin-bottom:1.5rem;padding:4px 2px;border:none;background:transparent;border-radius:0;cursor:default;display:flex;justify-content:center}.login-card .checkbox-item:hover{border-color:transparent;background:transparent}.login-card .checkbox-item label{display:inline-flex;align-items:center;gap:.55rem;margin:0;padding:0;font-size:13px;font-weight:400;line-height:18px;color:#777;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:none;letter-spacing:normal}.login-card .checkbox-item input[type=checkbox]{width:18px;height:18px;min-width:18px;max-width:18px;margin:0;padding:0;accent-color:var(--primary-color, #1976D2);flex:0 0 18px;border-radius:5px;border:1.5px solid rgba(0,0,0,.15);cursor:pointer}.login-card .login-submit{width:100%;border-radius:12px;font-size:15px;font-weight:600;padding:12px;letter-spacing:.02em;transition:all .2s ease}.login-submit:active{transform:scale(.98)}.login-footer{margin-top:2rem;text-align:center;color:#00000040;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.login-build-version{margin-top:.25rem;font-size:9px;letter-spacing:.05em;opacity:.7;text-transform:none}.settings-tabs{background:#0000000d;border-radius:var(--radius-lg);padding:3px;border:none;border-bottom:none;gap:2px;display:flex;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.settings-tabs .tab-group{position:relative}.settings-tabs .tab{border:none;border-bottom:none;border-radius:var(--radius-md);margin-bottom:0;padding:7px 16px;background:transparent;color:var(--text-medium);font-size:var(--text-md);font-weight:500;transition:all .15s ease;text-decoration:none;position:relative;cursor:pointer;font-family:inherit}.settings-tabs .tab:hover{background:#00000008;color:var(--text-dark)}.settings-tabs .tab.active{background:#fff;color:var(--text-dark);border:none;border-bottom:none;box-shadow:var(--shadow-sm);font-weight:600}.settings-tabs .tab.active:before{display:none}.settings-tabs .tab-dropdown{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);padding-top:4px;z-index:100}.settings-tabs .tab-dropdown-inner{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.1);box-shadow:0 4px 12px #00000014;min-width:180px;padding:4px}.settings-tabs .tab-group:hover .tab-dropdown,.settings-tabs .tab-group.open .tab-dropdown{display:block}.settings-tabs .tab-dropdown-item{display:block;padding:7px 12px;color:var(--text-medium);text-decoration:none;font-size:var(--text-md);font-weight:500;border-radius:var(--radius-sm);transition:background .1s ease;white-space:nowrap}.settings-tabs .tab-dropdown-item:hover{background:#0000000d;color:var(--text-dark)}.settings-tabs .tab-dropdown-item.active{background:var(--primary-color, #4f46e5);color:#fff;font-weight:600}.settings-tabs .tab-group-toggle svg{transition:transform .2s ease;margin-left:4px;vertical-align:middle}.settings-tabs .tab-group:hover .tab-group-toggle svg{transform:rotate(180deg)}.color-settings{margin:1rem 0}.color-picker-group{display:flex;flex-direction:column;gap:1rem}.color-input-wrapper{display:flex;align-items:center;gap:1rem}.color-input-wrapper input[type=color]{width:60px;height:40px;padding:0;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.color-preview{width:40px;height:40px;border-radius:4px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a}.colors-preview{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border-radius:12px;background:#fff;box-shadow:0 0 0 .5px #0000000f,0 2px 8px #0000000a}.colors-preview-bar{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-radius:8px;background:var(--preview-primary, #1976D2);color:var(--preview-text, white);font-weight:600;letter-spacing:-.01em}.colors-preview-card{padding:.9rem;border-radius:10px;background:#00000005;color:var(--preview-text, #1c1c1e)}.colors-preview-card h4{margin:0 0 .35rem;font-size:.95rem;color:var(--preview-primary, #1976D2)}.colors-preview-card p{margin:0;font-size:.85rem;color:var(--preview-text, #4a4a4a);opacity:.8}.colors-preview-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.colors-preview-btn{padding:.5rem 1rem;border-radius:8px;border:none;font-size:.85rem;font-weight:500;cursor:default}.colors-preview-btn--primary{background:var(--preview-primary, #1976D2);color:#fff}.colors-preview-btn--secondary{background:var(--preview-secondary, #64b5f6);color:#fff}.colors-preview-btn--outline{background:transparent;color:var(--preview-primary, #1976D2);border:1.5px solid var(--preview-primary, #1976D2)}@media(max-width:768px){.color-picker-group{flex-direction:column}}[data-bs-theme=dark] .colors-preview{background:#1e1e1e99;box-shadow:0 0 0 .5px #ffffff0f,0 2px 8px #0003}[data-bs-theme=dark] .colors-preview-card{background:#ffffff0a}.dashboard-container{max-width:1600px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.dashboard-header h2{margin:0;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--text-color, var(--color-text))}.edit-toolbar{background:#fff9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px dashed rgba(0,0,0,.1);border-radius:var(--radius-2xl);padding:var(--space-4);margin-bottom:1.5rem}.edit-toolbar-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.edit-mode-label{font-weight:600;color:var(--primary-color, #1976D2);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.edit-toolbar-actions{display:flex;gap:.5rem}.widget-palette{border-top:1px solid var(--border-color);padding-top:1rem}.widget-palette h4{font-size:.875rem;font-weight:600;margin-bottom:.75rem;color:var(--text-medium)}.palette-widgets{display:flex;flex-wrap:wrap;gap:.5rem}.palette-widget{display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.06);background:#ffffffb3;font-size:13px;padding:6px 12px;cursor:grab;transition:all .15s ease}.palette-widget:hover:not(.in-use){border-color:var(--primary-color, #1976D2);box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color, #1976D2) 15%,transparent);transform:translateY(-1px)}.palette-widget.in-use{background:var(--lighter-bg);cursor:not-allowed;opacity:.7}.palette-widget.dragging{opacity:.5;transform:scale(.95)}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);min-height:200px}.dashboard-widget{position:relative;border-radius:var(--radius-2xl);transition:all .3s ease}.dashboard-widget:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.dashboard-widget .card{box-shadow:0 0 0 1px #00000005,0 1px 2px #00000008,0 4px 12px #00000008}.dashboard-widget.size-1x1{grid-column:span 1;grid-row:span 1}.dashboard-widget.size-2x1{grid-column:span 2;grid-row:span 1}.dashboard-widget.size-1x2{grid-column:span 1;grid-row:span 2}.dashboard-widget.size-2x2{grid-column:span 2;grid-row:span 2}.dashboard-widget.size-1x3{grid-column:span 1;grid-row:span 3}.dashboard-widget.size-1x4{grid-column:span 1;grid-row:span 4}.dashboard-widget.size-2x3{grid-column:span 2;grid-row:span 3}.dashboard-widget.size-2x4{grid-column:span 2;grid-row:span 4}.dashboard-widget.size-3x1{grid-column:span 3;grid-row:span 1}.dashboard-widget.size-3x2{grid-column:span 3;grid-row:span 2}.dashboard-widget.size-4x1{grid-column:span 4;grid-row:span 1}.dashboard-widget.size-4x2{grid-column:span 4;grid-row:span 2}.dashboard-widget.size-small,.dashboard-widget.size-medium{grid-column:span 1;grid-row:span 1}.dashboard-widget.size-large{grid-column:span 2;grid-row:span 1}@media(max-width:768px){.dashboard-widget.size-2x1,.dashboard-widget.size-2x2,.dashboard-widget.size-2x3,.dashboard-widget.size-2x4,.dashboard-widget.size-large{grid-column:span 1}}.widget-drag-handle,.widget-resize-handle{display:none;position:absolute;z-index:10;cursor:grab;padding:.35rem;border-radius:6px;border:1px solid rgba(0,0,0,.06);background:#ffffffe6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-light);transition:all .2s ease;font-size:12px;width:24px;height:24px;align-items:center;justify-content:center}.widget-drag-handle{top:.5rem;left:.5rem}.widget-drag-handle:before{content:"⋮⋮";font-size:14px}.widget-resize-handle{bottom:.5rem;right:.5rem;cursor:pointer}.widget-resize-handle:before{content:"⤡";font-size:14px}.widget-drag-handle:hover,.widget-resize-handle:hover{background:var(--primary-color, #1976D2);border-color:var(--primary-color, #1976D2);color:#fff}.dashboard-edit-mode .dashboard-widget{cursor:grab;border:2px dashed transparent}.dashboard-edit-mode .dashboard-widget:hover{border-color:var(--primary-color, #1976D2)}.dashboard-edit-mode .widget-drag-handle,.dashboard-edit-mode .widget-resize-handle{display:flex}.dashboard-edit-mode .dashboard-widget.dragging{opacity:.4;transform:scale(.98);border-color:var(--primary-color, #1976D2)}.dashboard-edit-mode .dashboard-widget.drag-over{border-top:3px solid var(--primary-color, #1976D2)}.widget-placeholder{border-radius:14px;border:2px dashed rgba(0,0,0,.06);background:#00000003;min-height:120px;display:flex;align-items:center;justify-content:center}.widget-dropzone-remove{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--error) 0%,#c82333 100%);color:#fff;border-radius:14px;font-weight:500;box-shadow:0 4px 20px #dc354566;z-index:1000;transition:all .3s ease}.widget-dropzone-remove.drag-over-remove{transform:scale(1.1);box-shadow:0 6px 30px #dc354599}.size-selector-popover{position:fixed;display:flex;gap:.5rem;background:#ffffffe6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(0,0,0,.06);border-radius:12px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;padding:8px;z-index:1001}.size-selector-popover .size-option{border-radius:8px;border:1px solid rgba(0,0,0,.06);width:40px;height:40px;background:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:6px}.size-selector-popover .size-option:hover{border-color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 6%,transparent)}.size-selector-popover .size-option.active{background:var(--primary-color, #1976D2);border-color:var(--primary-color, #1976D2)}.size-selector-popover .size-option.active .size-grid span{background:#fff}.size-grid{display:grid;gap:2px;width:100%;height:100%}.size-grid span{background:var(--primary-color, #1976D2);border-radius:2px;transition:background .2s}.size-grid.size-1x1{grid-template-columns:1fr;grid-template-rows:1fr}.size-grid.size-2x1{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.size-grid.size-1x2{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.size-grid.size-2x2{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.size-grid.size-1x3{grid-template-columns:1fr;grid-template-rows:1fr 1fr 1fr}.size-grid.size-1x4{grid-template-columns:1fr;grid-template-rows:1fr 1fr 1fr 1fr}.size-grid.size-2x3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr}.size-grid.size-2x4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.size-grid.size-3x1{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr}.size-grid.size-3x2{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}.size-grid.size-4x1{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr}.size-grid.size-4x2{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr}.widget-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.04);padding-bottom:10px;margin-bottom:12px}.widget-header h3{margin:0;font-size:.95rem;border-bottom:none;padding-bottom:0}.widget-table-link{font-size:.875rem;color:var(--primary-color, #1976D2);text-decoration:none}.widget-table-link:hover{text-decoration:underline}.btn-widget-settings{background:none;border-radius:7px;border:1px solid rgba(0,0,0,.06);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-widget-settings:hover{background:#0000000a}.btn-widget-settings .settings-icon{font-size:1rem}.checkbox-item{display:flex;align-items:center;gap:.75rem;border-radius:9px;border:1px solid rgba(0,0,0,.06);padding:10px 12px;cursor:pointer;transition:all .1s ease}.checkbox-item:hover{border-color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 3%,transparent)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color, #1976D2);cursor:pointer}.checkbox-item .checkbox-label{flex:1;font-size:.9rem;color:var(--text-dark)}.quick-actions-checkboxes{display:flex;flex-direction:column;gap:.5rem}.widget-stat-card .stat-card{height:100%;display:flex;flex-direction:column;justify-content:center}.widget-stat-card.size-2x1 .stat-card,.widget-stat-card.size-2x2 .stat-card{text-align:center}.widget-stat-card.size-2x1 .stat-value,.widget-stat-card.size-2x2 .stat-value{font-size:3.5rem}.widget-stat-card.size-2x1 .stat-card h4,.widget-stat-card.size-2x2 .stat-card h4{font-size:1rem}.widget-stat-card.size-1x2 .stat-card{padding:2rem 1.5rem}.widget-stat-card.size-1x2 .stat-value{font-size:3rem}.widget-stat-card.size-2x2 .stat-card{padding:2.5rem}.widget-stat-card.size-2x2 .stat-value{font-size:4.5rem}.widget-stat-card.size-2x2 .stat-label{font-size:1rem;margin-top:.5rem}.widget-recent-table .card{height:100%;margin-bottom:0}.widget-recent-table .table{margin:0}.widget-recent-table .table th{font-size:.75rem;padding:.75rem}.widget-recent-table .table td{padding:.75rem;font-size:.875rem}.widget-recent-table.size-2x2 .table th,.widget-recent-table.size-2x2 .table td{padding:1rem;font-size:.9rem}.widget-recent-table.size-1x2 .card{display:flex;flex-direction:column}.widget-recent-table.size-1x2 .table-responsive{flex:1;overflow-y:auto}.widget-recent-table.size-1x3 .card,.widget-recent-table.size-1x4 .card,.widget-recent-table.size-2x3 .card,.widget-recent-table.size-2x4 .card{display:flex;flex-direction:column}.widget-recent-table.size-1x3 .table-responsive,.widget-recent-table.size-1x4 .table-responsive,.widget-recent-table.size-2x3 .table-responsive,.widget-recent-table.size-2x4 .table-responsive{flex:1;overflow-y:auto}.widget-recent-table.size-2x3 .table th,.widget-recent-table.size-2x3 .table td,.widget-recent-table.size-2x4 .table th,.widget-recent-table.size-2x4 .table td{padding:1rem;font-size:.9rem}.widget-quick-actions .card{height:100%;margin-bottom:0}.quick-actions-grid{display:flex;flex-wrap:wrap;gap:.75rem}.quick-actions-grid .btn{flex:0 0 auto}.widget-quick-actions.size-2x1 .quick-actions-grid,.widget-quick-actions.size-2x2 .quick-actions-grid{gap:1rem}.widget-quick-actions.size-2x1 .quick-actions-grid .btn,.widget-quick-actions.size-2x2 .quick-actions-grid .btn{padding:.75rem 1.25rem;font-size:1rem}.widget-quick-actions.size-1x2 .quick-actions-grid{flex-direction:column}.widget-quick-actions.size-1x2 .quick-actions-grid .btn{width:100%;justify-content:center}.widget-quick-actions.size-2x2 .quick-actions-grid{justify-content:center;align-content:center;height:calc(100% - 60px)}.widget-search .card{height:100%;margin-bottom:0;padding:1.25rem}.widget-search .card h3{margin-bottom:.75rem;font-size:1rem;color:var(--text-color, var(--color-text));border-bottom:none;padding-bottom:0}.search-widget-input-wrapper{display:flex;gap:.5rem;margin-bottom:0}.search-widget-input{flex:1;border:1px solid rgba(0,0,0,.08);border-radius:9px;background:#00000005;padding:.75rem 1rem;font-size:13px;transition:all .2s}.search-widget-input:focus{outline:none;border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color, #1976D2) 12%,transparent);background:#fff}.search-widget-input::placeholder{color:var(--text-light)}.search-widget-btn{padding:.75rem 1rem;background:var(--primary-color, #1976D2);border:none;border-radius:9px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.search-widget-btn:hover{background:var(--secondary-color, #424242);transform:translateY(-1px)}.search-widget-btn .search-icon{font-size:1.1rem}.search-widget-btn i{color:#fff;font-size:1rem}.search-widget-card{position:relative}.dashboard-widget.widget-search-active{z-index:100}.search-widget-results{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;border-radius:12px;background:#ffffffeb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;max-height:400px;overflow-y:auto;z-index:100}.search-results-table{width:100%;border-collapse:collapse;font-size:13px}.search-results-table thead th{font-size:10px;background:#00000005;padding:.6rem .75rem;text-align:left;font-weight:600;color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);position:sticky;top:0}.search-results-table tbody tr{cursor:pointer;transition:background .15s;border-bottom:1px solid var(--lighter-bg)}.search-results-table tbody tr:last-child{border-bottom:none}.search-results-table tbody tr:hover{background:var(--lighter-bg)}.search-results-table td{padding:.6rem .75rem;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.search-no-results{padding:1.5rem;text-align:center;color:var(--text-light);font-style:italic}.search-more-results{display:block;padding:.75rem;text-align:center;background:var(--lighter-bg);color:var(--primary-color, #1976D2);text-decoration:none;font-weight:500;font-size:13px;border-top:1px solid var(--border-color);transition:background .15s}.search-more-results:hover{background:var(--light-bg);text-decoration:underline}.widget-search.size-2x1 .search-widget-input-wrapper,.widget-search.size-2x2 .search-widget-input-wrapper{max-width:100%}.widget-search.size-1x1 .search-results-table td{max-width:80px}.search-widget-results::-webkit-scrollbar{width:6px}.search-widget-results::-webkit-scrollbar-track{background:var(--lighter-bg);border-radius:0 8px 8px 0}.search-widget-results::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.search-widget-results::-webkit-scrollbar-thumb:hover{background:var(--text-light)}body:has(.map-page){overflow:hidden;height:100vh;display:flex;flex-direction:column}body:has(.map-page)>.navbar{margin-bottom:0!important}body:has(.map-page)>.container{flex:1;display:flex;flex-direction:column;min-height:0}.map-page{flex:1;display:flex;flex-direction:column;min-height:0;padding:1.5rem;margin-bottom:0}.map-page h2{flex-shrink:0}.device-map{width:100%;flex:1;min-height:200px;border-radius:12px;border:1px solid rgba(0,0,0,.06);overflow:hidden;margin-top:1rem}.qr-display{text-align:center;padding:2rem;background:#fff;border-radius:var(--radius-2xl);border:1px solid rgba(0,0,0,.04)}.qr-display img{max-width:300px;border-radius:var(--radius-lg);padding:1rem;background:#fff;box-shadow:var(--shadow-md)}.qr-display .qr-code-label{margin-top:1rem;font-size:.875rem;color:var(--text-medium);font-family:Courier New,monospace}.qr-page-editor{margin:0 auto}.container:has(>.qr-page-editor){max-width:1800px!important}.editor-layout{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}@media(max-width:1100px){.editor-layout{grid-template-columns:1fr}.preview-panel{order:-1}}.settings-panel .card{padding:1.5rem}.settings-panel h2{margin-bottom:1.5rem}.section-title{margin:1.5rem 0 .5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);font-size:1rem;color:var(--primary-dark)}.section-title:first-of-type{margin-top:0;padding-top:0;border-top:none}.section-desc{font-size:.875rem;color:var(--text-light);margin-bottom:1rem}.font-select-wrapper{position:relative}.buttons-sortable{display:flex;flex-direction:column;gap:.75rem}.button-config-item{display:flex;align-items:flex-start;gap:.75rem;background:var(--lighter-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem;cursor:move;transition:all .2s}.button-config-item:hover{border-color:var(--primary-color, #1976D2)}.button-config-item.dragging{opacity:.5;transform:scale(.98)}.button-drag-handle{color:var(--text-light);font-size:1.2rem;cursor:grab;padding:.25rem;-webkit-user-select:none;user-select:none}.button-config-content{flex:1}.button-header{margin-bottom:.5rem}.visibility-toggle{background:none;border:1px solid var(--border-color);border-radius:6px;width:36px;height:32px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ccc;transition:all .2s;flex-shrink:0}.visibility-toggle:focus-visible{outline:2px solid var(--primary-color, #1976D2);outline-offset:2px}.visibility-toggle.active{color:var(--primary-color, #1976D2);border-color:var(--primary-color, #1976D2)}.visibility-toggle .eye-open{display:none}.visibility-toggle .eye-closed,.visibility-toggle.active .eye-open{display:block}.visibility-toggle.active .eye-closed{display:none}.button-name{font-weight:600;color:var(--text-dark)}.button-options{display:flex;gap:1.5rem;flex-wrap:wrap}.option-group{display:flex;flex-direction:column;gap:.25rem}.option-group label{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.color-input{width:50px;height:32px;padding:2px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.radius-input-wrapper{display:flex;align-items:center;gap:.25rem}.radius-input{width:60px!important;padding:.4rem .5rem!important;text-align:center}.radius-unit{font-size:.8rem;color:var(--text-light)}.preview-panel{position:sticky;top:1rem}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-header h3{margin:0;font-size:1rem;color:var(--text-medium)}.preview-badge{background:var(--primary-color, #1976D2);color:#fff;font-size:.7rem;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.phone-frame{background:#1a1a1a;border-radius:40px;padding:12px;box-shadow:0 20px 50px #0000004d;position:relative}.phone-screen{background:#f2f2f7;border-radius:30px;overflow:hidden;height:650px;display:flex;flex-direction:column}.preview-app-header{padding:2.5rem .75rem .65rem;display:flex;justify-content:center;align-items:center;color:#fff;position:relative;min-height:48px;box-shadow:0 .5px #ffffff1f inset}.preview-logo{display:flex;align-items:center}.preview-logo img{height:28px;width:auto}.preview-logo span{font-weight:700;font-size:.9rem;letter-spacing:-.01em}.preview-login-btn{position:absolute;right:.75rem;top:50%;margin-top:.5rem;transform:translateY(-50%);background:#ffffff1f;border:1px solid rgba(255,255,255,.18);padding:.25rem;border-radius:7px}.preview-content{flex:1;padding:.75rem;overflow-y:auto}.preview-device-card{background:#ffffffb8;border-radius:14px;padding:.9rem;margin-bottom:.75rem;box-shadow:0 0 0 .5px #0000000f,0 2px 8px #0000000a}.preview-device-name{font-size:.95em;font-weight:700;margin-bottom:.3rem;letter-spacing:-.02em;color:#1d1d1f}.preview-device-info{font-size:.72em;color:#6e6e73}.preview-device-info div{margin-bottom:.1rem}.preview-device-info strong{color:#1d1d1f}.preview-contact-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;justify-content:center}.preview-badge{display:inline-flex;align-items:center;gap:.3rem;color:#fff;text-decoration:none;padding:.3rem .6rem;border-radius:50px;font-weight:600;font-size:.7rem;letter-spacing:-.01em;box-shadow:0 2px 8px #0000001a}.preview-badge svg{width:12px;height:12px;flex-shrink:0}.preview-badge-phone{background:#34c759}.preview-badge-email{background:#007aff}.preview-buttons{display:flex;flex-direction:column;gap:.5rem}#previewCustomButtons{display:contents}.preview-action-btn{display:flex;align-items:center;gap:.65rem;background:#ffffffb8;border-radius:13px;padding:.75rem;box-shadow:0 0 0 .5px #0000000f,0 2px 8px #0000000a;transition:all .18s cubic-bezier(.25,.46,.45,.94)}.preview-action-btn.disabled{opacity:.4}.preview-action-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.preview-action-icon svg{width:18px;height:18px;color:#fff}.preview-action-content{flex:1;min-width:0}.preview-action-title{font-weight:600;font-size:.8em;margin-bottom:.05rem;letter-spacing:-.01em;color:#1d1d1f}.preview-action-desc{font-size:.68em;color:#6e6e73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-action-arrow{color:#00000026;font-size:1.1rem}.preview-footer{text-align:center;padding:1rem;font-size:.75em}.preview-hotline{color:var(--primary-color, #1976D2);font-weight:500;margin-bottom:.25rem}.preview-website{color:#6e6e73}.custom-button-item{background:#fff7ed!important;border-color:#fed7aa!important}.contact-item{background:#f0f7ff!important;border-color:#b3d4fc!important}.contact-item .button-options{align-items:center}#addCustomButton{margin-top:.75rem}.visibility-toggle svg{pointer-events:none}.custom-buttons-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.modal.fade{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000052;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1050;align-items:center;justify-content:center}.modal.show{display:flex!important}.modal-dialog{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 0 .5px #0000000f,0 24px 80px #00000029;animation:editorModalIn .22s cubic-bezier(.25,.46,.45,.94)}.modal-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}@keyframes editorModalIn{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.06)}.modal-header h5{margin:0;font-weight:600;letter-spacing:-.02em}.btn-close{background:#0000000f;border:none;width:28px;height:28px;border-radius:50%;font-size:1.1rem;cursor:pointer;padding:0;line-height:1;color:var(--text-light);display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-close:hover{background:#0000001a}.btn-close:before{content:"×"}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.icon-grid-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;border:1.5px solid rgba(0,0,0,.06);border-radius:10px;background:#fff;cursor:pointer;transition:all .15s cubic-bezier(.25,.46,.45,.94)}.icon-grid-item:hover{border-color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 6%,white);transform:scale(1.02)}.icon-grid-item svg{color:var(--text-dark)}.icon-grid-item span{font-size:.7rem;color:var(--text-light)}.icon-search,.mb-3{margin-bottom:1rem}.range-slider-group{display:flex;align-items:center;gap:.75rem}.range-slider-group .form-range{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border-color, #ddd);border-radius:3px;outline:none}.range-slider-group .form-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary-color, #1976D2);cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #0003}.range-slider-group .form-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary-color, #1976D2);cursor:pointer;border:2px solid white;box-shadow:0 1px 4px #0003}.range-value{font-size:.85rem;font-weight:600;color:var(--text-dark);min-width:40px;text-align:right}.layout-toggle{display:flex;gap:0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.layout-toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .75rem;border:none;background:var(--lighter-bg, #f8f9fa);color:var(--text-light, #666);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.layout-toggle-btn+.layout-toggle-btn{border-left:1px solid var(--border-color)}.layout-toggle-btn.active{background:var(--primary-color, #1976D2);color:#fff}.layout-toggle-btn:hover:not(.active){background:var(--border-color, #e0e0e0)}.preview-buttons.layout-grid{display:grid!important;grid-template-columns:1fr 1fr;flex-direction:unset}.preview-buttons.layout-grid .preview-action-btn{flex-direction:column;text-align:center;padding:.65rem .5rem;gap:.4rem}.preview-buttons.layout-grid .preview-action-icon{width:36px;height:36px;margin:0 auto}.preview-buttons.layout-grid .preview-action-content{text-align:center}.preview-buttons.layout-grid .preview-action-title{font-size:.7em}.preview-buttons.layout-grid .preview-action-desc,.preview-buttons.layout-grid .preview-action-arrow{display:none}.preview-buttons.layout-grid .preview-action-btn.span-full{grid-column:1/-1}.preview-buttons.layout-grid #previewCustomButtons{display:contents}.cp-wrapper{position:relative;display:inline-block}.cp-swatch{width:36px;height:36px;border-radius:8px;border:2px solid rgba(0,0,0,.1);cursor:pointer;padding:0;box-shadow:0 1px 4px #00000014;transition:border-color .15s,box-shadow .15s;background:none}.cp-swatch:hover{border-color:var(--primary-color, #1976D2);box-shadow:0 2px 8px #0000001f}.cp-popup{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:200;background:#fff;border-radius:14px;box-shadow:0 0 0 1px #0000000a,0 8px 32px #00000024;padding:14px;width:248px;animation:cpFadeIn .15s ease}.cp-popup.open{display:block}@keyframes cpFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cp-sv-area{width:100%;height:150px;border-radius:8px;position:relative;cursor:crosshair;overflow:hidden}.cp-sv-area canvas{width:100%;height:100%;border-radius:8px}.cp-sv-cursor{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #0003,0 2px 4px #0003;pointer-events:none;transform:translate(-50%,-50%)}.cp-hue-bar{width:100%;height:14px;border-radius:7px;position:relative;cursor:pointer;margin-top:10px;overflow:hidden}.cp-hue-bar canvas{width:100%;height:100%;border-radius:7px}.cp-hue-cursor{position:absolute;top:-1px;width:6px;height:16px;border-radius:3px;border:2px solid white;box-shadow:0 0 0 1px #0003,0 1px 3px #0003;pointer-events:none;transform:translate(-50%)}.cp-hex-row{display:flex;align-items:center;gap:8px;margin-top:10px}.cp-hex-input{flex:1;border:1.5px solid rgba(0,0,0,.08);border-radius:8px;padding:6px 10px;font-family:SF Mono,Consolas,monospace;font-size:.85rem;text-transform:uppercase;outline:none;transition:border-color .15s}.cp-hex-input:focus{border-color:var(--primary-color, #1976D2)}.cp-hex-preview{width:32px;height:32px;border-radius:6px;border:1.5px solid rgba(0,0,0,.08);flex-shrink:0}.cp-presets{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:10px}.cp-preset{aspect-ratio:1;border-radius:5px;border:1.5px solid rgba(0,0,0,.06);cursor:pointer;padding:0;transition:transform .1s,border-color .1s;background:none}.cp-preset:hover{transform:scale(1.15);border-color:#0003}[data-bs-theme=dark] .cp-popup{background:#2c2c2ef5;box-shadow:0 0 0 1px #ffffff0f,0 8px 32px #0006}[data-bs-theme=dark] .cp-hex-input{background:#ffffff0f;border-color:#ffffff1a;color:#ffffffe6}[data-bs-theme=dark] .cp-hex-preview{border-color:#ffffff1a}[data-bs-theme=dark] .cp-swatch{border-color:#ffffff1f}.form-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.form-section h3{margin:0 0 .5rem;font-size:1rem;color:var(--primary-dark)}.custom-css-textarea{font-family:SF Mono,Fira Code,Consolas,Monaco,monospace!important;font-size:.85rem!important;line-height:1.5!important;-moz-tab-size:2;tab-size:2;resize:vertical}.translate-btn-wide{background:none;border:1.5px dashed rgba(0,0,0,.12);border-radius:8px;padding:.4rem .65rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;color:var(--text-light);transition:all .15s;width:100%;text-align:left;font-size:.85rem;min-height:36px}.translate-btn-wide:hover{border-color:var(--primary-color, #1976D2);color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 4%,transparent)}.translate-btn-wide.has-translations{border-style:solid;border-color:#0000001f;color:var(--text-dark)}.translate-btn-wide svg{flex-shrink:0;opacity:.5}.translate-btn-wide.has-translations svg{color:var(--primary-color, #1976D2);opacity:1}.translate-btn-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.translate-locale-group{padding:.85rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.translate-locale-group:last-child{border-bottom:none}.translate-locale-header{font-weight:600;font-size:.875rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;letter-spacing:-.01em}.translate-flag{font-size:1.2rem}.translate-inputs{display:flex;flex-direction:column;gap:.4rem}.translate-inputs .form-control{font-size:.875rem;border-radius:10px;border:1.5px solid rgba(0,0,0,.08);padding:.55rem .75rem;transition:border-color .15s,box-shadow .15s}.translate-inputs .form-control:focus{border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 3px #007aff1a;outline:none}.modal-footer{display:flex;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e0e0e0);flex-shrink:0}[data-bs-theme=dark] .qr-page-editor .modal-dialog{background:#2c2c2ef2;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 80px #00000080}[data-bs-theme=dark] .qr-page-editor .modal-header{border-color:#ffffff0f}[data-bs-theme=dark] .qr-page-editor .modal-header h5{color:#ffffffe6}[data-bs-theme=dark] .qr-page-editor .btn-close{background:#ffffff14;color:#fff9}[data-bs-theme=dark] .qr-page-editor .btn-close:hover{background:#ffffff1f}[data-bs-theme=dark] .qr-page-editor .modal-footer{border-color:#ffffff0f}[data-bs-theme=dark] .icon-grid-item{background:#ffffff0a;border-color:#ffffff0f}[data-bs-theme=dark] .icon-grid-item:hover{background:#60a5fa1a;border-color:var(--primary-color, #60a5fa)}[data-bs-theme=dark] .icon-grid-item svg{color:#fffc}[data-bs-theme=dark] .icon-grid-item span{color:#fff6}[data-bs-theme=dark] .custom-button-item{background:#ffa5000f!important;border-color:#ffa50026!important}[data-bs-theme=dark] .contact-item{background:#60a5fa0f!important;border-color:#60a5fa26!important}[data-bs-theme=dark] .translate-btn-wide{border-color:#ffffff1a;color:#ffffff80}[data-bs-theme=dark] .translate-btn-wide:hover{border-color:var(--primary-color, #60a5fa);color:var(--primary-color, #60a5fa)}[data-bs-theme=dark] .translate-btn-wide.has-translations{border-color:#ffffff1f;color:#fffc}[data-bs-theme=dark] .translate-locale-group{border-color:#ffffff0f}[data-bs-theme=dark] .translate-inputs .form-control{border-color:#ffffff14;background:#ffffff0a;color:#ffffffe6}[data-bs-theme=dark] .translate-inputs .form-control:focus{border-color:var(--primary-color, #60a5fa);box-shadow:0 0 0 3px #60a5fa1f;background:#ffffff0f}[data-bs-theme=dark] .section-title{border-color:#ffffff0f}[data-bs-theme=dark] .layout-toggle{border-color:#ffffff1a}[data-bs-theme=dark] .layout-toggle-btn{background:#ffffff0a;color:#ffffff80}[data-bs-theme=dark] .layout-toggle-btn+.layout-toggle-btn{border-color:#ffffff1a}[data-bs-theme=dark] .layout-toggle-btn:hover:not(.active){background:#ffffff14}[data-bs-theme=dark] .range-slider-group .form-range{background:#ffffff1a}[data-bs-theme=dark] .range-slider-group .form-range::-webkit-slider-thumb{border-color:#2c2c2e}[data-bs-theme=dark] .range-slider-group .form-range::-moz-range-thumb{border-color:#2c2c2e}.label-editor-toolbar{display:flex;gap:10px;align-items:center;justify-content:center;margin:1.25rem 0;flex-wrap:wrap}.label-toolbar-buttons{display:flex;gap:8px;align-items:center}.save-status{font-size:13px;margin-left:4px;font-weight:500}.save-status.success{color:#2e7d32}.save-status.error{color:#c62828}.label-presets-strip{display:flex;align-items:center;gap:8px;margin:0 auto 1rem;max-width:800px;padding:8px 4px;justify-content:center}.label-presets-scroll{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.preset-card{border:2px solid var(--border-color, #e0e0e0);border-radius:10px;padding:6px 8px;cursor:pointer;transition:border-color .15s,box-shadow .15s;background:var(--lighter-bg, #fff);position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;flex-shrink:0;min-width:0}.preset-card:hover{border-color:color-mix(in srgb,var(--primary-color, #1976D2) 50%,transparent)}.preset-card.active{border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 1px var(--primary-color, #1976D2),0 2px 8px color-mix(in srgb,var(--primary-color, #1976D2) 15%,transparent)}.preset-card-thumb{width:48px;background:var(--lighter-bg, #fff);border:1px solid var(--border-color, #e8e8e8);border-radius:4px;position:relative;overflow:hidden;flex-shrink:0}.preset-card-info{min-width:0;text-align:center}.preset-card-name{font-size:12px;font-weight:600;color:var(--text-dark, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-card-dims{font-size:10px;color:var(--text-light, #999);white-space:nowrap}.preset-card-delete{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border:none;background:#ef5350d9;color:#fff;border-radius:50%;font-size:10px;cursor:pointer;display:none;align-items:center;justify-content:center;line-height:1;padding:0}.preset-card:hover .preset-card-delete{display:flex}.preset-add-btn{border:2px dashed var(--border-color, #ccc);border-radius:10px;width:36px;height:36px;background:transparent;color:var(--text-light, #999);cursor:pointer;font-size:14px;transition:border-color .15s,color .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.preset-add-btn:hover{border-color:var(--primary-color, #1976D2);color:var(--primary-color, #1976D2)}.label-editor-main{display:flex;gap:16px;margin:0 0 1.5rem;justify-content:center;align-items:flex-start}.label-active-name{font-size:14px;font-weight:600;color:var(--text-dark, #333);margin-bottom:10px;text-align:center}.label-editor-canvas-area{display:flex;flex-direction:column;align-items:center;padding:2rem 2.5rem;background:var(--light-bg, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;flex-shrink:0}.label-canvas{background:#fff;border:1px solid #bdbdbd;box-shadow:0 2px 16px #0000001a,0 0 0 1px #0000000a;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;border-radius:3px}.label-canvas-footer{margin-top:10px;font-size:12px;color:var(--text-light, #999);letter-spacing:.5px}.change-size-link{color:var(--primary-color, #1976D2);text-decoration:none;font-weight:500;letter-spacing:0}.change-size-link:hover{text-decoration:underline}.label-el{position:absolute;cursor:grab;white-space:nowrap;line-height:1.2;color:#000;padding:2px 4px;border-radius:3px;transition:box-shadow .12s ease,background .12s ease}.label-el:hover{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--primary-color, #1976D2) 35%,transparent);background:color-mix(in srgb,var(--primary-color, #1976D2) 4%,transparent)}.label-el.selected{box-shadow:0 0 0 2px var(--primary-color, #1976D2),0 2px 8px color-mix(in srgb,var(--primary-color, #1976D2) 18%,transparent);background:color-mix(in srgb,var(--primary-color, #1976D2) 6%,transparent);z-index:10}.label-el.dragging{cursor:grabbing;opacity:.8}.ruler-wrap{display:grid;grid-template-columns:24px auto;grid-template-rows:24px auto;position:relative}.ruler-corner{background:linear-gradient(135deg,var(--lighter-bg, #f8f8f8),var(--light-bg, #e8e8e8));border-right:1px solid var(--border-color, #d0d0d0);border-bottom:1px solid var(--border-color, #d0d0d0)}.ruler{display:block}.ruler-top{border:1px solid var(--border-color, #d0d0d0);border-left:none;border-radius:0;background:linear-gradient(to bottom,var(--lighter-bg, #f8f8f8),var(--light-bg, #ececec))}.ruler-left{border:1px solid var(--border-color, #d0d0d0);border-top:none;border-radius:0;background:linear-gradient(to right,var(--lighter-bg, #f8f8f8),var(--light-bg, #ececec))}.ruler-guide{position:absolute;z-index:25;pointer-events:none}.ruler-guide-x{top:0;bottom:0;width:1px}.ruler-guide-y{left:0;right:0;height:1px}.ruler-guide.position{background:#43a04780}.ruler-guide.element{background:#e5393599}.label-el-qr{display:flex;align-items:center;justify-content:center;background:transparent!important}.label-el-qr img{width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.qr-resize-handle{position:absolute;bottom:-5px;right:-5px;width:12px;height:12px;background:var(--primary-color, #1976D2);border:2px solid #fff;cursor:nwse-resize;border-radius:3px;display:none;box-shadow:0 1px 3px #0003}.label-el.selected .qr-resize-handle{display:block}.label-element-pool,.label-editor-properties{background:var(--lighter-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;box-shadow:var(--shadow-sm, 0 1px 6px rgba(0, 0, 0, .06));flex-shrink:0}.label-element-pool h4,.label-editor-properties h4{font-size:14px;color:var(--text-dark, #333);border-bottom:1px solid var(--border-color, #eee)}.label-element-pool{min-width:180px;max-width:220px;padding:1rem}.label-element-pool h4{margin:0 0 10px;padding-bottom:8px}.pool-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;margin-bottom:4px;cursor:grab;background:var(--light-bg, #fafafa);font-size:12px;color:var(--text-dark, #333);transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.pool-item:hover{border-color:color-mix(in srgb,var(--primary-color, #1976D2) 50%,transparent);background:color-mix(in srgb,var(--primary-color, #1976D2) 8%,transparent)}.pool-item i{color:var(--primary-color, #1976D2);width:16px;text-align:center}.pool-item.pool-item-custom{border-style:dashed;color:var(--text-medium, #666)}.pool-item-empty{text-align:center;font-size:12px;color:var(--text-light, #999);padding:8px;font-style:italic}.pool-drag-ghost{position:fixed;z-index:9999;pointer-events:none;opacity:.85;transform:rotate(-2deg);box-shadow:0 4px 16px #0000002e}.label-el.drag-leaving{opacity:.4;box-shadow:0 0 0 2px #ef5350!important;transition:opacity .15s,box-shadow .15s}.label-editor-properties{min-width:220px;max-width:260px;padding:1.25rem}.label-editor-properties h4{margin:0 0 14px;padding-bottom:10px}.prop-header{font-weight:600;font-size:13px;color:var(--primary-color, #1976D2);margin-bottom:14px;padding:6px 10px;background:color-mix(in srgb,var(--primary-color, #1976D2) 8%,transparent);border-radius:6px}.prop-empty-hint{font-size:13px;color:var(--text-light, #999);font-style:italic;padding:12px 4px;line-height:1.5}.prop-row{margin-bottom:12px}.prop-row label{display:block;font-size:12px;color:var(--text-medium, #666);margin-bottom:4px;font-weight:500}.prop-row input,.prop-row select,.font-search-input{width:100%;padding:6px 10px;font-size:13px;border:1px solid var(--border-color, #d0d0d0);border-radius:6px;background:var(--light-bg, #fafafa);color:var(--text-dark, #333);transition:border-color .15s}.prop-row input:focus,.prop-row select:focus,.font-search-input:focus{border-color:var(--primary-color, #1976D2);outline:none;background:var(--lighter-bg, #fff)}.prop-row input[type=number]{width:90px}.btn-delete-el{margin-top:14px;width:100%;background:#ef5350;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s}.btn-delete-el:hover{background:#c62828}.font-search-wrapper{position:relative}.font-search-input{cursor:text}.font-search-dropdown{position:absolute;top:100%;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--lighter-bg, #fff);border:1px solid var(--border-color, #c0c0c0);border-top:none;border-radius:0 0 6px 6px;z-index:100;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .12))}.font-search-category{padding:5px 10px 3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light, #999);background:var(--light-bg, #f5f5f5);border-top:1px solid var(--border-color, #eee);-webkit-user-select:none;user-select:none}.font-search-category:first-child{border-top:none}.font-search-option{padding:6px 10px;font-size:13px;color:var(--text-dark, #333);cursor:pointer;transition:background .1s}.font-search-option:hover{background:color-mix(in srgb,var(--primary-color, #1976D2) 10%,transparent)}.font-search-option.active{background:color-mix(in srgb,var(--primary-color, #1976D2) 20%,transparent);font-weight:600}.label-info-box{background:color-mix(in srgb,var(--primary-color, #1976D2) 8%,transparent);border:1px solid color-mix(in srgb,var(--primary-color, #1976D2) 30%,transparent);border-radius:10px;padding:1rem 1.5rem;margin:1.5rem auto;max-width:700px}.label-info-box h4{margin:0 0 .75rem;color:var(--primary-color, #1565c0)}.label-info-box ul{margin:0;padding-left:1.25rem}.label-info-box li{margin-bottom:.5rem;color:var(--text-dark, #333)}.label-info-box li:last-child{margin-bottom:0}.label-secondary-actions{margin-top:1rem;text-align:right}.label-fullscreen-btn{margin-left:auto}.label-editor-fullscreen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;background:var(--light-bg, #f5f6fa);padding:1rem 1.5rem 1.5rem;overflow:hidden;display:flex;flex-direction:column}.label-editor-fullscreen-overlay .label-presets-strip{margin-bottom:.5rem}.label-editor-fullscreen-overlay .label-editor-toolbar{margin:.5rem 0}.label-editor-fullscreen-overlay .label-editor-main{flex:1;min-height:0;align-items:stretch;margin-bottom:0}.label-editor-fullscreen-overlay .label-editor-canvas-area{flex:1;min-width:0;padding:1rem 1.5rem;justify-content:center}.label-editor-fullscreen-overlay .label-element-pool,.label-editor-fullscreen-overlay .label-editor-properties{overflow-y:auto;max-height:100%}.form-actions{text-align:center}[data-bs-theme=dark] .label-element-pool,[data-bs-theme=dark] .label-editor-properties{background:#1c1c1eb8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-bs-theme=dark] .font-search-dropdown{background:#2c2c2eeb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}[data-bs-theme=dark] .save-status.success{color:#4ade80}[data-bs-theme=dark] .save-status.error{color:#f87171}@media(max-width:900px){.label-editor-main{flex-direction:column;align-items:center}.label-element-pool{max-width:100%;min-width:auto;width:100%;display:flex;flex-wrap:wrap;gap:6px}.label-element-pool h4{width:100%}.label-element-pool .pool-item{margin-bottom:0}.label-editor-properties{max-width:100%;min-width:auto;width:100%}.label-editor-toolbar{flex-direction:column}}.logo-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0003;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:3000;display:flex;align-items:center;justify-content:center;padding:2rem}.logo-editor-modal{background:#fff;border-radius:16px;border:none;box-shadow:0 24px 80px #0000002e,0 8px 24px #00000014;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}.logo-editor-header{display:flex;justify-content:space-between;align-items:center;background:#00000005;border-bottom:1px solid rgba(0,0,0,.05);border-radius:16px 16px 0 0;padding:16px 24px}.logo-editor-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-dark)}.logo-editor-close{background:none;border:none;font-size:2rem;color:var(--text-light);cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.logo-editor-close:hover{background:#0000000f;color:var(--text-dark)}.logo-editor-body{padding:2rem;overflow-y:auto;flex:1;display:grid;grid-template-columns:1fr 350px;gap:2rem}.logo-editor-canvas-wrapper{position:relative;background:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;border-radius:10px;border:1px solid rgba(0,0,0,.06);padding:2rem;display:flex;align-items:center;justify-content:center;min-height:400px}#logoEditorCanvas{max-width:100%;max-height:600px;box-shadow:var(--shadow-md);border-radius:4px}.logo-editor-crop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.crop-selection{position:absolute;border:2px solid var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 10%,transparent);pointer-events:auto}.crop-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--primary-color, #1976D2);border-radius:50%}.crop-handle.crop-nw{top:-6px;left:-6px;cursor:nw-resize}.crop-handle.crop-ne{top:-6px;right:-6px;cursor:ne-resize}.crop-handle.crop-sw{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle.crop-se{bottom:-6px;right:-6px;cursor:se-resize}.logo-editor-tools{display:flex;flex-direction:column;gap:1.5rem}.tool-section{border-radius:10px;border:1px solid rgba(0,0,0,.04);background:#00000005;padding:16px}.tool-section h4{margin:0 0 .75rem;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--text-dark);text-transform:uppercase}.tool-section .btn{width:100%;margin-bottom:.5rem}.tool-section .btn:last-of-type{margin-bottom:0}.tool-section small{display:block;margin-top:.5rem}.logo-preview-sizes{display:flex;flex-direction:column;gap:1rem}.preview-size{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#fff;border-radius:6px;border:1px solid var(--border-color)}.preview-size strong{font-size:.85rem;color:var(--text-medium);min-width:100px}.preview-size canvas,.current-logo-preview img{background:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px}.preview-size canvas{border:1px solid var(--border-color);border-radius:4px}.logo-editor-footer{display:flex;justify-content:flex-end;gap:1rem;background:#00000005;border-top:1px solid rgba(0,0,0,.05);border-radius:0 0 16px 16px;padding:12px 24px}.logo-editor-message{padding:1rem 1.5rem;border-radius:10px;margin-bottom:1.5rem;font-weight:500;animation:slideIn .3s ease-out;grid-column:1/-1}.logo-editor-message-success{background:#f6ffed;color:#135200;border:1px solid #B7EB8F;border-left:4px solid var(--success)}.logo-editor-message-error{background:#fff2f0;color:#a8071a;border:1px solid #FFCCC7;border-left:4px solid var(--error)}#logoEditorContainer:empty{display:none}.logo-upload-area{border-radius:14px;border:2px dashed rgba(0,0,0,.08);background:#00000003;padding:2rem;text-align:center;transition:all .2s;cursor:pointer}.logo-upload-area:hover{border-color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 3%,transparent)}.logo-upload-area.drag-over{border-color:var(--primary-color, #1976D2);background:color-mix(in srgb,var(--primary-color, #1976D2) 10%,transparent);transform:scale(1.02)}.logo-upload-icon{font-size:3rem;color:var(--text-light);margin-bottom:1rem}.logo-upload-text{font-size:1.1rem;color:var(--text-dark);margin-bottom:.5rem;font-weight:500}.logo-upload-hint{font-size:.875rem;color:var(--text-medium)}.current-logo-preview{display:flex;align-items:center;gap:2rem;padding:2rem;border-radius:14px;border:1px solid rgba(0,0,0,.04);background:#00000005;margin-bottom:2rem}.current-logo-preview img{max-width:200px;max-height:100px;padding:1rem;border-radius:8px;border:1px solid var(--border-color)}.current-logo-info{flex:1}.current-logo-info h4{margin:0 0 .5rem;font-size:1rem;color:var(--text-dark)}.current-logo-info p{margin:0;font-size:.875rem;color:var(--text-medium)}@media(max-width:992px){.logo-editor-body{grid-template-columns:1fr}.logo-editor-canvas-wrapper{min-height:300px}}@media(max-width:768px){.logo-editor-modal{margin:8px;border-radius:14px}.logo-editor-header,.logo-editor-footer{padding:12px 16px}}body:has(#bulkPrintApp){overflow:hidden;height:100vh;display:flex;flex-direction:column}body:has(#bulkPrintApp)>.navbar{margin-bottom:0!important}body:has(#bulkPrintApp)>.container{flex:1;display:flex;flex-direction:column;min-height:0}#bulkPrintApp{flex:1;display:flex;flex-direction:column;min-height:0}.bulk-page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.bulk-page-header h2{margin:0;font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.bulk-page-subtitle{margin:.25rem 0 0;color:var(--text-medium);font-size:13px}.bulk-page-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--primary-color, #1976D2) 0%,var(--secondary-color, #424242) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--primary-color, #1976D2) 25%,transparent)}.bulk-search-card{flex-shrink:0;margin-bottom:1.5rem;position:relative;z-index:10}.bulk-search-card .bulk-search-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:13px;letter-spacing:.02em;margin-bottom:1rem;color:var(--text-dark)}.bulk-search-header i{color:var(--primary-color, #1976D2)}.bulk-search-wrapper{position:relative}.bulk-search-card .bulk-search-input{border:1px solid rgba(0,0,0,.08);border-radius:9px;background:#00000005;font-size:14px;padding:10px 14px;transition:all .15s ease;width:100%}.bulk-search-dropdown{display:none;position:absolute;top:100%;left:0;right:0;z-index:100;border-radius:0 0 12px 12px;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);max-height:360px;overflow-y:auto}.bulk-search-item{padding:.75rem 1rem;cursor:pointer;border-color:#0000000a;border-bottom:1px solid var(--lighter-bg);transition:background .1s ease}.bulk-search-item:last-child{border-bottom:none}.bulk-search-item:hover{background:#00000008}.bulk-search-item-disabled{opacity:.45;cursor:default;pointer-events:none}.bulk-search-item-name{font-weight:600;font-size:.9rem;color:var(--text-dark)}.bulk-search-item-info{display:flex;gap:1rem;font-size:.8rem;color:var(--text-medium);margin-top:2px}.bulk-copies-input{width:70px!important;text-align:center}.bulk-list-card{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0}.bulk-list-card .table-responsive{flex:1;overflow-y:auto;min-height:0}.bulk-list-card th.col-copies{width:100px}.bulk-list-card th.col-remove{width:60px}.bulk-list-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.05)}.bulk-list-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:13px;letter-spacing:.02em}.bulk-list-title i{color:var(--primary-color, #1976D2)}.bulk-total-badge{background:var(--primary-color, #1976D2);color:#fff;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.bulk-empty-state{text-align:center;padding:3.5rem 1rem;color:var(--text-light)}.bulk-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.3}.bulk-empty-state p{margin:0;font-size:.95rem}.bulk-action-area{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;margin-top:1rem;border-top:1px solid rgba(0,0,0,.05)}.bulk-label-count{font-size:.9rem;color:var(--text-medium)}.bulk-print-btn{font-size:1.1rem!important;border-radius:12px!important;font-weight:600!important;padding:.85rem 3rem!important;letter-spacing:.01em;box-shadow:0 2px 6px #0000001a,0 8px 24px color-mix(in srgb,var(--primary-color, #1976D2) 25%,transparent)!important;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.bulk-print-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f,0 12px 32px color-mix(in srgb,var(--primary-color, #1976D2) 30%,transparent)!important}.bulk-print-btn:active{transform:translateY(.5px)}.bulk-print-btn i{font-size:1.15rem}.bulk-list-summary{font-size:.9rem}.bulk-toast{position:relative;z-index:10;margin-bottom:1rem}.template-list{display:flex;flex-direction:column;gap:0}.template-group+.template-group{margin-top:2rem}.template-group__title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted, #6b7280);margin:0 0 .5rem;padding:0 .25rem}.template-item{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border-color, #e8e8ed);transition:background-color .2s ease,box-shadow .2s ease;gap:1rem}.template-item:last-child{border-bottom:none}.template-item:hover{background-color:#007aff08}.template-item-icon{flex-shrink:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,#f0f4ff,#e8f0ff);color:#007aff}.template-item-icon svg{opacity:.85}.template-item-info{flex:1;min-width:0}.template-item-name{font-size:.95rem;font-weight:600;color:var(--text-dark, #1c1c1e);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.template-item-name .badge{font-size:.68rem;font-weight:600;padding:.2em .6em;border-radius:6px;letter-spacing:.01em;text-transform:uppercase}.template-item-name .badge-success{background:linear-gradient(135deg,#34c759,#30b350);color:#fff}.template-item-name .badge-warning{background:linear-gradient(135deg,#ff9500,#e68900);color:#fff}.template-item-name .badge-secondary{background-color:var(--bg-tertiary, #e8e8ed);color:var(--text-medium, #6e6e73)}.template-item-subject,.template-item-meta{font-size:.82rem;margin-top:.2rem;color:var(--text-medium, #8e8e93)}.template-item-actions{flex-shrink:0;margin-left:.5rem}.section-heading{display:flex;align-items:center;gap:.5rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border-color, #e8e8ed);font-size:1rem;font-weight:600;color:var(--text-dark, #1c1c1e)}.section-heading svg{color:#007aff;opacity:.8}.template-editor-form .form-row-2col{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start}.template-editor-form textarea.code-editor{font-family:SF Mono,Monaco,Menlo,Courier New,monospace;font-size:.82rem;line-height:1.5;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-x:auto;background-color:#f8f9fa;border:1px solid var(--border-color, #e0e0e5);border-radius:var(--radius-md, 8px);padding:.75rem 1rem}.template-editor-form textarea.code-editor:focus{background-color:#fff;border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.template-variables-info{background:linear-gradient(135deg,#f0f4ff,#f5f0ff);border:1px solid #d4dfff;border-radius:var(--radius-lg, 12px);padding:1.1rem 1.25rem;margin-bottom:1.75rem}.template-variables-header{font-weight:600;font-size:.9rem;color:#1c1c1e;display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.template-variables-header svg{color:#007aff}.template-variables-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.template-variable{display:inline-block;background-color:#fff;border:1px solid #c8d8ff;border-radius:6px;padding:.25em .55em;font-size:.78rem;font-family:SF Mono,Monaco,Menlo,monospace;color:#5856d6;transition:all .15s ease;-webkit-user-select:none;user-select:none;cursor:pointer;box-shadow:0 1px 2px #0000000a}.template-variable:hover{background-color:#e8f0ff;border-color:#a0b8ff;transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.template-variable.copied{background:linear-gradient(135deg,#34c759,#30b350);border-color:#34c759;color:#fff}.template-variables-hint{font-size:.76rem;color:#8e8e93}.btn-outline-danger{background:transparent;border:1px solid #ff3b30;color:#ff3b30;border-radius:var(--radius-md, 8px);padding:.4em .8em;cursor:pointer;font-size:.85rem;display:inline-flex;align-items:center;gap:.4rem;transition:background-color .2s,color .2s,box-shadow .2s}.btn-outline-danger:hover{background-color:#ff3b30;color:#fff;box-shadow:0 2px 8px #ff3b3040}.pdf-sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;margin-top:.75rem;margin-bottom:1rem}.pdf-section-toggle{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem;background-color:var(--bg-secondary, #f8f8fa);border:1px solid var(--border-color, #e8e8ed);border-radius:var(--radius-md, 8px);transition:border-color .2s,background-color .2s,box-shadow .2s}.pdf-section-toggle:hover{border-color:#c8d8ff;background-color:#007aff05}.pdf-section-toggle:has(input:checked){border-color:#007aff;background-color:#007aff0a;box-shadow:0 0 0 1px #007aff1a}.pdf-section-toggle .section-toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem;cursor:pointer}.pdf-section-toggle label{font-weight:500;font-size:.9rem;cursor:pointer}.pdf-section-toggle input[type=checkbox]{margin-right:.5rem;accent-color:#007AFF}.pdf-section-toggle small{font-size:.76rem;padding-left:1.6rem;color:var(--text-medium, #8e8e93)}.custom-fields-editor{margin-top:.75rem;margin-bottom:1rem}.custom-fields-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.custom-field-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center}.custom-field-row input.form-control-sm{font-size:.85rem;padding:.4rem .6rem}.email-editor-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:1px solid var(--border-color, #e0e0e5)}.email-editor-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid var(--border-color, #e0e0e5);border-bottom:none;background:var(--bg-secondary, #f8f8fa);color:var(--text-medium, #6e6e73);font-size:.82rem;font-weight:500;cursor:pointer;border-radius:8px 8px 0 0;transition:background-color .15s,color .15s}.email-editor-tab:hover{background-color:#fff;color:var(--text-dark, #1c1c1e)}.email-editor-tab.active{background-color:#fff;color:#007aff;border-bottom:2px solid #007AFF;margin-bottom:-1px}.email-editor-tab svg{opacity:.7}.email-editor-panel{border:1px solid var(--border-color, #e0e0e5);border-top:none;border-radius:0 0 8px 8px;background:#fff;min-height:300px}.email-editor-panel[data-panel=html]{padding:0}.email-editor-panel[data-panel=html] textarea{border:none;border-radius:0 0 8px 8px;resize:vertical}.email-sample-loader{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.email-sample-loader select{max-width:240px}.editorjs-holder{padding:1rem 1.25rem;min-height:280px}.editorjs-holder .codex-editor{font-size:.92rem;line-height:1.6}.editorjs-holder .ce-paragraph[data-placeholder]:before{color:var(--text-medium, #8e8e93);opacity:.6}.editorjs-holder .ce-block__content{max-width:100%}.editorjs-holder .ce-header{font-weight:600;color:var(--text-dark, #1c1c1e)}.editorjs-holder .cdx-list{padding-left:1.5rem}.editorjs-holder .ce-delimiter{line-height:1;padding:.75rem 0}.editorjs-holder .ce-rawtool__textarea{font-family:SF Mono,Monaco,Menlo,Courier New,monospace;font-size:.8rem;line-height:1.5;background-color:#f8f9fa;border:1px solid var(--border-color, #e0e0e5);border-radius:6px;padding:.75rem;min-height:120px;width:100%;resize:vertical}.editorjs-holder .ce-inline-toolbar{border-radius:8px;box-shadow:0 4px 16px #0000001f}.editorjs-holder .ce-toolbar__actions{background:#fff;border-radius:8px;box-shadow:0 2px 12px #0000001a}.editorjs-holder .tc-wrap{border-radius:10px;overflow:hidden;border:1px solid var(--border-color, #e8e8ed);margin:.75rem 0}.editorjs-holder .tc-wrap .tc-cell{font-size:.92rem;padding:.6rem .85rem}.editorjs-holder .tc-wrap .tc-row:first-child .tc-cell{background-color:#f8f8fa;font-weight:600;color:#6b7280}.editorjs-holder .cdx-quote{border-left:4px solid var(--primary-color, #1976D2);padding:.5rem 1rem;background:#f8f8fa;border-radius:0 10px 10px 0;margin:.75rem 0}.editorjs-holder .cdx-quote .cdx-quote__text{font-style:italic;color:var(--text-dark, #1c1c1e);min-height:auto}.editorjs-holder .cdx-quote .cdx-quote__caption{color:var(--text-medium, #8e8e93);font-size:.85rem}.card-header-row{margin-bottom:1.25rem}.card-header-row h2{margin-bottom:0}.card-header-row p.text-muted{margin-top:.25rem}.pdf-template-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}@media(max-width:1100px){.pdf-template-editor{grid-template-columns:1fr}}.pdf-template-editor__form{min-width:0}.pdf-template-editor__preview{position:sticky;top:1rem;min-width:0;display:flex;flex-direction:column}.pdf-preview-header{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-muted, #8e8e93);margin-bottom:.5rem}.pdf-preview-header svg{color:var(--primary-color, #1976D2)}.pdf-preview-status{font-size:.75rem;font-weight:500;margin-left:auto;color:var(--text-muted, #8e8e93)}.pdf-preview-status--loading{color:var(--primary-color, #1976D2)}.pdf-preview-status--error{color:#c62828}.pdf-preview-frame-wrapper{border:1px solid var(--border-color, #e8e8ed);border-radius:0;overflow:hidden;background-color:#f8f8fa;width:100%;aspect-ratio:210/297;max-height:calc(100vh - 140px);box-shadow:0 1px 3px #0000000f,0 8px 24px #0000000a}.pdf-preview-frame{width:100%;height:100%;border:0;display:block;background:#fff}.pdf-editor-page__header{margin-bottom:1.5rem}.pdf-editor-page__title h2{font-size:1.5rem;margin:0 0 .25rem;color:var(--text-dark, #1c1c1e)}.pdf-editor-page__title p{margin:0;color:var(--text-medium, #6e6e73);font-size:.9rem}.pdf-back-link{display:inline-block;font-size:.82rem;color:var(--text-medium, #6e6e73);text-decoration:none;margin-bottom:.75rem;transition:color .15s}.pdf-back-link:hover{color:var(--primary-color, #1976D2)}.pdf-form-card{background:#fff;border:1px solid var(--border-color, #e8e8ed);border-radius:var(--radius-lg, 12px);margin-bottom:1rem;overflow:hidden}.pdf-form-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color, #f0f0f4);background:linear-gradient(180deg,#fbfbfd,#fff)}.pdf-form-card__heading{flex:1;min-width:0}.pdf-form-card__heading h3{font-size:.95rem;font-weight:600;margin:0 0 .15rem;color:var(--text-dark, #1c1c1e)}.pdf-form-card__heading p{font-size:.8rem;color:var(--text-medium, #8e8e93);margin:0}.pdf-form-card__body{padding:1.1rem 1.25rem}.pdf-block-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pdf-block-list__empty{color:var(--text-medium, #8e8e93);font-size:.85rem;text-align:center;padding:1.5rem;border:1px dashed var(--border-color, #e0e0e5);border-radius:var(--radius-md, 8px)}.pdf-block{background:var(--bg-secondary, #f8f8fa);border:1px solid var(--border-color, #e8e8ed);border-radius:var(--radius-md, 10px);transition:background-color .15s,border-color .15s,box-shadow .15s,opacity .15s}.pdf-block.is-dragging{opacity:.4}.pdf-block.pdf-block--over{border-color:#007aff;box-shadow:0 0 0 2px #007aff26}.pdf-block--disabled{opacity:.55}.pdf-block--disabled .pdf-block__name{text-decoration:line-through}.pdf-block--custom{background:linear-gradient(135deg,#fffaf0,#fff5e0);border-color:#f0d8a0}.pdf-block__head{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem}.pdf-block__grip{cursor:grab;color:var(--text-medium, #c0c0c8);font-size:1rem;letter-spacing:-2px;-webkit-user-select:none;user-select:none;padding:0 .2rem}.pdf-block__grip:active{cursor:grabbing}.pdf-block__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.pdf-block__name{font-weight:600;font-size:.9rem;color:var(--text-dark, #1c1c1e)}.pdf-block__desc{font-size:.76rem;color:var(--text-medium, #8e8e93)}.pdf-block__expand,.pdf-block__remove{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-medium, #8e8e93);font-size:1rem;line-height:1;cursor:pointer;padding:0;width:28px;height:28px;border-radius:6px;transition:background-color .15s,color .15s}.pdf-block__expand:hover,.pdf-block__remove:hover{background:#0000000d;color:var(--text-dark, #1c1c1e)}.pdf-block__chevron{display:block;transition:transform .15s}.pdf-block__expand.is-expanded .pdf-block__chevron{transform:rotate(180deg)}.pdf-block__remove:hover{background:#ffebee;color:#c62828}.pdf-block__body{padding:.75rem 1rem 1rem 2.3rem;border-top:1px solid var(--border-color, #ececf0)}.pdf-block__body .form-group{margin-bottom:.6rem}.pdf-block__body .form-group label{display:block;font-size:.78rem;color:var(--text-medium, #6e6e73);margin-bottom:.25rem}.pdf-item-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem}.pdf-item-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;background:#fff;border:1px solid var(--border-color, #e8e8ed);border-radius:6px;font-size:.82rem;cursor:pointer;transition:border-color .15s,background-color .15s;-webkit-user-select:none;user-select:none}.pdf-item-toggle:hover{border-color:#c8d8ff}.pdf-item-toggle input[type=checkbox]{accent-color:#007AFF;margin:0}.pdf-item-toggle:has(input:checked){background:#007aff0a;border-color:#007aff4d}.custom-field-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.btn-remove-field{background:transparent;border:1px solid var(--border-color, #e8e8ed);color:var(--text-medium, #8e8e93);width:32px;height:32px;border-radius:6px;font-size:1.1rem;line-height:1;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.btn-remove-field:hover{background:#ffebee;border-color:#ffcdd2;color:#c62828}.custom-fields-empty{text-align:center;padding:1rem;color:var(--text-medium, #8e8e93);font-size:.85rem}.custom-fields-empty p{margin:0}.pdf-form-actions{display:flex;gap:.6rem;padding-top:.5rem}.pdf-preview-header__title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text-dark, #1c1c1e)}.pdf-preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#ffffffb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.pdf-preview-loading.is-visible{display:flex}.pdf-preview-spinner{width:28px;height:28px;border:3px solid rgba(0,122,255,.2);border-top-color:#007aff;border-radius:50%;animation:pdf-preview-spin .7s linear infinite}@keyframes pdf-preview-spin{to{transform:rotate(360deg)}}.pdf-preview-frame-wrapper{position:relative}.pdf-preview-hint{display:block;margin-top:.5rem;color:var(--text-medium, #8e8e93);font-size:.76rem}.pdf-hidden-inputs{display:none}.pdf-accent-color__row{display:flex;align-items:center;gap:.6rem}.pdf-accent-color__picker{width:48px;height:36px;padding:2px;border:1px solid var(--border-color, #e0e0e5);border-radius:6px;background:#fff;cursor:pointer}.pdf-accent-color__picker::-webkit-color-swatch-wrapper{padding:0}.pdf-accent-color__picker::-webkit-color-swatch{border:0;border-radius:4px}.pdf-accent-color__hint{font-size:.78rem;color:var(--text-medium, #8e8e93)}.pdf-add-block{position:relative;display:inline-block;margin-top:.75rem}.pdf-add-block__trigger{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px dashed #b8c4e0;color:#1976d2;font-size:.88rem;font-weight:500;padding:.55rem 1rem;border-radius:var(--radius-md, 8px);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s}.pdf-add-block__trigger:hover{background:#007aff0d;border-color:#7f9cdc;border-style:solid;box-shadow:0 1px 3px #007aff14}.pdf-add-block__trigger:after{content:"";display:inline-block;width:10px;height:6px;background-color:currentColor;mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;opacity:.7}.pdf-add-block__menu{position:absolute;top:calc(100% + 4px);right:0;z-index:10;min-width:240px;background:#fff;border:1px solid var(--border-color, #e0e0e5);border-radius:var(--radius-md, 10px);box-shadow:0 6px 24px #00000014,0 1px 3px #0000000a;padding:.3rem;display:flex;flex-direction:column;gap:0}.pdf-add-block__menu[hidden]{display:none}.pdf-add-block__menu>button{display:block;width:100%;margin:0;padding:.55rem .75rem;background:transparent;border:0;border-radius:6px;text-align:left;cursor:pointer;color:var(--text-dark, #1c1c1e);font-size:.88rem;font-weight:500;line-height:1.3;transition:background-color .12s,color .12s}.pdf-add-block__menu>button:hover,.pdf-add-block__menu>button:focus-visible{background:#007aff14;color:var(--primary-color, #1976D2);outline:none}.pdf-add-block__menu>button+button{margin-top:2px}.pdf-add-block__item{display:block;width:100%}.pdf-block__badge{display:inline-flex;align-items:center;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.18em .55em;border-radius:4px;background:#1976d21a;color:#1976d2;margin-right:.45rem;vertical-align:1px}.pdf-block--custom .pdf-block__badge{background:#c284141f;color:#8c5e0f}.pdf-field-row{display:grid;grid-template-columns:1fr 1.4fr;gap:.6rem;align-items:start}@media(max-width:640px){.pdf-field-row{grid-template-columns:1fr}}.pdf-field-row .form-group{margin-bottom:0}.pdf-block__note{font-size:.8rem;color:var(--text-medium, #8e8e93);font-style:italic;padding:.25rem 0}.pdf-block__body[hidden]{display:none}.pdf-block--open{background:#fff;border-color:#d4dfff;box-shadow:0 1px 3px #007aff0d}[data-bs-theme=dark] .template-item-icon{background:linear-gradient(135deg,#60a5fa33,#60a5fa1a);color:#60a5fa}[data-bs-theme=dark] .template-item:hover{background-color:#60a5fa0f}[data-bs-theme=dark] .template-variables-info{background:linear-gradient(135deg,#60a5fa14,#8b5cf60f);border-color:var(--dm-border-strong)}[data-bs-theme=dark] .template-variables-header{color:var(--dm-text-heading)}[data-bs-theme=dark] .template-variables-hint{color:var(--dm-text-faint)}[data-bs-theme=dark] .template-variable{background-color:var(--dm-surface);border-color:var(--dm-border-strong);color:var(--dm-text);box-shadow:none}[data-bs-theme=dark] .template-variable:hover{background-color:var(--dm-surface-hover);box-shadow:none}[data-bs-theme=dark] .pdf-form-card{background:var(--dm-glass);border-color:var(--dm-border-strong);box-shadow:none}[data-bs-theme=dark] .pdf-form-card__header{background:transparent;border-bottom-color:var(--dm-border)}[data-bs-theme=dark] .editorjs-holder{--bs-body-color: #212529;--bs-body-bg: #fff;--bs-secondary-color: #6c757d;--bs-tertiary-color: #8e8e93;--bs-border-color: #e0e0e5;--text-dark: #1c1c1e;--text-medium: #6e6e73;--text-light: #8e8e93;--text-color: #1c1c1e;--border-color: #e0e0e5;--dm-text-heading: #1c1c1e;--dm-text: #1c1c1e;--dm-text-muted: #6e6e73;--dm-text-faint: #8e8e93;background:#fff;color:#1c1c1e;border-radius:10px}[data-bs-theme=dark] .pdf-block--open{background:var(--dm-surface);border-color:var(--dm-border-strong);box-shadow:none}body.print-center-page{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bs-body-bg);color:var(--bs-body-color, #333);overflow:hidden;height:100vh;display:flex;flex-direction:column}html:not([data-bs-theme=dark]) body.print-center-page{--bs-body-bg: #f0f2f5;--bs-tertiary-bg: #f0f2f5}:where(body.print-center-page) *{margin:0;padding:0;box-sizing:border-box}.print-header{background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:var(--primary-color, #1976D2);padding:8px 20px;border-bottom:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.print-header h1{font-size:1.25rem;font-weight:500;margin:0;color:var(--primary-color, #1976D2)}.print-header-left{display:flex;align-items:center;gap:16px}.print-device-name{opacity:.85;font-size:.9rem}.print-header-right{display:flex;align-items:center;gap:12px}.print-header .theme-toggle{background:#0000000d;border:none;color:var(--bs-body-color, #333);width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem}.print-header .theme-toggle:hover{background:#0000001a}.btn-close-tab{background:#0000000d;border:none;color:var(--bs-body-color, #333);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.9rem}.btn-close-tab:hover{background:#0000001a}.print-layout{display:flex;flex:1;overflow:hidden}.print-sidebar{background:#fff9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:0;box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f;width:300px;border-right:none;box-shadow:1px 0 8px #0000000f;padding:20px;overflow-y:auto;flex-shrink:0}.sidebar-section{margin-bottom:20px}#layoutSection{margin-bottom:12px}body.print-center-page .settings-panel{display:none}body.print-center-page .settings-panel.active{display:block}.sidebar-section h3{font-size:.85rem;font-weight:600;letter-spacing:.2px;color:var(--bs-secondary-color, #6c757d);margin-bottom:12px}.mode-tabs{display:flex;background:#0000000f;border-radius:10px;padding:3px;gap:0}.mode-tab{flex:1;padding:8px 12px;border:none;background:transparent;color:var(--bs-body-color, #333);border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:500;text-align:center;transition:all .2s ease}.mode-tab i{display:block;font-size:1.2rem;margin-bottom:4px;color:var(--primary-color, #1976D2)}.mode-tab:hover{background:#0000000a;color:var(--bs-body-color, #333)}.mode-tab.active{background:#fff;color:var(--bs-body-color, #333);border:none;box-shadow:0 1px 4px #0000001a,0 .5px 1px #0000000f}.setting-row{display:flex;gap:8px;margin-bottom:12px}.setting-row .setting-group{flex:1;margin-bottom:0}.setting-group{margin-bottom:12px}.setting-group label{display:block;font-size:.8rem;font-weight:500;color:var(--bs-secondary-color, #6c757d);margin-bottom:4px}.setting-input{width:100%;padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-size:.9rem;background:#00000008;color:var(--bs-body-color, #333);transition:all .2s ease}.setting-input:focus{outline:none;border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 3px #1976d21f,0 0 8px #1976d20f;background:#fff}.setting-info{font-size:.85rem;color:var(--bs-secondary-color, #6c757d);padding:8px 0}.orientation-toggle{display:flex;background:#0000000f;border-radius:10px;padding:3px;gap:0}.orientation-btn{flex:1;padding:7px 12px;border:none;background:transparent;color:var(--bs-body-color, #333);border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:500;text-align:center;transition:all .2s ease}.orientation-btn:hover{background:#0000000a;color:var(--bs-body-color, #333)}.orientation-btn.active{background:#fff;color:var(--bs-body-color, #333);border:none;box-shadow:0 1px 4px #0000001a,0 .5px 1px #0000000f}.preset-section{margin-bottom:12px}.preset-row{display:flex;gap:8px;align-items:center}.preset-row .setting-input{flex:1}.btn-preset-delete{background:none;border:1px solid var(--bs-border-color, #dee2e6);color:#dc3545;width:38px;height:38px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.btn-preset-delete:hover{background:#dc3545;border-color:#dc3545;color:#fff}.btn-save-preset{width:100%;padding:10px 16px;background:transparent;color:var(--bs-body-color, #333);border:1.5px dashed rgba(0,0,0,.15);border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;margin-top:12px;transition:all .2s ease}.btn-save-preset:hover{border-color:var(--primary-color, #1976D2);color:var(--primary-color, #1976D2);background:#1976d20a;transform:translateY(-.5px) scale(1.01)}.btn-print{width:100%;padding:12px 16px;background:linear-gradient(135deg,var(--primary-color, #1976D2) 0%,#1565c0 100%);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;margin-top:16px;box-shadow:0 2px 8px #1976d24d,0 1px 3px #00000014;transition:all .2s ease}.btn-print:hover{filter:brightness(1.05);transform:translateY(-.5px) scale(1.01);box-shadow:0 4px 14px #1976d259,0 2px 6px #0000001a}.btn-print:active{transform:translateY(0) scale(.995);box-shadow:0 1px 4px #1976d240}.setting-hint{display:block;font-size:.78rem;color:var(--bs-secondary-color, #6c757d);margin-top:4px}.print-preview{flex:1;overflow:auto;padding:24px;display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(25,118,210,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(25,118,210,.02) 0%,transparent 50%),var(--bs-tertiary-bg, #f0f2f5);position:relative}.preview-zoom-control{position:fixed;bottom:16px;right:16px;display:flex;align-items:center;gap:8px;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:6px 12px;box-shadow:0 2px 12px #0000001a;z-index:100;font-size:12px;color:var(--bs-secondary-color, #6c757d)}.preview-zoom-control i{font-size:11px;opacity:.6}.preview-zoom-control input[type=range]{width:100px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#0000001a;border-radius:2px;outline:none;cursor:pointer}.preview-zoom-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary-color, #1976D2);cursor:pointer;box-shadow:0 1px 3px #0003}.preview-zoom-control input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary-color, #1976D2);cursor:pointer;border:none;box-shadow:0 1px 3px #0003}.preview-zoom-value{font-weight:600;font-size:11px;min-width:32px;text-align:center}[data-bs-theme=dark] .preview-zoom-control{background:#2c2c2ee6;border-color:#ffffff14;box-shadow:0 2px 12px #0000004d}[data-bs-theme=dark] .preview-zoom-control input[type=range]{background:#ffffff1a}.preview-paper{background:#fff;box-shadow:0 1px 3px #0000000f,0 4px 12px #00000014,0 12px 40px #0000000f;border-radius:4px}.label-strip{display:flex;align-items:center}.label-strip-vertical{flex-direction:column}.label-strip-horizontal{flex-direction:row}.label-ghost{overflow:hidden;flex-shrink:0;opacity:.85}.label-ghost-inner{flex-shrink:0}.label-ghost-inner .label-content{box-shadow:none}.label-ghost-fade-top{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 100%)}.label-ghost-fade-bottom{-webkit-mask-image:linear-gradient(to top,transparent 0%,black 100%);mask-image:linear-gradient(to top,transparent 0%,black 100%)}.label-ghost-fade-left{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 100%);mask-image:linear-gradient(to right,transparent 0%,black 100%)}.label-ghost-fade-right{-webkit-mask-image:linear-gradient(to left,transparent 0%,black 100%);mask-image:linear-gradient(to left,transparent 0%,black 100%)}.label-cut-line{width:100%;display:flex;align-items:center;justify-content:center;height:12px;flex-shrink:0}.label-cut-line span{display:block;width:100%;border-top:2px dashed #bbb}.label-cut-line-vertical{width:12px;height:100%;flex-direction:column}.label-cut-line-vertical span{width:0;height:100%;border-top:none;border-left:2px dashed #bbb}.preview-sheet{transform-origin:top center}.sheet-preview-stack{display:flex;flex-direction:column;align-items:center;gap:24px}.preview-more-indicator{text-align:center;padding:12px 24px;color:var(--bs-secondary-color, #6c757d);font-size:.9rem;font-weight:500;font-style:italic;background:var(--bs-body-bg, rgba(255, 255, 255, .7));border:1px dashed var(--bs-border-color, #dee2e6);border-radius:8px}@media screen and (max-height:900px){.preview-sheet{transform:scale(.7);margin-bottom:-30%}}@media screen and (max-height:700px){.preview-sheet{transform:scale(.55);margin-bottom:-45%}}.sheet-cell{border:.5px dashed #ddd;overflow:hidden;display:flex;align-items:stretch}.sheet-cell-skipped{background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.03) 5px,rgba(0,0,0,.03) 10px)}.sheet-cell-active{background:#fff}.warning-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999}.warning-dialog{background:#fff;border-radius:16px;padding:28px 32px;max-width:400px;text-align:center;box-shadow:0 24px 80px #0000002e,0 8px 24px #0000001a,0 2px 6px #0000000f}.warning-dialog h3{color:#e67e22;margin-bottom:12px;font-size:1.2rem}.warning-dialog h3 i{color:#e67e22}.warning-dialog p{color:#555;margin-bottom:20px;line-height:1.5}.btn-warning-ok{background:linear-gradient(135deg,var(--primary-color, #1976D2) 0%,#1565c0 100%);color:#fff;border:none;padding:10px 32px;border-radius:10px;font-size:1rem;cursor:pointer}.btn-warning-ok:hover{filter:brightness(.9)}.preset-dialog{text-align:left}.preset-dialog h3{text-align:center;color:var(--primary-color, #1976D2)}.preset-dialog h3 i{color:var(--primary-color, #1976D2)}.preset-name-input{margin:16px 0}.preset-dialog-buttons{display:flex;gap:8px;justify-content:flex-end}.btn-preset-cancel{padding:10px 24px;border:1px solid var(--bs-border-color, #dee2e6);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #333);border-radius:10px;font-size:1rem;cursor:pointer}.btn-preset-cancel:hover{background:var(--bs-tertiary-bg, #f0f2f5)}.theme-icon-dark,[data-bs-theme=dark] .theme-icon-light{display:none}[data-bs-theme=dark] .theme-icon-dark{display:inline}.print-only{display:none}@media print{.no-print{display:none!important}.print-only{display:block!important}body.print-center-page{overflow:visible;height:auto;background:#fff}.print-mode-single .print-single-label{page-break-after:always}.print-mode-single{margin:0;padding:0}.print-mode-sheet .print-sheet{width:210mm;height:297mm;margin:0;padding:0}.print-mode-sheet .sheet-cell{border:none;overflow:hidden}.label-content{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@page{margin:0}[data-bs-theme=dark] .print-header{background:var(--dm-glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);color:var(--primary-color, #60a5fa);border-bottom:1px solid var(--dm-border)}[data-bs-theme=dark] .print-header h1{color:var(--primary-color, #60a5fa)}[data-bs-theme=dark] .print-header .theme-toggle{background:var(--dm-surface-hover);color:var(--dm-text-muted)}[data-bs-theme=dark] .print-header .theme-toggle:hover{background:var(--dm-surface-strong);color:#ffffffe6}[data-bs-theme=dark] .btn-close-tab{background:var(--dm-surface-hover);color:var(--dm-text-muted)}[data-bs-theme=dark] .btn-close-tab:hover{background:var(--dm-surface-strong);color:#ffffffe6}[data-bs-theme=dark] .print-sidebar{background:var(--ed-frosted-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--dm-border);box-shadow:0 1px 2px #00000026,0 4px 16px #0000001f}[data-bs-theme=dark] .mode-tabs{background:var(--dm-surface-hover)}[data-bs-theme=dark] .mode-tab{color:var(--bs-body-color, #e0e0e0)}[data-bs-theme=dark] .mode-tab:hover{background:var(--dm-surface-hover);color:var(--bs-body-color, #e0e0e0)}[data-bs-theme=dark] .mode-tab.active{background:var(--dm-surface-strong);color:var(--bs-body-color, #e0e0e0);box-shadow:0 1px 4px #00000040,0 0 1px var(--dm-border)}[data-bs-theme=dark] .orientation-toggle{background:var(--dm-surface-hover)}[data-bs-theme=dark] .orientation-btn{color:var(--bs-body-color, #e0e0e0);border:none;background:transparent}[data-bs-theme=dark] .orientation-btn:hover{background:var(--dm-surface-hover);color:var(--bs-body-color, #e0e0e0)}[data-bs-theme=dark] .orientation-btn.active{background:var(--dm-surface-strong);color:var(--bs-body-color, #e0e0e0);box-shadow:0 1px 4px #00000040,0 0 1px var(--dm-border)}[data-bs-theme=dark] .setting-input{border:1px solid var(--dm-border-strong);background:var(--ed-input-bg)}[data-bs-theme=dark] .setting-input:focus{border-color:var(--primary-color, #60a5fa);box-shadow:var(--ed-focus-ring);background:var(--dm-surface-hover)}[data-bs-theme=dark] .btn-print{background:var(--ed-primary-gradient);box-shadow:var(--ed-primary-shadow)}[data-bs-theme=dark] .btn-print:hover{box-shadow:var(--ed-primary-shadow-hover)}[data-bs-theme=dark] .btn-save-preset{border-color:var(--dm-border-dashed)}[data-bs-theme=dark] .btn-save-preset:hover{border-color:var(--primary-color, #60a5fa);color:var(--primary-color, #60a5fa);background:#60a5fa0f}[data-bs-theme=dark] .btn-save-preset{color:var(--bs-body-color)}[data-bs-theme=dark] .warning-overlay{background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}[data-bs-theme=dark] .warning-dialog{background:var(--bs-body-bg);color:var(--bs-body-color);box-shadow:0 24px 80px #0006,0 8px 24px #00000040,0 0 1px var(--dm-border)}[data-bs-theme=dark] .warning-dialog p{color:var(--bs-secondary-color)}[data-bs-theme=dark] .print-preview{background:radial-gradient(circle at 20% 20%,rgba(96,165,250,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(96,165,250,.02) 0%,transparent 50%),var(--bs-tertiary-bg)}[data-bs-theme=dark] .preview-paper{box-shadow:0 1px 3px #00000026,0 4px 12px #0003,0 12px 40px #00000026}[data-bs-theme=dark] .btn-preset-delete{border-color:var(--bs-border-color)}.label-content,.label-content *{color:#000}[data-bs-theme=dark] .label-cut-line span{border-top-color:#555}[data-bs-theme=dark] .label-cut-line-vertical span{border-left-color:#555}[data-bs-theme=dark] .btn-preset-cancel{background:var(--bs-body-bg);color:var(--bs-body-color);border-color:var(--bs-border-color);border-radius:10px}[data-bs-theme=dark] .btn-preset-cancel:hover{background:var(--bs-tertiary-bg)}.bulk-device-summary{display:flex;flex-direction:column;padding:4px 0}.bulk-summary-list{display:flex;flex-direction:column;gap:4px;max-height:232px;overflow-y:auto}.bulk-summary-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-radius:6px;background:#00000008;font-size:12px}.bulk-summary-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.bulk-summary-copies{font-weight:600;color:var(--primary-color, #1976D2);white-space:nowrap}.bulk-summary-total{padding:6px 8px;margin-top:4px;border-top:1px solid rgba(0,0,0,.08);font-weight:600;font-size:13px;text-align:right}[data-bs-theme=dark] .bulk-summary-item{background:#ffffff0f}[data-bs-theme=dark] .bulk-summary-total{border-color:#ffffff14}.ed-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start}.ed-shell--sidebar-fixed{grid-template-columns:340px minmax(0,1fr)}.ed-shell--preview-fixed{grid-template-columns:minmax(0,1fr) 340px}@media(max-width:1100px){.ed-shell{grid-template-columns:1fr}.ed-shell .ed-preview,.ed-shell .preview-panel{order:-1}}.ed-sidebar{background:#fff9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--radius-lg, 12px);box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f;padding:20px;overflow-y:auto}.ed-sidebar__section{margin-bottom:20px}.ed-sidebar__section:last-child{margin-bottom:0}.ed-sidebar__section>h3{font-size:.85rem;font-weight:600;letter-spacing:.2px;color:var(--bs-secondary-color, #6c757d);margin-bottom:12px}.ed-setting-group{margin-bottom:12px}.ed-setting-group>label{display:block;font-size:.8rem;font-weight:500;color:var(--bs-secondary-color, #6c757d);margin-bottom:4px}.ed-setting-row{display:flex;gap:8px;margin-bottom:12px}.ed-setting-row .ed-setting-group{flex:1;margin-bottom:0}.ed-setting-input{width:100%;padding:8px 12px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-size:.9rem;background:#00000008;color:var(--bs-body-color, #333);transition:all .2s ease}.ed-setting-input:focus{outline:none;border-color:var(--primary-color, #1976D2);box-shadow:0 0 0 3px #1976d21f,0 0 8px #1976d20f;background:#fff}.ed-setting-hint{display:block;font-size:.78rem;color:var(--bs-secondary-color, #6c757d);margin-top:4px}.ed-btn-primary{width:100%;padding:12px 16px;background:linear-gradient(135deg,var(--primary-color, #1976D2) 0%,#1565c0 100%);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;margin-top:16px;box-shadow:0 2px 8px #1976d24d,0 1px 3px #00000014;transition:all .2s ease}.ed-btn-primary:hover{filter:brightness(1.05);transform:translateY(-.5px) scale(1.01);box-shadow:0 4px 14px #1976d259,0 2px 6px #0000001a}.ed-btn-primary:active{transform:translateY(0) scale(.995);box-shadow:0 1px 4px #1976d240}.ed-btn-dashed{width:100%;padding:10px 16px;background:transparent;color:var(--bs-body-color, #333);border:1.5px dashed rgba(0,0,0,.15);border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;margin-top:12px;transition:all .2s ease}.ed-btn-dashed:hover{border-color:var(--primary-color, #1976D2);color:var(--primary-color, #1976D2);background:#1976d20a;transform:translateY(-.5px) scale(1.01)}.ed-preview{position:sticky;top:1rem;min-width:0;display:flex;flex-direction:column;padding:24px;border-radius:var(--radius-lg, 12px);background:radial-gradient(circle at 20% 20%,rgba(25,118,210,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(25,118,210,.02) 0%,transparent 50%),var(--bs-tertiary-bg, #f0f2f5)}.ed-preview__header{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-muted, #8e8e93);margin-bottom:.5rem}.ed-preview__status{font-size:.75rem;font-weight:500;margin-left:auto;color:var(--text-muted, #8e8e93)}.ed-preview__status--loading{color:var(--primary-color, #1976D2)}.ed-preview__status--error{color:#c62828}.ed-preview__status--ok{color:#2e7d32}.ed-header{margin-bottom:1.5rem}.ed-header__title h2{font-size:1.5rem;margin:0 0 .25rem;color:var(--text-dark, #1c1c1e)}.ed-header__title p{margin:0;color:var(--text-medium, #6e6e73);font-size:.9rem}.ed-back-link{display:inline-block;font-size:.82rem;color:var(--text-medium, #6e6e73);text-decoration:none;margin-bottom:.75rem;transition:color .15s}.ed-back-link:hover{color:var(--primary-color, #1976D2)}.container.container--wide{max-width:1800px!important}[data-bs-theme=dark] .ed-sidebar{background:var(--ed-frosted-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 2px #00000026,0 4px 16px #0000001f}[data-bs-theme=dark] .ed-setting-input{border:1px solid var(--dm-border-strong);background:var(--ed-input-bg)}[data-bs-theme=dark] .ed-setting-input:focus{border-color:var(--primary-color, #60a5fa);box-shadow:var(--ed-focus-ring);background:var(--dm-surface-hover)}[data-bs-theme=dark] .ed-btn-primary{background:var(--ed-primary-gradient);box-shadow:var(--ed-primary-shadow)}[data-bs-theme=dark] .ed-btn-primary:hover{box-shadow:var(--ed-primary-shadow-hover)}[data-bs-theme=dark] .ed-btn-dashed{border-color:var(--dm-border-dashed)}[data-bs-theme=dark] .ed-btn-dashed:hover{border-color:var(--primary-color, #60a5fa);color:var(--primary-color, #60a5fa);background:#60a5fa0f}[data-bs-theme=dark] .ed-preview{background:radial-gradient(circle at 20% 20%,rgba(96,165,250,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(96,165,250,.02) 0%,transparent 50%),var(--bs-tertiary-bg)}@media(max-width:576px){.dashboard-grid{grid-template-columns:1fr}.edit-toolbar-content{flex-direction:column;gap:1rem;text-align:center}.palette-widgets{justify-content:center}.widget-dropzone-remove{bottom:1rem;padding:.75rem 1.5rem;font-size:.875rem}}@media(max-width:992px){.container{padding:16px}.navbar .container{padding:10px 16px}.navbar nav a{padding:6px 8px!important;font-size:12px!important}.navbar .dropdown-toggle{font-size:12px!important;padding:6px 8px!important}}@media(max-width:768px){.container{padding:12px}.navbar .container{padding:10px 12px;gap:8px;flex-direction:column;text-align:center}.navbar nav{gap:4px!important;flex-wrap:wrap;justify-content:center}.navbar nav a{padding:6px 10px!important;font-size:12px!important}.navbar .dropdown-toggle{padding:6px 10px!important;font-size:12px!important}.navbar-brand .brand-text{font-size:1rem!important}.navbar-brand img{max-height:34px;width:auto;height:auto;object-fit:contain}.theme-toggle,.text-size-toggle{width:30px!important;height:30px!important;font-size:12px!important}.card{padding:16px;border-radius:12px}.card h2{font-size:1.05rem}.dataTables_wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{white-space:nowrap}.table th{font-size:10px!important}.table td{font-size:12px!important}.dataTables_wrapper .top{flex-direction:column!important;align-items:stretch!important;gap:8px}.dataTables_wrapper .bottom{flex-direction:column!important;align-items:center!important;gap:8px}.dataTables_wrapper .dataTables_filter input{min-width:100%!important;box-sizing:border-box}.dataTables_wrapper .dt-buttons{flex-wrap:wrap;gap:4px}.dataTables_wrapper .dt-buttons .btn.btn-export,.dataTables_wrapper .dt-buttons .btn-secondary{padding:5px 10px!important;font-size:11px!important}.dataTables_wrapper .dataTables_paginate{padding:2px}.dataTables_wrapper .dataTables_paginate .paginate_button{padding:4px 8px!important;font-size:11px!important}.filter-wrapper .filter-input{font-size:11px!important;padding:4px 20px 4px 6px!important}.settings-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;justify-content:flex-start;gap:1px;mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent)}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs .tab{white-space:nowrap;flex-shrink:0;padding:6px 12px!important;font-size:12px!important}.settings-tabs .tab-group{flex-shrink:0}.settings-tabs .tab-dropdown{left:0;transform:none}.settings-tabs .tab-dropdown-inner{min-width:160px}.stat-card{border-radius:12px}.badge{font-size:10px;padding:2px 7px}.modal-dialog{margin:8px!important;border-radius:14px;max-height:calc(100vh - 16px);overflow-y:auto}.modal-header{padding:12px 16px;border-radius:14px 14px 0 0}.modal-body{padding:16px}.modal-footer{padding:10px 16px;border-radius:0 0 14px 14px}.flash{border-radius:10px;padding:10px 12px;font-size:12px}.dashboard-header h2{font-size:1.1rem}.form-group label{font-size:11px}.form-group input,.form-group select,.form-group textarea{padding:8px 10px;font-size:13px;border-radius:8px}.btn{font-size:12px;padding:6px 12px;border-radius:8px}.login-card{border-radius:16px;padding:1.75rem}.login-page{min-height:calc(100vh - 20px);padding:1rem .75rem}.login-logo img{max-height:72px}.login-logo-fallback{width:72px;height:72px;font-size:32px;border-radius:18px}.search-widget-results{border-radius:10px}}@media(max-width:480px){.container,.navbar .container{padding:8px}.navbar nav a{padding:5px 7px!important;font-size:11px!important}.card{padding:12px;border-radius:10px}.card h2{font-size:.95rem;padding-bottom:8px;margin-bottom:12px}.dataTables_wrapper .dt-buttons{display:none}.stat-card h4{font-size:10px}.modal-dialog{margin:4px!important;border-radius:12px}}[data-bs-theme=dark] body{background:radial-gradient(ellipse at 15% 0%,color-mix(in srgb,var(--primary-color, #1976D2) 4%,transparent) 0%,transparent 60%),radial-gradient(ellipse at 85% 100%,color-mix(in srgb,var(--primary-color, #1976D2) 2%,transparent) 0%,transparent 60%),var(--light-bg)}[data-bs-theme=dark] .navbar,[data-bs-theme=dark] #main-navbar{background:var(--dm-glass)!important;background-image:none!important;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--dm-border)!important;box-shadow:0 1px #0003!important}[data-bs-theme=dark] #main-navbar nav a{color:var(--dm-text-muted)!important}[data-bs-theme=dark] #main-navbar nav a:hover{color:#ffffffe6!important;background:var(--dm-surface-hover)!important}[data-bs-theme=dark] #main-navbar .navbar-brand .brand-text,[data-bs-theme=dark] .navbar-brand .brand-text{color:var(--primary-color, #60a5fa)!important}[data-bs-theme=dark] #main-navbar .dropdown-toggle{color:var(--dm-text-muted)!important}[data-bs-theme=dark] #main-navbar .dropdown:hover .dropdown-toggle{color:#ffffffe6!important;background:var(--dm-surface-hover)!important}[data-bs-theme=dark] #main-navbar .dropdown-menu{background:#2c2c2e!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid var(--dm-border-strong)!important;box-shadow:0 12px 40px #00000059,0 4px 12px #0003!important}[data-bs-theme=dark] #main-navbar .dropdown-menu a{color:var(--dm-text)!important;background:transparent!important}[data-bs-theme=dark] #main-navbar .dropdown-menu a:hover{background:var(--dm-surface-hover)!important;color:#fff!important}[data-bs-theme=dark] #main-navbar .dropdown-divider{background:var(--dm-border)!important}[data-bs-theme=dark] .theme-toggle,[data-bs-theme=dark] .text-size-toggle{background:var(--dm-surface-hover)!important;color:var(--dm-text-muted)!important}[data-bs-theme=dark] .theme-toggle:hover,[data-bs-theme=dark] .text-size-toggle:hover{background:var(--dm-surface-strong)!important;color:#ffffffe6!important}[data-bs-theme=dark] #main-navbar .language-option.active{background:var(--dm-surface-hover)!important}[data-bs-theme=dark] .language-menu .language-option:hover{background:var(--dm-surface-active)}[data-bs-theme=dark] .language-menu .language-option.active{background:#ffffff1f}[data-bs-theme=dark] h1,[data-bs-theme=dark] h2,[data-bs-theme=dark] h3,[data-bs-theme=dark] h4,[data-bs-theme=dark] h5,[data-bs-theme=dark] h6{color:var(--dm-text-heading)!important}[data-bs-theme=dark] p,[data-bs-theme=dark] span,[data-bs-theme=dark] label,[data-bs-theme=dark] li{color:var(--dm-text)}[data-bs-theme=dark] .card h2,[data-bs-theme=dark] .card h3,[data-bs-theme=dark] .dashboard-header h2,[data-bs-theme=dark] .modal-header h4,[data-bs-theme=dark] .widget-header h3{color:var(--dm-text-heading)!important}[data-bs-theme=dark] .stat-card h4,[data-bs-theme=dark] .form-group label,[data-bs-theme=dark] .edit-mode-label{color:var(--dm-text-faint)!important}[data-bs-theme=dark] .stat-card .stat-value{color:#fffffff2!important}[data-bs-theme=dark] .dataTables_wrapper .dataTables_info{color:var(--dm-text-subtle)!important}[data-bs-theme=dark] .dataTables_wrapper .dataTables_length label,[data-bs-theme=dark] .dataTables_wrapper .dataTables_filter label{color:var(--dm-text-muted)!important}[data-bs-theme=dark] a:not(.btn){color:var(--primary-color, #60a5fa)}[data-bs-theme=dark] .table td a:not(.btn){color:var(--primary-color, #60a5fa)}[data-bs-theme=dark] .card{background:var(--dm-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--dm-border);box-shadow:0 1px 2px #00000026,0 4px 16px #0000001f}[data-bs-theme=dark] .card:hover{box-shadow:0 2px 4px #0003,0 8px 32px #00000026}[data-bs-theme=dark] .card h2{border-bottom-color:var(--dm-border)}[data-bs-theme=dark] .stat-card{background:var(--dm-glass)!important;border:1px solid var(--dm-border)!important;border-left:3px solid var(--primary-color, #60a5fa)!important;box-shadow:0 1px 2px #00000026,0 4px 16px #0000001f!important}[data-bs-theme=dark] .table th{background:transparent;color:var(--dm-text-subtle);border-bottom-color:var(--dm-border)}[data-bs-theme=dark] .table td{border-bottom-color:#ffffff08}[data-bs-theme=dark] .table tbody tr:hover{background:#ffffff05}[data-bs-theme=dark] table.dataTable thead th,[data-bs-theme=dark] table.dataTable.table thead th{background:transparent!important;color:var(--dm-text-subtle)!important;border-color:var(--dm-border)!important}[data-bs-theme=dark] table.dataTable tbody tr:hover,[data-bs-theme=dark] table.dataTable.table tbody tr:hover{background:#ffffff05!important}[data-bs-theme=dark] table.dataTable tbody td,[data-bs-theme=dark] table.dataTable.table tbody td{border-color:#ffffff08!important}[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate{background:var(--dm-surface)}[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button{background:transparent;border-color:transparent;color:var(--dm-text-faint)!important}[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:var(--dm-surface-hover)!important;border-color:transparent!important;color:var(--dm-text)!important}[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button.current,[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:var(--dm-surface-strong)!important;color:#fff!important;box-shadow:0 1px 3px #0003,0 0 1px var(--dm-border)}[data-bs-theme=dark] .dataTables_wrapper .dataTables_paginate .paginate_button.disabled{background:transparent;opacity:.2}[data-bs-theme=dark] .form-group input,[data-bs-theme=dark] .form-group select,[data-bs-theme=dark] .form-group textarea{border:1px solid var(--dm-border-strong);background:var(--dm-surface)}[data-bs-theme=dark] .form-group input:focus,[data-bs-theme=dark] .form-group select:focus,[data-bs-theme=dark] .form-group textarea:focus{border-color:var(--primary-color, #60a5fa);box-shadow:0 0 0 3px #60a5fa1f;background:var(--dm-surface-hover)}[data-bs-theme=dark] .dataTables_wrapper .dataTables_filter input{border-color:var(--dm-border-strong);background:var(--dm-surface);color:var(--text-dark)}[data-bs-theme=dark] .dataTables_wrapper .dataTables_filter input:focus{border-color:var(--primary-color, #60a5fa);box-shadow:0 0 0 3px #60a5fa1f;background:var(--dm-surface-hover)}[data-bs-theme=dark] .dataTables_wrapper .dataTables_length select{border-color:var(--dm-border-strong);background-color:var(--dm-surface)}[data-bs-theme=dark] .dataTables_wrapper .dt-buttons .btn.btn-export,[data-bs-theme=dark] .dataTables_wrapper .dt-buttons .btn-secondary{background:var(--dm-surface)!important;border-color:var(--dm-border-strong)!important;color:var(--dm-text-muted)!important}[data-bs-theme=dark] .dataTables_wrapper .dt-buttons .btn.btn-export:hover,[data-bs-theme=dark] .dataTables_wrapper .dt-buttons .btn-secondary:hover{background:var(--primary-color, #1976D2)!important;border-color:var(--primary-color, #1976D2)!important;color:#fff!important}[data-bs-theme=dark] .filter-wrapper .filter-input{background:var(--dm-surface);border-color:var(--dm-border);color:var(--text-dark)}[data-bs-theme=dark] .filter-wrapper .filter-input:focus{border-color:var(--primary-color, #60a5fa);background:var(--dm-surface-hover)}[data-bs-theme=dark] .filter-dropdown-btn{background:var(--dm-surface);color:var(--dm-text-subtle)}[data-bs-theme=dark] .filter-dropdown-menu{background:var(--dm-dropdown);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-color:var(--dm-border-strong);box-shadow:0 8px 32px #0000004d,0 2px 8px #00000026}[data-bs-theme=dark] .filter-dropdown-item{color:var(--dm-text)}[data-bs-theme=dark] .filter-dropdown-item:hover{background:var(--dm-surface-hover)}[data-bs-theme=dark] .datatable-column-filters{background:transparent}[data-bs-theme=dark] .filter-dropdown-item.filter-clear{color:var(--text-light);border-color:var(--border-color)}[data-bs-theme=dark] .badge-success{background:#16a34a26;color:#4ade80}[data-bs-theme=dark] .badge-warning{background:#eab30826;color:#fbbf24}[data-bs-theme=dark] .badge-info,[data-bs-theme=dark] .badge-primary{background:#60a5fa26;color:#93c5fd}[data-bs-theme=dark] .badge-secondary{background:#ffffff0f;color:#ffffff80}[data-bs-theme=dark] .badge-danger{background:#dc26261f;color:#f87171}[data-bs-theme=dark] .modal-overlay{background:#0006}[data-bs-theme=dark] .modal-dialog{background:var(--bs-body-bg);border:1px solid var(--dm-border);box-shadow:0 24px 80px #0006,0 8px 24px #00000040}[data-bs-theme=dark] .modal-header,[data-bs-theme=dark] .modal-footer{background:#ffffff08;border-color:var(--dm-border)}[data-bs-theme=dark] .modal-close{color:var(--dm-text-muted)}[data-bs-theme=dark] .modal-close:hover{background:var(--dm-surface-active);color:#fff}[data-bs-theme=dark] .modal-body{color:var(--dm-text)}[data-bs-theme=dark] .modal-body .form-group label{color:var(--dm-text-muted)!important}[data-bs-theme=dark] .modal-input{background:var(--dm-surface)!important;border-color:var(--dm-border-strong)!important;color:var(--dm-text)!important}[data-bs-theme=dark] .modal-input:focus{border-color:var(--primary-color, #60a5fa)!important;box-shadow:0 0 0 3px #60a5fa1f!important;background:var(--dm-surface-hover)!important}[data-bs-theme=dark] select.modal-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23aaa' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E")!important}[data-bs-theme=dark] .modal-form-actions{border-top-color:var(--dm-border)}[data-bs-theme=dark] .flash.success{background:#16a34a14;color:#86efac;border-left-color:#16a34a80}[data-bs-theme=dark] .flash.error{background:#dc26260f;color:#fca5a5;border-left-color:#dc262680}[data-bs-theme=dark] .flash.info{background:#60a5fa0f;color:#93c5fd;border-left-color:#60a5fa66}[data-bs-theme=dark] .settings-tabs{background:var(--dm-surface)}[data-bs-theme=dark] .settings-tabs .tab{background:transparent;border:none;color:var(--dm-text-faint)}[data-bs-theme=dark] .settings-tabs .tab:hover{background:var(--dm-surface);color:var(--dm-text)}[data-bs-theme=dark] .settings-tabs .tab.active{background:var(--dm-surface-active);color:#fff;border:none;border-bottom:none;box-shadow:0 1px 3px #0003,0 0 1px var(--dm-border)}[data-bs-theme=dark] .settings-tabs .tab-dropdown-inner{background:#2c2c2e;border-color:var(--dm-border);box-shadow:0 4px 12px #00000040}[data-bs-theme=dark] .settings-tabs .tab-dropdown-item{color:var(--dm-text-faint)}[data-bs-theme=dark] .settings-tabs .tab-dropdown-item:hover{background:#ffffff0f;color:var(--dm-text)}[data-bs-theme=dark] .settings-tabs .tab-dropdown-item.active{background:var(--primary-color, #4f46e5);color:#fff}[data-bs-theme=dark] .edit-toolbar{background:#1c1c1e99;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-color:var(--dm-border)}[data-bs-theme=dark] .palette-widget{background:var(--dm-surface);border-color:var(--dm-border);color:var(--text-dark)}[data-bs-theme=dark] .size-selector-popover{background:var(--dm-dropdown);border-color:var(--dm-border-strong);box-shadow:0 8px 32px #0000004d}[data-bs-theme=dark] .size-selector-popover .size-option{border-color:var(--dm-border)}[data-bs-theme=dark] .widget-drag-handle,[data-bs-theme=dark] .widget-resize-handle{background:var(--dm-surface);border-color:var(--dm-border)}[data-bs-theme=dark] .widget-placeholder{background:#ffffff03;border-color:var(--dm-surface)}[data-bs-theme=dark] .widget-header{border-color:var(--dm-surface)}[data-bs-theme=dark] .btn-widget-settings{border-color:var(--dm-border);background:#ffffff08}[data-bs-theme=dark] .btn-widget-settings:hover{background:var(--dm-surface-hover)}[data-bs-theme=dark] .checkbox-item{border-color:var(--dm-border);background:#ffffff05}[data-bs-theme=dark] .checkbox-item:hover{border-color:var(--primary-color, #60a5fa);background:#60a5fa0f}[data-bs-theme=dark] .checkbox-item .checkbox-label{color:var(--text-dark)}[data-bs-theme=dark] .dashboard-widget .card{box-shadow:0 1px 2px #00000026,0 4px 12px #0000001f}[data-bs-theme=dark] .login-card{background:#1c1c1ebf;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--dm-border);box-shadow:0 4px 16px #0003,0 20px 60px #00000026}[data-bs-theme=dark] .login-card h2{color:#ffffffe6}[data-bs-theme=dark] .login-logo-fallback{box-shadow:0 4px 20px #0000004d}[data-bs-theme=dark] .login-input-wrapper i{color:#ffffff4d}[data-bs-theme=dark] .login-input-wrapper:focus-within i{color:var(--primary-color, #60a5fa)}[data-bs-theme=dark] .login-card .checkbox-item,[data-bs-theme=dark] .login-card .checkbox-item:hover{border-color:transparent;background:transparent}[data-bs-theme=dark] .login-card .checkbox-item label{color:var(--dm-text-faint)}[data-bs-theme=dark] .login-field label{color:var(--dm-text-subtle)}[data-bs-theme=dark] .login-footer{color:#ffffff26}[data-bs-theme=dark] .search-widget-results{background:var(--dm-dropdown);border-color:var(--dm-border-strong);box-shadow:0 8px 32px #0000004d}[data-bs-theme=dark] .search-widget-input{border-color:var(--dm-border-strong);background:var(--dm-surface)}[data-bs-theme=dark] .search-widget-input:focus{border-color:var(--primary-color, #60a5fa);background:var(--dm-surface-hover)}[data-bs-theme=dark] .search-results-table thead th{background:#ffffff08}[data-bs-theme=dark] .search-results-table tbody tr{border-color:var(--border-color)}[data-bs-theme=dark] .search-results-table tbody tr:hover{background:var(--bs-secondary-bg)}[data-bs-theme=dark] .search-results-table td{color:var(--text-dark)}[data-bs-theme=dark] .search-no-results{color:var(--text-light)}[data-bs-theme=dark] .search-more-results{background:var(--bs-secondary-bg);border-color:var(--border-color)}[data-bs-theme=dark] .search-more-results:hover{background:#ffffff0d}[data-bs-theme=dark] .qr-display{border-color:var(--dm-surface);background:var(--bs-tertiary-bg)}[data-bs-theme=dark] .qr-display .qr-code-label{color:var(--text-medium)}[data-bs-theme=dark] .device-map{border-color:var(--dm-border)}[data-bs-theme=dark] .leaflet-popup-content-wrapper,[data-bs-theme=dark] .leaflet-popup-tip{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}[data-bs-theme=dark] .leaflet-popup-content-wrapper a{color:var(--primary-color, #1976D2)}[data-bs-theme=dark] .leaflet-control-zoom a,[data-bs-theme=dark] .leaflet-control-attribution{background:var(--bs-tertiary-bg);color:var(--bs-body-color);border-color:var(--border-color)}[data-bs-theme=dark] .text-muted{color:var(--dm-text-faint)!important}[data-bs-theme=dark] .btn-primary{background:var(--primary-color, #1976D2);border-color:var(--primary-color, #1976D2);box-shadow:0 1px 3px #0000004d,0 4px 12px color-mix(in srgb,var(--primary-color, #1976D2) 30%,transparent)}[data-bs-theme=dark] .btn-primary:hover{background:color-mix(in srgb,var(--primary-color, #1976D2) 88%,white);border-color:color-mix(in srgb,var(--primary-color, #1976D2) 88%,white)}[data-bs-theme=dark] .table th{color:var(--dm-text-subtle)!important}[data-bs-theme=dark] .table td{color:var(--dm-text)!important}[data-bs-theme=dark] .table td strong{color:var(--dm-text-heading)!important}[data-bs-theme=dark] .dataTables_wrapper .bottom,[data-bs-theme=dark] .form-actions{border-top-color:var(--dm-surface)}[data-bs-theme=dark] .btn-danger{border-color:#dc262633!important;color:#f87171!important}[data-bs-theme=dark] .btn-danger:hover{background:#dc262614!important;border-color:#dc26264d!important}[data-bs-theme=dark] body .btn-secondary,[data-bs-theme=dark] body .table td a.btn-secondary,[data-bs-theme=dark] body .table td a.btn-secondary:hover,[data-bs-theme=dark] body .table td a.btn-secondary:visited,[data-bs-theme=dark] body .table td a.btn-secondary:link{background:var(--dm-surface);color:var(--dm-text);border-color:var(--dm-border-strong)}[data-bs-theme=dark] body .btn-secondary:hover{background:var(--dm-surface-hover);border-color:var(--dm-border-strong);color:var(--dm-text-heading)}[data-bs-theme=dark] .btn-outline-primary{border-color:var(--dm-surface-strong);color:var(--primary-color, #60a5fa)}[data-bs-theme=dark] .btn-outline-primary:hover{background:var(--primary-color, #1976D2);color:#fff;border-color:var(--primary-color, #1976D2)}[data-bs-theme=dark] .widget-table-link{color:var(--primary-color, #1976D2)}[data-bs-theme=dark] .table td a:hover{color:var(--primary-light, #7BB3F0)}[data-bs-theme=dark] ::-webkit-scrollbar-thumb{background:var(--dm-surface-active)}[data-bs-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#ffffff24}[data-bs-theme=dark] .locale-card{background:#ffffff0a;border-color:#ffffff14;color:#fffc}[data-bs-theme=dark] .locale-card:hover{border-color:var(--primary-color, #60a5fa);background:#60a5fa14}[data-bs-theme=dark] .locale-card.active{border-color:var(--primary-color, #60a5fa);background:#60a5fa1f}[data-bs-theme=dark] .locale-name{color:#ffffffe6}[data-bs-theme=dark] .locale-code{color:#fff6;background:#ffffff0f}[data-bs-theme=dark] .autocomplete-select-wrapper .autocomplete-input{border-color:#ffffff14;background:#ffffff0a}[data-bs-theme=dark] .autocomplete-select-wrapper .autocomplete-input:focus{border-color:var(--primary-color, #60a5fa);background:#ffffff0f}[data-bs-theme=dark] .autocomplete-select-dropdown{background:#2c2c2eeb;border-color:#ffffff14;box-shadow:0 8px 32px #0000004d,0 2px 8px #00000026}[data-bs-theme=dark] .autocomplete-select-dropdown .autocomplete-search{background:#ffffff08;border-color:#ffffff0a}[data-bs-theme=dark] .autocomplete-select-dropdown .autocomplete-search input{background:#ffffff0a;border-color:#ffffff0f;color:var(--text-dark)}[data-bs-theme=dark] .autocomplete-select-item{border-color:var(--border-color)}[data-bs-theme=dark] .autocomplete-select-item:hover{background:#ffffff0f}[data-bs-theme=dark] .autocomplete-select-item.selected{background:#60a5fa1a}[data-bs-theme=dark] .autocomplete-select-item .item-label{color:var(--text-dark)}[data-bs-theme=dark] .autocomplete-select-item .item-description{color:var(--text-medium)}[data-bs-theme=dark] .autocomplete-select-empty,[data-bs-theme=dark] .autocomplete-select-clear{color:var(--text-light);border-color:var(--border-color)}[data-bs-theme=dark] .logo-editor-overlay{background:#0006}[data-bs-theme=dark] .logo-editor-modal{border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 80px #0006}[data-bs-theme=dark] .logo-editor-header,[data-bs-theme=dark] .logo-editor-footer{background:#ffffff08;border-color:#ffffff0f}[data-bs-theme=dark] .logo-editor-header h3{color:#ffffffeb!important}[data-bs-theme=dark] .logo-editor-close{color:var(--text-light)}[data-bs-theme=dark] .logo-editor-close:hover{background:var(--bs-border-color);color:var(--text-dark)}[data-bs-theme=dark] .logo-editor-canvas-wrapper{border-color:#ffffff0f;background:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.05) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.05) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}[data-bs-theme=dark] .tool-section{background:#ffffff08;border-color:#ffffff0a}[data-bs-theme=dark] .tool-section h4{color:#ffffff80!important}[data-bs-theme=dark] .logo-upload-area{border-color:#ffffff0f;background:#ffffff03}[data-bs-theme=dark] .logo-upload-area:hover{border-color:var(--primary-color, #60a5fa);background:#60a5fa0a}[data-bs-theme=dark] .current-logo-preview{background:#ffffff05;border-color:#ffffff0a}[data-bs-theme=dark] .logo-editor-message-success{background:#1a3a1a;border-color:#2a5a2a;color:#8fc98f}[data-bs-theme=dark] .logo-editor-message-error{background:#3a1a1a;border-color:#5a2a2a;color:#f09090}[data-bs-theme=dark] .preview-size{background:var(--bs-secondary-bg);border-color:var(--border-color)}[data-bs-theme=dark] .preview-size strong{color:var(--text-medium)}[data-bs-theme=dark] .preview-size canvas{background:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.05) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.05) 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px;border-color:var(--border-color)}[data-bs-theme=dark] .current-logo-preview img{background:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.08) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.08) 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px;border-color:var(--border-color)}[data-bs-theme=dark] .current-logo-info h4{color:var(--text-dark)}[data-bs-theme=dark] .current-logo-info p{color:var(--text-medium)}[data-bs-theme=dark] .map-popup-device{border-color:var(--border-color)}[data-bs-theme=dark] .map-popup-device .device-link{color:var(--primary-color, #1976D2)}[data-bs-theme=dark] .map-popup-device small{color:var(--text-light)}[data-bs-theme=dark] .bulk-page-icon{box-shadow:0 4px 16px #0000004d}[data-bs-theme=dark] .bulk-search-card .bulk-search-input{border-color:#ffffff14;background:#ffffff0a}[data-bs-theme=dark] .bulk-search-card .bulk-search-input:focus{border-color:var(--primary-color, #60a5fa);box-shadow:0 0 0 3px #60a5fa1f;background:#ffffff0f}[data-bs-theme=dark] .bulk-search-dropdown{background:#2c2c2eeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:#ffffff14;box-shadow:0 8px 32px #0000004d}[data-bs-theme=dark] .bulk-search-item{border-color:#ffffff0a}[data-bs-theme=dark] .bulk-search-item:hover{background:#ffffff0f}[data-bs-theme=dark] .bulk-list-header,[data-bs-theme=dark] .bulk-action-area{border-color:#ffffff0f}[data-bs-theme=dark] .bulk-search-item-name{color:var(--text-dark)}[data-bs-theme=dark] .bulk-search-item-info{color:var(--text-medium)}[data-bs-theme=dark] .bulk-empty-state{color:#ffffff59}[data-bs-theme=dark] .notif-mode-toggle{border-color:#ffffff14}[data-bs-theme=dark] .notif-mode-toggle-btn{background:#ffffff0a;color:var(--text-medium);border-color:#ffffff14}[data-bs-theme=dark] .notif-mode-toggle-btn:hover{background:#ffffff14}[data-bs-theme=dark] .notif-mode-toggle-btn.active{background:var(--primary-color, #60a5fa);color:#fff}[data-bs-theme=dark] .notif-flat-group{border-color:#ffffff14}[data-bs-theme=dark] .notif-flat-group-header{background:#ffffff0a}[data-bs-theme=dark] .notif-flat-category{border-color:#ffffff0f}[data-bs-theme=dark] .notif-flat-category-name{color:var(--text-dark)}[data-bs-theme=dark] .notif-flat-categories>.notif-flat-category{border-color:#ffffff14}[data-bs-theme=dark] .notif-address-label{color:var(--text-dark)}[data-bs-theme=dark] .email-badges-wrap{border-color:#ffffff1a;background:#ffffff0d}[data-bs-theme=dark] .email-badge-input{color:var(--text-dark)}[data-bs-theme=dark] .notif-type{border-color:#ffffff14}[data-bs-theme=dark] .notif-type-header{background:#ffffff0a;color:var(--text-dark)}[data-bs-theme=dark] .notif-type-header:hover{background:#ffffff0f}[data-bs-theme=dark] .notif-group-header{background:#ffffff0f;color:var(--text-dark);border-color:#ffffff14}[data-bs-theme=dark] .notif-role{border-color:#ffffff14}[data-bs-theme=dark] .notif-role-header{background:#ffffff0a;color:var(--text-dark)}[data-bs-theme=dark] .notif-role-header:hover{background:#ffffff0f}[data-bs-theme=dark] .notif-role-toggle,[data-bs-theme=dark] .notif-mode-switch{border-color:#ffffff14}[data-bs-theme=dark] .mode-btn{background:#ffffff0a;color:#fff9}[data-bs-theme=dark] .mode-btn:not(:last-child){border-right-color:#ffffff14}[data-bs-theme=dark] .mode-btn:hover{background:#ffffff14}[data-bs-theme=dark] .mode-btn.active{background:var(--primary-color, #60a5fa);color:#fff}[data-bs-theme=dark] .pdf-block{background:#ffffff0a;border-color:#ffffff14}[data-bs-theme=dark] .pdf-block:hover{background:#ffffff0f;border-color:#ffffff1f}[data-bs-theme=dark] .pdf-block.pdf-block--over{border-color:var(--primary-color, #60a5fa);box-shadow:0 0 0 2px #60a5fa33}[data-bs-theme=dark] .pdf-block__name{color:var(--text-dark)}[data-bs-theme=dark] .pdf-block__desc{color:var(--text-medium)}[data-bs-theme=dark] .pdf-block__grip{color:#fff6}[data-bs-theme=dark] .pdf-block--custom{background:linear-gradient(135deg,#c284141a,#c284140f);border-color:#c2841440}[data-bs-theme=dark] .pdf-block--custom:hover{background:linear-gradient(135deg,#c2841424,#c2841414);border-color:#c2841459}
