.admin-surface{height:calc(100dvh - 40px);min-height:560px;margin:20px 28px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--panel-radius);corner-shape:var(--corner);background:var(--surface)}
.top-bar{display:flex;align-items:center;justify-content:flex-start;min-height:76px;height:76px;padding:18px 26px;flex-shrink:0;border-bottom:1px solid var(--line)}.top-bar .add{height:36px;font-size:12px;padding:0 16px}.add svg{width:16px;height:16px}
.table-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#c9cbd4 transparent;scroll-padding-top:62px;scroll-padding-bottom:24px}
.rules-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.pattern-column{width:50%}
.rules-table th{position:sticky;top:0;z-index:2;text-align:left;font-size:12px;font-weight:400;color:var(--secondary);padding:16px 24px;min-height:52px;border-bottom:1px solid var(--line);background:#f6f6f8}.rules-table th:first-child{padding-left:104px}.rules-table th+th{border-left:1px solid var(--line)}
.rule-row td{vertical-align:top;border-bottom:1px solid var(--line);padding:0}.rule-row td+td{border-left:1px solid var(--line)}.rule-row.active td{background:#f9f9fb}.rule-row.dragging{opacity:.4}.rule-row.drop-before td{box-shadow:inset 0 2px var(--accent)}.rule-row.drop-after td{box-shadow:inset 0 -2px var(--accent)}
.rule-cell{display:flex;align-items:flex-start;gap:15px;min-height:90px;padding:18px 22px}.row-order{min-width:58px;display:flex;align-items:center;gap:8px;min-height:44px;color:#999ca7;font-size:11px;font-variant-numeric:tabular-nums}.row-order .drag-handle{width:23px;height:28px;cursor:grab;color:#a1a4b0}.drag-handle:active{cursor:grabbing}.drag-handle svg{width:15px;height:15px}
.field-cell{flex:1;min-width:0;display:flex;flex-direction:column}.field-wrap{position:relative;display:flex;align-items:stretch;min-height:44px}.rule-field{width:100%;min-width:0;min-height:44px;max-height:200px;display:block;resize:none;border:1px solid #ebebf0;border-radius:12px;corner-shape:var(--corner);background:#f7f7f9;color:#393c48;outline:none;overflow:hidden;padding:11px 12px;font:14px/1.7 var(--mono);tab-size:2;overflow-wrap:anywhere;transition:border-color .15s,background-color .15s}
.rule-field:hover{background:#f1f1f5;border-color:#e1e1e8}.rule-field:focus{background:#fff;border-color:var(--accent)}.rule-field[aria-invalid=true]{border-color:var(--danger);background:#fff6f8}
.field-marker{position:absolute;left:13px;top:12px;pointer-events:none;color:#a0a3ae;font:13px/1.7 var(--mono)}.field-wrap:focus-within .field-marker{display:none}.field-error{color:var(--danger);font-size:11px;line-height:1.6;padding:5px 8px 0;overflow-wrap:anywhere}.field-error:empty{display:none}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px;min-height:44px;flex-shrink:0}.row-actions .icon-button{width:26px;height:28px}.row-actions svg{width:14px;height:14px}
.admin-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:14px 26px;border-top:1px solid var(--line);background:var(--surface);flex-shrink:0}.footer-status{display:flex;align-items:center;gap:16px;min-width:0}.footer-buttons{display:flex;gap:8px}.footer-buttons .btn{height:38px;font-size:12px}.footer-buttons .primary{min-width:86px}.inline-action{padding:5px 0;font-size:11px;color:var(--accent-text)}.empty-table{padding:55px;text-align:center;color:var(--muted);font-size:13px}
#test-panel{margin:0 24px 22px;border-bottom:1px solid var(--line)}#test-panel>summary{display:flex;align-items:center;gap:7px;padding:19px 0;list-style:none;cursor:pointer;font-size:12px;color:var(--secondary)}#test-panel>summary::-webkit-details-marker{display:none}summary svg{width:14px;height:14px;transform:rotate(-90deg);transition:transform .18s}details[open]>summary svg{transform:rotate(0)}
.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 0 14px}.test-grid textarea{width:100%;height:170px;min-height:120px;resize:vertical;outline:none;border:1px solid var(--line);border-radius:var(--well-radius);corner-shape:var(--corner);padding:16px;font:13px/1.9 var(--mono);color:var(--ink);background:var(--well-soft)}.test-grid textarea:focus{border-color:var(--accent);background:#fff}.test-grid textarea::placeholder{color:#a1a4af}#test-status{min-height:18px;padding:0 0 14px}
.login-screen{height:100dvh;min-height:600px;display:grid;place-items:center}.login-card{width:360px;display:flex;flex-direction:column;gap:20px;padding:34px;border:1px solid var(--line);border-radius:var(--panel-radius);corner-shape:var(--corner);background:var(--surface)}.login-symbol{align-self:center;display:grid;place-items:center;width:52px;height:52px;border-radius:18px;corner-shape:var(--corner);background:var(--well);color:var(--secondary);margin-bottom:6px}.login-symbol svg{width:22px;height:22px}.login-card input{width:100%;padding:13px 16px;border:1px solid transparent;border-radius:14px;corner-shape:var(--corner);outline:none;background:var(--control);font-size:13px}.login-card input:focus{background:#fff;border-color:var(--accent)}.login-card input::placeholder{color:#9295a0}.login-card .btn{width:100%;height:42px}.login-card .status:empty{display:none}
@media(max-width:1200px){.admin-surface{margin:20px;height:calc(100dvh - 40px)}.rule-cell{padding:17px 16px;gap:10px}.row-order{min-width:48px;gap:5px}.rules-table th:first-child{padding-left:84px}.rules-table th{padding-left:16px}.rule-field{font-size:13px;padding-left:10px;padding-right:10px}.field-marker{left:11px}.row-actions{gap:0}.row-actions .icon-button{width:24px}.top-bar,.admin-footer{padding-left:22px;padding-right:22px}}
