.reader-panel{padding:18px;margin-bottom:16px;border:1px solid #8cbbb1}.reader-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.reader-heading h2{margin:0 0 6px}.reader-badge{display:inline-block;color:#92400e;background:#fff4d9;padding:4px 10px;border-radius:6px;font-size:.8rem}.reader-panel p{line-height:1.8}.reader-panel .actions{flex-wrap:wrap}.reader-panel details{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.reader-panel summary{cursor:pointer;font-weight:bold}.board-svg[data-tool=read]{cursor:crosshair}.reader-dialog{width:min(1500px,96vw);max-width:96vw;max-height:94vh;overflow:auto;padding:20px;border:1px solid #8cbbb1;border-radius:16px;color:var(--navy);background:white;font:inherit}.reader-dialog::backdrop{background:#07182bc9}.reader-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.reader-dialog-head h2{margin:0 0 6px}.reader-dialog p{line-height:1.8}.reader-review-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:18px}.reader-review-grid>section{min-width:0}.reader-canvas{border:1px solid var(--line);background:#e5ebf1;position:sticky;top:0}.reader-canvas svg{display:block;width:100%;height:65vh;min-height:380px;touch-action:none;direction:ltr}.reader-canvas [data-handle]{cursor:move;outline:none}.reader-canvas [data-handle]:focus{stroke:#0f766e;stroke-width:4px}.reader-item{padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;display:grid;gap:8px}.reader-item small{line-height:1.7;overflow-wrap:anywhere}.reader-item label{margin:0}.reader-item input[type=checkbox],.reader-approve input{width:20px;min-height:20px;accent-color:#0f766e}.reader-item select,.reader-item input{max-width:100%;min-width:0}.reader-dialog .fields{display:flex;gap:8px}.reader-dialog .fields label{flex:1;min-width:0}.reader-dialog .fields input{width:100%}.reader-item .actions{flex-wrap:wrap}.reader-dialog-foot{background:white;position:sticky;bottom:-20px;border-top:1px solid var(--line);padding:15px 0;display:flex;gap:16px;justify-content:space-between;align-items:center}.reader-approve{display:flex;gap:10px;align-items:center;flex:1}.reader-warning,#readerIssues{color:#92400e;line-height:1.8}.reader-tables h3{margin-top:20px}.reader-dialog button:focus-visible,.reader-dialog input:focus-visible,.reader-dialog select:focus-visible{outline:3px solid #d97706;outline-offset:2px}@media(max-width:850px){.reader-review-grid{grid-template-columns:1fr}.reader-canvas svg{height:52vh}.reader-dialog-foot{position:static;flex-direction:column;align-items:stretch}.reader-dialog-head{flex-direction:column}.reader-dialog{padding:14px}.reader-panel .actions button{flex:1}.reader-dialog .fields.three{flex-wrap:wrap}}@media print{.reader-panel{display:none}}

.reader-context,.reader-design-report{border:1px solid #9fbfb7;border-radius:10px;padding:14px;margin:14px 0;background:#f3faf8}.reader-context .fields{display:flex;gap:12px}.reader-context input[type=number]{max-width:120px}.reader-design-report summary{cursor:pointer;font-weight:bold;padding:12px 0}.reader-design-report small{overflow-wrap:anywhere}#readerPageList{display:block;max-height:90px;overflow:auto;line-height:1.7}

/* Keep editing controls with the drawing while the review table scrolls. */
.reader-viewer{position:sticky;top:0;align-self:start;background:white;z-index:2;height:78vh;max-height:800px;display:flex;flex-direction:column;overflow:auto}
.reader-viewer .reader-canvas{position:relative;flex:1;min-height:100px}
.reader-viewer .reader-canvas svg{height:100%;min-height:0}
.reader-viewer>.actions{flex-shrink:0;display:flex;flex-wrap:wrap;gap:6px;padding:6px 0}
.reader-viewer>#readerDrawHint{margin:4px 0}
.reader-dialog-foot{z-index:3}
@media(max-width:850px){.reader-viewer{height:60vh;max-height:600px}.reader-viewer .reader-canvas svg{height:100%;min-height:0}}
/* 8.16.0 — classification status and pending re-analysis */
.reader-class{font-weight:700;padding:0 4px;border-radius:4px}
.reader-class-supported{color:#166534;background:#dcfce7}
.reader-class-uncertain,.reader-class-not-space{color:#9a3412;background:#ffedd5}
.reader-class-user{color:#1e3a8a;background:#dbeafe}
.reader-pending{border:2px solid #d97706;border-radius:8px;padding:8px 12px;margin:8px 0;background:#fffbeb}
.reader-pending ul{margin:4px 0;padding-inline-start:20px;max-height:180px;overflow:auto}

/* 8.16.3: bounded dialog; scale first; approval and blockers always visible. */
.reader-dialog{box-sizing:border-box;width:min(1500px,96vw);height:94vh;height:94dvh;max-height:94vh;max-height:94dvh;overflow:hidden;padding:16px}
.reader-dialog[open]{display:flex;flex-direction:column;gap:10px}
.reader-dialog-head{flex:0 0 auto;align-items:center;min-width:0}
.reader-dialog-head>div:first-child{min-width:0;flex:1}
.reader-dialog-head h2{font-size:1.15rem;overflow-wrap:anywhere}
.reader-dialog-head .actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.reader-dialog-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:16px}
.reader-dialog-foot{position:static;flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 0 0;margin:0;bottom:auto}
.reader-approval-actions{display:flex;align-items:center;gap:12px;justify-content:space-between}
.reader-approve{margin:0;min-width:0;font-size:.9rem;line-height:1.5}
.reader-approve input{flex:0 0 20px}
#readerBlockers{font-size:.85rem;line-height:1.6;max-height:5em;overflow:auto}
.reader-scale-panel{border:2px solid #0f766e;background:#f0fdfa;padding:12px;border-radius:10px;margin:8px 0 16px;scroll-margin:16px}
.reader-scale-panel h3{margin-top:0}.reader-scale-panel label{display:block;margin-block:8px}
.reader-viewer{height:56vh;height:56dvh;max-height:650px}
#readerIssues{scroll-margin:16px}
@media(max-width:850px){.reader-dialog{padding:10px}.reader-dialog-head{gap:6px;align-items:stretch}.reader-dialog-head .actions{justify-content:start}.reader-dialog-head h2{font-size:1rem}.reader-dialog-head button{padding:7px 9px;font-size:.85rem}.reader-approval-actions{flex-wrap:wrap}.reader-approval-actions button{width:100%}.reader-viewer{height:40vh;height:40dvh}.reader-dialog-foot{gap:4px}.reader-approve{font-size:.8rem}#readerBlockers{max-height:4.8em}}
