.rules-edit-button { min-height:36px; padding:8px 15px; border:1px solid #484b52; border-radius:6px; background:#383a40; color:#f2f3f5; cursor:pointer; font:700 12px Manrope,sans-serif; transition:background .15s,border-color .15s; }
.rules-edit-button:hover { border-color:#646875; background:#41434a; }
.rules-edit-button:focus-visible,.rules-edit-add:focus-visible,.rules-drag-handle:focus-visible,.rules-edit-remove:focus-visible { outline:2px solid #8d9bff; outline-offset:3px; }
.rules-edit-button:disabled { opacity:.5; cursor:default; }
.rules-design-toggle { appearance:none; cursor:pointer; line-height:1.5; }
.rules-heading .rules-design-toggle:hover { color:#f2f3f5; }
.rules-design-toggle:focus-visible { outline:2px solid #8d9bff; outline-offset:4px; }
.rules-save-button { border-color:#5865f2; background:#5865f2; }
.rules-save-button:hover { border-color:#4752c4; background:#4752c4; }
.rules-edit-toolbar { position:sticky; top:12px; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 15px; padding:11px 14px; border:1px solid #484b52; border-radius:9px; background:rgba(35,36,40,.96); box-shadow:0 8px 25px rgba(0,0,0,.2); }
.rules-edit-toolbar > span { color:#dbdee1; font-size:12px; font-weight:700; }
.rules-edit-toolbar > div { display:flex; gap:8px; }
.rules-edit-status { margin:0 0 15px; color:#a8b6d5; font-size:12px; line-height:1.6; }
.rules-edit-status.is-error { color:#f59a9d; }
.rules-edit-section { min-width:0; padding:13px 14px 14px; border:1px solid #3c3e45; border-radius:10px; background:#313338; }
.rules-edit-section-header { display:grid; grid-template-columns:18px minmax(0,1fr) 24px; align-items:center; gap:9px; margin-bottom:12px; }
.rules-edit-title { width:100%; min-width:0; min-height:30px; padding:3px 0; border:0; border-bottom:1px solid transparent; border-radius:0; outline:none; background:transparent; color:#b5bac1; font:600 13px/1.5 Manrope,sans-serif; }
.rules-edit-title:focus { border-bottom-color:#7b83cc; color:#f2f3f5; }
.rules-edit-title::placeholder { color:#80848e; }
.rules-edit-items { display:grid; min-height:16px; gap:11px; }
.rules-edit-item { display:grid; grid-template-columns:18px minmax(0,1fr) 24px; align-items:start; gap:9px; padding:15px 9px 15px 7px; border:1px solid rgba(255,255,255,.04); border-radius:8px; background:#2b2d31; }
.rules-edit-item:focus-within { border-color:rgba(141,155,255,.55); }
.rules-edit-content { min-width:0; }
.rules-edit-text { display:block; width:100%; min-height:25px; margin:0; padding:0; overflow:hidden; resize:none; border:0; outline:none; background:transparent; color:#dbdee1; font:500 14px/1.6 Manrope,sans-serif; }
.rules-edit-text::placeholder { color:#80848e; }
.rules-edit-muted-count { display:block; margin-top:6px; color:#7eb0c4; font:600 10px/1.4 Manrope,sans-serif; }
.rules-edit-muted-count[hidden] { display:none; }
.rules-format-menu { position:fixed; z-index:30; display:grid; min-width:170px; padding:5px; border:1px solid #454750; border-radius:7px; background:#232428; box-shadow:0 9px 26px rgba(0,0,0,.38); }
.rules-format-menu[hidden] { display:none; }
.rules-format-menu button { min-height:34px; padding:7px 9px; border:0; border-radius:4px; background:transparent; color:#dbdee1; cursor:pointer; text-align:left; font:600 12px Manrope,sans-serif; }
.rules-format-menu button:hover,.rules-format-menu button:focus-visible { outline:none; background:#3a3c45; color:#fff; }
.rules-format-menu button:disabled { color:#727680; cursor:default; }
.rules-format-menu button:disabled:hover { background:transparent; color:#727680; }
.rules-format-menu button:focus-visible { box-shadow:inset 0 0 0 1px #8d9bff; }
.rules-drag-handle { display:grid; place-items:center; width:18px; min-height:25px; padding:0; border:0; background:transparent; color:#80848e; cursor:grab; touch-action:none; user-select:none; font:400 21px/1 monospace; }
.rules-drag-handle:hover { color:#dbdee1; }
.rules-drag-handle:active { cursor:grabbing; }
.rules-edit-remove { min-height:25px; padding:0; border:0; background:transparent; color:#949ba4; opacity:0; cursor:pointer; font:400 20px/1 Arial,sans-serif; transition:opacity .15s,color .15s; }
.rules-edit-item:hover > .rules-edit-remove,.rules-edit-section-header:hover > .rules-edit-remove,.rules-edit-remove:focus-visible { opacity:1; }
.rules-edit-remove:hover { color:#f58a8e; }
.rules-edit-add { display:flex; align-items:center; justify-content:center; width:100%; min-height:49px; margin-top:12px; padding:10px 15px; border:2px dashed #41434a; border-radius:8px; background:transparent; color:#f2f3f5; cursor:pointer; font:700 13px/1.5 Manrope,sans-serif; transition:border-color .15s,background .15s; }
.rules-edit-add:hover { border-color:#7c86e4; background:rgba(88,101,242,.07); }
.rules-edit-add:disabled { opacity:.5; cursor:default; }
.rules-edit-section.is-dragging,.rules-edit-item.is-dragging { opacity:.6; outline:2px solid #8d9bff; outline-offset:2px; }
html.rules-dragging { scroll-behavior:auto; cursor:grabbing; user-select:none; }
#rules-edit[hidden],#rules-edit-toolbar[hidden],#rules-edit-status[hidden],#rules-edit-add-section[hidden] { display:none; }
@media (hover:none) { .rules-edit-remove { opacity:.7; } }
@media (max-width:520px) { .rules-edit-toolbar { top:8px; align-items:flex-start; flex-wrap:wrap; gap:9px; }.rules-edit-toolbar > div { width:100%; }.rules-edit-toolbar button { flex:1; }.rules-edit-section { padding:11px 8px; }.rules-edit-item { gap:6px; padding:12px 6px; }.rules-edit-text { font-size:13px; } }
@media (prefers-reduced-motion:reduce) { .rules-edit-button,.rules-edit-remove,.rules-edit-add { transition:none; } }
.rules-versions-picker { position:relative; min-width:170px; max-width:100%; }
.rules-versions-picker > .rules-history-label { margin-bottom:5px; }
.rules-versions-toggle { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; min-height:36px; padding:0 10px; border:1px solid rgba(143,125,255,.22); border-radius:9px; background:#151b2e; color:#d7d9e6; cursor:pointer; text-align:left; font:700 11px Manrope,sans-serif; transition:border-color .15s; }
.rules-versions-toggle:hover { border-color:rgba(143,125,255,.48); }
.rules-versions-toggle:focus-visible { outline:2px solid #8d9bff; outline-offset:2px; }
.rules-versions-toggle:disabled { opacity:.55; cursor:default; }
.rules-versions-chevron { flex:none; width:6px; height:6px; margin:-3px 3px 0 0; border-right:1.5px solid #a5acc1; border-bottom:1.5px solid #a5acc1; transform:rotate(45deg); }
@media (max-width:520px) { .rules-versions-picker { width:100%; } }
.rules-versions-menu { position:absolute; top:calc(100% + 7px); right:0; z-index:12; width:260px; max-width:calc(100vw - 32px); padding:6px; border:1px solid #42454d; border-radius:8px; background:#232428; box-shadow:0 12px 35px rgba(0,0,0,.4); }
#rules-versions-items { max-height:300px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#535660 transparent; }
.rules-version-row { display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:center; gap:3px; border-radius:5px; }
.rules-version-row.is-selected { background:rgba(88,101,242,.18); }
.rules-version-choose { display:flex; min-width:0; align-items:center; flex-wrap:wrap; gap:5px 10px; min-height:37px; padding:8px 10px; border:0; border-radius:5px; background:transparent; color:#dbdee1; cursor:pointer; overflow-wrap:anywhere; text-align:left; font:600 12px/1.5 Manrope,sans-serif; }
.rules-version-choose small { color:#9ca6e6; font-size:9px; font-weight:700; }
.rules-version-choose:focus-visible { outline:none; background:#3a3c45; color:#fff; }
.rules-version-delete { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:5px; background:transparent; color:#949ba4; cursor:pointer; font:400 22px/1 Arial,sans-serif; }
.rules-version-delete:hover,.rules-version-delete:focus-visible { outline:none; background:rgba(242,63,67,.14); color:#f5898c; }
.rules-version-add { display:block; width:100%; margin-top:5px; padding:10px; border:0; border-top:1px solid #3e4047; border-radius:0 0 5px 5px; background:transparent; color:#a7b1ff; cursor:pointer; text-align:left; font:700 12px Manrope,sans-serif; }
.rules-version-add:hover,.rules-version-add:focus-visible { outline:none; background:rgba(88,101,242,.15); color:#d9ddff; }
.rules-versions-empty { margin:0; padding:10px; color:#949ba4; font-size:12px; }
.rules-version-dialog { width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:25px; border:1px solid #454750; border-radius:12px; background:#313338; color:#dbdee1; box-shadow:0 20px 65px rgba(0,0,0,.5); }
.rules-version-dialog::backdrop { background:rgba(0,0,0,.65); backdrop-filter:blur(3px); }
.rules-version-dialog h2 { margin:0 0 12px; color:#f2f3f5; font-size:20px; letter-spacing:-.5px; }
.rules-version-dialog p { margin:0 0 17px; color:#b5bac1; font-size:13px; line-height:1.65; }
.rules-version-dialog label { display:block; margin-bottom:7px; color:#c6c9ce; font-size:11px; font-weight:800; }
.rules-version-dialog input { width:100%; min-height:42px; padding:9px 12px; border:1px solid #202127; border-radius:5px; outline:none; background:#1e1f22; color:#f2f3f5; font:500 14px Manrope,sans-serif; }
.rules-version-dialog input:focus { border-color:#8d9bff; }
.rules-dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:22px; }
.rules-delete-button { border-color:#da373c; background:#da373c; color:#fff; }
.rules-delete-button:hover { border-color:#a1282d; background:#a1282d; }
.rules-version-dialog .rules-dialog-error { margin:12px 0 0; color:#f59a9d; font-size:12px; }
#rules-version-tools[hidden],#rules-versions-menu[hidden],#rules-version-add[hidden],#rules-version-select[hidden],.rules-dialog-error[hidden] { display:none; }
