.patch-tabs{display:flex;gap:4px;margin:0 0 10px;border-bottom:1px solid var(--line)}
.patch-tabs button{border:0;background:transparent;padding:12px 18px;color:var(--muted);font-weight:800;border-bottom:3px solid transparent}
.patch-tabs button.active{color:var(--green);border-bottom-color:var(--green)}
.main.patch-compact{padding:14px}
.patch-console{height:calc(100vh - 84px);min-height:620px;display:grid;grid-template-columns:220px minmax(0,1fr) 300px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.patch-device-list{border-right:1px solid var(--line);overflow:auto}
.patch-device-list .console-title{padding:14px}
.patch-device-row{width:100%;border:0;border-top:1px solid #ecece6;background:transparent;padding:14px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--ink)}
.patch-device-row span,.patch-device-row small{display:block}.patch-device-row small{color:var(--muted);margin-top:4px}
.patch-device-row.selected{background:#e5f3ee;box-shadow:inset 3px 0 var(--green)}
.patch-matrix-panel{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.patch-toolbar{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.patch-toolbar h2,.profile-title h2{margin:0}.patch-toolbar p,.profile-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.patch-tools{display:flex;gap:8px;align-items:center}
.matrix-view-btn{border:1px solid var(--line);border-radius:9px;background:white;color:var(--green);padding:7px 10px;font-size:11px;font-weight:800;white-space:nowrap}.matrix-view-btn.active{background:#e8f1ec;border-color:#9db6a8}
.patch-grid{padding:12px;display:grid;grid-template-columns:repeat(16,minmax(45px,1fr));gap:4px;overflow:auto;user-select:none;touch-action:none}
.patch-channel{min-width:0;height:48px;padding:4px;border:1px solid #dcdfd7;border-radius:7px;background:#f1f2ed;color:#747d75;text-align:left;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.patch-channel:hover{border-color:#7d9b87;background:#e9eee9}.patch-channel.selecting{background:var(--lime);border-color:#89b53f;color:var(--green)}
.patch-channel.used{background:var(--green);border-color:var(--green);color:white;cursor:grab}.patch-channel.used.continuation{background:#37614f}
.patch-channel.fixture-selected{outline:3px solid var(--lime);outline-offset:-3px;box-shadow:0 0 0 2px var(--green)}
.channel-number{font-size:9px;font-weight:800;opacity:.8}.channel-light{font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
.profile-workspace{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-height:560px;box-shadow:var(--shadow);overflow:hidden}.profile-title{padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.profile-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding:14px}.profile-card{border:1px solid var(--line);border-radius:13px;padding:12px;display:flex;gap:12px;align-items:center}.profile-card strong,.profile-card span,.profile-card small{display:block}.profile-card span,.profile-card small{color:var(--muted);margin-top:3px}.profile-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.fixture-icon{width:48px;height:48px;padding:5px;object-fit:contain;object-position:50% 50%;display:block;border-radius:9px;background:#eef1e8;flex:0 0 auto}.fixture-edit-preview{display:flex;align-items:center;gap:12px;padding:10px;background:#f0f2ec;border-radius:12px;margin:10px 0 16px}.fixture-edit-preview span{font-size:13px;color:var(--muted)}
.patch-settings{border-left:1px solid var(--line);padding:16px;overflow:auto;background:#fafbf7}.settings-empty{color:var(--muted);padding:8px}.settings-empty strong{color:var(--ink);font-size:18px}.settings-empty p{font-size:13px;line-height:1.5}.settings-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}.settings-head h2{font-size:18px;margin:0}.settings-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.patch-settings label{margin:13px 0}.patch-settings .form-grid{gap:8px}.patch-settings .form-grid label{min-width:0}.settings-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.selected-light-list{display:grid;gap:5px}.selected-light-list button{border:1px solid var(--line);border-radius:8px;background:white;padding:8px;text-align:left}.selected-light-list span{float:right;color:var(--muted);font-size:11px}
.icon-combo{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.icon-combo-current{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--line)}.icon-combo-current .fixture-icon{width:42px;height:42px}.icon-combo-current input{border:0;box-shadow:none;padding:8px;min-width:0}.icon-combo-results{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;max-height:196px;overflow:auto}.icon-combo-results button{min-width:0;border:1px solid transparent;border-radius:8px;background:#f4f5f0;padding:5px;display:grid;justify-items:center;gap:3px;color:var(--ink)}.icon-combo-results button:hover,.icon-combo-results button.selected{border-color:var(--green);background:#e5f1eb}.icon-combo-results .fixture-icon{width:42px;height:42px;background:white}.icon-combo-results span{font-size:9px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.icon-keep{font-size:11px;color:var(--muted);font-weight:750;white-space:nowrap}
@media(max-width:1100px){.patch-console{grid-template-columns:190px minmax(650px,1fr) 280px;overflow:auto}.patch-grid{grid-template-columns:repeat(16,45px)}.patch-toolbar{position:sticky;left:0}.profile-cards{grid-template-columns:1fr}}
