/* 계산식과 판단 규칙은 별도 경로에서 각자의 편집 상태를 유지한다. */
body:is(.admin-mode,.rules-mode) :is(#sidebar,#composer-wrap,#chat,#workbench,#newlaw){display:none}
body.admin-mode #admin{display:block}
body.rules-mode #rules{display:block}
#admin,#rules{display:none; min-width:0; min-height:0; overflow-y:auto; padding:18px 22px}
/* 좁은 폭에서 가로 스크롤이 생기지 않게 — 자식이 줄바꿈할 수 있어야 한다 */
#rules .ax-rule, #rules .axw-prow, #rules .ax-sent{min-width:0}

/* 화면 상단 제목 + 구역 이동 — 화면 제목 > 섹션 제목 > 본문 순으로 커야 한다 */
:is(#admin,#rules)>.pg-h{margin:0 auto 4px; font-size:1.5em}
:is(#admin,#rules)>.pg-h>.pg-sub{font-size:.62em}      /* 제목 배율 안에서 본문보다 작게 */
.adm-jump{margin:0 0 16px}

.adm-stats{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px}
.adm-stat{border:1px solid var(--line); border-radius:10px; background:var(--bg-card);
  padding:8px 14px; min-width:96px}
.adm-stat .v{font-size:1.6em; font-weight:700; line-height:1.25}
.adm-stat .l{font-size:var(--font-size-base); color:var(--tx-faint)}

.adm-sec{font-size:1.12em; font-weight:700; margin:16px 0 7px; padding-bottom:4px;
  border-bottom:1px solid var(--line)}
/* 섹션 제목은 본문보다 커야 훑어볼 수 있다(기본 글꼴 13pt 는 유지, 상대 배율만) */
#rules .ax-step{font-size:1.12em}
#rules>.adm-fold>summary{font-size:1.12em; color:var(--tx)}
.ax-status-row{font-size:var(--font-size-base); color:var(--tx-dim); margin:5px 0 2px;
  display:flex; gap:16px; flex-wrap:wrap}
.ax-status-row>div{min-width:0}
.adm-chips{display:flex; gap:6px; flex-wrap:wrap}
.adm-chip{font-size:var(--font-size-base); padding:3px 10px; border-radius:999px; border:1px solid var(--line);
  background:var(--bg-chip); color:var(--tx-dim)}
.adm-tbl{width:100%; border-collapse:collapse; font-size:var(--font-size-base)}
.adm-tbl th, .adm-tbl td{text-align:left; padding:5px 8px; border-bottom:1px solid var(--line);
  vertical-align:top}
.adm-tbl th{color:var(--tx-faint); font-weight:600; white-space:nowrap}
.adm-vd-fp{color:var(--red); font-weight:600}
.adm-vd-ok{color:var(--accent); font-weight:600}

.adm-fold>summary{cursor:pointer; font-size:var(--font-size-base); font-weight:600; color:var(--tx-dim);
  padding:8px 0; list-style:revert}
/* 상시 노출하던 사용 순서 안내는 접어 둔다(요약 한 줄만 노출) */
.adm-fold.ax-help{margin:2px 0 6px}
.adm-fold.ax-help>summary{font-weight:400}

.ax-rule.retired{opacity:.5}
.ax-dash-actions{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:6px}
/* 규칙 한 줄의 버튼 묶음(최대 6개)이 좁은 폭에서 줄 밖으로 밀리지 않게 */
@media(max-width:760px){
  #rules .ax-rule>.ax-rule-acts{flex-basis:100%; margin-left:0 !important; justify-content:flex-start}
}

/* 시스템 스키마 공리(읽기 전용) 표출 */
.ax-schema{border:1px solid var(--line); border-radius:10px; background:var(--bg-card);
  padding:2px 14px 12px}
.ax-dash-grid{display:grid; grid-template-columns:1fr 1fr; gap:6px 22px}
@media(max-width:760px){.ax-dash-grid{grid-template-columns:1fr}}
.ax-sgrp{font-size:var(--font-size-base); font-weight:700; color:var(--tx); margin:12px 0 2px}
.ax-sgrp .sub{display:block; font-size:var(--font-size-base); font-weight:400; color:var(--tx-faint); margin-top:1px}
.ax-srow{font-size:var(--font-size-base); padding:4px 0; line-height:1.5; border-bottom:1px dashed var(--line)}
.ax-srow:last-child{border-bottom:none}
.ax-srow .d{color:var(--tx-dim); font-size:var(--font-size-base); margin-left:5px}
.ax-srow .tech{color:var(--tx-faint); font-size:var(--font-size-base); margin-left:6px; font-family:ui-monospace,monospace}
.ax-ex{background:var(--accent-soft); border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin:0 0 12px}
.ax-ex-h{font-size:var(--font-size-base); color:var(--tx); margin-bottom:8px}
.ax-ex-tree{font-size:var(--font-size-base); line-height:1.85; color:var(--tx)}
.ax-ex-tree .i1{margin-left:16px}
.ax-ex-tree .i2{margin-left:34px}
.ax-ex-tree .lv{font-size:var(--font-size-base); color:var(--tx-faint); margin-left:5px}
.ax-ex-f{font-size:var(--font-size-base); color:var(--tx-dim); margin-top:9px; line-height:1.65}
.ax-rel{color:var(--accent); font-weight:700; padding:0 5px}

/* 공리 추가 마법사 */
.axw-bar{display:flex; align-items:center; gap:10px; font-size:var(--font-size-base); padding-bottom:8px;
  border-bottom:1px solid var(--line); margin-bottom:14px}
.axw-body{min-height:120px; padding:6px 2px}
.axw-q{font-size:var(--font-size-base); color:var(--tx); margin-bottom:12px; line-height:1.6}
.axw-final{font-size:17.5px; font-weight:600; padding:12px 14px; border:1px solid var(--accent);
  border-radius:10px; background:var(--bg-chip); margin-bottom:10px}
.axw-nav{display:flex; justify-content:space-between; align-items:center; gap:10px;
  margin-top:16px; padding-top:12px; border-top:1px solid var(--line)}

/* 공리 작성(관리 탭) */
.ax-form{border:1px solid var(--line); border-radius:10px; background:var(--bg-card);
  padding:12px 14px; margin-bottom:12px}

.ax-cap{color:var(--tx-faint); font-size:var(--font-size-base)}

.ax-prev{font-size:var(--font-size-base); color:var(--tx-dim); margin:6px 0; min-height:18px}

/* 패턴 배지는 중립 톤 — 색은 경고(⚠)·선택 상태에만 사용(색 과다 방지) */
/* P7 수치 기준 입력 — 값은 관계와 입력 항목이 다르다 */
.axw-param{margin-top:10px; padding:10px 12px; border-radius:8px;
  background:var(--bg-chip); border-left:3px solid var(--accent)}
.axw-prow{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:6px 0}
.axw-prow label{font-size:var(--font-size-base); color:var(--tx-dim); min-width:56px}
.axw-provlist{max-height:180px; overflow:auto; border:1px solid var(--line);
  border-radius:7px; margin:6px 0}
/* 근거 조문 선택은 키보드로도 골라야 한다 — 클릭 전용 div 가 아니라 button */
.axw-prov{display:block; width:100%; text-align:left; padding:6px 10px;
  font:inherit; font-size:var(--font-size-base); color:var(--tx); cursor:pointer;
  background:none; border:0; border-bottom:1px solid var(--line)}
.axw-prov:last-child{border-bottom:none}
.axw-prov:hover{background:var(--bg-chip); color:var(--accent)}
.axw-prov:focus-visible{outline:2px solid var(--accent); outline-offset:-2px; background:var(--bg-chip)}

/* 마법사 입력칸 폭 — 인라인 min-width 대신 클래스로(360px 폰에서 넘치지 않게) */
.ax-tok.wide{width:min(300px,100%); min-width:0}
.ax-tok.grow{flex:1 1 220px; min-width:0}
.ax-tok.narrow{width:110px; min-width:0}
.ax-tok.tiny{width:76px; min-width:0}
.ax-tok.date{width:150px; min-width:0}
.axw-basis-ok{font-size:var(--font-size-base); color:var(--green); display:flex; gap:8px;
  align-items:center; margin-top:4px}
.axw-basis-need{font-size:var(--font-size-base); color:var(--amber); margin-top:4px}

/* 입력 게이트가 없는 상시 활성 버튼: 또렷한 채도 유지(비활성일 때만 흐리게) */
.wb-analyze.solid{opacity:1}
.wb-analyze.solid:disabled{opacity:.45; cursor:default}

/* 보조 액션(AI 후보): 흐린 회색 대신 또렷한 강조 아웃라인 */
.ax-act-out{font-size:var(--font-size-base); padding:7px 14px; border-radius:10px; border:1px solid var(--accent);
  background:var(--accent-soft); color:var(--accent); font-weight:600}
.ax-act-out:hover:not(:disabled){background:var(--accent); color:var(--accent-contrast)}
.ax-act-out:disabled{opacity:.45; cursor:default}

/* Calculation management shares the expert admin view and base font size. */
#formula-admin-body{margin:0 auto 28px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);font-size:var(--font-size-base);container:formula-manager / inline-size;overflow-wrap:anywhere}
#formula-admin-body button,#formula-admin-body input,#formula-admin-body select,#formula-admin-body textarea{font:inherit;box-sizing:border-box}
#formula-admin-body button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-card);color:var(--tx);cursor:pointer}
#formula-admin-body button:disabled{opacity:.55;cursor:default}
#formula-admin-body button[data-action="save"],#formula-admin-body button[data-action="publish"],#formula-admin-body button[data-action="preview"]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.fm-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.fm-heading h2{margin:0;font-size:1.32em}.fm-heading h3{margin:0;font-size:1.12em}.fm-muted{color:var(--tx-dim);line-height:1.7;margin:8px 0}
.fm-layout{display:grid;grid-template-columns:clamp(300px,26%,450px) minmax(0,1fr);gap:24px;align-items:stretch;height:72dvh;min-height:320px}
.fm-layout>*{min-width:0;min-height:0;box-sizing:border-box}
.fm-list{display:flex;flex-direction:column;gap:10px;height:100%;overflow:hidden}
.fm-list>*{flex:none;min-width:0}
.fm-list>.fm-muted{margin:0 0 2px}
.fm-list .fm-list-items{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;padding:0 8px 8px 0}
.fm-list-items>*{flex:none;min-width:0}
.fm-list-range{margin:0;color:var(--tx-dim);line-height:1.7}
.fm-pagination{padding:10px 0 0;border-top:1px solid var(--line);text-align:center}
.fm-page-controls{display:flex;justify-content:center;align-items:center;gap:4px;max-width:100%}
#formula-admin-body .fm-pagination button{flex:none;min-width:32px;min-height:36px;padding:5px 6px;line-height:1.3;white-space:nowrap}
#formula-admin-body .fm-pagination button[aria-current="page"]{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:700}
.fm-pagination .fm-page-status{margin:6px 0 0;color:var(--tx-dim);line-height:1.5}
.fm-coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px}.fm-filters{margin:16px 0}.fm-coverage-grid h4{margin:0}.fm-coverage-grid p{margin:8px 0}
#formula-admin-body .fm-list-item{text-align:left;display:flex;flex-direction:column;gap:6px;white-space:normal;overflow-wrap:anywhere}
.fm-list-item span{color:var(--tx-dim)}#formula-admin-body .fm-list-item.selected{border-color:var(--accent);background:var(--bg-soft)}
.fm-editor{min-width:0;height:100%;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;scroll-padding-block:12px;padding:0 8px 8px 0;container:formula-editor / inline-size}
.fm-list:focus-visible,.fm-list-items:focus-visible,.fm-editor:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.fm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:10px 0}
.fm-grid>*,.fm-heading>*,.fm-actions>*,.fm-row>*{min-width:0}
.fm-row,.fm-actions{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.fm-row>.fm-field{flex:1 1 180px;min-width:0;max-width:100%}
.fm-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:8px 0}.fm-field>span{font-weight:500}
.fm-field input,.fm-field select,.fm-field textarea{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--bg-card);color:var(--tx)}
.fm-field textarea{resize:vertical;min-height:80px;line-height:1.6}.fm-field input:read-only{background:var(--bg-soft)}
.fm-check{display:flex;align-items:center;gap:8px;margin:12px 0}.fm-check input{accent-color:var(--accent);width:18px;height:18px;flex:none}
.fm-section{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.fm-section>summary{cursor:pointer;font-weight:600}
.fm-card{padding:12px;margin:12px 0;border:1px solid var(--line);border-radius:9px;background:var(--bg-soft)}
.fm-card>summary{cursor:pointer;font-weight:500}.fm-code{font-family:ui-monospace,monospace!important;font-size:var(--font-size-base)!important}
.fm-nested-advanced{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px}.fm-nested-advanced>summary{cursor:pointer}.fm-nested-advanced[open]>summary{margin-bottom:10px}
.fm-expected{min-width:0;display:grid;align-content:start;gap:8px}#formula-admin-body [hidden]{display:none!important}
.fm-source-text{white-space:pre-wrap;max-height:360px;overflow:auto;line-height:1.8;margin-top:10px}
.fm-publish{padding:14px;margin-top:20px;border:1px solid var(--accent);border-radius:9px}
.fm-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:10px 0;min-height:1.7em}.fm-message.error,.fm-error-list{color:var(--red,#c62828)}
.fm-result{overflow-x:auto;margin-top:14px}.fm-result table{border-collapse:collapse;width:100%;margin:12px 0}.fm-result th,.fm-result td{padding:9px;border:1px solid var(--line);text-align:left;overflow-wrap:anywhere}
.fm-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.fm-result details{margin:14px 0}
@media(max-width:1000px){#formula-admin-body{padding:12px}}


.fm-summary{border:1px solid var(--line);border-radius:12px;padding:20px;line-height:1.75}.fm-summary h3{margin:0 0 12px;font-size:1.18em}
.fm-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.fm-summary-grid>div{min-width:0;overflow-wrap:anywhere}.fm-summary-grid dt{color:var(--tx-dim)}.fm-summary-grid dd{margin:4px 0 0}.fm-summary ul{padding-left:24px}
.fm-workflow{display:flex;flex-wrap:wrap;gap:10px;line-height:1.7;margin:16px 0;color:var(--tx-dim)}
.fm-edit-details,.fm-test-panel{margin:18px 0;border:1px solid var(--line);border-radius:12px;padding:16px}.fm-edit-details>summary,.fm-test-panel>summary{cursor:pointer;font-weight:650;line-height:1.7}.fm-edit-details[open]>summary,.fm-test-panel[open]>summary{margin-bottom:16px}
.fm-list-group{display:grid;gap:9px;margin-bottom:18px}#formula-admin-body .fm-danger{color:var(--red);background:var(--bg-card)}
.fm-workflow{list-style:none;padding:0}.fm-workflow li{padding:8px 13px;border-radius:8px;background:var(--bg-soft)}.fm-active-scope{margin:12px 0;padding:14px;border-left:4px solid var(--accent);background:var(--accent-soft)}.fm-scope-notes{margin:16px 0}.fm-review-state{padding:12px;background:var(--bg-soft);border-radius:9px}

/* Human-readable formula management: equations and business labels are primary. */
.fm-human-workspace{min-width:0;margin:16px 0 24px}.fm-human-workspace h3{font-size:1.16em;margin:0 0 12px}
.fm-equation-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:14px 0}
.fm-equation-card{min-width:0;padding:17px 20px;border:1px solid var(--line);border-radius:11px;background:var(--bg-card);line-height:1.8}
.fm-equation-card h3,.fm-equation-card h4{margin:0 0 8px;font-size:1em}.fm-equation-line{font-size:1.08em;line-height:1.9;font-weight:550;color:var(--tx);overflow-wrap:anywhere;white-space:pre-wrap}
.fm-equation-card>summary{cursor:pointer;font-weight:600}.fm-equation-card[open]>summary{margin-bottom:16px}.fm-equation-card .fm-actions{margin-top:12px}
.fm-definition-section{min-width:0;border:1px solid var(--line);border-radius:12px;padding:18px;margin:16px 0}.fm-definition-section>summary{font-weight:650;cursor:pointer;line-height:1.8}.fm-definition-section[open]>summary{margin-bottom:16px}
.fm-technical{margin:12px 0;color:var(--tx-dim);font-size:var(--font-size-base)}.fm-technical>summary{cursor:pointer}.fm-technical[open]{border-left:3px solid var(--line);padding-left:13px}.fm-percent{display:flex;align-items:center;gap:8px}
.fm-percent input{width:100%;min-width:0}.fm-percent>span{flex:none}.fm-dictionary .fm-muted{margin:4px 0}
.fh-node{min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--bg-card);padding:12px;margin:8px 0;line-height:1.7}
.fh-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.fh-head select{flex:1;min-width:160px}.fh-fields{display:grid;gap:10px;margin-top:10px}.fh-fields>label,.fh-policy{display:grid;gap:6px;min-width:0}.fh-child{padding-left:12px;border-left:2px solid var(--accent-soft);min-width:0}.fh-child>span,.fh-child>label{color:var(--tx-dim)}
.fh-args{display:grid;gap:9px}.fh-arg{min-width:0}.fh-node input,.fh-node select,.fh-node textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg-card);color:var(--tx);font:inherit;box-sizing:border-box}.fh-node input[type=checkbox]{width:18px;height:18px}
.fh-summary{padding:10px 13px;background:var(--accent-soft);border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:8px 0}
.fh-muted{color:var(--tx-dim);line-height:1.7}.fh-reference,.fh-value{display:grid;gap:8px;min-width:0}.fh-advanced{border-left:3px solid var(--line);padding-left:12px;margin:10px 0}.fh-advanced>summary{cursor:pointer;font-weight:600}.fh-advanced textarea{min-height:130px}
.fh-field{display:grid;gap:6px;min-width:0}.fh-head>.fh-field{flex:1}.fh-child-label,.fh-node-title{font-weight:600;margin:5px 0 9px}.fh-ratio-note{color:var(--tx-dim);line-height:1.75;margin:8px 0}.fh-child-label button{margin-left:10px;font-weight:400}
.fm-parameter-grid{display:grid;grid-template-columns:1fr;gap:10px}.fm-parameter-grid>.fm-card{margin:0;padding:13px 16px}.fm-param-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(90px,.8fr) minmax(110px,.9fr);gap:12px}.fm-param-main .fm-field{margin:0 0 8px}
.fm-source-hint{line-height:1.7;overflow-wrap:anywhere;margin:8px 0;color:var(--tx-dim)}.fm-human-title h3{font-size:1.23em;margin:0 0 8px}.fm-scope-details,.fm-catalog-details{margin:12px 0;line-height:1.75}.fm-scope-details>summary,.fm-catalog-details>summary{cursor:pointer}.fm-scope-details[open]>.fm-summary-container{margin-top:14px}
.fm-expression>summary{display:grid;gap:8px}.fm-expression>summary .fm-equation-line{font-weight:400}.fm-message:empty{display:none}.fm-equations>.fm-heading>span{color:var(--tx-dim)}
@media(max-width:720px){.fm-equation-card,.fm-definition-section{padding:13px}.fm-equation-line{font-size:1em}.fh-node{padding:9px}.fh-child{padding-left:7px}.fh-head{align-items:stretch;flex-direction:column}.fh-head select{min-width:0;width:100%}.fm-equation-grid{gap:9px}}
@media(max-width:720px){.fm-param-main{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-param-main>.fm-field:first-child{grid-column:1/-1}.fm-parameter-grid>.fm-card{padding:12px}.fh-child-label button{margin:8px 0 0}.fm-human-title h3{font-size:1.12em}}

/* Respond to the space the editor actually gets, including larger text settings. */
#formula-admin-body .fm-filters{margin:12px 0}
#formula-admin-body .fm-overview{margin:12px 0 16px}
#formula-admin-body .fm-filters .fm-field{margin:4px 0}
#formula-admin-body>.fm-section{margin-top:12px;padding-top:12px}
#formula-admin-body .fm-catalog-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
#formula-admin-body .fm-catalog-counts>div{padding:12px 16px}
#formula-admin-body .fm-catalog-counts strong{line-height:1.3}
#formula-admin-body .fm-card ul{padding-left:1.35em}
#formula-admin-body .fm-card,#formula-admin-body .fm-summary,#formula-admin-body .fm-definition-section{min-width:0}

@container formula-manager (max-width:1080px){
  .fm-layout{grid-template-columns:minmax(0,1fr);gap:20px;height:auto;min-height:0}
  .fm-list{height:360px}
  .fm-list .fm-list-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-content:start}
  .fm-editor{height:72dvh;min-height:320px}
}
@container formula-manager (max-width:640px){
  #formula-admin-body .fm-catalog-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #formula-admin-body .fm-catalog-counts>div{padding:10px 12px}
  .fm-filters{grid-template-columns:minmax(0,1fr)}
}
@container formula-editor (max-width:720px){
  .fm-summary{padding:14px}
  .fm-summary-grid{grid-template-columns:minmax(0,1fr)}
  .fm-param-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-param-main>.fm-field:first-child{grid-column:1/-1}
  .fm-equation-card,.fm-definition-section,.fm-edit-details,.fm-test-panel,.fm-publish{padding:12px}
  .fh-node{padding:9px}
  .fh-child{padding-left:6px}
  .fh-head select{min-width:0}
}
@container formula-editor (max-width:440px){
  .fm-grid,.fm-param-main{grid-template-columns:minmax(0,1fr)}
  .fh-head{align-items:stretch;flex-direction:column}
  .fh-head>.fh-field{flex:auto;width:100%}
  .fh-child{padding-left:4px}
  .fh-node .fh-node{padding:6px}
  .fm-workflow{display:grid;grid-template-columns:minmax(0,1fr)}
}
@media(max-width:720px){
  #admin,#rules{padding:14px 12px}
  .fm-summary{padding:14px}
  .fm-summary-grid{grid-template-columns:minmax(0,1fr)}
}

