:root{--color-primary: #6610f2;--color-primary-dark: #4c0fce;--color-primary-rgb: 102, 16, 242;--color-text: #0f172a;--color-muted: #64748b;--bg-primary: #ffffff;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--border-color: rgba(15, 23, 42, .08);--border-color-light: rgba(15, 23, 42, .06);--border-color-medium: rgba(15, 23, 42, .12);--text-primary: #0f172a;--text-secondary: #1f2937;--text-tertiary: #475569;--text-muted: #64748b;--text-disabled: #94a3b8;--text-danger: #dc2626;--text-success: #047857;--bg-danger-light: rgba(248, 113, 113, .15);--bg-success-light: rgba(16, 185, 129, .15);--border-danger: rgba(220, 38, 38, .35);--shadow-sm: rgba(15, 23, 42, .06);--shadow-md: rgba(15, 23, 42, .08);--shadow-lg: rgba(15, 23, 42, .12);--shadow-xl: rgba(15, 23, 42, .25)}.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--border-color: rgba(255, 255, 255, .1);--border-color-light: rgba(255, 255, 255, .05);--border-color-medium: rgba(255, 255, 255, .15);--text-primary: #f1f5f9;--text-secondary: #e2e8f0;--text-tertiary: #cbd5e1;--text-muted: #94a3b8;--text-disabled: #64748b;--text-danger: #ef4444;--text-success: #10b981;--bg-danger-light: rgba(248, 113, 113, .2);--bg-success-light: rgba(16, 185, 129, .2);--border-danger: rgba(239, 68, 68, .4);--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .4);--shadow-lg: rgba(0, 0, 0, .5);--shadow-xl: rgba(0, 0, 0, .6)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6610f266;border-radius:3px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#6610f299}:global(.dark) ::-webkit-scrollbar-thumb{background:#cbd5e14d}:global(.dark) ::-webkit-scrollbar-thumb:hover{background:#cbd5e180}*{scrollbar-width:thin;scrollbar-color:rgba(102,16,242,.4) transparent}:global(.dark) *{scrollbar-color:rgba(203,213,225,.3) transparent}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.5rem .6rem;border-bottom:1px solid var(--border-color);text-align:left;vertical-align:top;font-size:.85em;color:var(--text-primary)}.data-table th{font-size:.9em;letter-spacing:.05em;color:var(--text-tertiary)}.data-table tbody tr:last-child td{border-bottom:none}.btn-icon>:global(svg){width:1em;height:1em;color:var(--color-primary)}.avatar-badge{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:.85rem}.avatar-sm{width:1.2rem;height:1.2rem;min-width:1.2rem;min-height:1.2rem;border-radius:50%;object-fit:cover;flex-shrink:0}.avatar-sm.placeholder{display:grid;place-items:center;background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary);font-weight:500;font-size:.6rem;letter-spacing:.02em}.avatar-md{width:1.8rem;height:1.8rem;min-width:1.8rem;min-height:1.8rem;border-radius:50%;object-fit:cover;flex-shrink:0}.avatar-md.placeholder{display:grid;place-items:center;background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary);font-weight:500;font-size:.75rem;letter-spacing:.02em}.form-control{width:100%;border:1px solid var(--border-color-medium);border-radius:6px;padding:.25rem;font:inherit;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;background-color:var(--bg-secondary);color:var(--text-primary)}.form-control-sm{padding:.2rem;font-size:.85rem}.form-control:disabled{background-color:var(--bg-tertiary);color:var(--text-disabled);cursor:not-allowed;border-color:var(--border-color)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.form-control::placeholder{color:var(--text-muted);opacity:.6}.dropdown-badged-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.1rem .5rem .1rem 2rem!important;border:1px solid var(--border-color-medium);border-radius:4px;background:var(--bg-primary, #fff);color:var(--text-primary);cursor:pointer;transition:all .15s ease;min-height:38px;height:auto;overflow:visible;text-align:left}.dark .dropdown-badged-trigger{background:var(--bg-secondary, #1a1a1a);border-color:var(--border-color-medium, #444)}.dropdown-badged-trigger:hover{border-color:var(--color-primary)}.dropdown-badged-search-icon-wrapper{display:flex;align-items:center;color:var(--text-muted, #666);flex-shrink:0;margin-right:0}.dark .dropdown-badged-search-icon-wrapper{color:var(--text-muted, #aaa)}.dropdown-badged-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;flex:1;min-width:0;overflow:visible;width:100%;max-width:100%;align-content:center}.dropdown-badged-badge-item{display:inline-flex;align-items:center;gap:.375rem;padding:0rem .375rem;border-radius:4px;background:var(--bg-primary, #fff);border:1px solid var(--border-color-medium, #ddd);font-size:.75rem;transition:all .2s ease;flex-shrink:0;min-height:2rem;box-sizing:border-box}.dark .dropdown-badged-badge-item{background:var(--bg-secondary, #2a2a2a);border-color:var(--border-color-medium, #555)}.dropdown-badged-badge-item:hover{border-color:var(--color-primary, #6610f2)}.avatar-dropdown{flex:0 0 1.5rem!important;width:1.5rem!important;height:1.5rem!important;min-width:1.5rem!important;min-height:1.5rem!important;flex-shrink:0!important}.avatar-dropdown :global(.avatar-initials){font-size:.65rem!important;line-height:1!important}.avatar-dropdown :global(img){width:100%!important;height:100%!important;object-fit:cover!important}.dropdown-badged-badge-icon{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;min-width:1rem;min-height:1rem;max-width:1rem;max-height:1rem;border-radius:50%;font-size:.5rem;flex-shrink:0}.dropdown-badged-badge-text{color:var(--text-primary, #000);font-weight:500;white-space:nowrap;text-overflow:ellipsis;max-width:150px;line-height:1.5;flex-shrink:1;overflow:hidden}.dark .dropdown-badged-badge-text{color:var(--text-primary, #fff)}.dropdown-badged-badge-remove{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;margin:0;cursor:pointer;color:var(--text-muted, #666);transition:color .2s ease;font-size:.7rem;width:14px;height:14px;flex-shrink:0;outline:none}.dropdown-badged-badge-remove:hover,.dropdown-badged-badge-remove:focus{color:var(--text-primary, #000)}.dark .dropdown-badged-badge-remove{color:var(--text-muted, #aaa)}.dark .dropdown-badged-badge-remove:hover,.dark .dropdown-badged-badge-remove:focus{color:var(--text-primary, #fff)}.dropdown-badged-placeholder{color:var(--text-muted, #666);text-align:left;white-space:nowrap;line-height:1.5;flex-shrink:0;min-width:fit-content;flex:1;font-weight:400}.dark .dropdown-badged-placeholder{color:var(--text-muted, #aaa)}.dropdown-badged-clear-all{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:.25rem;margin-right:.5rem;cursor:pointer;color:var(--text-muted, #666);transition:color .2s ease;flex-shrink:0;outline:none}.dropdown-badged-clear-all:hover,.dropdown-badged-clear-all:focus{color:var(--text-primary, #000)}.dark .dropdown-badged-clear-all{color:var(--text-muted, #aaa)}.dark .dropdown-badged-clear-all:hover,.dark .dropdown-badged-clear-all:focus{color:var(--text-primary, #fff)}.dropdown-badged-chevron{display:flex;align-items:center;transition:transform .2s ease;color:var(--text-muted, #666);flex-shrink:0}.dark .dropdown-badged-chevron{color:var(--text-muted, #aaa)}.dropdown-badged-chevron.open{transform:rotate(180deg)}.form-stack{display:flex;flex-direction:column;gap:1rem}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem}.page-header .title h1{margin:0;font-size:1.6rem;color:var(--text-primary)}.page-header .title p{margin:.35rem 0 0;color:var(--text-muted);font-size:.95rem}.page-container{display:flex;flex-direction:column;gap:0}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field>label,.form-field>span,.form-field label{font-weight:600;color:var(--text-primary)}.form-field small,.form-helper{font-size:.75rem;color:var(--text-muted)}.form-field .required{color:var(--text-danger);margin-left:.25rem;font-weight:700}.form-actions{margin-top:.5rem;display:flex;justify-content:flex-end;gap:.75rem}.form-actions.right{justify-content:flex-end;margin-left:auto}.form-error{padding:.65rem .8rem;border-radius:3px;background:var(--bg-danger-light);color:var(--text-danger);border:1px solid var(--border-danger);font-size:.85rem}.status-toggle{display:flex;justify-content:flex-start;gap:.35rem;width:30%}.status-toggle{min-width:6.5rem;justify-content:center}.toggle-outline{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--color-primary);border-radius:4px;padding:.35rem .7rem;font-weight:600;color:var(--color-primary);cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease;white-space:nowrap}.toggle-outline:hover{background:rgba(var(--color-primary-rgb),.08)}.toggle-outline input[type=checkbox]:checked~span,.toggle-outline:hover input[type=checkbox]:checked~span{color:#fff}.modal-backdrop{position:fixed;inset:0;background:var(--shadow-xl);display:grid;place-items:center;padding:1.5rem;z-index:9998}.modal-shell{background:var(--bg-secondary);border-radius:6px;box-shadow:0 30px 80px var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-shell.small{width:min(420px,100%)}.modal-shell.medium{width:min(540px,100%)}.modal-shell.large{width:min(960px,100%)}.modal-shell.xl{width:min(1400px,95%)}.modal-header,.modal-footer{padding:1.25rem 1.5rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.modal-header{border-bottom:1px solid var(--border-color)}.modal-header h1,.modal-header h2,.modal-header h3{margin:0;font-size:1.35rem;line-height:1.25}.modal-header h1,.modal-header h2,.modal-header h3{color:var(--text-primary)}.modal-header p{margin:.35rem 0 0;color:var(--text-muted);font-size:.95rem}.modal-body{padding:1.25rem 1.5rem 1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color)}.modal-close{border:none;background:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-tertiary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.modal-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.status{font-weight:600;font-size:.85rem}.status.active{color:#047857}.status.inactive{color:#be123c}.badge{display:inline-block;padding:.25rem .6rem;border-radius:3px;background:#2563eb1f;color:#1d4ed8;font-size:.75rem;font-weight:600}.badge.info{background:#10b98126;color:#047857}.alert{padding:.75rem 1rem;border-radius:3px;background:#f8717126;color:#b91c1c;border:1px solid rgba(248,113,113,.35);font-size:.85rem}.loading,.empty{text-align:center;padding:1.2rem 0;color:var(--text-muted)}.empty{font-style:italic}.table-wrapper{overflow-x:auto;border-radius:3px;border:1px solid var(--border-color);background:var(--bg-secondary)}.inner-modal{position:fixed;inset:0;display:grid;place-items:center;background:var(--shadow-xl);z-index:10001;padding:1.5rem}.form-card{background:var(--bg-secondary);border-radius:6px;box-shadow:0 25px 60px var(--shadow-xl);padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem;width:min(420px,100%)}.btn-icon{all:unset;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:all .15s ease}.btn-icon:hover{color:#dc2626;background:#dc26261a}.btn-icon :global(svg){width:1em;height:1em}.actions-col{width:48px;text-align:center}.actions{display:flex;gap:.5rem;justify-content:flex-end}.toast{align-self:flex-end;padding:.6rem 1.1rem;border-radius:3px;font-size:.85rem}.toast.success{background:#22c55e33;color:#065f46}.toast.error{background:#f8717138;color:#b91c1c}.module{border:1px solid var(--border-color);border-radius:3px;padding:1rem 1.2rem;background:var(--bg-tertiary)}.module-header{display:flex;justify-content:space-between;align-items:baseline}.module-header h4{margin:0;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;color:var(--text-tertiary)}.module-header span{font-size:.8rem;color:var(--text-muted)}.module-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.permission{display:flex;gap:.75rem;align-items:center;padding:.9rem;border-radius:3px;background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;transition:border .15s ease,box-shadow .15s ease,background-color .15s ease}.permission.readonly{cursor:default}.permission:hover{border-color:var(--color-primary);box-shadow:0 8px 20px rgba(var(--color-primary-rgb),.12)}.permission.active{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08);box-shadow:0 8px 20px rgba(var(--color-primary-rgb),.12)}.permission input{margin-top:.2rem;appearance:none;width:1rem;height:1rem;border:1px solid var(--border-color-medium);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;position:relative;background:var(--bg-secondary)}.permission input:after{content:"✓";font-size:.75rem;color:#fff;position:absolute;opacity:0;transition:opacity .12s ease}.permission input:checked{background:var(--color-primary);border-color:var(--color-primary)}.permission input:checked:after{opacity:1}.permission.active strong,.permission strong{color:var(--text-secondary)}.permission.active strong{color:var(--color-primary)}.card{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;box-shadow:0 12px 30px var(--shadow-sm);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.placeholder-card{border:1px solid var(--border-color);background:var(--bg-secondary);padding:2rem;border-radius:12px;box-shadow:0 12px 30px var(--shadow-sm);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.placeholder-card h2{margin:0;font-size:1.1rem;color:var(--text-secondary);transition:color .2s ease}.placeholder-card p{margin:0;color:var(--text-tertiary);font-size:.95rem;transition:color .2s ease}.layout-board{display:flex;flex-direction:column;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;min-width:0}.layout-board .layout{flex:1;height:90vh;display:grid;grid-template-columns:minmax(350px,min(30vw,450px)) minmax(500px,1fr);gap:0;min-height:0;min-width:850px}.layout-board .list-column{display:flex;flex-direction:column;gap:.8rem;min-height:0;min-width:350px;height:calc(100vh - 125px)}.layout-board .list-column.collapsed{min-width:0;width:0;max-width:0;padding:0;border:none;overflow:visible;pointer-events:none}.layout-board .list-column.collapsed .list-notch{pointer-events:auto}.layout-board .list-card{border:1px solid var(--border-color);background:var(--bg-secondary);padding:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.layout-board .list-scroll{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.layout-board .list-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;font-size:.78rem;color:var(--text-tertiary);padding:.4rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.layout-board .sort-label{font-weight:600;text-transform:uppercase;letter-spacing:.05em}.layout-board .sort-select{border:1px solid rgba(102,16,242,.45);border-radius:4px;background:var(--bg-secondary);font-size:.78rem;padding:.2rem .35rem;color:var(--text-secondary)}.layout-board .sort-select:focus{outline:none;box-shadow:0 0 0 2px #6610f233}.layout-board .assignment-list,.layout-board .procedure-list,.layout-board .item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex:1;min-height:0;gap:0}.layout-board .assignment-list li,.layout-board .procedure-list li,.layout-board .item-list li{border:1px solid var(--border-color);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.layout-board .assignment-list li.selected,.layout-board .procedure-list li.selected,.layout-board .item-list li.selected{border-color:#6610f299;border-left:3px solid var(--color-primary);box-shadow:0 0 0 2px #6610f21f;background:#6610f214}.layout-board .assignment-list li button,.layout-board .procedure-list li button,.layout-board .item-list li button{width:100%;border:none;background:transparent;text-align:left;cursor:pointer;padding:.5rem}.layout-board .item-row,.layout-board .asset-item,.layout-board .gateway-item,.layout-board .procedure-item{display:flex;align-items:center;gap:.75rem}.layout-board .avatar,.layout-board .asset-avatar,.layout-board .procedure-avatar{flex:0 0 2.4rem;width:2.4rem;height:2.4rem;min-width:2.4rem;min-height:2.4rem;border-radius:50%;display:grid;place-items:center;overflow:hidden}.layout-board .avatar{background:#6610f21f;color:#4c1d95;font-weight:700;font-size:.95rem;text-transform:uppercase}.layout-board .assigned-user-item .avatar,.layout-board .assigned-team-item .avatar{width:1.2rem!important;height:1.2rem!important;min-width:1.2rem!important;min-height:1.2rem!important;flex:0 0 1.2rem!important;font-size:.6rem!important}.layout-board .info,.layout-board .asset-info,.layout-board .gateway-info,.layout-board .procedure-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.layout-board .title,.layout-board .asset-name,.layout-board .gateway-name,.layout-board .procedure-title{font-size:.95rem;font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.4rem}.layout-board .title>*{flex-shrink:0}.layout-board .title>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-board .subtitle{font-size:.75rem;font-weight:500;color:var(--text-muted)}.layout-board .preview-column{display:flex;flex-direction:column;flex:1;min-height:0;min-width:500px;height:calc(100vh - 125px)}.layout-board .preview-placeholder{border:1px dashed rgba(102,16,242,.2);padding:1.5rem;text-align:center;color:var(--text-tertiary);flex:1;display:grid;place-items:center;gap:.75rem}.list-placeholder{border:1px dashed rgba(102,16,242,.2);border-radius:8px;padding:1.4rem;text-align:center;color:#4c1d95;background:#6610f20a}.list-placeholder.error{color:#b91c1c;background:#fee2e280}.spinner{width:1.8rem;height:1.8rem;border-radius:50%;border:3px solid rgba(102,16,242,.15);border-top-color:#6610f2;animation:spin .75s linear infinite;margin:0 auto .75rem}@keyframes spin{to{transform:rotate(360deg)}}.layout-board .pagination{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-color-light);display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.8rem}.layout-board .pagination-meta{padding:.5rem 0;font-size:.78rem;color:var(--text-muted);text-align:center}.layout-board .pager-buttons{display:inline-flex;gap:.35rem}.layout-board .load-more-wrapper{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-color-light);display:flex;justify-content:center}.filter-dropdown,.criticality-filter,.status-filter,.type-filter,.location-filter,.category-filter,.team-filter,.asset-filter,.date-range-filter,.priority-filter{position:relative;display:inline-flex;flex-direction:column;gap:.35rem}.filter-button,.criticality-button{border:1px solid rgba(102,16,242,.65);background:transparent;color:#4c1d95;font-weight:600;font-size:.78rem;padding:.3rem .75rem;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.filter-dropdown.selected .filter-button,.criticality-filter.selected .criticality-button,.status-filter.selected .criticality-button,.type-filter.selected .criticality-button,.location-filter.selected .criticality-button,.category-filter.selected .criticality-button,.team-filter.selected .criticality-button,.asset-filter.selected .criticality-button,.date-range-filter.selected .criticality-button,.priority-filter.selected .criticality-button{background:#6610f2;color:#fff;border-color:#6610f2}.filter-dropdown.active .filter-button,.criticality-filter.active .criticality-button,.status-filter.active .criticality-button,.type-filter.active .criticality-button,.location-filter.active .criticality-button,.category-filter.active .criticality-button,.team-filter.active .criticality-button,.asset-filter.active .criticality-button,.date-range-filter.active .criticality-button,.priority-filter.active .criticality-button{background:#6610f21f;color:#1f2937}.count-badge{background:#0f172a1f;color:inherit;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.filter-dropdown.selected .count-badge,.criticality-filter.selected .count-badge,.status-filter.selected .count-badge,.type-filter.selected .count-badge,.location-filter.selected .count-badge,.category-filter.selected .count-badge,.team-filter.selected .count-badge,.asset-filter.selected .count-badge,.date-range-filter.selected .count-badge,.priority-filter.selected .count-badge{background:#ffffff40;color:#fff}.filter-dropdown.active .count-badge,.criticality-filter.active .count-badge,.status-filter.active .count-badge,.type-filter.active .count-badge,.location-filter.active .count-badge,.category-filter.active .count-badge,.team-filter.active .count-badge,.asset-filter.active .count-badge,.date-range-filter.active .count-badge,.priority-filter.active .count-badge{background:#0f172a1f;color:#1f2937}.criticality-dropdown{position:absolute;top:calc(100% + .4rem);left:0;z-index:20;background:var(--bg-secondary);border:1px solid rgba(102,16,242,.35);box-shadow:0 12px 24px var(--shadow-md);padding:.6rem;display:grid;gap:.45rem;min-width:200px}.criticality-dropdown label{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--text-secondary)}.criticality-dropdown input[type=checkbox]{width:.9rem;height:.9rem}.option-label{font-weight:500}.empty-note{font-size:.75rem;color:var(--text-muted)}.layout-toggle{display:inline-flex;gap:.35rem;border:1px solid var(--border-color);padding:.2rem;border-radius:.65rem;background:var(--bg-tertiary)}.layout-toggle button{border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:.55rem;color:var(--text-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.layout-toggle button.active{background:var(--color-primary);color:#fff}.layout-toggle button.active:hover{color:var(--text-primary)}.dark .layout-toggle button.active,.dark .layout-toggle button.active:hover{color:#fff}.layout-toggle button:hover{background:rgba(var(--color-primary-rgb),.08)}.chip{display:inline-block;padding:.15rem .55rem;border-radius:3px;font-size:.75rem;font-weight:500;background:#3b82f626;color:#1d4ed8}.form-note{font-size:.85rem;margin:0;color:var(--text-muted)}.hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu{position:relative;display:inline-flex}.menu-trigger{border:none;background:none;color:var(--text-tertiary);padding:.25rem;border-radius:6px;cursor:pointer;transition:all .15s ease}.menu-trigger:hover,.menu-trigger:focus-visible{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08);outline:none}.row-menu{position:absolute;top:100%;right:0;margin-top:.35rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 12px 24px var(--shadow-md);min-width:160px;padding:.35rem 0;display:grid;z-index:20}.row-menu button{all:unset;padding:.45rem .85rem;font-size:.9rem;cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.row-menu button:hover,.row-menu button:focus-visible{background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary);outline:none}.row-menu button.danger{color:#dc2626;transition:all .15s ease}.dark .row-menu button.danger{color:#ef4444}.row-menu button.danger:hover,.row-menu button.danger:focus-visible{background:var(--bg-danger-light);color:#dc2626;outline:none}.dark .row-menu button.danger:hover,.dark .row-menu button.danger:focus-visible{color:#ef4444}.back-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(var(--color-primary-rgb),.4);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08);cursor:pointer;transition:all .15s ease}.back-button:hover,.back-button:focus-visible{background:var(--color-primary);color:#fff;border-color:var(--color-primary);outline:none}.status-pill{width:12px;height:12px;border-radius:999px}.status-pill.my{background:var(--text-success);box-shadow:0 0 0 3px #10b9812e}.status-pill.other{background:#6366f1;box-shadow:0 0 0 3px #6366f12e}.status-pill.online{background:var(--text-success);box-shadow:0 0 0 3px #10b9812e}.status-pill.offline{background:var(--text-danger);box-shadow:0 0 0 3px #ef44442e}.status-pill.do-not-track{background:var(--text-muted);box-shadow:0 0 0 3px #6b72802e}.team-pill{padding:.2rem .55rem;background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary);font-size:.75rem;font-weight:600;border-radius:3px}.team-pill.admin{background:var(--bg-success-light);color:var(--text-success)}@media(max-width:1024px){.layout-board .layout{grid-template-columns:minmax(350px,min(30vw,450px)) minmax(500px,1fr);gap:0;min-width:850px}.layout-board .list-column,.layout-board .preview-column{height:auto;min-width:350px}.layout-board .preview-column{min-width:500px}}.swal2-container{z-index:12150!important}.swal2-popup{z-index:12151!important}.dark .swal2-popup{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.dark .swal2-title{color:var(--text-primary)}.dark .swal2-html-container,.dark .swal2-content{color:var(--text-secondary)}.dark .swal2-footer{border-top:1px solid var(--border-color);color:var(--text-muted)}.dark .swal2-backdrop{background:var(--shadow-xl)}.dark .swal2-input,.dark .swal2-textarea,.dark .swal2-select{background:var(--bg-tertiary);border-color:var(--border-color-medium);color:var(--text-primary)}.dark .swal2-input:focus,.dark .swal2-textarea:focus,.dark .swal2-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.dark .swal2-validation-message{background:var(--bg-danger-light);color:var(--text-danger);border-color:var(--border-danger)}.dark .swal2-actions{gap:.75rem}.dark .swal2-confirm{background:linear-gradient(135deg,#6610f2,#8b5cf6);color:#fff;border:none}.dark .swal2-confirm:hover:not([disabled]){background:linear-gradient(135deg,#4c0fce,#7c3aed);box-shadow:0 10px 20px rgba(var(--color-primary-rgb),.25)}.dark .swal2-cancel{background:transparent;border:1px solid var(--border-color-medium);color:var(--text-secondary)}.dark .swal2-cancel:hover:not([disabled]){background:var(--bg-tertiary);border-color:var(--border-color)}.dark .swal2-deny{background:transparent;border:1px solid var(--border-color-medium);color:var(--text-secondary)}.dark .swal2-deny:hover:not([disabled]){background:var(--bg-tertiary);border-color:var(--border-color)}.dark .swal2-close{color:var(--text-tertiary)}.dark .swal2-close:hover{color:var(--text-primary)}.dark .swal2-icon{border-color:var(--border-color)}.dark .swal2-icon.swal2-success{border-color:var(--text-success);color:var(--text-success)}.dark .swal2-icon.swal2-success [class^=swal2-success-line]{background-color:var(--text-success)}.dark .swal2-icon.swal2-error{border-color:var(--text-danger);color:var(--text-danger)}.dark .swal2-icon.swal2-warning{border-color:#f59e0b;color:#f59e0b}.dark .swal2-icon.swal2-info{border-color:#3b82f6;color:#3b82f6}.dark .swal2-icon.swal2-question{border-color:var(--text-muted);color:var(--text-muted)}.dark .swal2-loader{border-color:var(--border-color);border-right-color:var(--color-primary)}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4;font-weight:400;color:var(--text-primary, #0f172a);background-color:var(--bg-primary, #ffffff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-width:1024px;background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #0f172a);transition:background-color .2s ease,color .2s ease}#app{min-height:100vh;width:100%}button{border:none;font:inherit;background:none;cursor:pointer}a{color:inherit}.image-fallback{object-fit:contain;background-color:#fee2e2}@media print{@page{size:A4 portrait;margin:10mm 0}@page sopr-progress{margin:10mm 0;size:A4 portrait}}
