:root{--color-bg:#1a1a2e;--color-surface:#16213e;--color-surface-light:#1f3460;--color-primary:#4a90d9;--color-primary-hover:#5da0e9;--color-success:#2ecc71;--color-warning:#f39c12;--color-error:#e74c3c;--color-info:#3498db;--color-text:#ecf0f1;--color-text-muted:#95a5a6;--color-border:#2c3e50;--font-family:"Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Cascadia Code", "Fira Code", monospace;--sidebar-width:240px;--topbar-height:56px;--radius:6px;--shadow:0 2px 8px #0000004d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.5}#root{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.auth-loading{min-height:100vh;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.auth-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.topbar{height:var(--topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.topbar-left{align-items:center;gap:8px;min-width:0;display:flex}.topbar-logo{color:var(--color-primary);white-space:nowrap;font-size:18px;font-weight:700}.topbar-project{color:var(--color-text);align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.topbar-separator{color:var(--color-text-muted)}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-btn{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:6px 12px;font-size:13px;transition:background .15s,border-color .15s;display:flex}.topbar-btn:hover{background:var(--color-surface-light);border-color:var(--color-text-muted)}.topbar-btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.topbar-btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.topbar-user{border:none;padding:6px 8px;font-size:14px}.topbar-user-menu{position:relative}.topbar-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);z-index:200;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden}.topbar-dropdown-info{border-bottom:1px solid var(--color-border);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.topbar-dropdown-name{color:var(--color-text);font-size:14px;font-weight:600}.topbar-dropdown-email{color:var(--color-text-muted);font-size:12px}.topbar-dropdown-item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:13px;transition:background .15s;display:block}.topbar-dropdown-item:hover{background:var(--color-surface-light)}.sidebar{top:var(--topbar-height);width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:90;flex-direction:column;transition:width .2s;display:flex;position:fixed;bottom:0;left:0;overflow:hidden}.sidebar-collapsed{width:56px}.sidebar-toggle{color:var(--color-text-muted);cursor:pointer;border:none;border-bottom:1px solid var(--color-border);background:0 0;justify-content:center;align-items:center;padding:10px;font-size:12px;transition:color .15s;display:flex}.sidebar-toggle:hover{color:var(--color-text)}.sidebar-nav{flex-direction:column;flex:1;padding:8px 0;display:flex;overflow-y:auto}.sidebar-link{color:var(--color-text-muted);white-space:nowrap;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 16px;font-size:13px;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex}.sidebar-link:hover{background:var(--color-surface-light);color:var(--color-text)}.sidebar-link-active{color:var(--color-primary);border-left-color:var(--color-primary);background:#4a90d914}.sidebar-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px}.sidebar-label{text-overflow:ellipsis;overflow:hidden}.app-layout{background:var(--color-bg);min-height:100vh}.app-main{margin-top:var(--topbar-height);margin-left:var(--sidebar-width);min-height:calc(100vh - var(--topbar-height));padding:24px;transition:margin-left .2s}.login-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:400px;padding:48px 40px;display:flex}.login-logo{font-size:48px;line-height:1}.login-title{color:var(--color-primary);margin:0;font-size:28px;font-weight:700}.login-subtitle{color:var(--color-text-muted);margin:0 0 8px;font-size:14px}.login-helper{color:var(--color-text-muted);margin:0;font-size:13px}.login-error{border-radius:var(--radius);border:1px solid var(--color-error);width:100%;color:var(--color-error);text-align:left;background:#e74c3c1f;padding:10px 14px;font-size:13px}.login-form{flex-direction:column;gap:12px;width:100%;display:flex}.login-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);width:100%;color:var(--color-text);box-sizing:border-box;outline:none;padding:12px 14px;font-size:14px;transition:border-color .15s}.login-input:focus{border-color:var(--color-primary)}.login-input::placeholder{color:var(--color-text-muted)}.login-btn{border-radius:var(--radius);background:var(--color-primary);color:#fff;cursor:pointer;border:none;width:100%;padding:12px;font-size:15px;font-weight:600;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--color-primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-secondary{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.login-btn-secondary:hover:not(:disabled){background:#1263a414}.login-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:center;padding:4px;font-size:14px;text-decoration:underline}.login-link:disabled{opacity:.6;cursor:not-allowed}.auth-callback-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-callback-card{border:1px solid var(--color-border);background:var(--color-surface);width:min(92vw,420px);box-shadow:var(--shadow);text-align:center;border-radius:12px;padding:32px 28px}.auth-callback-card h1{color:var(--color-text);margin:12px 0 8px;font-size:22px}.auth-callback-card p{color:var(--color-text-muted);margin:0;font-size:14px}.auth-callback-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:30px;height:30px;margin:0 auto;animation:.9s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.dashboard{max-width:1200px}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.dashboard-header h1{color:var(--color-text);margin:0;font-size:24px}.dashboard-controls{align-items:center;gap:12px;display:flex}.dashboard-search{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);width:240px;padding:8px 14px;font-size:13px}.dashboard-search::placeholder{color:var(--color-text-muted)}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;padding:20px;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow)}.project-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.project-card-header h3{color:var(--color-text);margin:0;font-size:16px}.project-card-customer{color:var(--color-primary);margin:0 0 8px;font-size:13px}.project-card-desc{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 12px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.project-card-meta{color:var(--color-text-muted);justify-content:space-between;margin-bottom:12px;font-size:12px;display:flex}.project-card-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.project-card-date{color:var(--color-text-muted);font-size:12px}.project-setup{max-width:800px}.project-setup h1{color:var(--color-text);margin:0 0 24px;font-size:24px}.setup-form{flex-direction:column;gap:16px;display:flex}.form-actions{padding-top:8px}.components-page h1{color:var(--color-text);margin:0 0 24px;font-size:24px}.component-catalog{margin-bottom:32px}.catalog-header h2{color:var(--color-text);margin:0 0 12px;font-size:18px}.catalog-controls{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.catalog-search{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);width:280px;padding:8px 14px;font-size:13px}.catalog-search::placeholder{color:var(--color-text-muted)}.catalog-filters{flex-wrap:wrap;gap:6px;display:flex}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.catalog-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.catalog-card-header{justify-content:space-between;margin-bottom:8px;display:flex}.catalog-category{background:var(--color-surface-light);color:var(--color-primary);border-radius:10px;padding:2px 8px;font-size:11px}.catalog-comm{color:var(--color-text-muted);font-size:11px}.catalog-card h3{color:var(--color-text);margin:0 0 4px;font-size:14px}.catalog-type{color:var(--color-text-muted);margin:0 0 6px;font-size:12px}.catalog-desc{color:var(--color-text-muted);margin:0 0 12px;font-size:12px;line-height:1.4}.selected-components h2{color:var(--color-text);margin:0 0 12px;font-size:18px}.validation-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.validation-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.validation-header h3{color:var(--color-text);margin:0;font-size:14px}.validation-counts{gap:8px;font-size:12px;display:flex}.count-error{color:var(--color-error)}.count-warning{color:var(--color-warning)}.count-info{color:var(--color-info)}.validation-empty{color:var(--color-text-muted);text-align:center;padding:16px;font-size:13px}.validation-list{margin:0;padding:0;list-style:none}.validation-item{border-bottom:1px solid var(--color-border);cursor:pointer;gap:10px;padding:10px 16px;transition:background .15s;display:flex}.validation-item:last-child{border-bottom:none}.validation-item:hover{background:var(--color-surface-light)}.validation-severity{text-align:center;flex-shrink:0;width:18px;font-size:14px}.validation-error .validation-severity{color:var(--color-error)}.validation-warning .validation-severity{color:var(--color-warning)}.validation-info .validation-severity{color:var(--color-info)}.validation-content{flex-direction:column;gap:2px;min-width:0;display:flex}.validation-message{color:var(--color-text);font-size:13px}.validation-path{color:var(--color-text-muted);font-size:11px}.component-config h1{color:var(--color-text);margin:0 0 24px;font-size:24px}.config-layout{grid-template-columns:200px 1fr 280px;gap:16px;min-height:500px;display:grid}.config-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 0}.config-sidebar h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;padding:0 16px;font-size:13px}.config-list{margin:0;padding:0;list-style:none}.config-list-item{color:var(--color-text);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-size:13px;transition:background .15s;display:flex}.config-list-item:hover{background:var(--color-surface-light)}.config-list-active{border-left:3px solid var(--color-primary);background:#4a90d91a}.config-enabled.enabled{color:var(--color-success)}.config-enabled.disabled{color:var(--color-text-muted)}.config-main{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.config-tabs{border-bottom:1px solid var(--color-border);align-items:center;gap:0;display:flex;overflow-x:auto}.config-tab{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:13px;transition:color .15s,border-color .15s}.config-tab:hover{color:var(--color-text)}.config-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.mode-toggle{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;margin-left:auto;padding:0 16px;font-size:12px;display:flex}.config-content{padding:20px}.config-section{flex-direction:column;gap:14px;display:flex}.config-validation{min-width:0}.signals-table{border-collapse:collapse;width:100%;font-size:13px}.signals-table th,.signals-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 10px}.signals-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px}.signals-table td{color:var(--color-text)}.signals-table code{font-family:var(--font-mono);background:var(--color-surface-light);border-radius:3px;padding:1px 6px;font-size:12px}.muted-text{color:var(--color-text-muted);font-size:13px}.signal-mapping h1{color:var(--color-text);margin:0 0 16px;font-size:24px}.mapping-stats{gap:16px;margin-bottom:16px;display:flex}.stat-item{font-size:13px;font-weight:600}.stat-mapped{color:var(--color-success)}.stat-unmapped{color:var(--color-warning)}.stat-invalid{color:var(--color-error)}.mapping-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.mapping-filters{gap:6px;display:flex}.mapping-actions{gap:8px;display:flex}.mapping-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;overflow:hidden}.mapping-table th,.mapping-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px}.mapping-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);background:var(--color-surface);font-size:11px}.mapping-generic{font-family:var(--font-mono);color:var(--color-text);font-size:13px}.mapping-arrow{text-align:center;width:40px;color:var(--color-text-muted);font-size:16px}.mapping-mapped .mapping-arrow{color:var(--color-success)}.mapping-invalid .mapping-arrow{color:var(--color-error)}.mapping-vendor{color:var(--color-text);font-size:13px}.mapping-detail{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono);display:block}.mapping-empty{color:var(--color-text-muted);font-style:italic}.logic-modes h1{color:var(--color-text);margin:0 0 16px;font-size:24px}.lm-tabs{border-bottom:1px solid var(--color-border);gap:0;margin-bottom:20px;display:flex}.lm-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:14px;transition:color .15s,border-color .15s}.lm-tab:hover{color:var(--color-text)}.lm-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.section-desc{color:var(--color-text-muted);margin:0 0 16px;font-size:13px}.modes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.mode-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);opacity:.6;padding:16px;transition:opacity .15s,border-color .15s}.mode-card.mode-active{opacity:1;border-color:var(--color-primary)}.mode-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.mode-header h3{color:var(--color-text);margin:0;font-size:15px}.mode-card p{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.4}.toggle-switch{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:var(--color-border);border-radius:20px;transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--color-text);border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-sm{width:30px;height:16px}.toggle-sm .toggle-slider:before{width:12px;height:12px}.toggle-sm input:checked+.toggle-slider:before{transform:translate(14px)}.faults-table,.interlocks-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%}.faults-table th,.faults-table td,.interlocks-table th,.interlocks-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:13px}.faults-table th,.interlocks-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px}.faults-table td,.interlocks-table td{color:var(--color-text)}.recovery-cell,.condition-cell{color:var(--color-text-muted);max-width:300px;font-size:12px}.sequence-columns{grid-template-columns:1fr 1fr;gap:24px;display:grid}.sequence-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.sequence-block h3{color:var(--color-text);margin:0 0 12px;font-size:15px}.sequence-list{margin:0;padding:0 0 0 24px}.sequence-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.sequence-list li:last-child{border-bottom:none}.seq-action{color:var(--color-text)}.seq-timeout{color:var(--color-text-muted);font-family:var(--font-mono);font-size:12px}.target-controller h1{color:var(--color-text);margin:0 0 24px;font-size:24px}.target-controller h2{color:var(--color-text);margin:0 0 12px;font-size:18px}.target-controller section{margin-bottom:28px}.controller-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.controller-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;padding:16px;transition:border-color .15s}.controller-card:hover{border-color:var(--color-text-muted)}.controller-selected{border-color:var(--color-primary);background:#4a90d90d}.controller-card h3{color:var(--color-text);margin:0 0 4px;font-size:16px}.ctrl-family{color:var(--color-primary);margin:0;font-size:13px}.ctrl-arch{color:var(--color-text-muted);margin:4px 0 0;font-size:12px}.details-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.compatibility-warnings{margin-top:28px}.compat-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.compat-ok{color:var(--color-success);margin:0;font-size:13px}.build-compile h1{color:var(--color-text);margin:0 0 24px;font-size:24px}.build-compile h2{color:var(--color-text);margin:0 0 12px;font-size:18px}.build-compile section{margin-bottom:28px}.build-row{gap:16px;margin-bottom:12px;display:flex}.build-row .form-group{flex:1}.build-actions{gap:8px;display:flex}.build-progress{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.progress-header{color:var(--color-text);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;display:flex}.progress-pct{font-family:var(--font-mono);color:var(--color-text-muted);font-size:13px}.progress-bar{background:var(--color-surface-light);border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .3s}.progress-running{background:var(--color-info)}.progress-success{background:var(--color-success)}.progress-failed{background:var(--color-error)}.progress-queued{background:var(--color-warning)}.build-log{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);max-height:300px;font-family:var(--font-mono);padding:12px;font-size:12px;line-height:1.6;overflow-y:auto}.log-line{color:var(--color-text-muted);white-space:pre-wrap}.history-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%}.history-table th,.history-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:13px}.history-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px}.history-table td{color:var(--color-text)}.artifacts-page h1{color:var(--color-text);margin:0 0 24px;font-size:24px}.artifact-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px;display:flex}.artifact-info{color:var(--color-text);gap:24px;font-size:13px;display:flex}.artifact-info strong{color:var(--color-text-muted)}.artifacts-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%}.artifacts-table th,.artifacts-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:13px}.artifacts-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px}.artifacts-table td{color:var(--color-text)}.artifact-name{font-family:var(--font-mono);font-size:13px}.empty-text{color:var(--color-text-muted);font-size:14px}.version-history h1{color:var(--color-text);margin:0 0 24px;font-size:24px}.versions-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%}.versions-table th,.versions-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:13px}.versions-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px}.versions-table td{color:var(--color-text)}.notes-cell{max-width:300px;color:var(--color-text-muted);font-size:12px}.actions-cell{white-space:nowrap;gap:6px;display:flex}.btn-primary{border-radius:var(--radius);background:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;background:0 0;padding:8px 16px;font-size:13px;transition:background .15s,border-color .15s}.btn-secondary:hover{background:var(--color-surface-light);border-color:var(--color-text-muted)}.btn-danger{border:1px solid var(--color-error);border-radius:var(--radius);color:var(--color-error);cursor:pointer;background:0 0;padding:8px 16px;font-size:13px;transition:background .15s}.btn-danger:hover{background:#e74c3c1a}.btn-sm{padding:4px 10px;font-size:12px}.form-group{flex-direction:column;flex:1;gap:6px;display:flex}.form-group label{color:var(--color-text-muted);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:14px;font-family:var(--font-family);padding:8px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none}.form-group input[readonly]{opacity:.7;cursor:default}.form-group textarea{resize:vertical}.form-row{gap:16px;display:flex}.status-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-success{color:var(--color-success);background:#2ecc7126}.badge-warning{color:var(--color-warning);background:#f39c1226}.badge-error{color:var(--color-error);background:#e74c3c26}.badge-info{color:var(--color-info);background:#3498db26}.badge-default{color:var(--color-text-muted);background:#95a5a626}.components-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%}.components-table th,.components-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:13px}.components-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:11px}.components-table td{color:var(--color-text)}.mono{font-family:var(--font-mono);font-size:12px}.filter-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:4px 12px;font-size:12px;transition:all .15s}.filter-btn:hover{border-color:var(--color-text-muted);color:var(--color-text)}.filter-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
