.loader{border:4px solid var(--border-default);border-top:4px solid var(--accent-primary);border-radius:50%;width:37px;height:37px;animation:spin 1s linear infinite}.network-settings{padding:32px}.network-settings.loading{display:flex;justify-content:center;align-items:center;min-height:400px;background:transparent}.content-header{margin-bottom:32px}.content-header h2{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.check-list{display:flex;flex-direction:column;gap:16px}.check-item{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:10px;transition:border-color .2s}.check-item:hover{border-color:var(--border-strong)}.check-info{display:flex;align-items:center;gap:16px}.status-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#ffffff0d;font-size:18px}.status-icon-wrapper.ok{background-color:#10b9811a;color:var(--status-ok)}.status-icon-wrapper.nok{background-color:#ef44441a;color:var(--status-nok)}.status-icon-wrapper.disabled{background-color:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.icon-spinner{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-group{display:flex;flex-direction:column;gap:4px}.service-name{font-size:15px;font-weight:600;color:var(--text-primary)}.service-status{font-size:13px;font-weight:500;color:var(--text-secondary)}.check-item.ok .service-status{color:var(--status-ok)}.check-item.nok .service-status{color:var(--status-nok)}.check-item.disabled .service-status,.check-item.disabled .service-name{color:var(--text-secondary)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-control);border:1px solid var(--border-strong);border-radius:24px;transition:.3s;box-shadow:none}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--text-secondary);transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-subtle-bg);border-color:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background-color:var(--accent-primary);box-shadow:none}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.network-settings::-webkit-scrollbar{width:8px}.network-settings::-webkit-scrollbar-track{background:var(--bg-surface);border-radius:4px}.network-settings::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.network-settings::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.storage-settings{padding:20px}.storage-settings .settings-section{margin-bottom:24px;background:var(--bg-elevated);border-radius:16px;padding:24px;border:1px solid var(--border-default);position:relative}.storage-settings .settings-section h3{font-size:20px;color:var(--text-primary);margin-bottom:24px;font-weight:500;position:relative;display:inline-block}.storage-settings .settings-section h3:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background-color:var(--accent-primary);border-radius:2px}.storage-settings .setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-default)}.storage-settings .setting-item:last-child{border-bottom:none}.storage-settings .setting-item-content{flex:1;margin-right:24px}.storage-settings .setting-item-title{display:block;font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.storage-settings .setting-item-description{display:block;font-size:14px;color:var(--text-secondary);line-height:1.4}.storage-settings .number-control{width:80px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--bg-control);transition:all .2s}.storage-settings .number-control:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.storage-settings .number-control.disabled{opacity:.5;cursor:not-allowed;background:var(--bg-surface)}.storage-settings .storage-status{width:100%;padding:16px 0 4px}.storage-settings .storage-bar{width:100%;height:16px;background:var(--bg-control);border-radius:8px;overflow:hidden;margin:16px 0 12px;position:relative}.storage-settings .storage-used{height:100%;background:var(--accent-primary);border-radius:8px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.storage-settings .storage-info{display:flex;justify-content:space-between;font-size:14px;color:var(--text-secondary);padding:0 4px}.storage-settings .storage-info span{font-weight:500;position:relative;transition:all .3s ease}.storage-settings .storage-info span.used{color:var(--accent-primary)}.storage-settings .storage-info span.free{color:var(--text-primary)}.storage-utilization{margin-top:24px;padding:16px;background:var(--bg-control);border-radius:12px}.storage-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.storage-used{font-weight:600;color:var(--text-primary)}.storage-total{color:var(--text-secondary)}.storage-bar-container{height:8px;background:var(--bg-surface);border-radius:6px;overflow:hidden;position:relative}.storage-bar{height:100%;border-radius:6px;transition:all .3s ease-in-out;position:relative;overflow:hidden}.setting-control .action-button{width:220px;justify-content:center}.export-tabs-container{display:flex;flex-direction:column;gap:12px;width:100%}.export-tabs{display:flex;gap:4px;background:var(--bg-elevated, #1a1a1a);border-radius:8px;padding:3px;width:fit-content}.export-tab{padding:6px 18px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #a0a0a0);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.3px}.export-tab:hover:not(:disabled){color:var(--text-primary, #e8e8e8);background:#0090d41a}.export-tab.active{background:var(--accent-primary, #0090d4);color:var(--text-on-accent, #fff)}.export-tab:disabled{opacity:.5;cursor:not-allowed}.download-button{display:flex;align-items:center;gap:12px;padding:12px 24px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;letter-spacing:.3px;transition:all .2s;position:relative;overflow:hidden}.download-button:hover{background:var(--accent-hover)}.download-button:active{background:var(--accent-active)}.download-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.download-button svg{transition:all .2s;width:22px;height:22px}.clear-button{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#ef4444;color:var(--text-on-accent);border:none;border-radius:12px;cursor:pointer;font-weight:600;font-size:15px;letter-spacing:.3px;transition:all .2s;position:relative;overflow:hidden}.clear-button:hover{background:#dc2626}.clear-button:active{background:#b91c1c}.clear-button svg{transition:all .2s;width:22px;height:22px}.confirmation-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.confirmation-dialog{background:var(--bg-elevated);padding:24px;border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--border-default);max-width:400px;width:90%}.confirmation-dialog h4{margin:0 0 16px;color:var(--text-primary);font-size:18px}.confirmation-dialog p{margin:0 0 24px;color:var(--text-secondary);line-height:1.5}.confirmation-dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.confirmation-dialog-buttons button{padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.confirmation-dialog-buttons .cancel{background:var(--bg-control);border:1px solid var(--border-strong);color:var(--text-primary)}.confirmation-dialog-buttons .cancel:hover{background:var(--border-strong)}.confirmation-dialog-buttons .confirm{background:#ef4444;border:1px solid #ef4444;color:var(--text-on-accent)}.confirmation-dialog-buttons .confirm:hover{background:#dc2626;border-color:#dc2626}.error-message{display:flex;align-items:center;justify-content:space-between;background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px}.error-close{background:none;border:none;color:#f87171;font-size:20px;font-weight:700;cursor:pointer;padding:0;margin-left:12px;line-height:1;opacity:.7;transition:opacity .2s}.error-close:hover{opacity:1}.update-button{margin-left:8px;padding:8px 16px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.update-button:hover{background:var(--accent-hover)}.update-button:disabled{opacity:.5;cursor:not-allowed}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;color:var(--text-secondary)}.azure-credential-warning{padding:10px 14px;background:#eab3081a;border:1px solid rgba(234,179,8,.4);border-radius:6px;color:var(--color-warning, #ca8a04);font-size:13px;line-height:1.5;margin-bottom:8px}.rule-engine-settings{padding:0}.rule-engine-header{margin-bottom:20px}.rule-engine-description{color:var(--text-secondary);font-size:16px;max-width:100%;margin:0;line-height:1.5}.preset-manager{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-bottom:24px;border-bottom:1px solid var(--border-default);position:relative}.preset-selector{display:flex;align-items:center;gap:16px}.preset-selector label{font-weight:500;color:var(--text-primary);font-size:16px}.preset-dropdown-container{position:relative;display:flex;align-items:center;gap:8px;min-width:250px}.preset-dropdown-container select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:10px 40px 10px 16px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-control) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:16px;color:var(--text-primary);font-size:14px;width:100%;cursor:pointer;transition:all .2s}.preset-dropdown-container select option{background:var(--bg-control);color:var(--text-primary)}.preset-dropdown-container select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.preset-delete{background:transparent;border:none;color:#ef4444;cursor:pointer;opacity:.7;transition:all .2s;padding:8px;border-radius:50%}.preset-delete:hover{opacity:1;background:#ef44441a}.add-preset{display:flex;align-items:center;gap:8px;background:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:8px;padding:10px 16px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s}.add-preset:hover{background:var(--accent-primary);color:var(--text-on-accent)}.add-preset-form{display:flex;flex-direction:column;gap:12px;min-width:250px}.add-preset-form input{padding:10px 16px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-control);color:var(--text-primary);font-size:14px;width:100%;transition:all .2s}.add-preset-form input::placeholder{color:var(--text-secondary)}.add-preset-form input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.preset-form-actions{display:flex;justify-content:flex-end;gap:8px}.cancel-button,.save-button{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button{background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong)}.cancel-button:hover{background:var(--bg-control);border-color:var(--text-secondary)}.save-button{background:var(--accent-primary);color:var(--text-on-accent);border:1px solid var(--accent-primary)}.save-button:hover{background:var(--accent-hover)}.rules-container{margin-top:20px}.rules-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px}.rules-header h4{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.rules-description{margin:0;font-size:14px;color:var(--text-secondary);display:none}.add-rule{display:flex;align-items:center;gap:8px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:6px;padding:8px 12px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s}.add-rule:hover{background:var(--accent-hover)}.no-rules{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 0;color:var(--text-secondary);background-color:var(--bg-elevated);border-radius:8px;border:1px dashed var(--border-strong)}.no-rules p{margin:4px 0}.rules-list{display:flex;flex-direction:column;gap:16px}.rule-card{background-color:var(--bg-elevated);border-radius:8px;border:1px solid var(--border-default);transition:all .2s;overflow:hidden}.rule-card.active{position:relative;border-left:none}.rule-card.active:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,#0f97c7,#c4e92a)}.rule-card.inactive{border-left:4px solid #ef4444;opacity:.9}.rule-card.expanded{box-shadow:0 2px 8px #0003}.rule-header{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:background-color .2s}.rule-header:hover{background-color:var(--bg-control)}.rule-status{margin-right:16px}.rule-toggle,.rule-toggle.active,.rule-toggle.inactive,.rule-toggle.active:hover,.rule-toggle.inactive:hover{display:none}.rule-title{flex:1;display:flex;flex-direction:column}.rule-title h4{font-size:16px;font-weight:500;color:var(--text-primary);margin:0 0 4px}.rule-title input{font-size:16px;font-weight:500;color:var(--text-primary);padding:4px 8px;margin:-4px -8px;border-radius:4px;border:1px solid var(--border-strong);background:var(--bg-control);width:100%;max-width:300px}.rule-title input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.rule-summary{font-size:13px;color:var(--text-secondary)}.rule-actions{display:flex;gap:4px}.icon-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:50%;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s;min-width:36px;min-height:36px}.icon-button:hover{background:var(--bg-control);color:var(--text-primary)}.icon-button.delete:hover{background:#ef44441a;color:#ef4444}.icon-button.visibility:hover{background:var(--accent-subtle-bg);color:var(--accent-primary)}.rule-content{padding:0 16px 16px;border-top:1px solid var(--border-default)}.rule-details{padding:16px 0}.rule-property{display:flex;align-items:center;margin-bottom:16px}.rule-property:last-child{margin-bottom:0}.rule-property label{width:120px;font-size:14px;color:var(--text-secondary)}.rule-property-value{flex:1}.rule-actions{display:flex;justify-content:space-between;padding-top:16px}.rule-action-buttons{display:flex;gap:12px}.rule-logic-selector{display:flex;align-items:center;gap:12px;margin:16px 0;justify-content:flex-end}.logic-label{font-size:14px;color:var(--text-secondary);font-weight:500}.logic-options{display:flex;background:var(--bg-control);padding:3px;border-radius:8px;gap:3px}.logic-option{border:none;background:transparent;padding:8px 24px;font-size:14px;font-weight:500;color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:40px;min-width:70px;touch-action:manipulation}.logic-option:hover{color:var(--text-primary)}.logic-option.selected{background:var(--bg-elevated);color:var(--accent-primary);box-shadow:0 2px 4px #0003}.operator-selector{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.operator-label{font-size:14px;color:var(--text-primary);font-weight:500}.operator-toggle{display:flex;border-radius:8px;overflow:hidden;border:1px solid var(--border-strong)}.operator-button{padding:8px 16px;background:var(--bg-control);border:none;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:all .2s}.operator-button.active{background:var(--accent-primary);color:var(--text-on-accent)}.operator-button:not(.active):hover{background:var(--bg-elevated)}.rule-condition{background:var(--bg-elevated);padding:14px 16px;border-radius:6px;transition:all .2s;border:1px solid var(--border-default);margin-bottom:12px}.rule-condition:last-child{margin-bottom:0}.rule-condition.editing{border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.condition-header{display:flex;align-items:center;gap:12px}.condition-expression{flex:1;font-size:14px;color:var(--text-primary)}.condition-actions{display:flex;gap:8px}.condition-action{background:transparent;border:none;color:var(--text-secondary);padding:4px;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.condition-action:hover{background:var(--bg-control);color:var(--text-primary)}.condition-action.edit:hover{color:var(--accent-primary)}.condition-action.delete:hover{color:#ef4444}.condition-form{background-color:var(--bg-control);border-radius:8px;padding:20px;margin-top:12px}.comparison-type-selector{margin-bottom:20px}.comparison-type select{background-color:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;color:var(--accent-primary);font-weight:500;min-width:200px}.comparison-type select option{background:var(--bg-control);color:var(--text-primary)}.condition-criteria{margin-bottom:20px}.condition-segment{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.condition-segment.reference{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-strong);padding-left:12px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:500}.form-group select,.form-group input{height:36px;padding:0 10px;border:1px solid var(--border-strong);border-radius:4px;background-color:var(--bg-elevated);color:var(--text-primary);font-size:14px}.form-group select:focus,.form-group input:focus{border-color:var(--accent-primary);outline:none;box-shadow:var(--focus-glow)}.form-group.segment-class select{min-width:120px}.form-group.feature select,.form-group.reference-feature select{min-width:100px}.form-group.operator select{min-width:60px;text-align:center;font-weight:600}.form-group.value input,.form-group.multiplier input{min-width:80px;text-align:right}.form-group.reference-class select{min-width:120px}.condition-form-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.condition-form-buttons button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s}.condition-form-buttons .cancel-button{background-color:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.condition-form-buttons .cancel-button:hover{background-color:var(--bg-elevated)}.condition-form-buttons .save-button{background-color:var(--accent-primary);border:none;color:var(--text-on-accent)}.condition-form-buttons .save-button:hover{background-color:var(--accent-hover)}.condition-summary{font-size:14px;font-family:Source Code Pro,monospace;color:var(--text-primary);background-color:var(--bg-control);padding:8px 12px;border-radius:4px;display:inline-block;font-weight:500}.condition-summary strong{color:var(--accent-primary)}.condition-summary .operator{font-weight:600;margin:0 4px}.add-condition{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--accent-primary);border:1px dashed var(--accent-primary);border-radius:8px;padding:10px 16px;margin-top:12px;width:100%;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s}.add-condition:hover{background:var(--accent-subtle-bg)}.rule-status .switch{position:relative;display:inline-block;width:44px;height:24px;margin-right:8px}.rule-status .switch input{opacity:0;width:0;height:0}.rule-status .switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-control);border:1px solid var(--border-strong);transition:.3s;border-radius:34px}.rule-status .switch .slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:2px;background-color:var(--text-secondary);transition:.3s;border-radius:50%;box-shadow:0 1px 3px #00000040}.rule-status .switch input:checked+.slider{background:linear-gradient(90deg,#0f97c7,#c4e92a);border-color:transparent}.rule-status .switch input:checked+.slider:before{transform:translate(20px);background-color:var(--text-on-accent)}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rule-card{animation:slideIn .3s ease-out}.rule-condition{animation:fadeIn .3s ease-out}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background-color:var(--bg-elevated);border-radius:8px;box-shadow:var(--shadow-lg);width:400px;max-width:90%;padding:24px;border:1px solid var(--border-default)}.dialog h4{margin-top:0;margin-bottom:16px;font-size:18px;color:var(--text-primary)}.dialog-content{margin-bottom:24px}.dialog-content label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.dialog-content input{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:4px;font-size:14px;transition:border-color .2s;box-sizing:border-box;background:var(--bg-control);color:var(--text-primary)}.dialog-content input::placeholder{color:var(--text-secondary)}.dialog-content input:focus{border-color:var(--accent-primary);outline:none}.dialog-buttons{display:flex;justify-content:flex-end;gap:12px}.dialog-buttons button{padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.dialog-buttons .cancel-button{background-color:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.dialog-buttons .cancel-button:hover{background-color:var(--bg-control)}.dialog-buttons .save-button{background-color:var(--accent-primary);border:none;color:var(--text-on-accent)}.dialog-buttons .save-button:hover{background-color:var(--accent-hover)}.dialog-buttons .save-button:disabled{background:var(--bg-control);cursor:not-allowed;color:var(--text-secondary)}.rule-actions button,.condition-actions button,.toggle-rule-button,.add-condition-button{min-width:44px;min-height:44px;padding:10px;display:flex;align-items:center;justify-content:center;border-radius:8px;touch-action:manipulation}.rule-actions,.condition-actions{display:flex;gap:8px;align-items:center}.rule-actions button:hover,.condition-actions button:hover,.toggle-rule-button:hover,.add-condition-button:hover{background-color:var(--bg-control)}.preset-skeleton-loader{width:100%;padding:0 16px}.skeleton{background:linear-gradient(90deg,var(--bg-control) 25%,var(--bg-elevated) 50%,var(--bg-control) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.preset-header-skeleton{display:flex;align-items:center;margin-bottom:24px;padding:8px 0}.preset-label-skeleton{width:80px;height:20px;background-color:var(--bg-control);border-radius:4px;margin-right:16px}.preset-controls-skeleton{display:flex;align-items:center;flex-grow:1;max-width:250px}.preset-dropdown-skeleton{flex-grow:1;height:38px;background-color:var(--bg-control);border-radius:4px;margin-right:8px}.trash-icon-skeleton{width:32px;height:32px;background-color:var(--bg-control);border-radius:4px}.add-preset-button-skeleton{width:120px;height:38px;background-color:var(--bg-control);border-radius:8px;margin-left:auto}.skeleton-divider{height:1px;width:100%;background-color:var(--border-default);margin:16px 0 24px}.rules-header-skeleton{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.rules-title-skeleton{width:80px;height:24px;background-color:var(--bg-control);border-radius:4px}.add-rule-button-skeleton{width:110px;height:38px;background-color:var(--bg-control);border-radius:8px}.rules-skeleton{display:flex;flex-direction:column;gap:16px}.rule-card-skeleton{display:flex;height:70px;background-color:var(--bg-elevated);border-radius:6px;box-shadow:0 1px 3px #0003;overflow:hidden}.rule-left-border-skeleton{width:4px;height:100%;background:linear-gradient(to bottom,#4caf50,#2196f3)}.rule-content-skeleton{flex-grow:1;display:flex;align-items:center;padding:0 16px}.rule-toggle-skeleton{width:40px;height:22px;background-color:var(--bg-control);border-radius:12px;margin-right:16px}.rule-info-skeleton{flex-grow:1}.rule-title-skeleton{width:180px;height:20px;background-color:var(--bg-control);border-radius:4px;margin-bottom:8px}.rule-subtitle-skeleton{width:100px;height:16px;background-color:var(--bg-control);border-radius:4px}.rule-actions-skeleton{display:flex;gap:12px}.action-icon-skeleton{width:24px;height:24px;background-color:var(--bg-control);border-radius:4px}.language-settings{padding:20px}.language-settings .settings-section{margin-bottom:24px;background:var(--bg-elevated);border-radius:16px;padding:24px;border:1px solid var(--border-default);box-shadow:none;position:relative}.language-settings .settings-section h3{font-size:20px;color:var(--text-primary);margin-bottom:24px;font-weight:500;position:relative;display:inline-block}.language-settings .settings-section h3:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background-color:var(--accent-primary);border-radius:2px}.language-settings .settings-section p{color:var(--text-secondary);font-size:14px;margin-bottom:16px;line-height:1.5}.language-settings .language-options{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}.language-settings .language-card{flex:1;min-width:200px;max-width:300px;background:var(--bg-control);border-radius:12px;padding:20px;border:2px solid var(--border-default);transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.language-settings .language-card:hover{border-color:var(--border-strong)}.language-settings .language-card.active{border-color:var(--accent-primary);background:var(--accent-subtle-bg)}.language-settings .language-card.active:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 40px 40px 0;border-color:transparent var(--accent-primary) transparent transparent}.language-settings .language-card.active:after{content:"✓";position:absolute;top:5px;right:8px;color:var(--text-on-accent);font-size:14px;font-weight:700}.language-settings .language-flag{width:40px;height:40px;border-radius:50%;margin-bottom:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--bg-elevated)}.language-settings .language-name{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.language-settings .language-native{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.language-settings .language-description{font-size:14px;color:var(--text-secondary);line-height:1.4}.language-settings .language-info{margin-top:24px;padding:16px;background:var(--bg-control);border-radius:8px;border-left:4px solid var(--accent-primary)}.language-settings .language-info p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.language-settings .language-info strong{color:var(--text-primary)}.language-settings .language-card.active .language-flag{background:var(--accent-primary);color:var(--text-on-accent)}.language-settings .current-language{margin-top:12px;margin-bottom:20px;padding:12px 16px;background:var(--accent-subtle-bg);border-radius:8px;border-left:4px solid var(--accent-primary)}.language-settings .current-language p{margin:0;color:var(--text-primary);font-size:15px}.language-settings .current-language strong{color:var(--accent-primary)}.language-settings .active-indicator{position:absolute;top:12px;right:12px;background:var(--accent-primary);color:var(--text-on-accent);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.timeout-setting-card{background:var(--bg-elevated);border-radius:16px;padding:24px;border:1px solid var(--border-default)}.timeout-setting-header{margin-bottom:20px}.timeout-setting-info{display:flex;flex-direction:column;gap:4px}.timeout-setting-label{color:var(--text-primary);font-size:16px;font-weight:600}.timeout-setting-description{color:var(--text-secondary);font-size:13px;line-height:1.4}.timeout-options{margin-bottom:0}.timeout-options .timeout-select{width:100%;background-color:var(--bg-control);border:2px solid var(--border-strong);border-radius:12px;padding:14px 44px 14px 16px;color:var(--text-primary);font-size:15px;cursor:pointer;transition:all .2s ease;font-family:var(--default-font-family),serif;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' 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 12px center;background-size:20px}.timeout-options .timeout-select option{background-color:var(--bg-control);color:var(--text-primary)}.timeout-options .timeout-select:hover:not(:disabled){border-color:var(--accent-primary)}.timeout-options .timeout-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.timeout-options .timeout-select:disabled{opacity:.6;cursor:not-allowed}.custom-duration-panel{margin-top:16px;padding-top:20px;border-top:1px solid var(--border-default);animation:slideDown .2s ease-out}.custom-duration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.custom-duration-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.custom-duration-content{display:flex;flex-direction:column;gap:12px}.custom-duration-input-group{display:flex;align-items:stretch;gap:0;background:var(--bg-control);border-radius:12px;overflow:hidden;border:2px solid var(--border-strong);transition:all .2s ease}.custom-duration-input-group:focus-within{border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.custom-duration-input{flex:1;min-width:0;border:none;background:transparent;padding:14px 16px;font-size:18px;font-weight:500;color:var(--text-primary);text-align:left;font-family:var(--default-font-family),serif}.custom-duration-input:focus{outline:none}.custom-duration-input::placeholder{color:var(--text-secondary)}.custom-duration-input:disabled{opacity:.6;cursor:not-allowed}.custom-duration-input::-webkit-outer-spin-button,.custom-duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.custom-duration-input[type=number]{-moz-appearance:textfield}.unit-toggle{display:flex;padding:6px;gap:4px;background:var(--bg-surface);border-left:1px solid var(--border-default)}.unit-toggle-btn{padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;border-radius:8px;transition:all .2s ease;font-family:var(--default-font-family),serif}.unit-toggle-btn:hover:not(:disabled):not(.active){background:var(--bg-control);color:var(--text-primary)}.unit-toggle-btn.active{background:var(--accent-primary);color:var(--text-on-accent)}.unit-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.custom-duration-footer{display:flex;justify-content:space-between;align-items:center;padding:0 4px}.custom-duration-range{font-size:12px;color:var(--text-secondary)}.custom-duration-current{font-size:13px;color:var(--accent-primary);font-weight:500;padding:4px 12px;background:var(--accent-subtle-bg);border-radius:20px}.saved-indicator{display:inline-flex;align-items:center;gap:6px;color:#10b981;font-size:13px;font-weight:600;padding:4px 12px;background:#10b98126;border-radius:20px;animation:fadeInScale .2s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.custom-duration-input-group.has-error{border-color:#ef4444}.custom-duration-input-group.has-error:focus-within{border-color:#ef4444;box-shadow:0 0 0 4px #ef444426}.custom-duration-input-group.has-success{border-color:#10b981}.custom-duration-input-group.has-success:focus-within{border-color:#10b981;box-shadow:0 0 0 4px #10b98126}.validation-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44441a;border-radius:10px;color:#ef4444;font-size:13px;font-weight:500;animation:shakeError .3s ease-out}@keyframes shakeError{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.validation-error svg{flex-shrink:0}.custom-duration-help{font-size:12px;color:var(--text-secondary);text-align:center;padding-top:8px;border-top:1px solid var(--border-default);margin-top:4px}.security-settings-section{margin-top:40px;padding-top:32px;border-top:1px solid var(--border-default)}.security-settings-section .section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;color:var(--text-primary)}.security-settings-section .section-header h3{margin:0;font-size:20px;font-weight:500}.policy-settings-card{background:var(--bg-elevated);border-radius:16px;padding:24px;border:1px solid var(--border-default)}.policy-setting-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-default)}.policy-setting-row:last-child{border-bottom:none;padding-bottom:0}.policy-setting-row:first-child{padding-top:0}.policy-setting-row>label{display:flex;flex-direction:column;gap:4px;flex:1;color:var(--text-primary);font-size:15px;font-weight:500}.policy-setting-description{color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.4}.policy-number-input{width:80px;background-color:var(--bg-control);border:2px solid var(--border-strong);border-radius:10px;padding:10px 14px;color:var(--text-primary);font-size:15px;font-weight:500;text-align:center;transition:all .2s ease;font-family:var(--default-font-family),serif}.policy-number-input:hover:not(:disabled){border-color:var(--accent-primary)}.policy-number-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.policy-number-input:disabled{opacity:.6;cursor:not-allowed}.policy-setting-row .switch{position:relative;display:inline-block;width:52px;height:28px;flex:none}.policy-setting-row .switch input{opacity:0;width:0;height:0}.policy-setting-row .switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-control);border:1px solid var(--border-strong);transition:.3s;border-radius:28px}.policy-setting-row .switch .slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:2px;background-color:var(--text-secondary);transition:.3s;border-radius:50%;box-shadow:0 2px 4px #00000040}.policy-setting-row .switch input:checked+.slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}.policy-setting-row .switch input:checked+.slider:before{transform:translate(24px);background-color:var(--text-on-accent)}.policy-setting-row .switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.users-list{display:flex;flex-direction:column;gap:12px}.user-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-elevated);border-radius:12px;padding:16px 20px;transition:all .2s;border:1px solid var(--border-default)}.user-item:hover{border-color:var(--border-strong)}.user-info{display:flex;align-items:center;gap:16px}.user-icon{color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--bg-control);border-radius:10px}.user-details{display:flex;flex-direction:column;gap:4px}.user-name{color:var(--text-primary);font-size:15px;font-weight:500}.user-role{color:var(--text-secondary);font-size:13px}.user-actions{display:flex;align-items:center;gap:8px}.edit-button,.delete-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-button:hover{color:var(--accent-primary);background-color:var(--accent-subtle-bg)}.delete-button:hover{color:#ef4444;background-color:#ef44441a}.delete-confirm{display:flex;gap:8px}.confirm-delete,.cancel-delete{padding:6px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.confirm-delete{background-color:#ef4444;border:none;color:var(--text-on-accent)}.confirm-delete:hover{background-color:#dc2626}.cancel-delete{background-color:transparent;border:2px solid var(--border-strong);color:var(--text-secondary)}.cancel-delete:hover{background-color:var(--bg-control);border-color:var(--text-secondary);color:var(--text-primary)}.password-requirements{margin-top:8px;padding:12px;background-color:var(--bg-page);border-radius:8px;font-size:13px}.password-requirements-title{font-weight:500;color:var(--text-secondary);display:block;margin-bottom:8px}.password-requirements-list{list-style:none;padding:0;margin:0}.password-requirement{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--text-muted)}.password-requirement.met{color:var(--status-ok)}.password-requirement.unmet{color:var(--status-nok)}.requirement-icon{flex-shrink:0}.requirement-icon.met{color:var(--status-ok)}.requirement-icon.unmet{color:var(--status-nok)}.user-form{background:var(--bg-elevated);border-radius:16px;padding:24px;margin-bottom:32px;border:1px solid var(--border-default)}.user-form h3{margin:0 0 24px;color:var(--text-primary);font-size:20px;font-weight:500;position:relative;display:inline-block}.user-form h3:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background-color:var(--accent-primary);border-radius:2px}.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-row label{color:var(--text-primary);font-size:14px;font-weight:500}.form-row input,.form-row select{background-color:var(--bg-control);border:2px solid var(--border-strong);border-radius:12px;padding:12px 16px;color:var(--text-primary);font-size:14px;transition:all .2s;font-family:var(--default-font-family),serif}.form-row input:hover:not(:disabled),.form-row select:hover:not(:disabled){border-color:var(--text-secondary)}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.form-row input:disabled,.form-row select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-surface)}.form-row input::placeholder{color:var(--text-secondary)}.form-row select option{background-color:var(--bg-control);color:var(--text-primary)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-button,.submit-button{padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-button{background-color:transparent;border:2px solid var(--border-strong);color:var(--text-secondary)}.cancel-button:hover{background-color:var(--bg-control);border-color:var(--text-secondary);color:var(--text-primary)}.submit-button{background-color:var(--accent-primary);border:none;color:var(--text-on-accent)}.submit-button:hover:not(:disabled){background-color:var(--accent-hover)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.user-management{padding:0}.current-user-card{display:flex;align-items:center;gap:20px;background:var(--accent-primary);border-radius:16px;padding:24px 28px;margin-bottom:32px}.current-user-avatar{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;color:var(--text-on-accent);flex-shrink:0}.current-user-info{display:flex;flex-direction:column;gap:8px;flex:1}.current-user-name{color:var(--text-on-accent);font-size:24px;font-weight:600;line-height:1.2}.current-user-role-badge{display:inline-flex;align-items:center;gap:6px;background-color:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-on-accent);padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500;width:fit-content}.current-user-role-badge svg{flex-shrink:0}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.user-management-header h2{margin:0;color:var(--text-primary);font-size:28px;font-weight:500}.add-user-button{display:flex;align-items:center;gap:8px;background-color:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.add-user-button:hover:not(:disabled){background-color:var(--accent-hover)}.add-user-button:disabled{opacity:.5;cursor:not-allowed}.user-management-loading,.user-management-error{padding:60px 40px;text-align:center;color:var(--text-secondary);font-size:15px}.user-management-error{color:#ef4444}.recipe-settings{display:flex;flex-direction:column;height:100%;gap:16px}.recipe-info-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--accent-subtle-bg);border:1px solid var(--accent-primary);border-radius:8px;color:var(--accent-primary)}.recipe-info-banner svg{flex-shrink:0}.recipe-info-banner span{font-size:13px;line-height:1.4}.recipe-toolbar{display:flex;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.recipe-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg-control);border:1px solid var(--border-strong);border-radius:8px;padding:8px 12px}.recipe-search input{flex:1;border:none;background:transparent;font-size:14px;outline:none;color:var(--text-primary)}.recipe-search input::placeholder{color:var(--text-secondary)}.recipe-search svg{color:var(--text-secondary)}.clear-search{background:none;border:none;cursor:pointer;padding:2px;display:flex;color:var(--text-secondary)}.clear-search:hover{color:var(--text-primary)}.recipe-create-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.recipe-create-btn:hover{background:var(--accent-hover)}.recipe-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.recipe-empty{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.recipe-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;cursor:pointer;transition:all .2s}.recipe-item:hover{border-color:var(--accent-primary)}.recipe-item.active{border-color:#10b981;background:#10b9811a}.recipe-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-control)}.recipe-item-icon .factory-badge{color:var(--accent-primary)}.recipe-item-icon .custom-badge{color:#ffc107}.recipe-item-content{flex:1;min-width:0}.recipe-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.recipe-item-name{font-weight:600;font-size:15px;color:var(--text-primary)}.active-badge{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#10b981;background:#10b98126;padding:2px 8px;border-radius:12px}.recipe-item-id{display:block;font-size:12px;color:var(--text-secondary);font-family:monospace}.recipe-item-description{display:block;font-size:13px;color:var(--text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-item-meta{display:flex;gap:8px;margin-top:8px}.source-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px}.source-badge.factory{background:#06b6d426;color:var(--accent-primary)}.source-badge.custom{background:#ffc10726;color:#ffc107}.recipe-item-arrow{color:var(--text-secondary)}.recipe-detail-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px}.back-btn:hover{background:var(--bg-control);color:var(--text-primary)}.recipe-detail-actions{display:flex;gap:8px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--bg-control)}.action-btn.delete{color:#ef4444;border-color:#ef4444}.action-btn.delete:hover{background:#ef44441a}.action-btn.delete:disabled{opacity:.5;cursor:not-allowed}.action-btn.activate{color:#10b981;border-color:#10b981}.action-btn.activate:hover{background:#10b9811a}.action-btn.activate.active,.action-btn.activate:disabled{opacity:.6;cursor:not-allowed}.recipe-active-badge{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#10b981;background:#10b98126;padding:2px 8px;border-radius:12px}.recipe-detail-content{padding:20px 0}.recipe-detail-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.recipe-detail-title h3{margin:0;font-size:22px;color:var(--text-primary)}.recipe-badges{display:flex;gap:8px}.badge{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:16px}.badge.factory{background:#06b6d426;color:var(--accent-primary)}.badge.custom{background:#ffc10733;color:#ffc107}.badge.active{background:#10b98126;color:#10b981}.recipe-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 20px}.recipe-detail-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-default)}.recipe-detail-section h4{margin:0 0 16px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:14px;color:var(--text-primary);font-weight:500}.eval-rules{display:flex;flex-direction:column;gap:16px}.label-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.label-chip{display:flex;align-items:center;gap:6px;background:var(--bg-control);padding:6px 12px;border-radius:16px;font-size:13px;color:var(--text-primary)}.label-chip .threshold{font-size:11px;color:var(--text-secondary);background:var(--bg-elevated);padding:2px 6px;border-radius:8px}.no-labels{color:var(--text-secondary);font-style:italic;font-size:13px}.activate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 24px;background:#10b981;color:var(--text-on-accent);border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.activate-btn:hover{background:#059669}.activate-btn:disabled{opacity:.7;cursor:not-allowed}.recipe-form{padding:20px 0}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:6px;font-size:14px;background:var(--bg-control);color:var(--text-primary);transition:border-color .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary)}.form-group select option{background:var(--bg-control);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}.form-group textarea{resize:vertical;min-height:80px}.form-hint{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-default)}.cancel-btn{padding:10px 20px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:6px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s}.cancel-btn:hover{background:var(--bg-control)}.save-btn{padding:10px 24px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.save-btn:hover{background:var(--accent-hover)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-elevated);border-radius:12px;padding:24px;max-width:450px;width:90%;box-shadow:var(--shadow-lg);border:1px solid var(--border-default)}.modal-content h4{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.modal-content p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 20px}.clone-warning{display:flex;align-items:flex-start;gap:10px;background:#ffc10726;padding:12px;border-radius:8px;margin-bottom:20px}.clone-warning svg{color:#ffc107;flex-shrink:0;margin-top:2px}.clone-warning span{font-size:13px;color:#ffc107;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.delete-btn{padding:10px 20px;background:#ef4444;color:var(--text-on-accent);border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.delete-btn:hover{background:#dc2626}.delete-btn:disabled{opacity:.6;cursor:not-allowed}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:var(--text-secondary)}.profile-settings{display:flex;flex-direction:column;height:100%;gap:16px}.profile-toolbar{display:flex;gap:12px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.profile-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--bg-control);border:1px solid var(--border-strong);border-radius:8px;padding:8px 12px}.profile-search input{flex:1;border:none;background:transparent;font-size:14px;outline:none;color:var(--text-primary)}.profile-search input::placeholder{color:var(--text-secondary)}.profile-search svg{color:var(--text-secondary)}.profile-create-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.profile-create-btn:hover{background:var(--accent-hover)}.profile-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.profile-empty{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.profile-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;cursor:pointer;transition:all .2s}.profile-item:hover{border-color:var(--accent-primary)}.profile-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-control)}.profile-item-icon .factory-badge{color:var(--accent-primary)}.profile-item-icon .custom-badge{color:#ffc107}.profile-item-content{flex:1;min-width:0}.profile-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.profile-item-name{font-weight:600;font-size:15px;color:var(--text-primary)}.profile-item-id{display:block;font-size:12px;color:var(--text-secondary);font-family:monospace}.profile-item-description{display:block;font-size:13px;color:var(--text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-item-meta{display:flex;gap:8px;margin-top:8px}.profile-item-meta .source-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px}.profile-item-meta .source-badge.factory{background:#06b6d426;color:var(--accent-primary)}.profile-item-meta .source-badge.custom{background:#ffc10726;color:#ffc107}.profile-item-meta .threshold-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:#10b98126;color:#10b981}.profile-item-meta .labels-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--bg-control);color:var(--text-secondary)}.profile-item-arrow{color:var(--text-secondary)}.profile-detail-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border-default)}.profile-detail-actions{display:flex;gap:8px}.profile-detail-content{padding:20px 0}.profile-detail-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.profile-detail-title h3{margin:0;font-size:22px;color:var(--text-primary)}.profile-badges{display:flex;gap:8px}.profile-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0 0 20px}.profile-detail-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-default)}.profile-detail-section h4{margin:0 0 16px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.profile-form{padding:20px 0}.profile-form .form-group{margin-bottom:20px}.profile-form .form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.profile-form .form-group input,.profile-form .form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:6px;font-size:14px;background:var(--bg-control);color:var(--text-primary);transition:border-color .2s}.profile-form .form-group input::placeholder,.profile-form .form-group textarea::placeholder{color:var(--text-secondary)}.profile-form .form-group input:focus,.profile-form .form-group textarea:focus{outline:none;border-color:var(--accent-primary)}.profile-form .form-group textarea{resize:vertical;min-height:60px}.profile-form .form-group input[type=number]{width:120px}.nok-labels-section{margin-top:8px}.nok-labels-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.nok-labels-header label{margin-bottom:0!important}.add-label-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.add-label-btn:hover{background:var(--accent-hover)}.nok-labels-empty{padding:24px 16px;text-align:center;color:var(--text-secondary);font-size:14px;background:var(--bg-elevated);border:1px dashed var(--border-strong);border-radius:8px;margin-top:12px}.nok-labels-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.nok-label-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;transition:border-color .2s}.nok-label-item:hover{border-color:var(--border-strong)}.nok-label-name-input{flex:1;min-width:0}.nok-label-name-input input{width:100%!important;padding:8px 12px!important;font-size:14px;font-family:monospace;background:var(--bg-control);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-primary);transition:border-color .2s}.nok-label-name-input input::placeholder{color:var(--text-secondary);font-family:inherit}.nok-label-name-input input:focus{outline:none;border-color:var(--accent-primary)}.nok-label-threshold-input{display:flex;align-items:center;gap:4px;flex-shrink:0}.nok-label-threshold-input input{width:70px!important;padding:8px 10px!important;text-align:right;font-size:14px;background:var(--bg-control);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-primary);transition:border-color .2s}.nok-label-threshold-input input::placeholder{color:var(--text-secondary);font-size:12px}.nok-label-threshold-input input:focus{outline:none;border-color:var(--accent-primary)}.nok-label-threshold-input input:disabled{opacity:.5;cursor:not-allowed}.nok-label-threshold-input .threshold-unit{font-size:14px;color:var(--text-secondary);min-width:16px}.remove-label-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0}.remove-label-btn:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.threshold-settings{display:flex;flex-direction:column;height:100%;gap:16px}.threshold-header{padding-bottom:16px;border-bottom:1px solid var(--modal-border-subtle, #27272a)}.threshold-header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--modal-text-primary, #f5f5f5)}.threshold-description{margin:0;font-size:14px;color:var(--modal-text-secondary, #a1a1aa);line-height:1.5}.threshold-list{flex:1;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.threshold-empty{text-align:center;padding:40px 20px;color:var(--modal-text-secondary, #a1a1aa);font-size:14px}.threshold-row{display:flex;align-items:center;gap:16px;padding:16px;background:var(--modal-bg-elevated, #1f1f1f);border:1px solid var(--modal-border-subtle, #27272a);border-radius:8px;transition:all .2s}.threshold-row:hover{border-color:var(--modal-border-medium, #3f3f46)}.threshold-row.inactive{opacity:.7}.threshold-row.inactive .threshold-slider-container,.threshold-row.inactive .threshold-value{opacity:.5}.threshold-toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.threshold-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--modal-bg-control, #27272a);border:1px solid var(--modal-border-medium, #3f3f46);border-radius:24px;transition:all .3s}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--modal-text-secondary, #a1a1aa);border-radius:50%;transition:all .3s}.threshold-toggle input:checked+.toggle-slider{background-color:var(--modal-accent-primary, #06b6d4);border-color:var(--modal-accent-primary, #06b6d4)}.threshold-toggle input:checked+.toggle-slider:before{transform:translate(20px);background-color:#fff}.threshold-toggle input:disabled+.toggle-slider{cursor:not-allowed;opacity:.6}.threshold-class{display:flex;align-items:center;gap:10px;min-width:140px;flex-shrink:0}.class-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.class-name{font-weight:500;font-size:15px;color:var(--modal-text-primary, #f5f5f5)}.threshold-slider-container{flex:1;min-width:150px;padding:0 8px}.threshold-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;background:linear-gradient(to right,var(--slider-color, #06b6d4) 0%,var(--slider-color, #06b6d4) var(--slider-percent, 50%),var(--modal-bg-control, #27272a) var(--slider-percent, 50%),var(--modal-bg-control, #27272a) 100%);outline:none;cursor:pointer;transition:opacity .2s;margin:8px 0}.threshold-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;cursor:grab;box-shadow:0 2px 6px #0000004d;transition:transform .15s,box-shadow .15s;border:2px solid var(--slider-color, #06b6d4)}.threshold-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px #0006}.threshold-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}.threshold-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;cursor:grab;border:2px solid var(--slider-color, #06b6d4);box-shadow:0 2px 6px #0000004d}.threshold-slider::-moz-range-thumb:active{cursor:grabbing}.threshold-slider:disabled{cursor:not-allowed;opacity:.6}.threshold-slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.threshold-value{display:flex;flex-direction:column;align-items:flex-end;min-width:90px;flex-shrink:0}.value-current{font-size:16px;font-weight:600;color:var(--modal-text-primary, #f5f5f5);font-variant-numeric:tabular-nums}.save-status{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;transition:all .3s ease}.save-status.saving{color:var(--modal-accent-primary, #06b6d4);background:#06b6d426}.save-status.saved{color:#10b981;background:#10b98133;animation:pulse-success .5s ease}@keyframes pulse-success{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.save-status .spin{animation:spin 1s linear infinite}.threshold-reset{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--modal-border-medium, #3f3f46);border-radius:6px;color:var(--modal-text-secondary, #a1a1aa);cursor:pointer;transition:all .2s;flex-shrink:0}.threshold-reset:hover:not(:disabled){background:var(--modal-bg-control, #27272a);border-color:var(--modal-accent-primary, #06b6d4);color:var(--modal-accent-primary, #06b6d4)}.threshold-reset:disabled{opacity:.3;cursor:not-allowed}.threshold-footer{padding-top:16px;border-top:1px solid var(--modal-border-subtle, #27272a)}.threshold-note{margin:0;font-size:13px;color:var(--modal-text-secondary, #a1a1aa);font-style:italic}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--modal-text-secondary, #a1a1aa)}@media (max-width: 768px){.threshold-row{flex-wrap:wrap;gap:12px}.threshold-class{min-width:auto;flex:1}.threshold-slider-container{order:5;width:100%;min-width:100%;flex-basis:100%;padding:8px 0 0}.threshold-value{min-width:70px}}.io-control-matrix{display:flex;flex-direction:column;gap:24px;padding:0;border-radius:8px;overflow-y:auto}.io-matrix-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-default)}.io-matrix-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.status-indicator{width:6px;height:6px;border-radius:50%;background-color:currentColor;box-shadow:0 0 6px currentColor}.status-indicator.connected{background-color:var(--status-ok);color:var(--status-ok)}.status-indicator.disconnected{background-color:var(--status-nok);color:var(--status-nok)}.io-matrix-loading{padding:24px;text-align:center;color:var(--text-secondary)}.io-signal-group{display:flex;flex-direction:column;gap:12px}.signal-group-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;padding-bottom:8px;border-bottom:1px solid var(--border-default)}.signal-list{display:flex;flex-direction:column;gap:12px}.io-signal-item{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;transition:all .2s}.io-signal-item:hover{border-color:var(--border-strong);background-color:var(--bg-hover)}.signal-header{display:flex;flex-direction:column;gap:4px}.signal-name{font-size:14px;font-weight:600;color:var(--text-primary)}.signal-description{font-size:12px;color:var(--text-muted)}.io-signal-inbound .signal-indicator{display:flex;align-items:center;gap:12px}.led-indicator{position:relative;width:16px;height:16px;border-radius:50%;background-color:var(--bg-control);border:2px solid var(--border-strong);transition:all .3s}.led-indicator.led-on{background-color:var(--status-ok);border-color:var(--status-ok);box-shadow:0 0 12px #10b98199}.led-indicator.led-off{background-color:var(--bg-control);border-color:var(--border-strong)}.led-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background-color:#fffc;opacity:0;transition:opacity .3s}.led-indicator.led-on .led-glow{opacity:1}.signal-value{font-size:13px;font-weight:500;color:var(--text-primary);font-family:Courier New,monospace}.io-signal-outbound .signal-control{display:flex;flex-direction:column;gap:8px}.boolean-controls{display:flex;gap:8px}.control-btn{flex:1;padding:8px 16px;border:1px solid var(--border-strong);border-radius:6px;background-color:var(--bg-control);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.control-btn:hover:not(:disabled){background-color:var(--bg-elevated);border-color:var(--border-active)}.control-btn.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.control-btn:disabled{opacity:.5;cursor:not-allowed}.number-input,.text-input{padding:8px 12px;border:1px solid var(--border-input);border-radius:6px;background-color:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:Courier New,monospace;width:100%}.number-input:focus,.text-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #0090d41a}.number-input:disabled,.text-input:disabled{opacity:.5;cursor:not-allowed}.current-value-display{font-size:12px;color:var(--text-muted);font-family:Courier New,monospace;text-align:right}.io-matrix-empty{padding:48px;text-align:center;color:var(--text-secondary)}.live-protocol-log{display:flex;flex-direction:column;height:100%;overflow:hidden;font-family:Courier New,Consolas,monospace}.log-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 17.5px;border-bottom:1px solid var(--border-default)}.log-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.log-controls{display:flex;align-items:center;gap:8px;margin-top:24px}.log-filter-input{padding:6px 10px;border:1px solid var(--border-input);border-radius:4px;background-color:var(--bg-input);color:var(--text-primary);font-size:15px;font-family:Courier New,monospace;width:150px}.log-filter-input:focus{outline:none;border-color:var(--accent-primary)}.log-control-btn{padding:6px 12px;border:1px solid var(--border-strong);border-radius:4px;background-color:var(--bg-control);color:var(--status-ok);cursor:pointer;font-size:14px;transition:all .2s}.log-control-btn:hover{background-color:var(--bg-elevated);border-color:var(--border-active)}.log-control-btn.paused{background-color:var(--status-warning);border-color:var(--status-warning);color:#fff}.connection-status{display:flex;align-items:center;gap:6px;font-size:11px;padding:4px 8px;border-radius:4px;background-color:var(--bg-control)}.connection-status.connected{color:var(--status-ok)}.connection-status.disconnected{color:var(--status-nok)}.status-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor;box-shadow:0 0 6px currentColor}.log-content{flex:1;overflow-y:auto;padding:8px;background-color:var(--bg-elevated);color:var(--status-ok);font-size:12px;line-height:1.6}.log-content::-webkit-scrollbar{width:8px}.log-content::-webkit-scrollbar-track{background:var(--bg-surface)}.log-content::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.log-content::-webkit-scrollbar-thumb:hover{background:var(--border-active)}.log-entry{display:flex;gap:12px;padding:4px 0;border-bottom:1px solid var(--border-subtle);font-family:Courier New,monospace}.log-entry:hover{background-color:var(--bg-hover)}.log-timestamp{color:var(--text-muted);min-width:80px;font-size:11px}.log-direction{font-weight:700;min-width:50px;font-size:11px}.log-signal{color:var(--text-primary);flex:1;font-weight:500}.log-value{color:var(--status-ok);font-weight:600;min-width:80px;text-align:right}.log-error{color:var(--status-nok);font-style:italic}.log-empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:14px;height:100%}:root{--plc-log-rx: #3b82f6;--plc-log-tx: #f59e0b;--plc-log-sys: #ef4444;--plc-log-text: var(--text-primary)}.plc-diagnostics-container{display:flex;flex-direction:column;gap:16px;color:var(--text-primary)}.force-mode-warning{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#ef444433,#dc262626);border:2px solid var(--status-nok, #ef4444);border-radius:8px;color:var(--status-nok, #ef4444);font-weight:700;font-size:14px;animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.8}}.warning-icon{font-size:20px}.warning-text{flex:1}.force-mode-control{padding:12px 0;border-bottom:1px solid var(--border-default)}.force-mode-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.force-mode-toggle input[type=checkbox]{width:48px;height:24px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bg-control);border:2px solid var(--border-strong);border-radius:12px;position:relative;transition:all .3s}.force-mode-toggle input[type=checkbox]:checked{background-color:var(--status-nok, #ef4444);border-color:var(--status-nok, #ef4444)}.force-mode-toggle input[type=checkbox]:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:#fff;top:1px;left:1px;transition:transform .3s}.force-mode-toggle input[type=checkbox]:checked:before{transform:translate(24px)}.toggle-label{font-size:14px;font-weight:500;color:var(--text-primary)}.plc-diagnostics-split-view{display:flex;gap:16px;flex:1;min-height:0;overflow:hidden}.plc-panel-left{flex:1;min-width:0;overflow-y:auto}.plc-panel-right{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column}.plc-diagnostics-loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.data-export-settings{display:flex;flex-direction:column;gap:var(--space-xl, 24px);padding:var(--space-lg, 20px);min-height:500px}.data-export-header{display:flex;align-items:flex-start;gap:var(--space-lg, 16px);padding-bottom:var(--space-lg, 16px);border-bottom:var(--border-thin, 1px) solid var(--border-default, #2a2a2a)}.data-export-header svg{flex-shrink:0;color:var(--accent-primary, #0090d4)}.data-export-header-text{flex:1}.data-export-header h3{margin:0;font-size:var(--font-size-xl, 20px);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #ffffff)}.data-export-description{margin:4px 0 0;font-size:var(--font-size-base, 14px);color:var(--text-secondary, #a0a0a0);line-height:var(--line-height-normal, 1.5)}.data-export-content{display:flex;flex-direction:column;gap:var(--space-2xl, 32px)}.data-export-section{display:flex;flex-direction:column;gap:var(--space-lg, 16px)}.section-title{margin:0;font-size:var(--font-size-lg, 16px);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #ffffff);padding-bottom:var(--space-sm, 8px);border-bottom:var(--border-thin, 1px) solid var(--border-default, #2a2a2a)}.filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg, 16px)}.filter-item{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.filter-item.full-width{grid-column:1 / -1}.filter-item label{font-size:var(--font-size-base, 14px);font-weight:var(--font-weight-medium, 500);color:var(--text-primary, #ffffff)}.label-hint{margin-left:4px;font-size:var(--font-size-sm, 12px);font-weight:var(--font-weight-normal, 400);color:var(--text-secondary, #a0a0a0)}.date-input,.text-input{padding:10px 12px;background:var(--bg-input, #1a1a1a);border:var(--border-thin, 1px) solid var(--border-input, #2a2a2a);border-radius:var(--border-radius-sm, 6px);color:var(--text-primary, #ffffff);font-size:var(--font-size-base, 14px);transition:all var(--transition-base, .2s ease)}.date-input:hover,.text-input:hover{border-color:var(--border-strong, #3a3a3a)}.date-input:focus,.text-input:focus{outline:none;border-color:var(--accent-primary, #0090d4);box-shadow:var(--focus-glow, 0 0 0 3px rgba(0, 144, 212, .1))}.text-input::placeholder{color:var(--text-muted, #666666)}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.8);opacity:.7}.date-input:hover::-webkit-calendar-picker-indicator{opacity:1}:root .date-input::-webkit-calendar-picker-indicator,[data-theme=light] .date-input::-webkit-calendar-picker-indicator{filter:invert(.3);opacity:.6}:root .date-input:hover::-webkit-calendar-picker-indicator,[data-theme=light] .date-input:hover::-webkit-calendar-picker-indicator{opacity:.8}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--font-size-base, 14px);color:var(--text-primary, #ffffff)}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary, #0090d4)}.filter-hint{display:flex;align-items:center;gap:6px;margin:4px 0 0 28px;padding:var(--space-sm, 8px) var(--space-md, 12px);background:var(--accent-subtle-bg, rgba(0, 144, 212, .08));border-radius:var(--border-radius-sm, 4px);font-size:var(--font-size-sm, 12px);color:var(--accent-primary, #0090d4);line-height:1.4}.filter-hint svg{flex-shrink:0}.filter-actions{display:flex;justify-content:flex-end;padding-top:var(--space-sm, 8px)}.btn-secondary{padding:var(--space-sm, 8px) var(--space-lg, 16px);background:transparent;border:var(--border-thin, 1px) solid var(--border-default, #2a2a2a);border-radius:var(--border-radius-sm, 6px);color:var(--text-primary, #ffffff);font-size:var(--font-size-base, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-base, .2s ease)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover, #2a2a2a);border-color:var(--border-strong, #3a3a3a)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-export-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:var(--accent-primary, #0090d4);border:none;border-radius:var(--border-radius-md, 8px);color:var(--text-on-accent, #ffffff);font-size:15px;font-weight:var(--font-weight-semibold, 600);cursor:pointer;transition:all var(--transition-base, .2s ease)}.btn-export-primary:hover:not(:disabled){background:var(--accent-hover, #007bb3);transform:translateY(-1px);box-shadow:var(--accent-shadow, 0 4px 12px rgba(0, 144, 212, .3))}.btn-export-primary:active:not(:disabled){transform:translateY(0)}.btn-export-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-export-primary svg{flex-shrink:0}.export-actions{display:flex;flex-direction:column;gap:var(--space-md, 12px)}.export-status{padding:var(--space-md, 12px) var(--space-lg, 16px);border-radius:var(--border-radius-sm, 6px);font-size:var(--font-size-base, 14px);line-height:var(--line-height-normal, 1.5);animation:slideIn var(--transition-smooth, .3s ease)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-success{background:var(--status-ok-bg, rgba(76, 175, 80, .15));border:var(--border-thin, 1px) solid var(--status-ok-border, rgba(76, 175, 80, .3));color:var(--status-ok, #4caf50)}.status-error{background:var(--status-nok-bg, rgba(244, 67, 54, .15));border:var(--border-thin, 1px) solid var(--status-nok-border, rgba(244, 67, 54, .3));color:var(--status-nok, #f44336)}.info-box{padding:var(--space-lg, 16px);background:var(--bg-elevated, #1a1a1a);border:var(--border-thin, 1px) solid var(--border-default, #2a2a2a);border-radius:var(--border-radius-md, 8px);margin-top:var(--space-sm, 8px)}.info-box h5{margin:0 0 var(--space-md, 12px);font-size:var(--font-size-base, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #ffffff)}.info-box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.info-box li{font-size:13px;color:var(--text-secondary, #a0a0a0);line-height:1.6;padding-left:var(--space-lg, 16px);position:relative}.info-box li:before{content:"•";position:absolute;left:4px;color:var(--accent-primary, #0090d4)}.info-box strong{color:var(--text-primary, #ffffff);font-weight:var(--font-weight-semibold, 600)}.format-radio-group{display:flex;gap:var(--space-xl, 24px)}.format-radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--font-size-base, 14px);color:var(--text-primary, #ffffff)}.format-radio-input{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary, #0090d4)}.format-radio-input:disabled{cursor:not-allowed;opacity:.5}@media (max-width: 768px){.filter-grid{grid-template-columns:1fr}.filter-item.full-width{grid-column:1}}.tenant-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.tenant-status-success{background-color:#22c55e26;color:var(--color-success, #22c55e)}.tenant-status-failed{background-color:#ef444426;color:var(--color-error, #ef4444)}.tenant-status-never{background-color:#9ca3af26;color:var(--text-secondary, #9ca3af)}.tenant-fetch-error{margin:8px 0;padding:8px 12px;border-radius:8px;background-color:#ef44441a;color:var(--color-error, #ef4444);font-size:13px;word-break:break-word}.redis-payload-panel{margin-top:8px;border-radius:8px;border:1px solid var(--border-default);background:var(--bg-elevated);overflow:hidden}.redis-payload-section{padding:10px 14px}.redis-payload-section+.redis-payload-section{border-top:1px solid var(--border-default)}.redis-payload-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #9ca3af);margin-bottom:6px}.redis-payload-pre{margin:0;font-size:12px;font-family:monospace;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.select-control{height:36px;min-width:180px;padding:0 8px;border-radius:6px;border:1px solid var(--border-default);background:var(--bg-input, var(--bg-elevated));color:var(--text-primary);font-size:14px;cursor:pointer}.select-control:disabled{opacity:.5;cursor:not-allowed}.select-control option:disabled{color:var(--text-secondary, #9ca3af);font-style:italic}.tenant-section-disabled{opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none}.tenant-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.tenant-modal{background:var(--bg-elevated, #1e1e2e);border:1px solid var(--border-default);border-radius:12px;width:400px;max-width:90vw;box-shadow:0 8px 32px #0000004d}.tenant-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default)}.tenant-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.tenant-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.tenant-modal-close:hover{color:var(--text-primary);background:#ffffff0f}.tenant-modal-body{padding:20px}.tenant-modal-field{margin-bottom:16px}.tenant-modal-field:last-child{margin-bottom:0}.tenant-modal-field label{display:block;margin-bottom:6px;font-size:13px}.tenant-modal-field .select-control{width:100%}.tenant-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-default)}.tenant-modal-confirm{background:var(--status-ok-bg)!important;border-color:var(--status-ok-border)!important;color:var(--status-ok)!important}.tenant-modal-confirm:hover:not(:disabled){background:var(--status-ok)!important;color:var(--text-on-accent)!important}.tenant-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.labels-readonly-hint{font-weight:400;font-size:10px;text-transform:none;letter-spacing:normal;opacity:.7}.editable-labels{display:flex;flex-direction:column;gap:6px}.editable-label-row{display:flex;align-items:center;gap:6px}.editable-label-input{height:30px;font-size:12px;font-family:monospace}.editable-label-input:first-child{width:60px;flex-shrink:0}.editable-label-name{flex:1;min-width:0}.editable-label-arrow{font-size:12px;color:var(--text-secondary, #9ca3af);flex-shrink:0}.editable-label-remove{background:none;border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;flex-shrink:0}.editable-label-remove:hover{color:var(--color-error, #ef4444);background:#ef44441a}.editable-labels-actions{display:flex;gap:8px;margin-top:4px}.editable-label-id{min-width:30px;font-family:monospace;color:var(--text-secondary, #9ca3af)}.editable-label-name-text{flex:1;min-width:0}.editable-label-visibility{background:none;border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;padding:2px 4px;border-radius:4px;display:flex;align-items:center;flex-shrink:0}.editable-label-visibility:hover{color:var(--color-primary, #3b82f6);background:#3b82f61a}.defect-class-groups-settings{display:grid;gap:16px}.dcg-toolbar,.dcg-group-head,.dcg-actions{display:flex;align-items:center;gap:12px}.dcg-toolbar{justify-content:space-between;align-items:flex-start}.dcg-toolbar h3{margin:0 0 6px}.dcg-toolbar p,.dcg-group-head p{margin:0;color:#7a7f87}.dcg-toolbar code{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:8px;background:#ffffff0f;font-size:12px}.dcg-actions{flex-wrap:wrap;justify-content:flex-end}.dcg-button,.dcg-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid #2a2f37;border-radius:8px;background:#14171c;color:#f3f3f0;cursor:pointer}.dcg-button--primary{border-color:#38bdf8;background:#0f172a;color:#f8fafc;box-shadow:inset 0 0 0 1px #38bdf847}.dcg-groups{display:grid;gap:14px}.dcg-group-card{padding:16px;border:1px solid #2a2f37;border-radius:12px;background:#14171c}.dcg-group-card--synthetic{background:#64748b14}.dcg-group-head input[type=text],.dcg-group-head input:not([type]){flex:1}.dcg-group-head input[type=color]{width:42px;height:38px;padding:0;border:0;background:transparent}.dcg-group-head input[type=text]{min-height:38px;padding:0 12px;border:1px solid #2a2f37;border-radius:8px;background:#0f1216;color:#f3f3f0}.dcg-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:14px}.dcg-class-option{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid #2a2f37;border-radius:8px;background:#0f1216;color:#f3f3f0}.dcg-class-option.selected{border-color:#0090d4;background:#0090d41f}.dcg-class-option.muted{opacity:.55}.dcg-class-option--readonly{justify-content:center}.dcg-empty{padding:16px;border:1px dashed #2a2f37;border-radius:10px;color:#7a7f87}.dcg-swatch{width:20px;height:20px;border-radius:999px}.component-type-settings{display:grid;gap:16px}.cts-toolbar,.cts-actions,.cts-field-row{display:flex;align-items:center;gap:12px}.cts-toolbar{justify-content:space-between;align-items:flex-start}.cts-toolbar h3{margin:0 0 6px}.cts-toolbar p{margin:0;color:#7a7f87;max-width:52ch}.cts-actions{flex-wrap:wrap;justify-content:flex-end}.cts-button,.cts-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid #2a2f37;border-radius:8px;background:#14171c;color:#f3f3f0;cursor:pointer}.cts-button:disabled,.cts-icon-button:disabled{opacity:.45;cursor:not-allowed}.cts-button--primary{border-color:#38bdf8;background:#0f172a;color:#f8fafc;box-shadow:inset 0 0 0 1px #38bdf847}.cts-icon-button{min-width:38px;padding:0}.cts-fields{display:grid;gap:10px}.cts-field-row{padding:12px;border:1px solid #2a2f37;border-radius:12px;background:#14171c}.cts-field-row input[type=text],.cts-field-row>input:not([type=radio]){flex:1;min-width:0;min-height:38px;padding:0 12px;border:1px solid #2a2f37;border-radius:8px;background:#0f1115;color:#f3f3f0}.cts-default{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#a8adb6;font-size:13px}.cts-empty{padding:20px;border:1px dashed #2a2f37;border-radius:12px;color:#7a7f87}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg-overlay);display:flex;justify-content:center;align-items:center;z-index:1000}.settings-modal{width:1400px;max-width:95vw;height:900px;max-height:90vh;background-color:var(--bg-surface);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:fadeIn .3s ease-out;position:relative;overflow:hidden;color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.close-button{position:absolute;top:20px;right:20px;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2}.close-button:hover{background-color:var(--bg-control);color:var(--text-primary);transform:rotate(90deg)}.settings-content{display:flex;height:100%;overflow:hidden}.settings-menu{width:360px;height:100%;background-color:var(--bg-elevated);border-right:1px solid var(--border-default);padding:24px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.settings-menu h2{font-size:32px;margin-bottom:32px;color:var(--text-primary);font-weight:500}.menu-items{display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;min-height:0}.menu-item{display:flex;align-items:center;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s;position:relative;background-color:transparent;border:1px solid transparent}.menu-item:hover{background-color:var(--bg-hover)}.menu-item.active{background:var(--accent-subtle-bg);color:var(--accent-primary)}.menu-item-icon{margin-right:16px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:32px;height:32px;box-shadow:none}.active .menu-item-icon{color:var(--accent-primary)}.menu-item-text{flex:1}.menu-item-title{display:block;font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:4px;transition:color .2s}.menu-item.active .menu-item-title{color:var(--accent-primary)}.menu-item-description{display:block;font-size:14px;color:var(--text-secondary);line-height:1.4}.settings-detail{flex:1;padding:24px 32px;overflow-y:auto;background:var(--bg-surface)}.settings-detail h2{font-size:28px;margin-bottom:32px;color:var(--text-primary);font-weight:500}.settings-sections{display:flex;flex-direction:column;gap:48px}.setting-section{background:var(--bg-elevated);padding:24px;border-radius:16px;box-shadow:none;border:1px solid var(--border-default);position:relative;transition:all .3s ease}.setting-section h3{font-size:20px;color:var(--text-primary);margin-bottom:24px;font-weight:500;position:relative;display:inline-block}.setting-section h3:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:3px;background-color:var(--accent-primary);border-radius:2px}.setting-item{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:16px;border-radius:12px;margin-bottom:12px;transition:background-color .2s;position:relative;overflow:hidden}.setting-item:hover{background-color:var(--bg-control)}.setting-item-text{flex:1}.setting-item-title{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.setting-item-description{display:block;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.setting-item-control{flex-shrink:0;min-width:120px}.setting-control{min-width:80px;display:flex;justify-content:flex-end;align-items:center}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-control);border:1px solid var(--border-strong);transition:.4s;border-radius:34px}.switch .slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:3px;background-color:var(--text-secondary);transition:.3s;border-radius:50%;box-shadow:none}.switch input:checked+.slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}.switch input:checked+.slider:before{transform:translate(22px);background-color:var(--text-on-accent);box-shadow:none}.slider-container{display:flex;align-items:center;gap:16px;width:200px}.range-slider{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;height:4px;border-radius:2px;background:var(--bg-control);outline:none}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-primary);cursor:pointer;transition:all .2s}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider-value{min-width:40px;text-align:right;font-weight:500;color:var(--text-primary)}.select-control{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--bg-control);border:1px solid var(--border-strong);border-radius:8px;padding:8px 32px 8px 12px;font-size:14px;color:var(--text-primary)!important;cursor:pointer;transition:all .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' 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 8px center;background-size:16px}.select-control option{background:var(--bg-control);color:var(--text-primary)}.select-control:hover{border-color:var(--accent-primary)}.select-control:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.number-input-container{display:flex;align-items:center;gap:8px}.number-input{width:120px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;color:var(--text-primary);background:var(--bg-control);transition:all .2s;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.number-input,.number-input::placeholder{color:var(--text-primary)!important}.number-input::-webkit-outer-spin-button,.number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input:hover:not(:disabled){border-color:var(--accent-primary)}.number-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.disabled{opacity:.5;cursor:not-allowed}.disabled input,.disabled select,.disabled .slider{cursor:not-allowed!important}.switch.disabled{opacity:.5}.switch.disabled input:checked+.slider{background-color:var(--border-strong)}.number-input:disabled,.select-control:disabled{background-color:var(--bg-surface);border-color:var(--border-default);color:var(--text-secondary)}.setting-item.disabled{opacity:.5}.tesla-toggle{width:100%;margin:1rem 0;padding:.5rem}.tesla-toggle.disabled{opacity:.5;pointer-events:none}.tesla-toggle-options{position:relative;display:flex;background:var(--bg-control);border-radius:12px;padding:.5rem;gap:.5rem}.tesla-option{position:relative;z-index:1;flex:1;padding:1rem;border:none;background:none;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem}.tesla-option.active{color:var(--text-primary)}.tesla-option svg{width:20px;height:20px;transition:all .3s ease}.tesla-selector{position:absolute;top:.5rem;left:.5rem;height:calc(100% - 1rem);width:calc(50% - .75rem);background:var(--bg-elevated);border-radius:8px;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:0;box-shadow:0 2px 8px #0003}.tesla-option[data-value=manual].active~.tesla-selector{transform:translate(calc(100% + .5rem))}.tesla-option:hover:not(.active){color:var(--text-primary)}.settings-mode-notice{min-height:48px;margin-bottom:1rem}.mode-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;animation:slideDown .3s ease-out}.mode-notice.preset-active{background:var(--accent-subtle-bg);color:var(--accent-primary);border:1px solid var(--accent-primary)}.mode-notice svg{flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.setting-section.preset-disabled{position:relative;opacity:.4;filter:grayscale(.8);transform:scale(.99);pointer-events:none}.setting-section.preset-disabled:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#14141499;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:16px;z-index:2}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:24px}.preset-lock{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-control);border-radius:50%;color:var(--text-secondary)}.setting-section.preset-disabled .setting-item{transform:scale(.99);transition:transform .3s ease}.setting-items{display:flex;flex-direction:column;gap:1.5rem}.crop-settings{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--bg-elevated);border-radius:12px;border:1px solid var(--border-default)}.crop-controls{display:flex;flex-direction:column;gap:12px}.crop-input-group{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--bg-control);border-radius:8px}.crop-input-row{display:flex;gap:16px}.crop-input-row label{flex:1;display:flex;flex-direction:column;gap:4px}.crop-input-row label span{font-size:12px;color:var(--text-secondary);font-weight:500}.crop-input-row .number-input{width:100%;padding:8px;border:1px solid var(--border-strong);border-radius:6px;font-size:14px;color:var(--text-primary);background:var(--bg-elevated);transition:all .2s}.crop-input-row .number-input:hover:not(:disabled){border-color:var(--accent-primary)}.crop-input-row .number-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.crop-preview-grid{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.1) 1px,transparent 1px);background-size:25% 25%}.crop-box-handle{position:absolute;width:8px;height:8px;background:var(--bg-elevated);border:2px solid var(--accent-primary);border-radius:50%}.crop-box-handle.top-left{top:-4px;left:-4px;cursor:nw-resize}.crop-box-handle.top-right{top:-4px;right:-4px;cursor:ne-resize}.crop-box-handle.bottom-left{bottom:-4px;left:-4px;cursor:sw-resize}.crop-box-handle.bottom-right{bottom:-4px;right:-4px;cursor:se-resize}.crop-settings:hover .crop-preview-grid{opacity:1}.crop-settings.disabled{opacity:.5;pointer-events:none}.crop-settings.disabled .crop-box{cursor:not-allowed}.settings-modal-content{width:1440px;max-width:96vw;max-height:96vh}.settings-actions{display:flex;justify-content:flex-end;margin-bottom:20px;padding:0 20px}.settings-actions button{background-color:var(--accent-primary);color:var(--text-on-accent);transition:background-color .3s}.settings-actions button:hover{background-color:var(--accent-hover)}.settings-production-insights-panel{padding:8px 0}.settings-production-insights-description{margin:0 0 16px;font-size:14px;color:var(--text-secondary);line-height:1.5}.settings-open-insights-btn{padding:10px 20px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease}.settings-open-insights-btn:hover{background:var(--accent-hover)}.logout-button{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:16px;background-color:transparent;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease;width:100%;flex-shrink:0}.logout-button:hover{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.settings-service-contract{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin-top:auto;border-radius:8px;font-size:13px;font-weight:500;flex-shrink:0}.settings-service-contract.gold{background:linear-gradient(135deg,var(--gold-gradient-start),var(--gold-gradient-end));color:#fff}.settings-service-contract.gold .contract-value{font-weight:700;color:#fff}.settings-service-contract.expired{background:var(--status-nok-bg);color:var(--status-nok);border:1px solid var(--status-nok-border)}.settings-service-contract .contract-label{opacity:.9}.theme-toggle-section{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-top:8px;border-top:1px solid var(--border-default);flex-shrink:0}.theme-toggle-label{font-size:14px;color:var(--text-secondary);font-weight:500}.theme-toggle-button{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-control);border:1px solid var(--border-default);border-radius:var(--border-radius-md);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .2s}.theme-toggle-button:hover{border-color:var(--accent-primary);background:var(--bg-hover)}@media (max-width: 1200px){.settings-modal{width:95vw;height:90vh}.settings-menu{width:280px;padding:16px}.settings-menu h2{font-size:24px;margin-bottom:20px}.settings-detail{padding:16px 24px}.settings-detail h2{font-size:22px;margin-bottom:20px}}@media (max-width: 900px){.settings-modal{width:98vw;height:95vh;border-radius:12px}.settings-menu{width:220px;padding:12px}.settings-menu h2{font-size:20px;margin-bottom:16px}.menu-item{padding:6px 12px}.menu-item-icon{margin-right:10px;width:28px;height:28px}.menu-item-title{font-size:14px}.settings-detail{padding:12px 16px}.settings-detail h2{font-size:18px;margin-bottom:16px}.setting-section{padding:16px}.setting-section h3{font-size:16px}.setting-item{flex-direction:column;gap:12px;align-items:flex-start}.setting-item-control,.slider-container{width:100%}}@media (max-width: 600px){.settings-content{flex-direction:column}.settings-menu{width:100%;height:auto;max-height:40vh;border-right:none;border-bottom:1px solid var(--border-default)}.menu-items{flex-direction:row;flex-wrap:wrap;gap:8px}.menu-item{flex:1 1 calc(50% - 8px);min-width:120px;border-radius:8px}.menu-item-text{display:none}.menu-item-icon{margin-right:0}.settings-detail{flex:1;overflow-y:auto}.logout-button{margin-top:8px}}.storage-banner{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;background-color:#dc2626;color:#fff;font-size:13px;font-weight:500;box-sizing:border-box;z-index:1000}.storage-banner-icon{flex-shrink:0}.storage-banner-message{flex:1}.storage-banner-dismiss{flex-shrink:0;background:none;border:none;color:#fff;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;opacity:.8;border-radius:2px}.storage-banner-dismiss:hover{opacity:1;background-color:#ffffff26}.otk-home{--otk-shell-width: min(1600px, calc(100% - 48px) );--otk-main-columns: minmax(0, 1fr) 360px;--otk-idle-columns: 640px minmax(0, 1fr);--otk-meta-columns: 240px minmax(0, 1fr) auto;--otk-meta-grid-columns: repeat(3, minmax(0, 1fr));--otk-live-height: calc(100dvh - 288px) ;--otk-live-max-height: 820px;min-height:100dvh;box-sizing:border-box;padding:max(16px,env(safe-area-inset-top)) 0 max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at top left,rgba(0,144,212,.14),transparent 30%),radial-gradient(circle at top right,rgba(245,255,0,.08),transparent 28%),linear-gradient(180deg,#07080a,#0b0f14 45%,#07080a);color:#f3f3f0}.otk-topbar,.otk-coil-meta,.otk-live-panel,.otk-side-card,.otk-idle-card,.otk-idle-sessions,.otk-modal,.otk-coil-shell{border:1px solid #1d2127;background:#0d0f12eb;box-shadow:0 20px 50px #00000059}.otk-topbar,.otk-coil-meta,.otk-main,.otk-idle{width:var(--otk-shell-width);margin:0 auto}.otk-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-radius:10px 10px 0 0}.otk-eyebrow{margin:0 0 6px;color:#7e8188;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.otk-topbar h1,.otk-panel-header h2,.otk-panel-header h3,.otk-modal h2,.otk-idle-card h2{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.02em}.otk-topbar__actions,.otk-topbar__status,.otk-panel-header,.otk-panel-header__actions,.otk-coil-head,.otk-coil-side-head,.otk-modal-header,.otk-modal-header__meta,.otk-modal-sidebar__top,.otk-defect-nav,.otk-session-card__top,.otk-live-metadata,.otk-topbar__brand{display:flex;align-items:center}.otk-topbar__actions{gap:10px}.otk-topbar__status{gap:10px;padding:10px 14px;border-radius:4px;border:1px solid #2a2f37;background:#14171c;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.otk-status-dot{position:relative;display:inline-flex;width:10px;height:10px}.otk-status-dot__solid,.otk-status-dot__pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px}.otk-status-dot__pulse{animation:otk-pulse 1.4s infinite;opacity:.5}.otk-primary-button,.otk-secondary-button,.otk-icon-button,.otk-live-button,.otk-mode-pill,.otk-choice-button,.otk-thumbnail-card,.otk-modal-defect-card,.otk-session-card,.otk-defect-log__item,.otk-coil-cell{border:0;font:inherit}.otk-primary-button,.otk-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:4px;font-size:14px;font-weight:600;transition:background .15s ease,border-color .15s ease,transform .15s ease;cursor:pointer}.otk-primary-button{background:#f5ff00;color:#003058}.otk-primary-button--success{background:#17b26a;color:#fff}.otk-primary-button--wide{width:100%;min-height:56px}.otk-secondary-button{border:1px solid #2a2f37;background:#14171c;color:#f3f3f0}.otk-secondary-button--danger{border-color:#ef4444;color:#ef4444}.otk-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:4px;border:1px solid #2a2f37;background:#14171c;color:#f3f3f0;cursor:pointer}.otk-primary-button:hover,.otk-secondary-button:hover,.otk-icon-button:hover,.otk-live-button:hover,.otk-choice-button:hover,.otk-thumbnail-card:hover,.otk-modal-defect-card:hover,.otk-session-card:hover,.otk-defect-log__item:hover{transform:translateY(-1px)}.otk-primary-button:disabled,.otk-secondary-button:disabled,.otk-icon-button:disabled,.otk-choice-button:disabled,.otk-thumbnail-card:disabled,.otk-modal-defect-card:disabled,.otk-session-card:disabled,.otk-defect-log__item:disabled{opacity:.45;cursor:default;transform:none}.otk-coil-meta{display:grid;grid-template-columns:var(--otk-meta-columns);gap:18px;padding:18px 22px 20px;border-top:0;border-radius:0 0 10px 10px}.otk-coil-meta__lead,.otk-coil-meta__grid,.otk-coil-meta__stats,.otk-idle-form,.otk-form-grid,.otk-form-list,.otk-stat-grid,.otk-class-list,.otk-session-list,.otk-defect-log,.otk-modal-defect-list,.otk-thumbnail-row{display:grid}.otk-coil-meta__lead{gap:10px}.otk-coil-meta__lead label,.otk-coil-meta__grid label,.otk-idle-form label,.otk-form-block{display:flex;flex-direction:column;gap:6px}.otk-coil-meta label span,.otk-idle-form label span,.otk-form-block>span{color:#7e8188;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.otk-coil-meta input,.otk-coil-meta select,.otk-idle-form input,.otk-idle-form select,.otk-search-input input,.otk-form-block textarea{min-height:40px;padding:0 12px;border:1px solid #2a2f37;background:#14171c;color:#f3f3f0;border-radius:4px}.otk-component-type-field{grid-column:span 2;min-width:0}.otk-component-type-field__controls{display:flex;gap:8px;min-width:0}.otk-component-type-field__controls select{flex:1 1 45%;min-width:0}.otk-component-type-field__controls select.otk-component-type-field__select--single{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none;padding-right:12px;cursor:default;opacity:1;color:#f3f3f0}.otk-component-type-field__controls select.otk-component-type-field__select--single:disabled{opacity:1;color:#f3f3f0}.otk-component-type-field__controls input{flex:1 1 55%;min-width:0}.otk-form-block textarea{min-height:88px;resize:vertical;padding:12px}.otk-mode-pill{min-height:32px;padding:0 12px;border-radius:999px;border:1px solid #0090d4;background:#0090d41f;color:#0090d4;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.otk-mode-pill.locked{opacity:.6}.otk-coil-meta__grid{grid-template-columns:var(--otk-meta-grid-columns);gap:12px}.otk-coil-meta__stats{grid-template-columns:repeat(4,minmax(0,auto));gap:18px;align-content:start}.otk-coil-meta__stats div{display:grid;gap:4px}.otk-coil-meta__stats span{color:#7e8188;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.otk-coil-meta__stats strong{font-size:18px}.otk-coil-meta__stats .recording{grid-template-columns:auto 1fr;gap:8px;align-items:center}.otk-main{display:grid;grid-template-columns:var(--otk-main-columns);gap:16px;padding:16px 0 0}.otk-live-panel,.otk-side-card{border-radius:10px}.otk-live-panel{display:flex;flex-direction:column;min-height:0;height:var(--otk-live-height);max-height:var(--otk-live-max-height);padding:16px}.otk-panel-header{justify-content:space-between;gap:16px;margin-bottom:16px}.otk-panel-header__actions{gap:12px}.otk-help-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #2a2f37;border-radius:999px;color:#9aa3b2;background:#14171c;cursor:help}.otk-live-metadata{gap:10px;color:#bdbfc2;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px}.otk-sidebar{display:grid;gap:16px;align-content:start}.otk-side-card{padding:16px}.otk-side-card--stretch{min-height:0;height:100%}.otk-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.otk-stat-grid div{display:grid;gap:6px;padding:12px;border-radius:4px;border:1px solid #2a2f37;background:#14171c}.otk-stat-grid span,.otk-class-row span,.otk-session-card small,.otk-defect-log__item span,.otk-modal-stage-meta,.otk-session-status{color:#7e8188}.otk-class-list,.otk-session-list,.otk-defect-log,.otk-modal-defect-list,.otk-form-list,.otk-thumbnail-row{gap:8px}.otk-class-row,.otk-session-card,.otk-defect-log__item,.otk-thumbnail-card,.otk-modal-defect-card{border:1px solid #2a2f37;background:#14171c;border-radius:4px}.otk-class-row{display:flex;justify-content:space-between;padding:10px 12px}.otk-loading-state{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px dashed #2a2f37;border-radius:4px;background:#14171c}.otk-search-input{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:0 12px;border:1px solid #2a2f37;background:#14171c;border-radius:4px}.otk-search-input input{width:100%;border:0;background:transparent}.otk-filter-bar{position:relative;margin-bottom:12px}.otk-filter-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.otk-filter-summary__chip{display:inline-flex;align-items:center;max-width:100%;padding:6px 10px;border:1px solid #2a2f37;border-radius:999px;background:#171b21;color:#cfd3db;font-size:12px;line-height:1.2}.otk-filter-trigger.active{border-color:#0090d4;background:#0090d41f}.otk-filter-popup{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:grid;gap:10px;padding:12px;border:1px solid #2a2f37;border-radius:6px;background:#111419;box-shadow:0 14px 32px #00000059}.otk-filter-popup__field{display:grid;gap:8px}.otk-filter-popup__field-head{display:inline-flex;align-items:center;gap:8px;color:#d5d7dd}.otk-filter-popup__field input[type=text],.otk-filter-popup__field input:not([type]){width:100%}.otk-filter-popup__field input{border:1px solid #2a2f37;border-radius:4px;background:#171b21;color:#f3f3f0;padding:10px 12px}.otk-filter-popup__field input:disabled{opacity:.45}.otk-filter-popup__actions{display:flex;justify-content:flex-end;gap:8px}.otk-session-card,.otk-defect-log__item,.otk-thumbnail-card,.otk-modal-defect-card{text-align:left;padding:12px;cursor:pointer}.otk-session-card.selected,.otk-thumbnail-card.selected,.otk-modal-defect-card.selected{border-color:#0090d4;background:#0090d41f}.otk-session-card__top{justify-content:space-between;gap:8px;margin-bottom:6px}.otk-session-status{padding:4px 8px;border-radius:999px;background:#ffffff0a;font-size:11px;text-transform:uppercase}.otk-session-status.active{background:#17b26a24;color:#17b26a}.otk-defect-log{overflow:auto;max-height:420px;scrollbar-width:thin;scrollbar-color:#4b5563 #14171c}.otk-defect-log::-webkit-scrollbar{width:10px}.otk-defect-log::-webkit-scrollbar-track{background:#14171c;border-radius:999px}.otk-defect-log::-webkit-scrollbar-thumb{background:#4b5563;border-radius:999px;border:2px solid #14171c}.otk-defect-log::-webkit-scrollbar-thumb:hover{background:#6b7280}.otk-defect-log__group{border:1px solid #2a2f37;border-radius:4px;background:#111419}.otk-defect-log__group-header{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;border-bottom:1px solid #252a31;background:#171b21;cursor:pointer;text-align:left}.otk-defect-log__group-header.expanded{border-bottom-color:#2f3640}.otk-defect-log__group-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.otk-defect-log__chevron{color:#7e8188;flex:0 0 auto;transition:transform .12s ease}.otk-defect-log__group-header.expanded .otk-defect-log__chevron{transform:rotate(90deg)}.otk-defect-log__group-header strong{color:#f3f3f0}.otk-defect-log__group-header span{color:#7e8188;font-size:12px}.otk-defect-log__group-items{display:grid;gap:8px;padding:8px}.otk-defect-log__item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px}.otk-defect-log__content{display:grid;gap:6px}.otk-defect-log__meta{display:flex;flex-wrap:wrap;gap:6px 8px}.otk-defect-log__meta span{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid #2a2f37;border-radius:999px;background:#171b21;color:#a8afbb;font-size:12px;line-height:1.2}.otk-defect-log__item strong,.otk-session-card strong,.otk-modal-defect-card strong{display:block;margin-bottom:4px;color:#f3f3f0}.otk-defect-log__dot{width:10px;height:10px;border-radius:999px;margin-top:4px}.otk-coil-shell{position:relative;display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding:12px;border-radius:10px}.otk-coil-head{gap:8px;padding:0 4px 10px}.otk-coil-ruler-spacer{width:48px;flex-shrink:0}.otk-coil-side-head{flex:1;justify-content:space-between;color:#7e8188;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.otk-coil-side-head strong{color:#f3f3f0;font-size:14px;letter-spacing:.08em}.otk-coil-divider{width:8px;flex-shrink:0}.otk-coil-divider:before{content:"";display:block;width:1px;height:100%;margin:0 auto;background:#1d2127}.otk-coil-scroll{position:relative;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;height:100%;border-radius:6px;border:1px solid #2a2f37;background:#0d0f12;scrollbar-color:#3b4652 #12161b;scrollbar-width:thin}.otk-coil-scroll::-webkit-scrollbar{width:10px}.otk-coil-scroll::-webkit-scrollbar-track{background:linear-gradient(180deg,#101318,#161a20),#12161b;border-left:1px solid rgba(255,255,255,.04)}.otk-coil-scroll::-webkit-scrollbar-thumb{border:2px solid #12161b;border-radius:999px;background:linear-gradient(180deg,#4b5663,#2f3843),#3b4652}.otk-coil-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5c6977,#3b4652),#4b5663}.otk-coil-content{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 8px minmax(0,1fr) 48px;gap:0}.otk-coil-lane{position:relative}.otk-coil-lane--strip{overflow:hidden;background:#1a1d23;box-shadow:inset 0 0 0 1px #ffffff08}.otk-coil-scanned-surface{position:absolute;inset:0 auto auto 0;width:100%;background:repeating-linear-gradient(180deg,#2a2e35 0,#2a2e35 1px,#3a3e46 1px,#3a3e46 3px),linear-gradient(90deg,rgba(0,0,0,.18) 0%,transparent 6%,transparent 94%,rgba(0,0,0,.18) 100%)}.otk-coil-unscanned{position:absolute;left:0;right:0;background:#0000008c}.otk-coil-row{position:absolute;inset-inline:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr))}.otk-coil-row:nth-child(5n){box-shadow:inset 0 1px #ffffff0d}.otk-coil-cell{position:relative;min-width:0;border-right:1px solid rgba(255,255,255,.035);background:transparent;color:#fff;overflow:hidden}.otk-coil-cell.has-images,.otk-coil-cell.has-defects{cursor:pointer}.otk-coil-cell.has-images:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;transform-origin:left center;transform:scaleX(var(--bucket-fill, 1));border-radius:2px;background:linear-gradient(90deg,#0090d46b,#1abc9c4d),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,transparent 1px,transparent 5px)}.otk-coil-cell.has-defects:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:2px;box-shadow:inset 0 0 0 1px #ef4444eb,0 0 10px #ef444447}.otk-coil-cell.active{outline:2px solid #0090d4;outline-offset:-2px}.otk-coil-cell span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:9px}.otk-ruler{position:relative;height:100%}.otk-ruler-mark{position:absolute;left:0;width:100%;padding-top:2px;color:#7e8188;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-align:center}.otk-ruler-mark.major span{color:#bdbfc2}.otk-scan-line{position:absolute;left:52px;right:52px;height:3px;background:linear-gradient(90deg,transparent,#ef4444 10%,#ef4444 90%,transparent);box-shadow:0 0 12px #ef4444bf;pointer-events:none;z-index:4}.otk-live-button{position:absolute;right:28px;bottom:28px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#ef4444;color:#fff;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.otk-live-button__dot{width:8px;height:8px;border-radius:999px;background:#fff;animation:otk-pulse 1.4s infinite}.otk-follow-paused{position:absolute;top:60px;left:50%;transform:translate(-50%);padding:8px 12px;border:1px solid #2a2f37;border-radius:999px;background:#14171c;color:#bdbfc2;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.otk-idle{display:grid;grid-template-columns:var(--otk-idle-columns);gap:16px;padding:24px 0}.otk-idle-card,.otk-idle-sessions{padding:24px;border-radius:10px}.otk-idle-card p{margin:0 0 18px;color:#bdbfc2}.otk-idle-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.otk-empty-state{display:flex;align-items:center;justify-content:center;min-height:120px;color:#7e8188;text-align:center}.otk-empty-state--compact{min-height:72px;border:1px dashed #2a2f37;border-radius:4px;background:#14171c}.otk-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow-y:auto;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.otk-modal{width:min(1400px,100%);max-height:calc(100vh - 48px);border-radius:10px;margin:auto 0;overflow-y:auto;overflow-x:hidden}.otk-modal-header{justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #1d2127}.otk-modal-header__copy{display:grid;gap:8px}.otk-modal-body{display:grid;grid-template-columns:minmax(0,1.35fr) 420px;min-height:0}.otk-modal-stage-panel,.otk-modal-sidebar{min-height:0;padding:20px 24px}.otk-modal-stage-panel{border-right:1px solid #1d2127}.otk-modal-stage{position:relative;min-height:480px;border:1px solid #2a2f37;border-radius:6px;overflow:hidden;background:#050608}.otk-modal-stage.annotating{cursor:crosshair}.otk-modal-stage img{width:100%;height:100%;object-fit:contain;display:block}.otk-modal-stage__defects{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.otk-modal-stage__shape{fill:var(--defect-color, #ef4444);stroke:var(--defect-color, #ef4444);vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:opacity .14s ease,fill-opacity .14s ease,stroke-width .14s ease,filter .14s ease}.otk-modal-stage__polygon,.otk-modal-stage__rect{shape-rendering:geometricPrecision}.otk-modal-stage__shape.selected{opacity:1;fill-opacity:.18;stroke-width:4px;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--defect-color, #ef4444) 80%,white))}.otk-modal-stage__shape.dimmed{opacity:.3;fill-opacity:.06;stroke-width:2px}.otk-modal-stage__draft circle:first-child{fill:#ef444433;stroke:#f8fafc;stroke-width:2px}.otk-modal-stage__draft circle:last-child{fill:#ef4444;stroke:#f8fafc;stroke-width:2px}.otk-image-placeholder{display:flex;align-items:center;justify-content:center;min-height:280px;height:100%}.otk-spinner{width:36px;height:36px;border-radius:999px;border:3px solid rgba(126,129,136,.22);border-top-color:#f5ff00;animation:otk-spin .9s linear infinite}.otk-inline-spinner{display:inline-block;width:18px;height:18px;border-radius:999px;border:2px solid rgba(126,129,136,.22);border-top-color:#f5ff00;animation:otk-spin .9s linear infinite;vertical-align:middle}.otk-modal-stage__overlay{position:absolute;left:16px;top:16px;display:flex;gap:10px;padding:8px 12px;border-radius:999px;background:#ef4444e6;color:#fff;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px}.otk-modal-stage-meta{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px}.otk-thumbnail-row{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));padding-top:12px}.otk-thumbnail-row,.otk-modal-defect-list{display:grid}.otk-thumbnail-card span,.otk-thumbnail-card strong,.otk-modal-defect-card span,.otk-modal-defect-card strong{display:block}.otk-thumbnail-card,.otk-modal-defect-card,.otk-thumbnail-card span,.otk-modal-defect-card span{color:#f3f3f0}.otk-thumbnail-card{position:relative}.otk-thumbnail-card.has-defect{border-color:color-mix(in srgb,var(--thumb-defect-color, #ef4444) 70%,#2a2f37);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--thumb-defect-color, #ef4444) 42%,transparent)}.otk-thumbnail-card.has-defect:after{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:4px 0 0 4px;background:var(--thumb-defect-color, #ef4444)}.otk-thumbnail-card.selected.has-defect{border-color:var(--thumb-defect-color, #ef4444);background:color-mix(in srgb,var(--thumb-defect-color, #ef4444) 16%,#14171c)}.otk-modal-sidebar{overflow:auto;scrollbar-width:thin;scrollbar-color:#39424f #12151a}.otk-modal-sidebar::-webkit-scrollbar,.otk-modal::-webkit-scrollbar,.otk-modal-backdrop::-webkit-scrollbar{width:10px;height:10px}.otk-modal-sidebar::-webkit-scrollbar-track,.otk-modal::-webkit-scrollbar-track,.otk-modal-backdrop::-webkit-scrollbar-track{background:#12151a}.otk-modal-sidebar::-webkit-scrollbar-thumb,.otk-modal::-webkit-scrollbar-thumb,.otk-modal-backdrop::-webkit-scrollbar-thumb{border:2px solid #12151a;border-radius:999px;background:linear-gradient(180deg,#4b5563,#374151)}.otk-modal-sidebar::-webkit-scrollbar-thumb:hover,.otk-modal::-webkit-scrollbar-thumb:hover,.otk-modal-backdrop::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#64748b,#475569)}.otk-modal-sidebar__top{justify-content:space-between;margin-bottom:12px}.otk-manual-annotation-panel{display:grid;gap:10px;padding:12px;border:1px solid #2a2f37;border-radius:4px;background:#14171c}.otk-manual-annotation-hint{margin:0;color:#a8afbb;font-size:12px;line-height:1.4}.otk-manual-annotation-actions{display:flex;justify-content:flex-end;gap:8px}.otk-secondary-button--active{border-color:#0090d4;background:#0090d41f}.otk-modal-group-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:14px}.otk-modal-group-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 12px;border:1px solid #2a2f37;border-radius:999px;background:#14171c;color:#bdbfc2;cursor:pointer}.otk-modal-group-chip.present{border-color:color-mix(in srgb,var(--group-color, #64748b) 45%,#2a2f37);color:#f3f3f0}.otk-modal-group-chip.selected{border-color:var(--group-color, #64748b);background:color-mix(in srgb,var(--group-color, #64748b) 18%,#14171c);color:#fff}.otk-modal-group-chip strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:0 6px;border-radius:999px;background:#ffffff14;font-size:11px}.otk-defect-nav{gap:8px;margin-bottom:16px}.otk-form-grid{gap:8px}.otk-form-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.otk-choice-button{min-height:38px;padding:0 12px;border-radius:4px;border:1px solid #2a2f37;background:#14171c;color:#f3f3f0;text-align:left;cursor:pointer}.otk-choice-button.selected{border-color:#0090d4;background:#0090d41f;color:#0090d4}.otk-modal-actions{display:grid;gap:8px;margin:18px 0;padding-top:16px;border-top:1px solid #1d2127}.otk-modal-defect-list{grid-template-columns:repeat(3,minmax(0,1fr))}.otk-modal-defect-card{min-width:0}.otk-modal-defect-card strong,.otk-modal-defect-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.otk-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid #2a2f37;background:#ffffff0a;color:#bdbfc2;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.otk-pill--blue{border-color:#0090d4;background:#0090d41f;color:#0090d4}.otk-pill--warning{border-color:#fb923c;background:#fb923c1f;color:#fb923c}.otk-pill--danger{border-color:#ef4444;background:#ef44441f;color:#ef4444}@keyframes otk-pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}@keyframes otk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1280px){.otk-home{--otk-main-columns: 1fr;--otk-idle-columns: 1fr;--otk-meta-columns: 1fr;--otk-meta-grid-columns: repeat(2, minmax(0, 1fr))}.otk-main,.otk-idle,.otk-coil-meta{grid-template-columns:1fr}.otk-coil-meta__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.otk-modal-body{grid-template-columns:1fr}.otk-modal-stage-panel{border-right:0;border-bottom:1px solid #1d2127}}@media (max-width: 860px){.otk-home{--otk-shell-width: calc(100% - 24px) ;--otk-meta-grid-columns: 1fr;--otk-live-height: auto;--otk-live-max-height: none}.otk-topbar,.otk-coil-meta,.otk-main,.otk-idle{width:calc(100% - 24px)}.otk-topbar,.otk-panel-header,.otk-panel-header__actions,.otk-coil-meta__stats,.otk-coil-head,.otk-modal-header,.otk-modal-header__meta{flex-wrap:wrap}.otk-coil-meta__grid,.otk-idle-form,.otk-form-grid--compact,.otk-stat-grid,.otk-sidebar{grid-template-columns:1fr}.otk-live-panel{height:auto;max-height:none;min-height:520px}.otk-modal-backdrop{padding:12px}}@media (orientation: portrait) and (min-width: 861px){.otk-home{--otk-shell-width: min(1120px, calc(100% - 40px) );--otk-main-columns: 1fr;--otk-idle-columns: 1fr;--otk-meta-columns: 1fr;--otk-meta-grid-columns: repeat(2, minmax(0, 1fr));--otk-live-height: calc(100vh - 280px) ;--otk-live-max-height: none}.otk-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.otk-side-card--stretch{grid-column:1 / -1}.otk-live-panel{min-height:62vh}}@media (orientation: landscape) and (min-width: 1100px){.otk-home{--otk-shell-width: min(1780px, calc(100% - 40px) );--otk-main-columns: minmax(0, 1.4fr) 420px;--otk-idle-columns: minmax(420px, .85fr) minmax(0, 1.15fr);--otk-meta-columns: 220px minmax(0, 1fr) auto;--otk-meta-grid-columns: repeat(6, minmax(0, 1fr));--otk-live-height: calc(100vh - 220px) ;--otk-live-max-height: 900px}.otk-topbar{padding:16px 20px}.otk-coil-meta{align-items:start}.otk-coil-meta__stats{grid-template-columns:repeat(4,minmax(110px,auto));justify-content:end}.otk-live-panel{min-height:560px}}@media (orientation: landscape) and (min-width: 1400px){.otk-home{--otk-main-columns: minmax(0, 1.55fr) 440px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg-page);padding:20px}.login-card{background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--border-radius-xl);padding:48px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-icon-container{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--bg-control);border:1px solid var(--border-default);border-radius:var(--border-radius-lg);margin-bottom:24px}.login-icon{color:var(--accent-primary)}.login-header h1{color:var(--text-primary);font-size:28px;margin:0 0 12px;font-weight:var(--font-weight-semibold);letter-spacing:-.5px}.login-header p{color:var(--text-secondary);font-size:15px;margin:0;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:24px}.login-error{background-color:var(--status-nok-bg);border:1px solid var(--status-nok-border);color:var(--status-nok);padding:14px 16px;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.login-form .form-group{display:flex;flex-direction:column;gap:10px}.login-form .form-group label{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:4px;text-transform:uppercase;letter-spacing:.8px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;color:var(--text-muted);pointer-events:none;transition:color var(--transition-base)}.input-wrapper:focus-within .input-icon{color:var(--accent-primary)}.login-form .form-group input{background-color:var(--bg-input);border:2px solid var(--border-default);border-radius:var(--border-radius-md);padding:14px 16px 14px 48px;color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-base);font-family:var(--default-font-family),serif;width:100%;box-sizing:border-box}.password-input-wrapper input{padding-right:48px}.login-form .form-group input:hover:not(:disabled){border-color:var(--border-strong)}.login-form .form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-glow)}.login-form .form-group input::placeholder{color:var(--text-muted)}.login-form .form-group input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-page)}.password-toggle{position:absolute;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);border-radius:var(--border-radius-sm)}.password-toggle:hover:not(:disabled){color:var(--accent-primary);background-color:var(--accent-subtle-bg)}.password-toggle:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.login-button{background:var(--accent-primary);border:none;color:var(--text-on-accent);border-radius:var(--border-radius-md);padding:16px;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-base);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;text-transform:uppercase;letter-spacing:.5px;min-height:var(--touch-target-min)}.login-button:hover:not(:disabled){background:var(--accent-hover)}.login-button:active:not(:disabled){background:var(--accent-active)}.login-button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.login-button:disabled{opacity:.4;cursor:not-allowed}.button-loader{animation:spin 1s linear infinite}@media (max-width: 480px){.login-card{padding:32px 24px;border-radius:var(--border-radius-lg)}.login-header h1{font-size:24px}.login-icon-container{width:56px;height:56px}}:root{--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--button-height-small: 32px;--button-height-medium: 40px;--button-height-large: 48px;--indicator-outer: 24px;--indicator-inner: 12px;--border-thin: 1px;--border-medium: 2px;--border-thick: 3px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-2xl: 20px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--bg-page: #f7f7f7;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-input: #ffffff;--bg-hover: rgba(0, 0, 0, .03);--bg-active: rgba(0, 0, 0, .06);--bg-overlay: rgba(0, 0, 0, .5);--bg-control: #f0f0f0;--text-primary: #333333;--text-secondary: #707070;--text-muted: #999999;--text-disabled: #bdbdbd;--text-on-accent: #ffffff;--border-default: #eaeaea;--border-subtle: rgba(0, 0, 0, .05);--border-strong: #d0d0d0;--border-input: #e0e0e0;--border-active: #0090d4;--accent-primary: #0090d4;--accent-hover: #007bb3;--accent-active: #005a87;--accent-disabled: #bdbdbd;--accent-subtle-bg: rgba(0, 144, 212, .08);--blue-mark-color: #0090d4;--status-ok: #4caf50;--status-ok-bg: rgba(76, 175, 80, .08);--status-ok-border: rgba(76, 175, 80, .25);--status-nok: #f44336;--status-nok-bg: rgba(244, 67, 54, .08);--status-nok-border: rgba(244, 67, 54, .25);--status-warning: #ff9800;--status-warning-bg: rgba(255, 152, 0, .08);--status-warning-border: rgba(255, 152, 0, .25);--status-info: #2196f3;--status-info-bg: rgba(33, 150, 243, .08);--status-info-border: rgba(33, 150, 243, .25);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 20px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--focus-ring-color: #0090d4;--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-style: solid;--focus-ring: var(--focus-ring-width) var(--focus-ring-style) var(--focus-ring-color);--focus-glow: 0 0 0 3px rgba(0, 144, 212, .1);--defect-color: #d4152e;--non-defect-color: #03b564;--switch-width: 50px;--switch-height: 28px;--switch-off-bg: #d0d0d0;--switch-on-bg: var(--accent-primary);--switch-knob: #ffffff;--gold-gradient-start: #d59d25;--gold-gradient-end: #c08d2d;--gold-shadow: rgba(192, 141, 45, .25);--accent-shadow: rgba(0, 144, 212, .3);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(0, 0, 0, .06);--glass-hover: rgba(0, 0, 0, .05);--glass-shadow: 0 2px 12px rgba(0, 0, 0, .08);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-modal-backdrop: 1200;--z-modal: 1300;--z-popover: 1400;--z-tooltip: 1500;--sidebar-width: 64px;--header-height: 52px;--bottom-bar-height: 64px;--history-drawer-collapsed: 44px;--history-drawer-expanded: 220px}[data-theme=dark]{--bg-page: #0a0a0a;--bg-surface: #141414;--bg-elevated: #1f1f1f;--bg-input: #111111;--bg-hover: rgba(255, 255, 255, .04);--bg-active: rgba(255, 255, 255, .08);--bg-overlay: rgba(0, 0, 0, .7);--bg-control: #27272a;--text-primary: #e8e8e8;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-disabled: #52525b;--text-on-accent: #ffffff;--border-default: #2a2a2e;--border-subtle: rgba(255, 255, 255, .06);--border-strong: #3f3f46;--border-input: #3a3a3e;--border-active: #0090d4;--accent-disabled: #52525b;--accent-subtle-bg: rgba(0, 144, 212, .12);--status-ok: #10b981;--status-ok-bg: rgba(16, 185, 129, .12);--status-ok-border: rgba(16, 185, 129, .3);--status-nok: #ef4444;--status-nok-bg: rgba(239, 68, 68, .12);--status-nok-border: rgba(239, 68, 68, .3);--status-warning: #f59e0b;--status-warning-bg: rgba(245, 158, 11, .12);--status-warning-border: rgba(245, 158, 11, .3);--status-info: #3b82f6;--status-info-bg: rgba(59, 130, 246, .12);--status-info-border: rgba(59, 130, 246, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--focus-glow: 0 0 0 3px rgba(0, 144, 212, .2);--defect-color: #ef4444;--non-defect-color: #10b981;--switch-off-bg: #3f3f46;--switch-knob: #e8e8e8;--gold-gradient-start: #b8860b;--gold-gradient-end: #8b6914;--gold-shadow: rgba(184, 134, 11, .3);--accent-shadow: rgba(0, 144, 212, .4);--glass-bg: rgba(20, 20, 24, .65);--glass-border: rgba(255, 255, 255, .06);--glass-hover: rgba(255, 255, 255, .07);--glass-shadow: 0 2px 16px rgba(0, 0, 0, .25)}*:focus{outline:none}*:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--border-radius-md)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-glow)}tr:focus-visible{outline:var(--focus-ring);outline-offset:-2px;box-shadow:inset 0 0 0 2px var(--focus-ring-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes fadeSlideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes statusPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}.animate-fade-in{animation:fadeIn .4s ease-out backwards}.animate-slide-up{animation:fadeSlideUp .5s cubic-bezier(.16,1,.3,1) backwards}.animate-slide-down{animation:fadeSlideDown .4s ease-out backwards}.animate-slide-in{animation:fadeSlideIn .4s ease-out backwards}.animate-slide-in-right{animation:fadeSlideInRight .4s ease-out backwards}.animate-scale-in{animation:scaleIn .3s ease-out backwards}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}@font-face{font-family:Oxygen;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/oxygen-latin-ext-CkV6QxpG.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Oxygen;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/oxygen-latin-CBdKTTvi.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--default-font-family: "Oxygen"}body{margin:0;padding:0;font-family:var(--default-font-family),sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-page);color:var(--text-primary);min-height:100vh;overflow-x:hidden;overflow-y:auto;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh;width:100%}button{font-family:var(--default-font-family),sans-serif}.app-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--text-secondary)}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.not-found-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--bg-page);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.not-found-content{text-align:center;padding:2rem;max-width:500px;background-color:var(--bg-surface);border-radius:8px;box-shadow:var(--shadow-md)}.not-found-content h1{font-size:5rem;color:var(--accent-primary);margin:0;line-height:1}.not-found-content h2{font-size:1.8rem;color:var(--text-primary);margin:1rem 0}.not-found-content p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.5}.back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--accent-primary);color:var(--text-on-accent);text-decoration:none;border-radius:4px;font-weight:500;transition:all .2s ease}.back-link:hover{background-color:var(--accent-hover)}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--bg-overlay);display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlayFadeIn .3s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:var(--bg-surface);border-radius:var(--border-radius-2xl);padding:48px;box-shadow:var(--shadow-lg);border:1px solid var(--border-default);max-width:420px;width:90%;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-header{text-align:center;margin-bottom:32px}.auth-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background-color:var(--bg-control);border:1px solid var(--border-default);border-radius:var(--border-radius-lg);color:var(--text-secondary);margin-bottom:24px}.auth-modal-title{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.auth-modal-subtitle{margin:8px 0 0;font-size:14px;color:var(--text-secondary)}.auth-modal-form{display:flex;flex-direction:column;gap:20px}.auth-error{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background-color:var(--status-nok-bg);border:1px solid var(--status-nok-border);border-radius:var(--border-radius-lg);color:var(--status-nok);font-size:14px}.auth-input-group{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:12px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.auth-input{width:100%;padding:14px 16px 14px 48px;border:2px solid var(--border-default);border-radius:var(--border-radius-lg);font-size:15px;color:var(--text-primary);background:var(--bg-input);transition:all .2s ease;box-sizing:border-box}.auth-input:hover:not(:disabled){border-color:var(--border-strong)}.auth-input:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-input);box-shadow:var(--focus-glow)}.auth-input:disabled{opacity:.6;cursor:not-allowed}.auth-input::placeholder{color:var(--text-muted)}.auth-password-toggle{position:absolute;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.auth-password-toggle:hover{color:var(--accent-primary);background-color:var(--accent-subtle-bg);border-radius:var(--border-radius-sm)}.auth-submit-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:var(--accent-primary);color:var(--text-on-accent);border:none;border-radius:var(--border-radius-lg);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px;width:100%}.auth-submit-button:hover:not(:disabled){background:var(--accent-hover)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{animation:spin 1s linear infinite}.backend-error-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f7f9fc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.backend-error-content{text-align:center;padding:2rem;max-width:600px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000d}.backend-error-icon{color:#ff9800;margin-bottom:1.5rem}.backend-error-content h1{font-size:1.8rem;color:#333;margin:0 0 1rem}.backend-error-content p{color:#666;margin-bottom:1.5rem;line-height:1.5}.backend-error-technical{background-color:#f5f5f5;padding:.75rem 1rem;border-radius:4px;margin-bottom:2rem;border-left:3px solid #ff9800}.backend-error-technical code{color:#d32f2f;font-family:Courier New,Courier,monospace;font-size:.9rem}.backend-error-reconnecting{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background-color:#f5f5f5;border-radius:4px;margin-bottom:1.5rem;color:#0090d4;font-weight:500;font-size:1rem}.backend-error-reconnecting .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.backend-error-guidance{color:#999;font-size:.9rem;margin-top:2rem}
