/* Isolated utility surface; loaded only with the native planner block. */
.display-planner { --dp-blue:#006e9b; --dp-line:#c4d5dd; max-width:none; margin-block:2rem; color:#242d33; }
.display-planner *, .display-planner *::before, .display-planner *::after { box-sizing:border-box; }
.display-planner [hidden] { display:none!important; }
.dp-workspace { display:grid; grid-template-columns:minmax(16rem, .8fr) minmax(0,1.4fr); gap:2.5rem; align-items:start; }
.display-planner fieldset { margin:0 0 1.75rem; padding:0; border:0; min-width:0; }
.display-planner legend { font-size:1.25rem; font-weight:750; margin-bottom:.5rem; line-height:1.35; }
.display-planner label { display:block; font-size:.875rem; font-weight:650; line-height:1.4; }
.display-planner label [data-unit] { color:#576c78; font-size:.75rem; font-weight:400; }
.display-planner input,.display-planner select { width:100%; min-height:44px; margin:.35rem 0 .7rem; padding:.6rem .65rem; border:1px solid #90aab7; border-radius:3px; background:#fff; color:#242d33; font:inherit; font-size:1rem; }
.display-planner input:not([type=checkbox]),.display-planner select { display:block; }
.display-planner input:focus-visible,.display-planner select:focus-visible,.display-planner button:focus-visible,.display-planner summary:focus-visible { outline:3px solid #005e91; outline-offset:3px; }
.display-planner .dp-help { color:#4b606c; font-size:.875rem; line-height:1.55; margin:.35rem 0 1rem; }
.dp-dimensions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; }
.dp-unit { max-width:11rem; }
.dp-clearance { max-width:8rem; }
.display-planner button { border:1px solid #8fa9b6; background:#fff; color:#254b5d; min-height:44px; padding:.55rem .8rem; border-radius:3px; font:inherit; font-size:.85rem; font-weight:650; cursor:pointer; line-height:1.4; text-transform:none; letter-spacing:0; }
.display-planner button:hover { background:#edf7fc; }
.display-planner button:disabled { opacity:.45; cursor:default; }
.display-planner button:is([data-add],[data-save]) { color:#fff; background:var(--dp-blue); border-color:var(--dp-blue); }
.display-planner button:is([data-add],[data-save]):hover { background:#00597e; }
.display-planner [aria-pressed=true] { background:#d1eefa; border-color:var(--dp-blue); }
.dp-buttons,.dp-plan-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.dp-result { min-width:0; padding:1.2rem 1.4rem; background:#f5f9fb; border-block:2px solid #82bcd4; scroll-margin-top:140px; }
.display-planner [data-figure-form] { scroll-margin-top:140px; }
.display-planner [data-another] { margin-top:1.2rem; }
.dp-result-heading { display:flex; gap:.7rem; justify-content:space-between; align-items:center; flex-wrap:wrap; min-height:3rem; }
.display-planner [data-shelf-summary] { min-block-size:3.1em; }
.display-planner .dp-result h2 { font-size:1.45rem; margin:0; }
.display-planner .dp-result h3 { font-size:1rem; margin-top:1rem; }
.dp-result [data-empty] { font-size:.95rem; color:#536a76; }
.dp-diagram { height:300px; width:100%; margin-block:1rem; background:#fff; border:1px solid #dce6eb; }
.dp-diagram svg { width:100%; height:100%; display:block; }
.dp-fit { color:#11633f; font-size:.8rem; font-weight:700; }
.display-planner .dp-warning { color:#a22f1d; font-weight:650; }
.dp-result-heading .dp-warning { font-size:.8rem; }
.display-planner .dp-height-list { list-style:none; margin:0; padding:0; display:grid; gap:.8rem; }
.dp-height-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.25rem .5rem; font-size:.8rem; overflow-wrap:anywhere; }
.dp-height-track { grid-column:1/-1; display:block; height:6px; background:#d3e0e6; overflow:hidden; border-radius:4px; }
.dp-height-fill { display:block; background:#007ba7; height:100%; }.dp-height-over { background:#b43622; }
.display-planner [data-items-section] { margin-block:1.5rem; }
.display-planner [data-items-section] h2 { font-size:1.3rem; }
.display-planner .dp-items { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2rem; }
.display-planner .dp-items li { margin:0; padding:1rem 0; border-top:1px solid var(--dp-line); min-width:0; }
.dp-item-heading { display:flex; gap:.5rem; justify-content:space-between; flex-wrap:wrap; overflow-wrap:anywhere; }
.dp-measurement { color:#4b606c; font-size:.85rem; font-variant-numeric:tabular-nums; }
.display-planner .dp-item-status { font-size:.85rem; line-height:1.45; margin:.5rem 0; }
.dp-plan-actions { border-top:1px solid var(--dp-line); padding-top:1.25rem; }
.display-planner .dp-message { min-height:1.5em; margin:.6rem 0; color:#185a77; font-size:.9rem; }
.dp-notes { margin-top:1rem; color:#4b606c; font-size:.85rem; line-height:1.6; }
.dp-notes summary { cursor:pointer; padding-block:.5rem; }
.display-planner .dp-email { margin:1.5rem 0; padding:1.4rem 0; border-block:1px solid var(--dp-line); scroll-margin-top:140px; }
.display-planner .dp-email h2 { font-size:1.4rem; margin:0 0 .5rem; }
.display-planner .dp-email > p { max-width:46rem; font-size:1rem; }
.display-planner [data-email-form] { max-width:40rem; }
.display-planner [data-email-form] input[type=email] { max-width:30rem; }
.display-planner .dp-optin { display:flex; align-items:flex-start; gap:.65rem; margin:.65rem 0; font-weight:400; }
.display-planner .dp-optin input { width:20px; height:20px; min-height:20px; flex:0 0 20px; margin:0; }
.display-planner .dp-optin span { line-height:1.6; }
.display-planner .dp-email button[type=submit],.display-planner [data-email-verify] { background:#006e9b; color:#fff; border-color:#006e9b; }
.display-planner .dp-email button[type=submit]:hover,.display-planner [data-email-verify]:hover { background:#00597e; }
.display-planner [data-email-private] { font-size:.8rem; font-family:monospace; }
.dp-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.display-planner .dp-local { padding:.5rem .75rem; background:#fff5d8; color:#634e13; }
.dp-email-policy { font-size:.85rem; line-height:1.6; color:#4b606c; }
.dp-email-policy summary { padding-block:.5rem; cursor:pointer; }
body:has(.display-planner) .editorial-page { max-width:1180px; margin-inline:auto; }
body:has(.display-planner) .entry-content--page { max-width:none; }
body:has(.display-planner) .page-header { margin-bottom:1rem; padding-bottom:.75rem; }
body:has(.display-planner) .page-header h1 { font-size:clamp(2rem,3vw,2.8rem); margin:.5rem 0 .75rem; }
body:has(.display-planner) .page-header .eyebrow { margin:0; }
body:has(.display-planner) .article-dek { margin:0; font-size:1.05rem; line-height:1.5; }
body:has(.display-planner) .article-dek p { margin:0; }
@media(max-width:800px) { .dp-workspace { grid-template-columns:1fr; gap:.5rem; }.dp-controls { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }.dp-result { padding:1rem; } }
@media(max-width:560px) { .dp-controls { display:block; }.dp-diagram { height:260px; }.display-planner .dp-items { grid-template-columns:1fr; }.dp-workspace { gap:0; }.display-planner { margin-top:1rem; }.dp-result-heading { min-height:4.1rem; }.display-planner [data-shelf-summary] { min-block-size:4.65em; } }
@media print { header.site-header,footer.site-footer,.skip-link,.dp-plan-actions,.dp-items .dp-buttons,.dp-controls,.dp-message,.dp-notes,.dp-email,[data-another] { display:none!important; }.dp-workspace { display:block; }.dp-result { break-inside:avoid; background:#fff; }.dp-diagram { height:350px; }.dp-items li { break-inside:avoid; }.display-planner * { print-color-adjust:exact; } }
