@font-face{font-family:RUSSBody;src:url("../../../shared/assets/fonts/SegUIVar.ttf")}
.editor-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:12px 0 0;border-bottom:1px solid #62645d}
.editor-tab{min-width:0;padding:7px 4px;border:1px solid #5c5e57;border-bottom:0;border-radius:4px 4px 0 0;background:#363833;color:#d8d2c5;font-size:12px;white-space:nowrap}
.editor-tab:hover{background:#4a4c45}
.editor-tab.active{background:#8d7336;border-color:#b99a4e;color:#fff}
.editor-tab-panel{min-height:310px;padding:12px 2px 2px}
.editor-tab-panel[hidden]{display:none}
.tab-section{border:1px solid #53554d;border-radius:4px;margin-bottom:10px;padding:10px}
.tab-note{margin:0 0 9px;color:#aaa;font-size:12px}
.editor-tab-panel .assigned-rules{margin-top:0}
@media(max-width:760px){.editor-tabs{grid-template-columns:1fr 1fr}}
*{box-sizing:border-box}
body{margin:0;background:#191b1b;color:#ece7db;font:14px RUSSBody,Segoe UI,sans-serif}
.app-header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:14px 20px;background:#272927;border-bottom:1px solid #565749}
.eyebrow{margin:0;color:#c5a85a;text-transform:uppercase;letter-spacing:.16em;font-size:11px}
.app-header h1{margin:1px 0 0;font-size:24px}
.header-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.header-controls label{min-width:120px}
.file-strip{display:flex;gap:22px;padding:8px 20px;background:#30322e;color:#d5d0c3;border-bottom:1px solid #4f514a}
.render-config-path{margin-left:auto;color:#aaa;text-align:right;user-select:text}
.workspace{display:grid;grid-template-columns:minmax(330px,1.05fr) minmax(390px,1.2fr) minmax(280px,.85fr);gap:12px;padding:12px;align-items:start}
.panel{background:#272927;border:1px solid #505148;border-radius:7px;padding:14px}
.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px}
.panel h2,.panel h3{margin:0 0 10px}
.panel h2{font-size:18px}
.panel h3{font-size:15px}
label{display:flex;flex-direction:column;gap:4px;color:#d8d2c5;margin-bottom:9px}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;border:1px solid #66685f;border-radius:4px;background:#151716;color:#f3efe5;padding:7px}
textarea{resize:vertical;min-height:80px}
button{border:1px solid #a78b47;border-radius:4px;background:#8d7336;color:#fff;padding:7px 10px;cursor:pointer}
button:hover{background:#a18440}
button:disabled{opacity:.42;cursor:not-allowed}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.record-list{height:515px;overflow:auto;border:1px solid #53554e;background:#181a19;margin:4px 0 9px}
.record-row{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;text-align:left;border:0;border-bottom:1px solid #3f423e;border-radius:0;background:transparent;padding:8px;color:#e8e3d7}
.record-row:hover,.record-row.selected{background:#44463f}
.record-row strong,.record-row small{display:block}
.record-row small{color:#b6b1a6;margin-top:2px}
.badges{display:flex;gap:3px;align-items:center}
.badge{font-size:10px;padding:2px 4px;border-radius:3px;background:#71572f}
.badge.dirty{background:#8a4e35}
.badge.invalid{background:#8b3434}
.record-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px}
.record-actions+ .record-actions{grid-template-columns:repeat(3,1fr)}
.checks{margin:5px 0 10px}
.checks label,.overflow{flex-direction:row;align-items:center}
.checks input,.overflow input{width:auto}
.assigned-rules{border:1px solid #53554d;border-radius:4px;margin:4px 0 10px;padding:9px}
.assigned-rules-list{display:grid;gap:6px}
.assigned-rule{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;background:#1c1e1d;border:1px solid #4e504a;border-radius:4px;padding:8px}
.assigned-rule p{margin:3px 0 0;color:#c9c4b8}
.assigned-rule button{background:#633c32;border-color:#965c4d}
.assigned-rule button:hover{background:#7b493c}
.assigned-rules .empty{padding:8px}
.rule-helper{border-top:1px solid #53554d;margin-top:12px;padding-top:12px}
.rule-result{border:1px solid #4e504a;border-radius:4px;padding:8px;margin:6px 0;background:#1c1e1d}
.rule-result.assigned{border-color:#a78b47}
.rule-result p{margin:4px 0 7px;color:#c9c4b8;max-height:70px;overflow:auto}
.rule-buttons{display:flex;gap:6px}
.preview-controls{border-bottom:1px solid #53554d;margin-bottom:12px;padding-bottom:3px}
.canvas-wrap{background:#111;padding:12px;border-radius:5px;text-align:center;overflow:auto}
.canvas-wrap canvas{width:200px;height:300px;image-rendering:auto;box-shadow:0 3px 13px #000}
.preview{position:sticky;top:12px}
.preview button{width:100%;margin-top:8px}
.messages{min-height:44px;margin:10px 0;padding:8px;border-left:3px solid #787b72;background:#202220}
.messages.error{border-color:#d15a48;color:#ffc0b5}
.messages.warning{border-color:#d2a446}
.empty{padding:16px;color:#aaa;text-align:center}
.dirty-text{color:#e7b458}
.invalid-text{color:#ff8272}
small{color:#aaa}
@media(max-width:1120px){.workspace{grid-template-columns:1fr 1fr}
.preview{position:static}
}
@media(max-width:760px){.app-header,.file-strip{align-items:stretch;flex-direction:column}
.workspace{grid-template-columns:1fr}
.grid-2,.filter-grid{grid-template-columns:1fr}
.record-list{height:350px}
}
