.security-workspace { max-width: 1120px; padding-top: 2rem; padding-bottom: 3rem; }
.security-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.security-heading h1 { margin: .25rem 0; font-size: clamp(2rem, 4vw, 3rem); }
.snapshot-panel { background: #eef5f8; border: 1px solid #ccdce5; border-radius: 12px; padding: 1.25rem; margin: 1.5rem 0; color: #17354a; }
.snapshot-panel h2 { font-size: 1.1rem; margin: 0; }
.snapshot-panel summary { cursor: pointer; font-weight: 650; }
.snapshot-panel label, .snapshot-panel input { display: block; margin: .65rem 0; }
.security-warning { background: #fff3d5; color: #694400; border-left: 4px solid #a76d00; padding: .8rem; }
.security-form > label:first-child { display: block; font-weight: 700; margin-bottom: .5rem; }
.security-query-row { display: flex; gap: .75rem; }
.security-query-row input { min-width: 0; flex: 1; font: inherit; font-size: 1.15rem; padding: 1rem; border: 1px solid #8299aa; border-radius: 8px; }
.security-toggle { display: flex; gap: .6rem; align-items: center; margin: 1rem 0; }
.security-toggle input { width: 1.1rem; height: 1.1rem; }
.security-record { margin: 1rem 0; padding: 1.25rem; border: 1px solid #ccdce5; border-radius: 12px; background: white; color: #17354a; }
.security-record h2 { margin: 0 0 .5rem; font-size: 1.3rem; }
.security-meta { overflow-wrap: anywhere; color: #445d70; }
.security-cfi { font-size: 1.25rem; letter-spacing: .12em; font-weight: 700; }
.security-table-wrap { overflow-x: auto; }
.security-record table { width: 100%; border-collapse: collapse; font-size: .9rem; margin-top: 1rem; }
.security-record th, .security-record td { padding: .65rem; border-bottom: 1px solid #d9e3ea; text-align: left; }
.security-footnote { font-size: .9rem; color: #445d70; margin-top: 2rem; }
.security-workspace :focus-visible { outline: 3px solid #086ba6; outline-offset: 3px; }
.security-workspace button:disabled { opacity: .55; cursor: not-allowed; }
.security-workspace .button { display: inline-flex; align-items: center; justify-content: center; font-size: .9rem; }
@media(max-width: 650px) { .security-heading, .security-query-row { align-items: stretch; flex-direction: column; } }
