/* PATCHBAY v0.3.0 — System Dossiers and Security Bench 2.0 */

.dossier-heading { align-items: flex-end; }
.dossier-actions { margin: 0 0 1rem; flex-wrap: wrap; }
.dossier-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,22rem),1fr)); gap: 1rem; }
.dossier-card { display: flex; flex-direction: column; gap: .7rem; min-height: 18rem; }
.dossier-card h2,.portfolio-card h3 { margin: 0; }
.dossier-card > small { margin-top: auto; }
.dossier-card-head { display: flex; justify-content: space-between; gap: .5rem; align-items: center; }
.mini-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin: .5rem 0; }
.mini-metrics div { border: 1px solid var(--border-color,#596257); padding: .55rem; background: rgba(0,0,0,.12); }
.mini-metrics dt { font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; opacity: .72; }
.mini-metrics dd { margin: .2rem 0 0; font: 700 1.25rem ui-monospace,SFMono-Regular,Menlo,monospace; }
.dossier-hero { border-top: 3px solid var(--security-green,#9bd178); }
.public-boundary { border-left: 4px solid var(--security-amber,#e5a24d); background: linear-gradient(90deg,rgba(229,162,77,.09),transparent); }
.dossier-layer-grid,.dossier-impact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.dossier-layer-grid article,.dossier-impact-grid article { min-height: 10rem; }
.record-table-wrap { overflow-x: auto; padding: 0; }
.record-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.record-table th,.record-table td { padding: .8rem; border-bottom: 1px solid var(--border-color,#596257); text-align: left; vertical-align: top; }
.record-table th { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; background: rgba(0,0,0,.22); }
.record-table td small,.compact-record small { display: block; opacity: .72; margin-top: .2rem; }
.record-table tr:last-child td { border-bottom: 0; }
.compact-record { padding: .75rem; border: 1px solid var(--border-color,#596257); background: rgba(0,0,0,.12); }
.compact-record code { display: block; overflow-wrap: anywhere; margin: .4rem 0; font-size: .75rem; }
.editable-record { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.dossier-subeditor,.bench-editor-section { margin-top: 1rem; }
.dense-form { display: grid; gap: .75rem; margin: 1rem 0; padding: 1rem; border: 1px dashed var(--border-color,#596257); background: rgba(0,0,0,.1); }
.inline-form { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; margin: 1rem 0; }
.inline-form label { min-width: 12rem; flex: 1; }
.compact-buttons { align-items: center; flex-wrap: nowrap; }
.compact-buttons form { display: flex; gap: .35rem; align-items: center; }
.event-log { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.event-log li { display: grid; grid-template-columns: minmax(10rem,auto) minmax(8rem,auto) 1fr; gap: 1rem; padding: .7rem; border-bottom: 1px solid var(--border-color,#596257); }
.event-log p { margin: 0; }
.compare-picker { margin-bottom: 1rem; }
.compare-table pre { max-width: 32rem; max-height: 16rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; font-size: .75rem; }
.code-input { font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size: .8rem; tab-size: 2; }
.derivative-editor textarea[name="body"] { font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.derivative-state { margin-top: 1rem; border-top: 3px solid var(--security-blue,#7eb5c8); }
.public-derivative { max-width: 68rem; margin-inline: auto; }
.derivative-hero { border-top: 3px solid var(--security-blue,#7eb5c8); }
.derivative-body { font-size: 1.05rem; line-height: 1.7; }
.derivative-body pre { overflow-x: auto; padding: 1rem; background: rgba(0,0,0,.24); }
.derivative-footer { margin-top: 1rem; }
.bench-module-stack { display: grid; gap: 1rem; }
.bench-module { margin: 0; }
.portfolio-card { display: block; text-decoration: none; min-height: 13rem; }
.portfolio-card:hover,.portfolio-card:focus-visible { transform: translateY(-2px); border-color: var(--security-green,#9bd178); }
.bench-v3-header { border-top: 3px solid var(--security-green,#9bd178); }

@media (max-width: 1000px) {
  .dossier-layer-grid,.dossier-impact-grid { grid-template-columns: 1fr 1fr; }
  .event-log li { grid-template-columns: 1fr; gap: .25rem; }
}

@media (max-width: 680px) {
  .dossier-layer-grid,.dossier-impact-grid { grid-template-columns: 1fr; }
  .editable-record { flex-direction: column; }
  .inline-form { align-items: stretch; }
  .inline-form > * { width: 100%; }
  .compact-buttons { width: 100%; justify-content: flex-start; }
}
