.rule-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--navy);
  color: #fff;
  margin-bottom: 14px;
  border-top: 3px solid var(--copper);
}
.rule-summary div { padding: 18px 22px; border-right: 1px solid rgba(255,255,255,.1); }
.rule-summary div:last-child { border-right: 0; }
.rule-summary strong { display: block; font:500 29px "SFMono-Regular", monospace; }
.rule-summary span { display: block; color: #91a7af; font-size:12px; margin-top: 5px; }
.rule-identity { min-width: 360px; }
.rule-identity p { max-width: 520px; margin: 6px 0 0; color: var(--muted); font-size:11px; line-height: 1.5; }
.rule-pagination { display: flex; align-items: center; gap: 9px; min-height: 54px; padding: 9px 15px; border-top: 1px solid var(--line); color: var(--muted); font-size:11px; }
.rule-pagination label { display: flex; align-items: center; gap: 6px; }
.rule-pagination select { height: 32px; border: 1px solid var(--line); background: #fff; color: var(--ink); }
.rule-pagination button { min-width: 67px; }
.rule-pagination button:disabled { opacity: .4; cursor: not-allowed; }
#rulePageNumbers { min-width: 48px; text-align: center; color: var(--ink); font:12px monospace; }
.editor-fields { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px; }
.editor-fields.single { grid-template-columns: 1fr; }
.editor-fields label { display: grid; gap: 7px; color: var(--muted); font-size:12px; }
.editor-fields label.wide { grid-column: 1 / -1; }
.editor-fields input, .editor-fields select, .editor-fields textarea { width: 100%; border: 1px solid var(--line); background: #fafbfa; border-radius: 4px; padding: 0 10px; font-size:13px; color: var(--ink); }
.editor-fields input, .editor-fields select { height: 38px; }
.editor-fields textarea { min-height: 84px; padding: 10px; resize: vertical; line-height: 1.6; font-family: inherit; }
.editor-fields textarea.tall { min-height: 150px; }

.dlp-overview { display:grid; grid-template-columns:1.25fr .7fr .8fr 1.55fr; background:#fff; border:1px solid var(--line); border-top:3px solid var(--copper); margin-bottom:14px; box-shadow:var(--shadow); }
.dlp-overview>div { padding:18px 20px; border-right:1px solid var(--line); }
.dlp-overview>div>label,.dlp-overview>div>strong,.dlp-overview>div>small { display:block; }
.dlp-overview>div>label { font-size:12px; color:var(--muted); }.dlp-overview>div>strong { font:500 30px monospace; margin:9px 0 3px; }.dlp-overview>div>small { font-size:11px; color:#849197; }
.dlp-overview .dlp-shield { display:flex; gap:14px; align-items:center; background:var(--navy); color:#fff; }.dlp-shield>span { width:43px; height:43px; display:grid; place-items:center; color:#e0aa7f; border:1px solid rgba(255,255,255,.16); }.dlp-shield svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.5; }.dlp-shield b,.dlp-shield strong,.dlp-shield small { display:block; }.dlp-shield b { font:700 10px monospace; letter-spacing:.14em; color:#74cfba; }.dlp-shield strong { font:500 26px monospace; margin:5px 0 1px; }.dlp-shield small { color:#9db0b6; font-size:11px; }
.dlp-overview aside { padding:17px 20px; background:#f4f7f7; border-left:3px solid #77909a; }.dlp-overview aside b { font-size:12px; }.dlp-overview aside p { font-size:11px; line-height:1.65; color:var(--muted); margin:7px 0 0; }
.dlp-table { min-width:1120px; }.dlp-name { min-width:260px; }.dlp-name p { max-width:330px; margin:6px 0 0; font-size:11px; line-height:1.55; color:var(--muted); }.dlp-category { display:inline-block; padding:4px 7px; font-size:11px; color:#315f7a; background:var(--blue-soft); }.dlp-category.credential,.dlp-category.payment { color:#a24c30; background:#f8e9df; }.dlp-category.identity,.dlp-category.privacy { color:#725f9a; background:#eeeafa; }.dlp-category.logging { color:#9b6a18; background:var(--amber-soft); }.scope-chips { display:flex; flex-wrap:wrap; gap:4px; max-width:190px; }.scope-chips span { font-size:10px; padding:3px 5px; background:#eff2f2; color:#52636b; }.dlp-action { margin-top:5px; font-size:11px; }
.dlp-workbench { width:min(980px,96vw); max-height:92vh; display:flex; flex-direction:column; }.dlp-workbench .modal-body { overflow:auto; }.dlp-steps { grid-template-columns:repeat(3,1fr); }.choice-title { font-size:13px; margin:4px 0 11px; }.choice-title:not(:first-of-type) { margin-top:24px; }.choice-grid,.scenario-choice { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.choice-grid label,.scenario-choice label { display:flex; gap:9px; align-items:flex-start; border:1px solid var(--line); padding:12px; cursor:pointer; background:#fafbfa; }.choice-grid input,.scenario-choice input { accent-color:var(--copper); margin-top:2px; }.choice-grid strong,.choice-grid small,.scenario-choice strong,.scenario-choice small { display:block; }.choice-grid strong,.scenario-choice strong { font-size:12px; }.choice-grid small,.scenario-choice small { font-size:10px; color:var(--muted); margin-top:3px; }.dlp-safety-note { margin-top:17px; border-left:3px solid var(--amber); background:var(--amber-soft); padding:13px 15px; }.dlp-safety-note strong { font-size:12px; }.dlp-safety-note p { font-size:11px; color:#796037; line-height:1.6; margin:5px 0 0; }
.dlp-group-strip{margin-bottom:14px}.dlp-group-strip>header{display:flex;align-items:end;gap:18px;margin-bottom:9px}.dlp-group-strip h2{font-size:17px;margin:4px 0 0}.dlp-group-strip>header p{font-size:11px;color:var(--muted);margin:0}.dlp-group-cards{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:8px;overflow:auto}.dlp-group-cards article{min-width:190px;background:#fff;border:1px solid var(--line);border-top:3px solid #78939e;padding:13px}.dlp-group-cards article.baseline{background:var(--navy);color:#fff;border-color:var(--navy);border-top-color:var(--copper)}.dlp-group-cards article>div{display:flex;align-items:center;justify-content:space-between}.dlp-group-cards article>div>span{font:10px monospace;color:var(--muted)}.dlp-group-cards article.baseline>div>span{color:#74cfba}.dlp-group-cards h3{font-size:13px;margin:10px 0 6px}.dlp-group-cards p{font-size:10px;line-height:1.5;color:var(--muted);min-height:36px}.dlp-group-cards article.baseline p{color:#9fb1b7}.dlp-group-cards footer{border-top:1px solid var(--line);padding-top:8px;font-size:10px;color:var(--muted)}.dlp-group-cards article.baseline footer{border-color:rgba(255,255,255,.12)}.dlp-group-cards footer button{float:right}.group-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:210px;font-size:10px;color:var(--muted)}.group-chips span{background:#edf2f3;color:#45616d;padding:3px 5px}.dlp-group-editor{width:min(900px,95vw);max-height:90vh;display:flex;flex-direction:column}.dlp-group-editor .modal-body{overflow:auto}.baseline-switch{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:13px;margin:16px 0}.baseline-switch strong,.baseline-switch small{display:block}.baseline-switch strong{font-size:12px}.baseline-switch small{font-size:10px;color:var(--muted);margin-top:3px}.group-policy-picker,.dlp-group-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px}.group-policy-picker label,.dlp-group-picker label{display:flex;gap:9px;align-items:center;border:1px solid var(--line);padding:11px;background:#fafbfa}.group-policy-picker input,.dlp-group-picker input{accent-color:var(--copper)}.group-policy-picker span,.dlp-group-picker span{min-width:0;flex:1}.group-policy-picker strong,.group-policy-picker small,.dlp-group-picker strong,.dlp-group-picker small,.dlp-group-picker em{display:block}.group-policy-picker strong,.dlp-group-picker strong{font-size:12px}.group-policy-picker small,.dlp-group-picker small{font-size:10px;color:var(--muted);margin-top:3px}.dlp-group-picker em{font-size:10px;color:var(--muted);font-style:normal;margin-top:5px;line-height:1.45}.dlp-group-picker label.baseline{background:var(--navy);color:#fff}.dlp-group-picker label.baseline small,.dlp-group-picker label.baseline em{color:#a9bbc0}
.rule-workbench { width: min(1040px, calc(100vw - 42px)); max-height: calc(100vh - 42px); display: flex; flex-direction: column; }
.rule-workbench .modal-head { flex: 0 0 auto; }
.rule-workbench .modal-head h2 { margin-top: 4px; }
.rule-steps { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); background: #f6f8f8; }
.rule-steps button { display: flex; align-items: center; gap: 9px; border: 0; border-right: 1px solid var(--line); padding: 12px 15px; background: transparent; color: var(--muted); cursor: pointer; font-size:12px; text-align: left; }
.rule-steps button:last-child { border-right: 0; }
.rule-steps b { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid #aebbc0; border-radius: 50%; font:600 11px monospace; }
.rule-steps button.active { background: #fff; color: var(--ink); box-shadow: inset 0 -3px var(--copper); }
.rule-steps button.active b { background: var(--navy); border-color: var(--navy); color: #fff; }
.rule-step-body { overflow: auto; min-height: 430px; }
.rule-step { display: none; }
.rule-step.active { display: block; }
.step-intro { display: grid; grid-template-columns: 170px 1fr; gap: 20px; padding: 0 0 17px; margin-bottom: 19px; border-bottom: 1px solid var(--line); }
.step-intro strong { font:600 17px "Iowan Old Style","Songti SC",serif; }
.step-intro p { margin: 0; color: var(--muted); font-size:12px; line-height: 1.6; }
.stack-profiles { display: grid; gap: 9px; }
.stack-profile { border: 1px solid var(--line); background: #fafbfb; }
.stack-toggle { display: flex; align-items: center; gap: 11px; padding: 13px 15px; cursor: pointer; }
.stack-toggle input { accent-color: var(--copper); }
.stack-toggle strong,.stack-toggle small { display:block; }
.stack-toggle strong { font-size:13px; }
.stack-toggle small { color: var(--muted); font-size:11px; margin-top: 2px; }
.stack-fields { display: none; border-top: 1px solid var(--line); padding: 15px; }
.stack-profile.enabled { border-color: #b9865d; background: #fff; }
.stack-profile.enabled .stack-fields { display: grid; gap: 13px; }
.stack-fields label { display: grid; gap: 6px; color: var(--muted); font-size:11px; }
.stack-fields textarea,.stack-fields input { border: 1px solid var(--line); background: #f8faf9; padding: 9px; font:12px inherit; color: var(--ink); }
.stack-fields textarea { min-height: 60px; resize: vertical; }
.stack-fields .code-input { min-height: 120px; background: #122934; color: #dbe7e8; font-family: "SFMono-Regular",monospace; line-height: 1.55; }
.code-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ai-action { min-height: 34px; padding: 0 14px; border: 1px solid #9b6c46; background: #fff9f3; color: #6f4729; border-radius: 4px; font-weight: 650; cursor: pointer; }
.ai-action span { color: var(--copper); margin-right: 5px; }
.ai-action:hover { background: #f5e7da; }
.ai-action:disabled { opacity: .48; cursor: not-allowed; }
.ai-writer { width: min(900px,calc(100vw - 42px)); }
.ai-writer-layout { display: grid; grid-template-columns: minmax(0,1fr) 245px; }
.ai-writer-layout > section { padding: 24px; }
.ai-writer-layout > aside { padding: 24px; background: var(--navy); color: #fff; border-top: 3px solid var(--copper); }
.ai-writer-layout aside h3 { font:600 22px "Iowan Old Style","Songti SC",serif; margin: 10px 0 20px; }
.ai-writer-layout aside ol { padding-left: 18px; color: #d3dfe1; font-size:12px; line-height: 2.2; }
.ai-writer-layout aside p { color: #92a8ae; font-size:11px; line-height: 1.7; margin-top: 26px; }
.ai-model-line { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 10px 12px; margin-bottom: 18px; background: #f1f5f4; border-left: 3px solid var(--copper); font-size:12px; }
.ai-model-line small { color: var(--muted); }
.ai-pulse { width: 7px; height: 7px; border-radius: 50%; background: #3d8b71; box-shadow: 0 0 0 4px rgba(61,139,113,.12); }
.ai-model-line.unavailable .ai-pulse { background: #a94b48; box-shadow: 0 0 0 4px rgba(169,75,72,.12); }
.ai-model-line.unavailable { border-left-color: #a94b48; }
.ai-model-line.available small { color: #287158; }
.ai-model-line.unavailable small { color: #93413f; }
.ai-compact-fields { display: grid; grid-template-columns: 1fr 160px; gap: 12px; }
.ai-stack-title { display: flex; justify-content: space-between; margin: 18px 0 9px; font-size:12px; }
.ai-stack-title small { color: var(--muted); }
.ai-stack-picker { display: flex; flex-wrap: wrap; gap: 7px; }
.ai-stack-picker label { cursor: pointer; }
.ai-stack-picker input { position: absolute; opacity: 0; }
.ai-stack-picker span { display: block; padding: 8px 10px; border: 1px solid var(--line); background: #fafbfa; font-size:11px; }
.ai-stack-picker input:checked + span { border-color: var(--copper); color: #70492c; background: #fff7ef; }
.ai-review-note { padding: 12px 14px; margin-bottom: 17px; border-left: 3px solid var(--copper); background: #fff7ef; }
.ai-review-note strong { font-size:12px; }
.ai-review-note p { margin: 4px 0 0; color: var(--muted); font-size:11px; }
.knowledge-preview { width: min(980px,calc(100vw - 42px)); max-height: calc(100vh - 42px); display: flex; flex-direction: column; }
.knowledge-preview-meta { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); background: #f6f8f8; }
.knowledge-preview-meta span { padding: 11px 15px; border-right: 1px solid var(--line); font-size:11px; }
.knowledge-preview-meta b { display: block; color: var(--muted); margin-bottom: 4px; font-weight: 500; }
.knowledge-preview-description { margin: 0; padding: 12px 18px; border-bottom: 1px solid var(--line); color: var(--muted); font-size:12px; line-height: 1.6; }
.knowledge-preview-content { min-height: 360px; overflow: auto; background: #122934; }
.knowledge-preview-content pre { margin: 0; padding: 22px; white-space: pre-wrap; overflow-wrap: anywhere; }
.knowledge-preview-content code { color: #deeaeb; font:13px/1.75 "SFMono-Regular",Menlo,monospace; }
.knowledge-preview .modal-foot small { color: var(--muted); font-size:11px; }
.scenario-register { display: grid; gap: 10px; }
.scenario-register article { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; align-items: center; gap: 17px; background: #fff; border: 1px solid var(--line); padding: 17px 18px; box-shadow: 0 7px 22px rgba(20,43,54,.04); }
.scenario-register article:hover { border-color: var(--line-dark); box-shadow: var(--shadow); }
.scenario-index { width: 42px; height: 50px; display: grid; place-items: center; color: #fff; background: var(--navy); border-bottom: 4px solid var(--copper); font:600 22px "Songti SC", serif; }
.scenario-register-main { display: grid; grid-template-columns: minmax(220px,1.4fr) auto minmax(250px,.8fr); align-items: center; gap: 18px; }
.scenario-register-main h2 { font-size:17px; margin: 0 0 5px; }
.scenario-register-main p { color: var(--muted); font-size:12px; margin: 0; }
.scenario-register-meta { display: flex; gap: 17px; color: var(--muted); font-size:11px; }
.scenario-register-meta b { color: var(--ink); font:600 14px monospace; }
.scenario-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 17px; align-items: start; }
.scenario-editor-tabs { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border:1px solid var(--line); box-shadow:0 7px 22px rgba(20,43,54,.04); }
.scenario-editor-tabs button { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-height:66px; padding:14px 18px; border:0; border-right:1px solid var(--line); background:#fff; color:var(--ink); cursor:pointer; text-align:left; }
.scenario-editor-tabs button:last-child { border-right:0; }
.scenario-editor-tabs button::after { content:""; position:absolute; right:18px; bottom:-1px; left:18px; height:3px; background:transparent; }
.scenario-editor-tabs button:hover { background:#f6f8f8; }
.scenario-editor-tabs button.active { background:#f1f5f5; color:var(--navy); }
.scenario-editor-tabs button.active::after { background:var(--copper); }
.scenario-editor-tabs span { font-size:14px; font-weight:700; }
.scenario-editor-tabs small { color:var(--muted); font-size:11px; }
.scenario-editor-tabs button:focus-visible { outline:2px solid var(--copper); outline-offset:-3px; }
.scenario-editor-main { min-width:0; }
.scenario-tab-panel { display:none; }
.scenario-tab-panel.active { display:grid; gap:13px; animation:scenario-tab-in .16s ease-out; }
@keyframes scenario-tab-in { from { opacity:0; transform:translateY(3px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .scenario-tab-panel.active { animation:none; } }
.editor-section { background: #fff; border: 1px solid var(--line); box-shadow: 0 7px 22px rgba(20,43,54,.04); }
.editor-section > header { display: grid; grid-template-columns: 55px 1fr; gap: 14px; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.editor-section > header > span { color: var(--copper); font:700 11px monospace; letter-spacing: .12em; padding-top: 3px; }
.editor-section > header h2 { margin: 0 0 4px; font-size:16px; }
.editor-section > header p { margin: 0; color: var(--muted); font-size:12px; }
.editor-section > .editor-fields, .editor-section > .rule-picker { padding: 20px; }
.rule-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rule-picker > label { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center; border: 1px solid var(--line); padding: 11px; cursor: pointer; }
.rule-picker > label:has(input:checked) { border-color: var(--copper); background: #fcf8f5; }
.rule-picker input { accent-color: var(--copper); }
.rule-picker strong, .rule-picker small { display: block; }
.rule-picker strong { font-size:12px; }
.rule-picker small { color: var(--muted); font:10px monospace; margin-top: 3px; }
.selection-card { position:relative; overflow:visible; }
.card-detail-button { height:27px; padding:0 9px; border:1px solid var(--line-dark); background:#fff; color:#365866; font-size:11px; cursor:pointer; }
.card-detail-button:hover,.card-detail-button:focus-visible { border-color:var(--copper); color:#158575; outline:none; }
.selection-card.baseline .card-detail-button { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.07); color:#fff; }
.card-tooltip { position:absolute; z-index:30; left:18px; right:18px; bottom:calc(100% + 9px); display:block!important; padding:12px 13px; background:#102836; color:#fff; border-top:2px solid var(--copper); box-shadow:0 13px 30px rgba(16,40,54,.24); opacity:0; visibility:hidden; transform:translateY(5px); transition:opacity .14s ease,transform .14s ease,visibility .14s; pointer-events:none; }
.card-tooltip::after { content:""; position:absolute; left:22px; top:100%; border:6px solid transparent; border-top-color:#102836; }
.card-tooltip b,.card-tooltip em { display:block; }
.card-tooltip b { font-size:12px; line-height:1.55; }
.card-tooltip em { margin-top:6px; color:#b7c7cc; font-size:10px; line-height:1.55; font-style:normal; max-height:38px; overflow:hidden; }
.selection-card:hover .card-tooltip,.selection-card:focus-within .card-tooltip { opacity:1; visibility:visible; transform:translateY(0); }
.selection-detail-modal { width:min(960px,calc(100vw - 40px)); max-height:90vh; display:flex; flex-direction:column; }
.selection-detail-modal .modal-body { overflow:auto; }
.selection-detail-meta { display:flex; flex-wrap:wrap; gap:1px; background:var(--line); border-bottom:1px solid var(--line); }
.selection-detail-meta>span { min-width:125px; padding:11px 15px; background:#f5f7f7; font-size:11px; }
.selection-detail-meta b { display:block; color:var(--muted); font-size:10px; margin-bottom:4px; }
.selection-detail-body { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.selection-detail-body>section { border:1px solid var(--line); padding:15px; }
.selection-detail-body>section.wide { grid-column:1/-1; }
.selection-detail-body h3 { margin:0 0 8px; font-size:13px; }
.selection-detail-body p { margin:0; color:#50656d; font-size:12px; line-height:1.7; white-space:pre-line; }
.selection-profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.selection-profile-grid>article { border:1px solid var(--line); background:#f8f9f9; padding:13px; }
.selection-profile-grid header { margin-bottom:8px; color:#158575; }
.selection-profile-grid b { display:block; color:var(--muted); font-size:10px; margin:9px 0 4px; }
.selection-profile-grid pre { margin:0; padding:9px; overflow:auto; background:#102836; color:#dce7e8; font:10px/1.6 monospace; white-space:pre-wrap; }
.dlp-detail-list { display:grid; gap:8px; }
.dlp-detail-list article { border:1px solid var(--line); padding:13px; }
.dlp-detail-list header { display:flex; align-items:center; gap:12px; }
.dlp-detail-list header>div { flex:1; }
.dlp-detail-list strong,.dlp-detail-list small { display:block; }
.dlp-detail-list small { color:var(--muted); font:10px monospace; margin-top:3px; }
.dlp-detail-list article>p { margin:9px 0; }
.dlp-detail-list footer { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; background:#f5f7f7; padding:9px; font-size:10px; }
.dlp-detail-list footer b { display:block; color:var(--muted); margin-bottom:3px; }
.scenario-editor-aside { position: sticky; top: 86px; display: grid; gap: 10px; }
.editor-summary { background: var(--navy); color: #fff; padding: 20px; border-top: 3px solid var(--copper); }
.editor-summary h2 { font:600 22px "Iowan Old Style","Songti SC",serif; margin: 8px 0 18px; }
.editor-summary dl { margin: 0; }
.editor-summary dl div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.editor-summary dt { color: #8fa6ae; font-size:11px; }
.editor-summary dd { margin: 0; font-size:12px; text-align: right; }
.editor-summary p { color: #9fb1b7; font-size:11px; line-height: 1.6; margin: 16px 0 0; }
.editor-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; background: #fff; border: 1px solid var(--line); padding: 10px; }

.inspection-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:12px; }
.inspection-summary .metric { border:0; min-height:116px; }
.project-inspection-entry { display:flex; align-items:center; gap:20px; justify-content:space-between; margin-bottom:14px; padding:18px 20px; border:1px solid var(--line); border-left:4px solid var(--copper); background:#fff; }.project-inspection-entry h2 { margin:5px 0 4px; font-size:18px; }.project-inspection-entry p { margin:0; color:var(--muted); font-size:12px; }
.inspection-attention { display:grid; grid-template-columns:150px repeat(3,minmax(150px,1fr)) minmax(240px,1.3fr); margin-bottom:12px; border:1px solid var(--line); border-top:3px solid var(--copper); background:#fff; }
.inspection-attention>div,.inspection-attention>button,.inspection-attention>aside { min-height:92px; padding:15px 17px; border:0; border-right:1px solid var(--line); background:transparent; text-align:left; }
.inspection-attention>div strong { display:block; margin-top:8px; font:500 30px monospace; color:var(--red); }
.inspection-attention>button { cursor:pointer; display:grid; grid-template-columns:auto 1fr; align-content:center; column-gap:10px; }
.inspection-attention>button:hover { background:#f8f9f9; }
.inspection-attention>button b { grid-row:1/3; align-self:center; font:500 25px monospace; color:var(--navy); }
.inspection-attention>button span { font-size:13px; font-weight:650; }
.inspection-attention>button small { margin-top:3px; color:var(--muted); font-size:10px; }
.inspection-attention>aside { border-right:0; background:var(--navy); color:#fff; }
.inspection-attention>aside b,.inspection-attention>aside span { display:block; }.inspection-attention>aside b { color:#e0a57b; font-size:11px; letter-spacing:.12em; }.inspection-attention>aside span { margin-top:8px; color:#b6c6ca; font-size:11px; line-height:1.55; }
.inspection-workflow { display:flex; align-items:center; justify-content:center; gap:18px; padding:13px 18px; margin-bottom:12px; background:#102836; color:#dce6e8; font-size:12px; letter-spacing:.02em; }
.inspection-workflow span { display:flex; align-items:center; gap:8px; }
.inspection-workflow b { display:grid; place-items:center; width:22px; height:22px; border:1px solid #b36f42; color:#d99b70; font:12px monospace; }
.inspection-workflow i { color:#779099; font-style:normal; }
.repository-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px; }
.repository-card { border:1px solid var(--line); border-top:3px solid #365866; background:#fff; min-width:0; }
.repository-card header { display:flex; align-items:center; gap:10px; padding:14px; border-bottom:1px solid #e5e9e9; }
.repository-card header>div { flex:1; min-width:0; }
.repository-card h3 { margin:0; font-size:14px; }
.repository-card small { color:var(--muted); font:10px monospace; }
.git-mark { display:grid; place-items:center; width:34px; height:34px; background:#102836; color:#e3a477; font:700 11px monospace; }
.repository-card>p { margin:0; padding:13px 14px; height:45px; overflow:hidden; color:#536970; font:11px/1.5 monospace; overflow-wrap:anywhere; }
.repository-card footer { display:grid; grid-template-columns:1fr 1fr; background:#f4f6f6; border-top:1px solid #e5e9e9; }
.repository-card footer span { padding:10px 14px; font-size:12px; }
.repository-card footer span+span { border-left:1px solid #e0e5e5; }
.repository-card footer b { display:block; margin-bottom:4px; color:var(--muted); font-size:10px; }
.repository-actions { display:flex; align-items:center; gap:8px; padding:7px 10px; border-top:1px solid var(--line); }.repository-actions small { flex:1; font-family:inherit; }.inspection-actions { white-space:nowrap; }
.branch-chip { display:inline-block; margin-top:5px; padding:2px 7px; background:#eef2f2; color:#365866; font:11px monospace; }
.inspection-editor { width:min(720px,calc(100vw - 40px)); }
.knowledge-processing { background:linear-gradient(90deg,rgba(71,105,117,.035),transparent); }
.knowledge-failed { background:rgba(148,66,55,.035); }
.knowledge-progress { width:62px; height:2px; margin-top:7px; overflow:hidden; background:#dce3e4; }
.knowledge-progress i { display:block; width:45%; height:100%; background:var(--copper); animation:knowledge-progress 1.15s ease-in-out infinite; }
@keyframes knowledge-progress { from { transform:translateX(-110%); } to { transform:translateX(240%); } }
@media (prefers-reduced-motion:reduce) { .knowledge-progress i { animation:none; width:100%; opacity:.65; } }

@media (max-width: 1000px) { .repository-grid { grid-template-columns:1fr 1fr; }.inspection-summary { grid-template-columns:1fr 1fr; }.inspection-workflow { justify-content:flex-start; overflow:auto; } }
@media (max-width: 1200px) { .inspection-attention { grid-template-columns:130px repeat(3,1fr); }.inspection-attention>aside { grid-column:1/-1; } }

@media (max-width: 1150px) {
  .scenario-register-main { grid-template-columns: 1fr auto; }
  .scenario-register-main .domain-tags { grid-column: 1 / -1; }
  .scenario-editor-layout { grid-template-columns: 1fr; }
  .scenario-editor-aside { position: static; grid-template-columns: 1fr 280px; }
}
@media (max-width: 800px) {
  .rule-summary { grid-template-columns: 1fr 1fr; }
  .rule-summary div:nth-child(2) { border-right: 0; }
  .editor-fields { grid-template-columns: 1fr; }
  .editor-fields label.wide { grid-column: auto; }
  .scenario-register article { grid-template-columns: 38px 1fr; }
  .scenario-register article > button { grid-column: 1 / -1; }
  .scenario-register-main { grid-template-columns: 1fr; }
  .rule-picker { grid-template-columns: 1fr; }
  .selection-detail-body,.selection-profile-grid { grid-template-columns:1fr; }
  .selection-detail-body>section.wide { grid-column:auto; }
  .dlp-detail-list footer { grid-template-columns:1fr 1fr; }
  .scenario-editor-aside { grid-template-columns: 1fr; }
  .scenario-editor-tabs { grid-template-columns:1fr 1fr; }
  .scenario-editor-tabs button:nth-child(2) { border-right:0; }
  .scenario-editor-tabs button:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .rule-steps { grid-template-columns: 1fr 1fr; }
  .rule-steps button:nth-child(2) { border-right: 0; }
  .step-intro,.code-pair { grid-template-columns: 1fr; }
  .ai-writer-layout { grid-template-columns: 1fr; }
  .ai-compact-fields { grid-template-columns: 1fr; }
  .knowledge-preview-meta { grid-template-columns: 1fr 1fr; }
  .rule-pagination { flex-wrap: wrap; }
  .rule-pagination .spacer { display: none; }
  .repository-grid,.inspection-summary { grid-template-columns:1fr; }
  .inspection-attention { grid-template-columns:1fr 1fr; }.inspection-attention>div,.inspection-attention>button { border-bottom:1px solid var(--line); }.inspection-attention>aside { grid-column:1/-1; }
}
@media (max-width: 900px) { .dlp-overview { grid-template-columns:1fr 1fr; }.dlp-overview aside,.dlp-overview .dlp-shield { grid-column:1/-1; }.choice-grid,.scenario-choice { grid-template-columns:1fr; } }

/* Project-centered information architecture */
.portfolio-summary { display:grid; grid-template-columns:repeat(3,minmax(130px,.65fr)) minmax(280px,1.5fr); background:#173541; color:#fff; margin-bottom:18px; border-top:3px solid var(--copper); box-shadow:var(--shadow); }
.portfolio-summary > div { padding:20px 22px; border-right:1px solid rgba(255,255,255,.12); display:grid; gap:5px; }
.portfolio-summary span { color:#9fb4bc; font-size:12px; letter-spacing:.08em; }
.portfolio-summary strong { font:600 32px/1 monospace; }
.portfolio-summary small { color:#b8c8cd; font-size:12px; }
.portfolio-summary aside { padding:18px 22px; background:rgba(255,255,255,.045); }
.portfolio-summary aside b { font-size:14px; color:#74cfba; }
.portfolio-summary aside p { color:#b8c8cd; font-size:13px; line-height:1.65; margin:7px 0 0; }
.project-portfolio { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.project-portfolio-card { display:block; color:inherit; text-decoration:none; background:#fff; border:1px solid var(--line); padding:20px; box-shadow:0 7px 22px rgba(20,43,54,.045); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.project-portfolio-card:hover { transform:translateY(-2px); border-color:#9db0b6; box-shadow:var(--shadow); }
.project-portfolio-card header { display:flex; align-items:center; gap:12px; }
.project-portfolio-card header div { flex:1; min-width:0; }
.project-portfolio-card h2 { margin:0 0 4px; font-size:19px; }
.project-portfolio-card header small { color:var(--muted); font:12px monospace; }
.project-monogram { width:40px; height:40px; display:grid; place-items:center; background:#173541; color:#74cfba; font-weight:700; }
.project-portfolio-card > p { color:var(--muted); min-height:34px; font-size:13px; line-height:1.55; margin:15px 0; }
.project-scoreline { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.project-scoreline div { padding:13px 8px 12px 0; display:grid; gap:4px; }
.project-scoreline strong { font:600 20px monospace; color:var(--ink); }
.project-scoreline span { font-size:11px; color:var(--muted); }
.project-portfolio-card footer { display:flex; align-items:center; gap:15px; padding-top:14px; color:var(--muted); font-size:11px; }
.project-portfolio-card footer b { margin-left:auto; color:#158575; font-size:12px; }
.project-risk { color:#a33d32; }
.project-tabs { display:flex; align-items:center; gap:3px; border-bottom:1px solid var(--line); margin:-5px 0 20px; }
.project-tabs a { color:var(--muted); text-decoration:none; padding:11px 15px; font-size:13px; border-bottom:2px solid transparent; white-space:nowrap; }
.project-tabs a:hover { color:var(--ink); }
.project-tabs a.active { color:var(--ink); border-bottom-color:var(--copper); font-weight:700; }
.project-kpis { display:grid; grid-template-columns:repeat(5,1fr); background:#fff; border:1px solid var(--line); margin-bottom:18px; }
.project-kpis .metric { box-shadow:none; border:0; border-right:1px solid var(--line); }
.project-kpis .metric:last-child { border-right:0; }
.project-knowledge-summary { display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border:1px solid var(--line); margin-bottom:14px; }
.project-knowledge-summary .metric { box-shadow:none; border:0; border-right:1px solid var(--line); }
.project-knowledge-summary .metric:last-child { border-right:0; }
.clickable-row { cursor:pointer; }
.clickable-row:hover td { background:#f5f8f8; }
.clickable-row:focus-within td { background:#f3f7f7; }
.compact-ledger { padding:4px 18px 14px; }
.compact-ledger > div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); font-size:13px; }
.compact-ledger > div:last-child { border-bottom:0; }
.compact-ledger span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.compact-ledger small { color:var(--muted); }
.compact-ledger a { color:#158575; text-decoration:none; font-weight:700; }
.governance-launchpad,.settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.governance-launchpad a,.settings-grid a { position:relative; min-height:160px; padding:22px; border:1px solid var(--line); background:#fff; color:inherit; text-decoration:none; box-shadow:0 7px 22px rgba(20,43,54,.04); }
.governance-launchpad a:hover,.settings-grid a:hover { border-color:#9db0b6; box-shadow:var(--shadow); }
.governance-launchpad a > span { font:600 13px monospace; color:var(--copper); }
.governance-launchpad h2,.settings-grid h2 { font-size:17px; margin:22px 0 8px; }
.governance-launchpad p,.settings-grid p { color:var(--muted); font-size:13px; line-height:1.65; }
.settings-grid a > svg { width:24px; height:24px; fill:none; stroke:#158575; stroke-width:1.5; }
.settings-grid a > b { color:#158575; font-size:26px; }
.settings-grid a > span { position:absolute; bottom:20px; color:#158575; font-size:12px; font-weight:700; }
@media (max-width:1100px) { .portfolio-summary { grid-template-columns:repeat(3,1fr); }.portfolio-summary aside { grid-column:1/-1; }.project-kpis { grid-template-columns:repeat(3,1fr); }.governance-launchpad,.settings-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .portfolio-summary,.project-portfolio,.project-kpis,.project-knowledge-summary,.governance-launchpad,.settings-grid { grid-template-columns:1fr; }.portfolio-summary aside { grid-column:auto; }.project-scoreline { grid-template-columns:1fr 1fr; }.project-tabs { overflow-x:auto; }.compact-ledger>div { grid-template-columns:1fr auto; }.compact-ledger small { grid-column:1/-1; } }

.req-intro { margin:0 20px 16px; font-size:13px; line-height:1.7; }
.requirement-editor.wide { width:min(1180px,calc(100vw - 32px)); }
.requirement-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:18px; }
.req-pane { border:1px solid var(--line); border-radius:8px; padding:16px 18px 18px; background:#fff; min-width:0; }
.req-pane h3 { margin:0 0 12px; font-size:15px; }
.req-clarify-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:4px 0 12px; }
.req-clarify-head h3 { margin:0; }
.req-clarify-head small { color:var(--muted); font-size:12px; }
.req-actions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 18px; }
.req-questions { display:flex; flex-direction:column; gap:12px; margin-bottom:4px; }
.req-qa-card { border:1px solid var(--line); border-radius:8px; background:#f8fafb; padding:14px 14px 12px; display:flex; flex-direction:column; gap:10px; }
.req-qa-card header { display:flex; gap:10px; align-items:flex-start; }
.req-qa-index { flex:0 0 22px; width:22px; height:22px; border-radius:50%; background:#e8f5f1; color:#158575; font:600 12px/22px inherit; text-align:center; }
.req-qa-question { margin:0; flex:1 1 auto; font-size:13px; line-height:1.55; color:#263b49; }
.req-qa-answer { display:grid; gap:6px; margin:0; }
.req-qa-answer > span { font-size:11px; color:var(--muted); letter-spacing:.02em; }
.req-qa-answer textarea {
  width:100%; min-height:72px; max-height:160px; height:72px; resize:vertical;
  box-sizing:border-box; margin:0; padding:10px 12px; border:1px solid #dfe6ea; border-radius:6px;
  background:#fff; color:#263b49; font:inherit; line-height:1.55;
}
.req-qa-answer textarea:focus { outline:3px solid rgba(21,133,117,.22); outline-offset:1px; border-color:#8bc4b8; }
.req-qa-empty { padding:28px 16px; text-align:center; color:var(--muted); font-size:13px; line-height:1.7; border:1px dashed #d5e0e3; border-radius:8px; background:#fcfdfd; }
.req-version-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.req-version-bar label { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); margin:0; }
.pill.clarifying { background:#eef4fb; color:#3d6f9c; }
.pill.ready { background:#e8f5f1; color:#237667; }
.pill.archived { background:#f1f3f4; color:#6a777e; }
.pill.high { background:#f8e8e5; color:#a43f3f; }
.pill.medium { background:#f7f0e4; color:#8a6a2f; }
.pill.low { background:#eef2f3; color:#5f7078; }
@media (max-width:960px) { .requirement-layout { grid-template-columns:1fr; } }