/* Daily maintenance presents business values and examples before structure. */
.fm-easy-scope{line-height:1.8;padding:12px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);margin:12px 0}
#formula-admin-body .fm-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#formula-admin-body .fm-workflow li{padding:0;background:none}
#formula-admin-body .fm-workflow button{width:100%;height:100%;text-align:left;padding:10px 12px;background:var(--bg-soft)}
.fm-business-parameters{gap:12px}
.fm-easy-parameter-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,240px);align-items:center;gap:16px}
.fm-parameter-label{line-height:1.7;font-weight:600}
.fm-value-with-unit{display:flex;gap:10px;align-items:center;min-width:0}
.fm-parameter-value{min-width:0;flex:1}
.fm-easy-parameter .fm-parameter-value .fm-field{margin:0}
.fm-easy-parameter .fm-parameter-value .fm-field>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.fm-value-unit{flex:none;max-width:8em;line-height:1.5}
.fm-item-settings{margin-top:10px;line-height:1.7}
.fm-item-settings>summary{cursor:pointer;color:var(--tx-dim)}
.fm-item-settings[open]{border-top:1px solid var(--line);padding-top:10px}
.fm-expert-settings{border:1px dashed var(--line);border-radius:10px;padding:12px 14px;margin-top:18px}
.fm-expert-settings>summary{font-weight:500;color:var(--tx-dim);line-height:1.7}
.fm-empty-guide{line-height:1.8;padding:14px;background:var(--bg-soft);border-radius:8px}
.fm-example-picker{border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--bg-soft)}
.fm-example-choice{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.fm-example-choice>.fm-field{flex:1 1 240px;margin:0}
.fm-example-choice>button{flex:0 1 auto}
.fm-example-expected{list-style:none;padding:0!important;margin:8px 0;display:grid;gap:8px}
.fm-example-expected li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fm-example-expected li>span{flex:1 1 220px}.fm-example-expected strong{font-size:1.18em}
.fm-custom-trial,.fm-calculation-guide{margin:18px 0;line-height:1.8}
.fm-custom-trial>summary,.fm-calculation-guide>summary{cursor:pointer;color:var(--accent);font-weight:500}
.fm-calculation-guide[open]>summary{margin-bottom:14px}
.fm-calculation-steps{padding-left:1.7em;margin:12px 0;display:grid;gap:12px;line-height:1.8}
.fm-calculation-steps li{padding-left:4px;min-width:0}.fm-calculation-steps li::marker{color:var(--accent);font-weight:700}
.fm-calculation-steps p{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.fm-calculation-steps b{font-weight:600}
@container formula-editor (max-width:580px){
  .fm-easy-parameter-main{grid-template-columns:minmax(0,1fr);gap:10px}
  .fm-value-with-unit{max-width:320px}
  #formula-admin-body .fm-workflow{grid-template-columns:minmax(0,1fr)}
  .fm-example-choice>button{width:100%}
  .fm-example-picker,.fm-expert-settings{padding:12px}
}

/* Formula inputs: labels stay outside; editable values and their units share a frame. */
#formula-admin-body{--fm-control-border:color-mix(in srgb,var(--line) 70%,var(--tx-dim));--fm-control-shadow:0 1px 2px rgba(16,24,40,.04)}
#formula-admin-body :is(input:not([type="checkbox"]):not([type="hidden"]),select,textarea){
  min-height:50px;padding:11px 14px;border:1px solid var(--fm-control-border);border-radius:11px;
  background-color:var(--bg-input);color:var(--tx);line-height:1.5;box-shadow:var(--fm-control-shadow);
  transition:border-color .15s,box-shadow .15s,background-color .15s}
#formula-admin-body :is(input,textarea)::placeholder{color:var(--tx-dim);opacity:.72;font-weight:400}
#formula-admin-body :is(input:not([type="hidden"]),select,textarea):hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--line) 40%,var(--tx-dim))}
#formula-admin-body :is(input:not([type="hidden"]),select,textarea):focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
#formula-admin-body :is(input,select,textarea):disabled{background-color:var(--bg-soft);color:var(--tx-dim);box-shadow:none;cursor:not-allowed}
#formula-admin-body input:read-only:not([type="checkbox"]):not([type="hidden"]){background-color:var(--bg-soft)}
#formula-admin-body :is(input,select,textarea)[aria-invalid="true"]{border-color:var(--red);box-shadow:0 0 0 3px var(--red-bg)}
#formula-admin-body input[inputmode="decimal"]{font-variant-numeric:tabular-nums;text-align:right}
#formula-admin-body textarea{padding:13px 15px;line-height:1.7;min-height:108px}
#formula-admin-body select{appearance:none;cursor:pointer;padding-right:42px;
  background-image:linear-gradient(45deg,transparent 50%,var(--tx-dim) 50%),linear-gradient(135deg,var(--tx-dim) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
[data-theme="dark"] #formula-admin-body :is(input[type="date"],input[type="time"]){color-scheme:dark}
#formula-admin-body .fm-field,#formula-admin-body .fh-field{gap:9px}
#formula-admin-body .fm-field>span:first-child,#formula-admin-body .fh-field>span:first-child{font-weight:600;line-height:1.55}
.fm-label-text{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.fm-label-text>.fm-field-name{min-width:0;flex:1}
.fm-field-badge{flex:none;font-weight:400;color:var(--tx-dim);background:var(--bg-soft);border-radius:6px;padding:1px 7px}
.fm-field-help{display:block;color:var(--tx-dim);font-weight:400!important;line-height:1.6}
#formula-admin-body .fm-filters{padding:16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;gap:16px}
#formula-admin-body .fm-filters .fm-field{margin:0}
.fm-business-parameters>.fm-card{padding:18px 20px;border-radius:14px;background:var(--bg-card);box-shadow:var(--fm-control-shadow)}
.fm-business-parameters>.fm-card:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 20%,var(--bg-card))}
.fm-easy-parameter-main{grid-template-columns:minmax(0,1fr) minmax(170px,250px);gap:20px}
.fm-parameter-label{font-weight:600;line-height:1.65}
#formula-admin-body :is(.fm-value-with-unit,.fm-input-shell){display:flex;align-items:stretch;gap:0;min-width:0;
  border:1px solid var(--fm-control-border);border-radius:11px;background:var(--bg-input);box-shadow:var(--fm-control-shadow);
  transition:border-color .15s,box-shadow .15s}
