/* editors.css - the Edit data view, the Changes view, the read-only banner. */
.readonly-banner{background:#FCEDEE;border-bottom:2px solid var(--red);color:var(--ink);padding:8px 16px;font-size:13px;font-weight:600}
/* app.css sizes .shell as 100vh minus the topbar.  While the banner shows, the page becomes a
   column and the shell takes what is left, so the banner never pushes the shell off screen
   (whatever its height when it wraps). */
body:has(> .readonly-banner:not([hidden])){display:flex;flex-direction:column;height:100vh}
body:has(> .readonly-banner:not([hidden])) > .topbar,
body:has(> .readonly-banner:not([hidden])) > .readonly-banner{flex:none}
body:has(> .readonly-banner:not([hidden])) > .shell{flex:1 1 auto;min-height:0;height:auto}
.tabstrip{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:12px}
.tab{border:1px solid transparent;border-bottom:none;background:none;padding:7px 12px;border-radius:6px 6px 0 0;cursor:pointer;font:inherit;font-weight:600;color:var(--grey)}
.tab.on{background:var(--paper);border-color:var(--line);color:var(--ink);margin-bottom:-1px}
.ed-layout{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:14px;align-items:start}
@media (max-width:760px){.ed-layout{grid-template-columns:1fr}}
.ed-list{display:flex;flex-direction:column;gap:2px;max-height:70vh;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:4px}
.ed-item{text-align:left;border:0;background:none;padding:6px 8px;border-radius:5px;cursor:pointer;font:inherit}
.ed-item.on{background:var(--navy);color:#fff}
.ed-item .small{display:block}
.ed-form .field-row > .field{flex:1 1 160px}
.checklist{display:flex;flex-wrap:wrap;gap:4px 12px;max-height:180px;overflow:auto;font-size:13px}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}
/* The rule form (ruleform.js), open in place of a rule row or at the top of the Rules view. */
.rule-form{border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:8px;background:var(--paper);padding:10px 12px;margin:8px 0}
.rule-form h3{margin:0 0 4px}
.rule-form fieldset.plain{margin:6px 0 4px}
.rule-form .rf-pick input[type=search]{max-width:220px;margin-bottom:4px}
.rule-form .checklist .rf-group{flex-basis:100%;font-weight:650;font-size:12px;color:var(--grey);margin-top:4px}
.rule-form .rf-block{border-bottom:1px dashed var(--line);padding:4px 0}
.rule-form .rf-patterns{margin:2px 0;padding-left:18px}
.rule-form [data-rf-errors] ul{margin:4px 0 0;padding-left:18px}
/* A rule's own note, kept as written, behind a disclosure under the generated description. */
.rule-note{margin-top:3px;font-size:12px;color:var(--grey)}
.rule-note summary{cursor:pointer}
.rule-note div{white-space:pre-line;overflow-wrap:anywhere;margin-top:2px}
.avail{display:grid;grid-template-columns:52px repeat(5,1fr);gap:1px;user-select:none;font-size:11px;max-width:520px}
.avail .av-h{font-weight:600;text-align:center;color:var(--grey)}
.avail .av-t{color:var(--grey);text-align:right;padding-right:4px}
.avail .av-c{height:12px;background:#E6EAF0;cursor:crosshair}
.avail .av-c.on{background:#3E8E5E}
.changes td{vertical-align:top}
.changes tr.st-undone td,.changes tr.st-reverted td{color:var(--grey);text-decoration:line-through}
.table-scroll{overflow-x:auto;max-width:100%}
.imp-map td{vertical-align:top}
.imp-map select{max-width:260px}
/* Start next term: the class choice's longest option must not widen the page on a phone. */
[data-nt-form] .field{min-width:0;max-width:100%}
[data-nt-form] select{width:100%}
.ch-notes{margin:4px 0 0;padding-left:18px}
.imp-filters{margin:4px 0 10px}
.imp-review td{vertical-align:top}
.imp-review tr.imp-skipped td{color:var(--grey)}
.imp-flags{margin:0;padding:0;list-style:none;font-size:13px}
.imp-flags li{margin:0 0 3px}
.imp-bulk{margin:4px 0 8px}
.imp-dates p{margin:0 0 6px}
.imp-fixes{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:6px;font-size:13px}
.imp-fix{display:inline-flex;gap:4px;align-items:center}
.imp-fixes select,.imp-fixes input{max-width:200px}
.imp-sample{display:inline-block;margin:0 6px 2px 0;padding:1px 5px;border-radius:4px;background:#EEF1F5;font-size:12px;white-space:pre-wrap}
