.bulk-banner{border-radius:20px;padding:34px 38px;background:linear-gradient(115deg,#082432,#10434a);color:#e9f6f6;margin-bottom:24px;position:relative;overflow:hidden}
.bulk-banner:after{content:"";position:absolute;right:-55px;top:-90px;width:370px;height:370px;border:55px solid #63d3c214;border-radius:50%;pointer-events:none}
.bulk-banner .eyebrow{color:#67dfce;letter-spacing:.13em;font-size:11px;font-weight:750}
.bulk-banner h2{font-family:inherit;font-size:clamp(25px,2.6vw,38px);line-height:1.12;letter-spacing:-.035em;margin:12px 0 16px}
.bulk-banner p:last-child{max-width:680px;color:#b6cbd0;font-size:14px;line-height:1.7;margin:0}
.bulk-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;border-bottom:1px solid #dfe8eb;padding-bottom:10px}
.bulk-tabs .tab{border-radius:9px;padding:11px 15px}.bulk-tabs .tab.is-active{background:#e1f5f0;color:#006f65}
.bulk-panel{padding:24px;min-width:0}.bulk-panel .section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.bulk-panel .section-head h3{font-size:18px;margin:0 0 7px}.bulk-panel .section-head p{color:#697c89;font-size:13px;line-height:1.6;max-width:620px;margin:0}
.bulk-actions{display:flex;flex-wrap:wrap;gap:8px}.bulk-actions .button{white-space:normal}
.bulk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.bulk-stat{padding:18px;border:1px solid #e0e9ec;background:#f7fafb;border-radius:12px;display:grid;gap:8px}.bulk-stat span{font-size:12px;color:#607581}.bulk-stat strong{font-size:28px;line-height:1.15}.bulk-stat small{font-size:11px;color:#738593}
.bulk-panel td small,.bulk-history small{display:block;font-size:11px;color:#738593;margin-top:5px;overflow-wrap:anywhere}.bulk-panel td strong{overflow-wrap:anywhere}.bulk-panel progress{accent-color:#0a8f81;max-width:100%;width:160px;height:7px}
.bulk-copy{color:#607581;line-height:1.7;font-size:13px;margin:0 0 24px}.bulk-footnote{font-size:11px;line-height:1.7;color:#738593;margin:16px 4px}.bulk-history{display:grid;gap:12px;margin-top:24px}.bulk-history article{border:1px solid #e0e9ec;border-radius:12px;padding:18px}.bulk-history details{margin:12px 0}.bulk-history summary{font-size:12px;color:#07857b;cursor:pointer}.bulk-history pre{font-size:11px;line-height:1.6;max-height:360px;overflow:auto;background:#f5f8fa;border-radius:8px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}.bulk-history .watch-hash{font-size:10px;display:block;margin-top:8px}
.bulk-position-list{display:grid;gap:16px;margin-bottom:20px}.bulk-position-card{min-width:0;border:1px solid #dfe8eb;border-radius:14px;padding:20px;background:#fff}.bulk-position-card header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.bulk-position-card h3{font-size:15px;line-height:1.5;margin:0;max-width:360px}.bulk-position-card dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.bulk-position-card dl>div{min-width:0}.bulk-position-card dt{font-size:11px;color:#697c89;margin-bottom:5px}.bulk-position-card dd{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.bulk-position-card dd code{font-size:11px}.bulk-position-terminal{grid-column:1/-1}.bulk-position-card footer{display:flex;justify-content:flex-end;padding-top:14px;border-top:1px solid #edf1f3}
@media(max-width:850px){.bulk-panel .section-head{display:block}.bulk-panel .section-head .bulk-actions{margin-top:15px}.bulk-panel{padding:17px}.bulk-banner{padding:25px}.bulk-stats{gap:7px}.bulk-stat{padding:12px}.bulk-stat strong{font-size:24px}}
@media(max-width:520px){.bulk-tabs{gap:3px}.bulk-tabs .tab{font-size:11px;padding:9px}.bulk-stats{grid-template-columns:1fr}.bulk-stat{grid-template-columns:1fr auto}.bulk-stat small{grid-column:1/-1}.bulk-banner{border-radius:14px}.bulk-actions .button{font-size:12px}}
@media(max-width:520px){.bulk-position-card{padding:16px}.bulk-position-card header{flex-direction:column;gap:9px}.bulk-position-card dl{grid-template-columns:1fr;gap:13px;margin:16px 0}.bulk-position-card footer{justify-content:stretch}.bulk-position-card footer .button{width:100%}}
/* Bounded rule authoring keeps the action row usable on narrow institution workstations. */
.rule-designer { margin:24px 0; border-top:1px solid var(--border, #dce5e8); padding-top:20px; }
.condition-node { min-width:0; margin:12px 0; padding:14px; border:1px solid #d3e4e6; border-radius:12px; background:rgba(8,127,125,.025); }
.condition-node legend { font-weight:650; padding:0 7px; }
.condition-row { display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
.condition-row .field { flex:1 1 120px; min-width:0; }
.condition-preview { overflow-wrap:anywhere; padding:10px 0; }
@media(max-width:600px){.condition-node{padding:8px}.condition-row .field{flex-basis:100%}.condition-node .bulk-actions{flex-direction:column}}
.bulk-policy-document { white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f6f7;border:1px solid #dce5e8;border-radius:12px;padding:16px;font-size:13px; }
/* Management pack authoring and retained evidence. */
.management-limits { border: 1px solid var(--border, #d6e1e8); border-radius: 12px; padding: 16px; margin: 20px 0; min-width: 0; }
.management-limits legend { padding: 0 8px; font-weight: 650; }
.management-limit { display: grid; grid-template-columns: 1fr 1.2fr 1fr auto; gap: 12px; align-items: end; padding: 12px 0; }
.management-limit .field { min-width: 0; }
@media (max-width: 680px) { .management-limit { grid-template-columns: 1fr; } }
/* Mapping editor: source fields stay readable without horizontal scrolling. */
.feed-section{min-width:0;border:1px solid var(--border,#dce5e7);border-radius:12px;padding:20px;margin:0 0 20px}
.feed-section legend{font-weight:700;padding:0 8px;color:var(--text,#15353f)}
.feed-section .field{margin-bottom:12px}.feed-section .muted{font-size:13px;line-height:1.6}
.feed-fields{display:grid;gap:0}.feed-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #e7edef}
.feed-field small{display:block;font-size:12px;line-height:1.5;color:#556c75;margin-top:4px}
.feed-field input,.feed-pair input,.feed-pair select{min-width:0;width:100%;box-sizing:border-box}
.feed-field input{height:42px;padding:0 11px;border:1px solid var(--line,#cbd9df);border-radius:8px;background:#fff;color:var(--ink,#15353f);font:inherit;font-size:13px}
.feed-field input:focus{outline:0;border-color:var(--blue,#2875c7);box-shadow:0 0 0 3px rgba(40,117,199,.12)}
.feed-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:10px}
.feed-confirm{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:13px;line-height:1.6}
.feed-confirm input{width:18px;height:18px;flex-shrink:0;margin-top:3px}
.feed-summary{background:#eef7f5;border:1px solid #c4e0da;border-radius:10px;padding:16px;margin-top:18px;display:grid;gap:7px}
.feed-summary small,.feed-summary code{overflow-wrap:anywhere}.feed-result{border:1px solid #dce5e7;border-radius:10px;padding:14px;margin-top:10px}
.feed-result summary{cursor:pointer;font-weight:600}.feed-result dl{font-size:13px}.feed-result dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;border-top:1px solid #e7edef;padding:8px 0}
.feed-result dd{margin:0;overflow-wrap:anywhere}.feed-result dt{overflow-wrap:anywhere;color:#556c75}.feed-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
@media(max-width:640px){.feed-section{padding:14px}.feed-field{grid-template-columns:1fr;gap:8px}.feed-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.feed-pair button{grid-column:1/-1;justify-self:end;margin-bottom:12px}.feed-result dl div{grid-template-columns:1fr;gap:3px}}
.rule-workbench-notice{padding:16px;border:1px solid #bfddd7;border-radius:10px;background:#edf8f5;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.rule-workbench-notice strong{display:block;font-size:14px}.rule-workbench-notice p{margin:8px 0 0;color:#48636e}
.rule-workbench-controls{display:flex;align-items:end;gap:14px;margin:22px 0}.rule-workbench-controls .field{flex:1;min-width:0}
.rule-readable-group{border-left:3px solid #bfdcd7;padding:10px 0 4px 16px;margin:10px 0;background:#f6faf9;overflow-wrap:anywhere}.rule-readable-group .rule-readable-group{margin-right:8px}
.rule-readable-comparison{margin:10px 0;padding:8px;line-height:1.7;overflow-wrap:anywhere}.rule-readable-comparison code{background:#e9f1f3;border-radius:5px;padding:3px 6px}
.rule-scope{font-size:13px}.rule-scope div{display:grid;grid-template-columns:150px minmax(0,1fr);padding:8px 0;border-bottom:1px solid #e4edef}.rule-scope dt{color:#57717b}.rule-scope dd{margin:0;overflow-wrap:anywhere}
.rule-hashes{margin:22px 0;padding:15px;border:1px solid #d6e3e5;border-radius:10px}.rule-hashes code,.rule-hashes pre{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:640px){.rule-workbench-controls{flex-direction:column;align-items:stretch}.rule-scope div{grid-template-columns:1fr;gap:5px}.rule-readable-group{padding-left:10px}}
.rule-scope-editor{min-width:0;border:1px solid #d8e4e7;border-radius:9px;padding:12px;margin:0}.rule-scope-editor legend{font-size:12px;font-weight:700}.rule-scope-editor small{display:block;font-size:11px;line-height:1.5;color:#55717a;margin-bottom:12px}
.rule-scope-row{display:flex;gap:8px;margin-bottom:8px}.rule-scope-row input{min-width:0;width:100%;height:40px;border:1px solid #cfdadd;border-radius:8px;padding:0 10px}.rule-scope-row input:focus{outline:2px solid #2875c7;outline-offset:2px}