#formula-admin-body :is(.fm-value-with-unit,.fm-input-shell):focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
#formula-admin-body :is(.fm-value-with-unit,.fm-input-shell):has([aria-invalid="true"]){border-color:var(--red);box-shadow:0 0 0 3px var(--red-bg)}
#formula-admin-body :is(.fm-value-with-unit,.fm-input-shell) :is(input,select){flex:1;min-width:0;width:100%;border:0!important;box-shadow:none!important;outline:0!important;background-color:transparent}
#formula-admin-body .fm-easy-parameter .fm-parameter-value :is(input,select){font-weight:600;font-size:1.06em}
.fm-input-unit,.fm-value-unit{display:flex;align-items:center;justify-content:center;flex:none;max-width:8em;min-width:46px;
  padding:10px 13px;border-left:1px solid var(--line);border-radius:0 10px 10px 0;background:var(--bg-soft);color:var(--tx-dim);font-weight:500;line-height:1.4}
.fm-input-unit:empty,.fm-value-unit:empty{display:none}
.fm-input-shell:has(input:disabled),.fm-value-with-unit:has(:disabled){background:var(--bg-soft)}
.fm-parameter-help{margin:8px 0 0;color:var(--tx-dim);line-height:1.6}
.fm-parameter-help:empty{display:none}
.fm-item-settings{margin-top:14px}.fm-item-settings>summary{font-weight:400}
.fm-example-picker{padding:18px;border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 25%,var(--bg-card))}
.fm-example-choice{gap:14px}.fm-example-choice>button{min-height:50px}
.fm-test-values{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:12px}
.fm-test-values>.fm-field>.fm-label-text{min-height:1.55em;align-items:flex-start}
@container formula-editor (max-width:580px){
  .fm-easy-parameter-main{grid-template-columns:minmax(0,1fr);gap:12px}
  .fm-value-with-unit{width:100%;max-width:none}
  .fm-business-parameters>.fm-card{padding:15px}
  .fm-test-values{grid-template-columns:minmax(0,1fr)}
  .fm-test-values>.fm-field>.fm-label-text{min-height:0}
}
@container formula-manager (max-width:640px){#formula-admin-body .fm-filters{padding:13px;gap:14px}}
@media(prefers-reduced-motion:reduce){#formula-admin-body :is(input,select,textarea,.fm-value-with-unit,.fm-input-shell){transition:none}}
/* Keep the creation action beside the knowledge review title. */
#rules .rules-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
#rules .rules-page-heading>.pg-h{flex:1;min-width:0;margin:0;font-size:1.5em}
#rules .rules-page-heading>.pg-h>.pg-sub{font-size:var(--font-size-base)}
#rules .rules-add-button{flex:none;min-height:48px;padding:10px 18px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:var(--accent-contrast);font:inherit;font-weight:650;cursor:pointer}
#rules .rules-add-button:hover{filter:brightness(.94)}
#rules .rules-add-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:720px){#rules .rules-page-heading{flex-wrap:wrap}#rules .rules-page-heading>.pg-h{flex-basis:100%}}
.rules-review-assignment{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0;padding:14px 16px;border:1px solid var(--accent,#335ad6);border-radius:10px;background:var(--accent-soft,#eef2ff);font-size:16px;line-height:1.55}
.rules-review-assignment:empty{display:none}
.rules-review-assignment p{margin:4px 0 0;color:var(--muted,#596579);font-size:14px}
.rules-review-assignment button{flex-shrink:0;min-height:44px}
.rules-claim-badge{display:inline-block;margin-top:8px;padding:4px 9px;border-radius:6px;background:#fff3de;color:#83520b;font-size:14px;font-weight:700}
.rules-claim-badge.mine{background:#e5f4ed;color:#176642}
@media(max-width:900px){.rules-review-assignment{align-items:stretch;flex-direction:column}}
.rules-list-filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.rules-list-order{margin:0;color:var(--tx-dim);font-size:14px;white-space:nowrap}
.rules-organization-counts{margin:0;padding:8px 14px 12px;color:var(--tx-dim);font-size:14px;line-height:1.6}
.rules-unit-merged{color:var(--accent);font-size:.9em}
.rules-list-item [data-claim-key]:empty{display:none}
.rules-unit-status{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg-soft);color:var(--tx-dim);font-weight:700}
.rules-unit-status.in-progress{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.rules-unit-status.completed{border-color:var(--green);color:var(--green)}
#rules-leave-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;inset:0;margin:auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--bg-card);color:var(--tx);box-shadow:0 20px 70px #0004;font-size:18px;line-height:1.6}
#rules-leave-dialog::backdrop{background:rgba(15,23,42,.45)}
#rules-leave-dialog h2{margin:0 0 18px;font-size:22px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
#rules-leave-dialog .rules-leave-unit{padding:12px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:650}
#rules-leave-description{margin:16px 0 24px;color:var(--tx-dim)}
.rules-leave-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}
#rules-leave-dialog button{min-height:48px;padding:10px 20px;border:1px solid var(--accent);border-radius:8px;background:var(--bg-card);color:var(--accent);font:inherit;font-weight:650;cursor:pointer}
#rules-leave-dialog [data-leave="stay"]{background:var(--accent);color:var(--accent-contrast)}
#rules-leave-dialog button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.rules-unit-overview{padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.rules-unit-overview header>span{color:var(--accent);font-weight:650}
.rules-unit-overview h2{margin:4px 0 8px;font-size:1.15em;overflow-wrap:anywhere}
.rules-unit-checklist{padding:12px 14px;margin:12px 0;border:1px solid var(--accent);border-left:4px solid var(--accent);border-radius:8px;background:var(--accent-soft)}
.rules-unit-checklist-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}
.rules-unit-checklist-heading strong{font-size:1em}
.rules-unit-remaining{flex:none;padding:3px 10px;border-radius:6px;background:var(--bg-card);color:var(--accent);font-weight:750;white-space:nowrap}
.rules-unit-completion{display:flex;align-items:center;gap:16px;margin-top:10px}
.rules-unit-completion>span{flex:none;font-size:.9em}
.rules-unit-completion progress{flex:1;min-width:0;width:100%;height:10px;accent-color:var(--accent);border:0;border-radius:8px;overflow:hidden;background:var(--line)}
.rules-unit-completion progress::-webkit-progress-bar{background:var(--line);border-radius:8px}
.rules-unit-completion progress::-webkit-progress-value{background:var(--accent);border-radius:8px}
.rules-unit-completion progress::-moz-progress-bar{background:var(--accent);border-radius:8px}
.rules-unit-checklist p{margin:8px 0 0;color:var(--tx-dim);font-size:.9em;line-height:1.6}
.rules-unit-checklist.is-complete{border-color:var(--green)}
.rules-unit-checklist.is-complete .rules-unit-remaining{color:var(--green)}
.rules-unit-about{min-width:0;font-size:.9em}
.rules-unit-about summary{cursor:pointer;color:var(--accent)}
.rules-unit-about p{margin:8px 0;line-height:1.6;color:var(--tx)}
.rules-unit-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:12px}
.rules-criterion-picker{display:flex;flex-direction:column;gap:6px;min-width:0}
.rules-criterion-picker>span{display:flex;justify-content:space-between;gap:8px;font-size:.9em}
#rules .rules-criterion-picker select{display:block;width:100%;min-width:0;min-height:52px;padding:10px 34px 10px 12px;border:1px solid var(--accent);border-radius:8px;background:var(--bg-card);color:var(--tx);font:inherit;text-overflow:ellipsis}
#rules .rules-unit-navigation button{min-height:52px;white-space:nowrap}
#rules .rules-detail-pane{container:knowledge-review-detail / inline-size}
.rules-review-comparison{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.rules-review-proposal,.rules-review-source{min-width:0;overflow-wrap:anywhere}
.rules-review-proposal h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1em}
.rules-criterion-role{padding:2px 8px;border-radius:5px;color:var(--tx-dim);background:var(--bg-soft);font-size:.85em;font-weight:400}
#rules .rules-review-proposal .rules-detail-statement{margin:10px 0}
#rules .rules-review-source>.ax-evidence-panel{margin-top:0}
@container knowledge-review-detail (min-width:780px){
  .rules-review-comparison{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}
  .rules-review-source{border-left:1px solid var(--line);padding-left:24px}
}
@container knowledge-review-detail (max-width:500px){
  .rules-unit-navigation{grid-template-columns:1fr 1fr}
  .rules-criterion-picker{grid-column:1/-1;grid-row:1}
}

/* The shared criterion editor uses equal-height panes, with one scrollbar each. */
#common-criteria-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(1640px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:16px;color:var(--tx);background:var(--bg-card);font-size:17px;line-height:1.6;overflow:hidden}
#common-criteria-dialog *,#common-criteria-dialog *::before,#common-criteria-dialog *::after{box-sizing:border-box}
#common-criteria-dialog[open]{display:flex;flex-direction:column}
#common-criteria-dialog::backdrop{background:#14244488}
#common-criteria-dialog .common-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;border-bottom:1px solid var(--line);flex:none}
#common-criteria-dialog .common-header>div{min-width:0}
#common-criteria-dialog .common-header h2{margin:0;font-size:24px;line-height:1.4}
#common-criteria-dialog .common-header p{margin:4px 0 0;color:var(--tx-dim);font-size:16px;line-height:1.5}
#common-criteria-dialog .common-header>button{flex:none}
#common-criteria-dialog h2,#common-criteria-dialog h3,#common-criteria-dialog h4{margin:0 0 12px;line-height:1.5}
#common-criteria-dialog p{margin:8px 0 14px;line-height:1.7;overflow-wrap:anywhere}
#common-criteria-dialog button,#rules .packet-shared-item button,#rules .packet-common-ref{font:inherit;min-height:48px;border:1px solid var(--accent);color:var(--accent);background:var(--bg-card);border-radius:8px;padding:9px 14px;cursor:pointer;white-space:normal}
#common-criteria-dialog button:disabled{opacity:.45;cursor:default}
#common-criteria-dialog button:focus-visible,#common-criteria-dialog input:focus-visible,#common-criteria-dialog textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#common-criteria-dialog .common-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,30%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden}
#common-criteria-dialog .common-list,#common-criteria-dialog #common-detail{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;scrollbar-gutter:stable}
#common-criteria-dialog .common-list{display:flex;flex-direction:column;gap:14px;padding:16px;overflow:hidden;scrollbar-gutter:auto;border-right:1px solid var(--line);background:var(--bg-soft)}
#common-criteria-dialog #common-items{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 6px 2px 2px}
#common-criteria-dialog #common-summary,#common-criteria-dialog #common-pages,#common-criteria-dialog .common-list>form{flex:none}
#common-criteria-dialog .common-search-form{display:flex;align-items:flex-end;gap:8px;margin:0}
#common-criteria-dialog label{display:block;min-width:0;font-weight:600}
#common-criteria-dialog .common-search-form label{flex:1;display:grid;gap:6px}
#common-criteria-dialog input:not([type=checkbox]),#common-criteria-dialog textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;margin:0;padding:10px 12px;border:1px solid #96a5c2;border-radius:8px;color:var(--tx);background:var(--bg-card)}
#common-criteria-dialog .common-search-form input,#common-criteria-dialog .common-search-form button{height:48px;min-height:48px}
#common-criteria-dialog .common-search-form button{flex:none}
#common-criteria-dialog textarea{resize:vertical;min-height:96px;font-weight:400}
#common-criteria-dialog .common-edit form>label{display:grid;gap:8px;margin:0 0 18px}
#common-criteria-dialog .common-request form label{display:grid;gap:8px;margin-bottom:12px}
#common-criteria-dialog .common-list-item{display:grid;gap:6px;align-content:start;text-align:left;width:100%;margin:0 0 10px;border:2px solid var(--line);color:var(--tx);padding:12px 14px;overflow-wrap:anywhere;word-break:keep-all}
#common-criteria-dialog .common-list-item.selected{border-color:var(--accent);background:var(--accent-soft)}
#common-criteria-dialog .common-list-item b{display:block;margin:0;line-height:1.55}
#common-criteria-dialog .common-list-item span,#common-criteria-dialog small{color:var(--tx-dim);font-size:15px}
#common-criteria-dialog nav{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0;flex-wrap:wrap}
#common-criteria-dialog #common-pages{margin:0;padding-top:10px;border-top:1px solid var(--line);gap:6px}
#common-criteria-dialog #common-pages button{width:42px;padding:8px}
#common-criteria-dialog #common-pages>span{white-space:nowrap;min-width:60px;text-align:center}
#common-detail>section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
#common-detail article{padding:18px;margin:12px 0;border:1px solid var(--line);border-radius:10px}
#common-criteria-dialog dl>div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:12px;padding:5px 0}
#common-criteria-dialog dt{font-weight:650;color:var(--tx-dim)}
#common-criteria-dialog dd{margin:0;line-height:1.65;overflow-wrap:anywhere}
#common-criteria-dialog .common-source-fieldset{min-inline-size:0;min-width:0;border:1px solid var(--line);border-radius:10px;margin:0 0 18px;padding:14px 16px 16px}
#common-criteria-dialog .common-source-fieldset legend{padding:0 8px;max-width:100%;font-weight:600;white-space:normal}
#common-criteria-dialog .common-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
#common-criteria-dialog .common-source-choice{display:flex;align-items:center;gap:10px;min-width:0;min-height:46px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);cursor:pointer}
#common-criteria-dialog .common-source-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
#common-criteria-dialog .common-source-choice>span{overflow-wrap:anywhere}
#common-criteria-dialog input[type=checkbox]{appearance:auto;flex:none;min-height:0!important;width:22px!important;height:22px!important;accent-color:var(--accent);margin:0}
#common-criteria-dialog .common-actions{display:flex;flex-wrap:wrap;gap:10px}
#common-save{background:var(--accent)!important;color:white!important}
#common-criteria-dialog .common-impact,#common-summary,#common-unsaved{padding:14px;background:var(--accent-soft);border-radius:10px}
#common-criteria-dialog #common-summary{padding:12px 14px;font-size:16px}
#common-criteria-dialog #common-summary p{margin:4px 0 0;line-height:1.55;color:var(--tx-dim)}
#common-criteria-dialog .common-impact{margin-top:14px}
#common-criteria-dialog .common-impact span{font-weight:700}
#common-criteria-dialog .common-warning{color:#825818}
#common-criteria-dialog .common-source-text{white-space:pre-wrap}
#common-edit-status{margin-top:12px;line-height:1.6;color:var(--accent)}
#common-criteria-dialog #common-unsaved[hidden]{display:none}
#rules .packet-common-criteria{margin:18px 0;padding:18px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft)}
#rules .packet-shared-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--line)}
#rules .packet-shared-item>div{min-width:0;flex:1}
#rules .packet-shared-item p{margin:6px 0;line-height:1.6}
#rules .packet-shared-item small{color:var(--tx-dim)}
#rules .packet-common-ref{display:block;text-align:left;width:100%;margin:4px 0;font-size:15px}
@media(max-width:850px){#common-criteria-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}#common-criteria-dialog .common-layout{display:block;overflow:auto;overscroll-behavior:contain}#common-criteria-dialog .common-list{height:430px;min-height:430px;border-right:0;border-bottom:1px solid var(--line);padding:12px;gap:10px}#common-criteria-dialog #common-detail{overflow:visible;padding:16px;scrollbar-gutter:auto}#common-criteria-dialog .common-header{padding:12px 16px}#common-criteria-dialog .common-header h2{font-size:21px}#common-criteria-dialog .common-header p{display:none}#common-criteria-dialog dl>div{grid-template-columns:1fr;gap:4px}#common-criteria-dialog .common-actions>button{flex:1 1 160px}#rules .packet-shared-item{flex-wrap:wrap}}
#rules .rules-list-knowledge{display:block;color:var(--accent);font-size:.95em;font-weight:700}

/* A decision packet is read as one document, with the original beside it. */
.rules-packet{font-size:17px;line-height:1.7;overflow-wrap:anywhere}
.packet-heading>span{color:var(--accent);font-weight:700}
.packet-heading h2{font-size:23px;line-height:1.5;margin:6px 0 12px}
.packet-heading p,.packet-note{color:var(--tx-dim);margin:8px 0 16px}
.packet-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.packet-columns>section{min-width:0}
.packet-columns h3,.packet-decision h3{font-size:19px;margin:12px 0}
.packet-criterion{padding:18px 0;border-bottom:1px solid var(--line)}
.packet-criterion:first-of-type{border-top:2px solid var(--accent)}
.packet-criterion>header{display:flex;justify-content:space-between;gap:12px;align-items:center}
.packet-criterion>header>b{color:var(--accent)}
.packet-logic{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;margin:16px 0}
.packet-logic dt{font-weight:700;color:var(--tx-dim)}
.packet-logic dd{margin:0;white-space:pre-wrap}
.packet-logic ul{margin:0 0 6px;padding-left:20px}
.packet-logic small{color:var(--tx-dim)}
.packet-statement{white-space:pre-wrap;margin:14px 0}
.packet-source-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;border:0;margin:12px 0;padding:8px 12px;background:var(--bg-soft);border-radius:8px;min-width:0}
.packet-source-links label,.packet-confirm{display:flex;gap:10px;align-items:center;cursor:pointer}
.packet-source-option{display:inline-flex;gap:8px;align-items:center;padding:4px 0}
.packet-other-sources{width:100%;font-size:15px;margin-top:8px}
.packet-other-sources summary{cursor:pointer;color:var(--tx-dim)}
.packet-other-sources>div{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:12px}
#rules .rules-packet .packet-source-editor .packet-connect-source{display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;margin-top:8px;padding:10px 12px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-contrast);font-weight:650;line-height:1.4;white-space:normal;text-align:center;cursor:pointer;box-shadow:0 1px 2px #00000014;transition:filter .15s,box-shadow .15s}
#rules .packet-connect-source>span[aria-hidden]{flex:none}
#rules .packet-connect-source>span:last-child{min-width:0}
#rules .packet-connect-source:hover:not(:disabled){filter:brightness(.92);box-shadow:0 2px 5px #00000024}
#rules .packet-connect-source:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.packet-source-links input,.packet-confirm input{width:22px;height:22px;flex:none;accent-color:var(--accent)}
.packet-source{padding:18px;border:1px solid var(--line);border-radius:10px;margin:16px 0;background:var(--bg-soft);scroll-margin:16px}
.packet-source:focus{outline:3px solid var(--accent);outline-offset:3px}
.packet-source h4{margin:0;color:var(--accent)}
.packet-source p{margin:12px 0 0;white-space:pre-wrap}
.packet-history{margin-top:8px}
.packet-evidence-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(1800px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:14px;color:var(--tx);background:var(--bg);font:inherit;overflow:hidden}
.packet-evidence-dialog[open]{display:flex;flex-direction:column}
.packet-evidence-dialog::backdrop{background:rgba(15,23,42,.48)}
.packet-evidence-dialog .evidence-dialog-heading,.packet-evidence-dialog>footer{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:var(--bg);border-bottom:1px solid var(--line)}
.packet-evidence-dialog .evidence-dialog-heading{cursor:grab;user-select:none;touch-action:none}
.packet-evidence-dialog .evidence-dialog-heading.is-dragging{cursor:grabbing}
.packet-evidence-dialog .evidence-dialog-heading button{cursor:pointer;touch-action:manipulation}
.packet-evidence-dialog h2{margin:0;font-size:22px}
.packet-evidence-dialog h3{margin:0 0 14px;font-size:18px}
.packet-evidence-dialog p{line-height:1.7;overflow-wrap:anywhere}
.packet-evidence-dialog .evidence-dialog-heading p{margin:6px 0 0;color:var(--tx-dim)}
.packet-evidence-dialog .evidence-dialog-body{min-height:0;overflow:auto;padding:20px 24px;overscroll-behavior:contain}
.packet-evidence-dialog .evidence-target{padding:16px;background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:8px;margin-bottom:22px}
.packet-evidence-dialog .evidence-target p:last-child{margin-bottom:0}
.packet-evidence-dialog .evidence-search-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}
.packet-evidence-dialog .evidence-search-layout>section{min-width:0}
.packet-evidence-dialog .evidence-search-form{margin-bottom:16px}
.packet-evidence-dialog .evidence-search-form label{display:block;margin-bottom:8px}
.packet-evidence-dialog .evidence-search-form>div{display:flex;gap:8px}
.packet-evidence-dialog input[type=search]{min-width:0;flex:1;width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--tx);background:var(--bg)}
.packet-evidence-dialog button{min-height:44px;padding:9px 16px;border:1px solid var(--accent);border-radius:8px;background:var(--bg);color:var(--accent);font:inherit;cursor:pointer;white-space:normal;flex-shrink:0}
.packet-evidence-dialog button:disabled{opacity:.45;cursor:default}
.packet-evidence-dialog button:focus-visible,.packet-evidence-dialog input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.packet-evidence-dialog .evidence-search-card{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:12px;background:var(--bg)}
.packet-evidence-dialog .evidence-search-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.packet-evidence-dialog .evidence-original{white-space:pre-wrap;margin:12px 0 0}
.packet-evidence-dialog .evidence-title{color:var(--tx-dim);margin-bottom:0}
.packet-evidence-dialog .is-selected{background:var(--accent-soft)}
.packet-evidence-dialog .evidence-selected{padding-left:24px;border-left:1px solid var(--line);align-self:start;position:sticky;top:0;max-height:calc(100dvh - 260px);overflow:auto;overscroll-behavior:contain}
.packet-evidence-dialog nav{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:12px 0}
.packet-evidence-dialog>footer{border-top:1px solid var(--line);border-bottom:0}
.packet-evidence-dialog>footer p{margin:0;color:var(--tx-dim)}
.packet-evidence-dialog>footer>div{display:flex;gap:10px;flex-shrink:0}
.packet-evidence-dialog .evidence-apply{background:var(--accent);color:#fff}
@media(max-width:760px){.packet-evidence-dialog .evidence-search-layout{grid-template-columns:minmax(0,1fr)}.packet-evidence-dialog .evidence-selected{position:static;max-height:none;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.packet-evidence-dialog>footer{align-items:stretch;flex-direction:column}.packet-evidence-dialog .evidence-dialog-heading,.packet-evidence-dialog>footer,.packet-evidence-dialog .evidence-dialog-body{padding:14px}}
.packet-previous{margin-top:20px}
.packet-previous summary{cursor:pointer;color:var(--tx-dim)}
.packet-decision{margin-top:28px;border-top:2px solid var(--accent);padding:20px 0 8px}
#rules .packet-confirm{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:12px;background:var(--accent-soft);padding:16px;border:1px solid var(--line);border-radius:8px;font-size:17px;line-height:1.6;cursor:pointer}
#rules .packet-confirm>input{appearance:auto;width:22px;height:22px;min-width:22px;min-height:22px;max-height:22px;margin:3px 0 0;padding:0;align-self:start;accent-color:var(--accent)}
#rules .packet-confirm>span{min-width:0;margin:0;line-height:inherit;overflow-wrap:anywhere}
.packet-actions{display:flex;gap:12px;flex-wrap:wrap}
#rules .packet-actions button,#rules #packet-request button{min-height:50px;padding:10px 24px;font-size:18px;font-weight:650;border:1px solid var(--accent);border-radius:8px;color:var(--accent);background:var(--bg-card);cursor:pointer}
#rules .packet-actions .packet-approve{background:var(--accent);color:var(--accent-contrast)}
#rules .packet-actions button:disabled,#rules #packet-request button:disabled{opacity:.5;cursor:default}
#packet-request{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:10px}
#packet-request label{display:block;font-weight:650}
#packet-guidance{display:block;box-sizing:border-box;width:100%;margin:12px 0;padding:14px;border:1px solid var(--accent);border-radius:8px;background:var(--bg-card);color:var(--tx);font:inherit;resize:vertical}
#packet-request button+button{margin-left:10px}
#packet-message{margin-top:16px}
.rules-packet-inventory{margin:4px 2px 0;color:var(--tx-dim);font-size:inherit}
.rules-packet-inventory summary{cursor:pointer}
#rules .rules-list-pane .rules-packet-inventory summary{padding:3px 0;min-height:32px;line-height:1.5;box-sizing:border-box}
#rules .rules-list-item.rules-packet-list-item{gap:6px;padding:10px 12px;line-height:1.45}
#rules .rules-list-item.rules-packet-list-item[aria-pressed=true]{padding:9px 11px}
#rules .rules-packet-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
#rules .rules-packet-list-heading .rules-unit-status{flex:none;font-size:inherit;padding:1px 7px;line-height:1.4}
#rules .rules-packet-list-item .rules-list-sentence{-webkit-line-clamp:2;line-height:1.5}
#rules .rules-packet-list-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;font-size:inherit;color:var(--tx-dim)}
#rules .rules-packet-list-footer [data-packet-claim]:empty{display:none}
#rules .rules-packet-list-footer .rules-claim-badge{margin:0;padding:1px 6px;font-size:inherit;line-height:1.4;overflow-wrap:anywhere}
#rules .rules-packet-list-item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* On shorter desktop windows, leave room for actual review items below the
   summary and filters without reducing reading text or hiding controls. */
@media(min-width:901px) and (max-height:800px){
  #rules #axiom-workbench-pager{padding:6px 10px}
  #rules #axiom-workbench-pager .rules-page-range{margin:0 0 4px;line-height:1.4}
  #rules #axiom-workbench-pager .rules-pagination button{min-height:48px}
}
#rules .rules-packet .rules-review-assignment{margin:16px 0;display:flex;gap:12px;align-items:center;justify-content:space-between}
@container knowledge-review-detail (min-width:780px){
  .packet-columns{grid-template-columns:minmax(0,1fr)}
}
/* Scope the reading sheet so generic admin forms cannot stretch its controls. */
body.rules-mode #rules .rules-review-layout{grid-template-columns:minmax(340px,min(27%,440px)) minmax(0,1fr)}
#rules .rules-packet,#rules .rules-packet *{box-sizing:border-box}
#rules .rules-packet{min-width:0;max-width:100%;word-break:normal;overflow-wrap:anywhere}
#rules .packet-reading-summary{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:12px 16px;background:var(--accent-soft);border-radius:10px}
#rules .packet-reading-summary strong{color:var(--accent);font-size:18px}
#rules .packet-reading-summary span{font-size:15px;color:var(--tx-dim)}
#rules .packet-columns{align-items:start;gap:22px}
#rules .packet-columns>section{min-width:0;max-width:100%}
#rules .packet-columns h3{margin:6px 0}
#rules .packet-columns>section>.packet-note{margin:6px 0 10px}
#rules .packet-comparison-head,#rules .packet-comparison-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(264px,.8fr);gap:0}
#rules .packet-comparison-head{background:var(--accent-soft);border:1px solid var(--line);border-bottom:2px solid var(--accent);border-radius:10px 10px 0 0;color:var(--accent);font-size:16px;font-weight:700}
#rules .packet-comparison-head>span{padding:8px 12px}
#rules .packet-comparison-row{border:1px solid var(--line);border-top:0;background:var(--bg-card)}
#rules .packet-comparison-row:last-child{border-radius:0 0 10px 10px}
#rules .packet-comparison-row>div{padding:10px 12px;min-width:0;max-width:100%;white-space:normal}
#rules .packet-comparison-row>div+div{border-left:1px solid var(--line)}
#rules .packet-comparison-condition>.packet-statement{margin:6px 0 0}
#rules .packet-comparison-condition>.packet-logic{margin:6px 0;gap:8px 12px}
#rules .packet-comparison-result{font-weight:600}
#rules .packet-full-statement{grid-column:1 / span 2}
#rules .packet-assertion-qualifiers{margin:8px 0 0;padding:8px 12px;background:var(--bg-secondary,#f5f7fb);border-radius:8px;font-size:.94em}
#rules .packet-assertion-qualifiers>div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:10px;padding:3px 0}
#rules .packet-assertion-qualifiers dt{font-weight:700;color:var(--text-secondary,#536176)}
#rules .packet-assertion-qualifiers dd,#rules .packet-assertion-qualifiers p{margin:0;overflow-wrap:anywhere}
#rules .packet-assertion-qualifiers p+p{margin-top:5px}
#rules .packet-source-question{margin-top:12px;padding:14px;border:1px solid #d8ac58;border-radius:8px;background:#fff8e9;color:#513b15;overflow-wrap:anywhere}
#rules .packet-source-question p{margin:8px 0}
#rules .packet-source-question a{color:#3155bc;text-decoration:underline}
#rules .packet-comparison-result small{display:block;margin-top:10px;font-size:14px;line-height:1.6;font-weight:400;color:var(--tx-dim)}
#rules .packet-role{display:inline-block;padding:2px 8px;border-radius:5px;background:var(--bg-soft);color:var(--accent);font-size:14px;font-weight:650;margin-bottom:6px}
#rules .packet-common-subject{font-weight:650;line-height:1.6}
#rules .packet-conditions{margin:6px 0 0;padding-left:20px}
#rules .packet-conditions li+li{margin-top:4px}
#rules .packet-alternative-label,#rules .packet-scope{font-size:15px;color:var(--tx-dim)}
#rules .packet-source-jump{display:block;max-width:100%;min-height:44px;min-width:0;width:100%;margin:0 0 6px;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:15px;white-space:normal;cursor:pointer}
#rules .packet-comparison-evidence [data-packet-links]{display:flex;flex-wrap:wrap;gap:6px}
#rules .packet-comparison .packet-comparison-evidence .packet-source-jump{width:auto;min-height:44px;margin:0;padding:6px 10px}
#rules .packet-evidence-actions{display:flex;align-items:start;flex-wrap:wrap;gap:4px 8px;margin-top:4px}
#rules .packet-evidence-actions>.packet-source-editor{flex:0 1 auto;margin:0}
#rules .packet-evidence-actions>.packet-source-editor[open]{flex-basis:100%}
#rules .packet-evidence-actions>.packet-history-actions{flex:1 1 auto;margin:0}
#rules .packet-source-editor{min-width:0;font-size:15px;margin-top:10px}
#rules .packet-branch-evidence{min-width:0;font-size:15px}
#rules .packet-branch-evidence+.packet-branch-evidence{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
#rules .packet-branch-evidence>b{display:block;margin-bottom:8px}
#rules .packet-comparison .packet-source-editor>summary{color:var(--tx-dim);cursor:pointer;line-height:1.6;min-height:44px;padding:10px 0}
#rules .packet-source-editor p{margin:10px 0;font-size:14px;color:var(--tx-dim)}
#rules .packet-source-editor .packet-source-links{padding:8px;margin:8px 0;gap:8px}
#rules .packet-source-option{display:flex;gap:7px;align-items:center;max-width:100%;white-space:normal;font-size:15px;cursor:pointer}
#rules .packet-source-option input{appearance:auto;width:20px!important;height:20px!important;min-height:0!important;min-width:0!important;padding:0!important;margin:0;flex:none;accent-color:var(--accent)}
#rules .packet-originals .packet-source{padding:12px 16px;margin:0 0 8px}
#rules .packet-originals h3{margin-top:6px}
#rules .packet-originals .packet-source p{margin-top:6px}
#rules .packet-originals .packet-source p{font-size:16px;line-height:1.75}
#rules .packet-missing{color:var(--red);font-weight:600}
#rules .packet-review-status{display:inline-block;margin-left:8px;font-size:15px;color:var(--tx-dim)}
#rules .packet-history-actions{display:flex;flex-direction:column;gap:6px;margin-top:10px}
#rules .packet-history-actions .packet-history{margin:0;min-width:0;white-space:normal}
#rules .packet-comparison-evidence .packet-history-actions .packet-history{min-height:44px;padding:6px 8px}
#rules .packet-comparison-row>.packet-comparison-history:not([hidden]){grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);background:var(--bg-soft)}
#rules .packet-decision{margin-top:20px;padding-top:16px}
#rules .packet-decision>p,#rules #packet-evidence-progress{font-size:15px;color:var(--tx-dim)}
#rules .packet-decision>p{margin:10px 0 14px}
#rules #packet-evidence-progress{margin:12px 0 16px;line-height:1.6}
#rules .packet-decision>.packet-actions{align-items:stretch;gap:12px;margin:0 0 14px}
#rules .rules-packet .rules-review-assignment{padding:10px 14px;font-size:15px}
#rules .packet-reading-summary+div{min-width:0}
@container knowledge-review-detail (min-width:1120px){
  #rules .packet-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  /* Keep short evidence beside long comparisons; long evidence scrolls in its
     own pane, capped to the actual detail viewport rather than the page. */
  #rules .packet-originals{position:sticky;top:0;align-self:start;min-height:0;max-height:var(--packet-reading-height,calc(100dvh - 240px));overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 8px 6px 4px;scroll-padding:12px}
}
@container knowledge-review-detail (max-width:620px){
  #rules .packet-comparison-head{display:none}
  #rules .packet-comparison-row{grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:10px;margin-bottom:12px}
  #rules .packet-full-statement{grid-column:auto}
  #rules .packet-comparison-row>div+div{border-left:0;border-top:1px solid var(--line)}
  #rules .packet-comparison-result:before{content:'판단 결과';display:block;color:var(--tx-dim);font-size:14px;margin-bottom:6px}
  #rules .packet-comparison-evidence>div{display:flex;gap:6px;flex-wrap:wrap}
  #rules .packet-source-jump{width:auto}
  #rules .packet-actions>button{width:100%}
}
@media(max-width:900px){body.rules-mode #rules .rules-review-layout{grid-template-columns:minmax(0,1fr)}}
@container knowledge-review-detail (max-width:500px){
  .packet-logic{grid-template-columns:minmax(0,1fr);gap:6px}
  .packet-actions{flex-direction:column}
}
