:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#22313a;background:#f4f6f8;font-size:14px;--navy:#102b36;--teal:#007e80;--line:#e0e6ea;--muted:#657783}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #00aaa5;outline-offset:3px}h1{font-size:32px;letter-spacing:-1px;margin:10px 0}h2{font-size:24px;letter-spacing:-.5px}h3{font-size:14px;margin:22px 0 10px}p{line-height:1.65}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--teal)}.brand{font-size:19px;font-weight:700;letter-spacing:-.6px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:7px;padding:12px 18px;text-decoration:none;font-weight:600;white-space:nowrap}.primary{background:var(--teal);color:white}.primary:hover{background:#006a6c}.secondary{background:white;color:#334c59;border:1px solid var(--line)}.quiet{background:transparent;color:var(--teal);padding:10px 0;text-align:left}.error{color:#aa3030;min-height:1em}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.intro{position:relative;padding:14vh 10%;background:var(--navy);color:white;overflow:hidden}.intro .eyebrow{color:#67d7cb}.intro h1{font-size:clamp(36px,4.2vw,64px);line-height:1.12;margin:35px 0 25px}.intro p{max-width:350px;color:#a6bdc5;font-size:17px}.intro small{display:block;margin-top:70px;color:#82a2ad;letter-spacing:2px}.drawing-motif{display:flex;gap:45px;border-bottom:1px solid #41616b;width:80%;margin-top:65px;padding-bottom:35px}.drawing-motif span{border:1px solid #65c3be;border-radius:50%;padding:14px;font-size:14px;color:#8ce1d7}.login-card{align-self:center;justify-self:center;width:min(370px,80%);padding:35px 0}.login-card .brand{color:var(--teal)}.login-card h2{margin-top:50px}.login-card button{width:100%;margin-top:15px}label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:12px}input,select{width:100%;padding:11px 12px;border:1px solid #cfd9df;border-radius:6px;background:#fff;color:#253e4a}form label{margin:20px 0}form .primary{margin-top:12px}small{line-height:1.6}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:var(--navy);color:white;padding:32px 22px;display:flex;flex-direction:column}.workspace-label{font-size:9px;letter-spacing:1.8px;color:#819fa9;margin:48px 12px 20px}.nav{display:flex;width:100%;text-align:left;gap:15px;align-items:center;padding:14px;margin:6px 0;border-radius:6px;background:none;color:#a8c0c8}.nav.active{background:#214550;color:#fff}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;border-top:1px solid #31505b;padding-top:24px}.sidebar-bottom small{color:#91aeb8;text-transform:capitalize}.sidebar-bottom button{color:#7bd5cd}.content{margin-left:232px;padding:0 40px 50px;max-width:1900px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:#657783;font-size:12px}.local-label{display:flex;align-items:center;gap:7px}.local-label i{width:6px;height:6px;border-radius:100%;background:var(--teal)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0 22px}.page-heading p{margin:6px 0}.notice{padding:16px 20px;background:#e9f2f4;border:1px solid #cbdfe4;border-radius:7px;color:#3b616b;line-height:1.6;margin:0 0 25px;font-size:13px}.notice strong{display:block;color:#244751}.stats{display:flex;background:white;border:1px solid var(--line);border-radius:8px;margin:0 0 28px}.stats div{flex:1;padding:22px 26px}.stats div+div{border-left:1px solid var(--line)}.stats span{display:block;font-size:30px;font-weight:600}.stats small{font-size:10px;color:var(--muted);letter-spacing:1px}.toolbar{display:flex;align-items:end;gap:16px;margin:0 0 18px}.search{flex:1;max-width:430px}.toolbar button{margin-left:auto}.table-wrap{background:white;border:1px solid var(--line);border-radius:8px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:11px;color:var(--muted);font-weight:600;background:#fbfcfd;padding:15px 20px;border-bottom:1px solid var(--line)}td{padding:20px;border-bottom:1px solid #eef2f4;font-size:13px}td:first-child{font-weight:600}td button{padding:7px 10px;margin:2px;background:#eff5f6;color:#27676d;border-radius:5px}td small{display:block;font-weight:400;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:5px 10px;border-radius:5px;background:#fff4db;color:#816121;font-size:11px;font-weight:600}.empty{text-align:center;padding:65px 20px;color:var(--muted)}.empty h2{font-size:19px;color:#334c59}.empty-icon{font-size:38px;color:#7eaaa9}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:24px}.tab{padding:13px 3px;background:none;color:var(--muted)}.tab.active{color:var(--teal);border-bottom:3px solid var(--teal)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:24px}.pdf-panel{border:1px solid var(--line);border-radius:8px;background:#e3e8ec;overflow:hidden}.pdf-toolbar{background:white;padding:15px;display:flex;align-items:end;justify-content:space-between;gap:15px}.pdf-toolbar label{flex:1;max-width:400px}iframe{display:block;width:100%;height:65vh;min-height:450px;border:0}.detail-aside{background:white;border:1px solid var(--line);border-radius:8px;padding:5px 20px 25px;font-size:12px;overflow-wrap:anywhere}.hash{font-family:Consolas,monospace;color:#657783;font-size:10px}dl{line-height:1.6}dt{color:#657783;margin-top:8px}dd{margin:0}.version-card{background:white;border:1px solid var(--line);padding:25px;border-radius:8px;margin-top:15px}.version-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;width:min(520px,92vw);box-shadow:0 25px 100px #102b3633}dialog::backdrop{background:#102b3680}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{margin:0}.close{background:none;color:var(--muted);font-size:26px}.check{flex-direction:row;align-items:center}.check input{width:auto}#toast{position:fixed;right:24px;bottom:24px;background:var(--navy);color:white;padding:16px 22px;border-radius:8px;box-shadow:0 4px 25px #0002;z-index:10;max-width:440px}#detailName{overflow-wrap:anywhere}@media(max-width:1050px){.content{padding:0 24px 30px}.sidebar{width:200px;padding:28px 16px}.content{margin-left:200px}.detail-layout{grid-template-columns:1fr}.detail-aside{max-width:none}.brand{font-size:17px}}@media(max-width:720px){.login-layout{grid-template-columns:1fr}.intro{display:none}.login-card{padding:60px 0}.sidebar{position:static;width:auto;padding:18px;display:block}.sidebar nav{display:flex;margin:12px 0 0}.workspace-label{display:none}.nav{padding:10px;margin:0}.sidebar-bottom{border:0;padding:0;margin:10px 0 0;flex-direction:row;gap:12px;align-items:center}.sidebar-bottom .quiet{margin-left:auto}.content{margin:0;padding:0 16px 30px}.page-heading{align-items:start}.page-heading h1{font-size:27px}.stats div{padding:17px}.toolbar{flex-wrap:wrap}.toolbar .search{min-width:100%}.toolbar button{margin-left:0}.local-label{font-size:10px}.pdf-toolbar{flex-wrap:wrap}}

.page-preview{overflow:auto;max-height:75vh;min-height:400px;padding:20px}.page-preview img{display:block;width:100%;height:auto;background:white;box-shadow:0 2px 12px #102b3622}#previewStatus{padding:0 20px;color:#657783}

.detail-aside pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;max-height:300px;overflow:auto}.detail-aside details{margin:8px 0}.detail-aside summary{cursor:pointer}

/* Three-version review and generic editor. */
.detail-layout.full-width{grid-template-columns:minmax(0,1fr)}.drawing-canvas{height:66vh;min-height:400px;position:relative;overflow:hidden;touch-action:none}.drawing-canvas canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.drawing-canvas canvas:active{cursor:grabbing}.view-actions{display:flex;gap:12px;align-items:center;margin-bottom:12px}.view-actions .secondary,.edit-toolbar .secondary{padding:8px 12px;font-size:12px;margin-right:6px}.tabs{align-items:center;flex-wrap:wrap;gap:24px;margin-bottom:12px}#tabAvailability{font-size:12px;margin-left:auto}#sourceDownloads{display:flex;gap:8px;flex-wrap:wrap;padding-top:16px}#sourceDownloads a{font-size:11px;padding:8px}.edit-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px;background:white;border:1px solid var(--line);border-radius:8px}.edit-toolbar button:not(.primary),.point-actions button,.point-form button{padding:8px 10px;border-radius:5px;background:#e9f2f4;color:#215a62}.edit-toolbar #saveState{font-size:12px;margin-right:auto}.editor-message{min-height:24px;padding:8px 0;color:#8a5b06;font-size:12px}.editor-layout{display:grid;grid-template-columns:210px minmax(280px,1fr) 260px;gap:12px}.balloon-list,.point-form{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;max-height:72vh;overflow:auto;min-width:0}.balloon-list h3,.point-form h3{margin-top:2px}.balloon-list .check{margin:12px 0;font-size:11px}#pointCount{font-size:11px;color:var(--muted);margin:10px 0}.point-row{display:grid;grid-template-columns:26px 1fr;gap:7px;width:100%;text-align:left;padding:11px 5px;border-bottom:1px solid var(--line);background:white;font-size:12px;overflow-wrap:anywhere}.point-row strong{border:1px solid #9db4b8;border-radius:50%;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;font-size:11px}.point-row small{grid-column:2;color:#8a5b06}.point-row.selected{background:#dff1ee;color:#005f60}.point-row.removed{text-decoration:line-through;color:#879398}.editor-canvas-wrap{min-width:0;border:1px solid var(--line);border-radius:8px;background:#e3e8ec;overflow:hidden}.editor-canvas-wrap .drawing-canvas{height:68vh}.point-form label{margin:12px 0;gap:5px;font-size:11px}.point-form input,.point-form select,.point-form textarea{font:inherit;font-size:12px;width:100%;padding:8px;border:1px solid #cfd9df;border-radius:5px}.point-form textarea{min-height:70px;resize:vertical}.point-actions{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.point-form p{font-size:11px}.point-form fieldset{margin:10px 0;padding:10px;border:1px solid var(--line);min-width:0}.point-form legend{font-size:10px;overflow-wrap:anywhere}.point-form summary{cursor:pointer;margin:12px 0;font-size:12px}#modeHint{padding:8px 12px;background:#fff;font-size:11px;color:var(--muted)}#editedDownloads{display:flex;gap:5px;flex-wrap:wrap}#historyList{font-size:11px}#historyList .secondary{font-size:10px;padding:6px;margin:5px 3px 8px 0}@media(max-width:1300px){.editor-layout{grid-template-columns:170px minmax(220px,1fr) 225px}.content{padding-left:20px;padding-right:20px}.sidebar{width:180px}.content{margin-left:180px}}@media(max-width:1000px){.editor-layout{grid-template-columns:160px minmax(0,1fr)}.point-form{grid-column:1/-1;max-height:45vh}.editor-canvas-wrap .drawing-canvas{height:60vh}.detail-layout{grid-template-columns:minmax(0,1fr) 230px}}@media(max-width:720px){.content{margin-left:0}.sidebar{width:auto}.editor-layout{grid-template-columns:1fr}.balloon-list{max-height:200px}.point-form{grid-column:auto}.detail-layout{grid-template-columns:1fr}.drawing-canvas{min-height:320px}.tabs{gap:12px}}

#detailPage .page-heading{padding:12px 0}#detailPage h1{font-size:26px}#detailPage .tabs{margin-bottom:10px}.editor-canvas-wrap .drawing-canvas{height:calc(100vh - 365px);min-height:320px}.balloon-list,.point-form{max-height:calc(100vh - 335px);min-height:320px}

/* Saved artifacts and administrator reports */
.detail-sticky{position:sticky;top:0;z-index:8;background:#f5f7fa;padding:12px 0;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.workbook-dialog{width:min(96vw,1500px);max-width:96vw;height:88vh;max-height:94vh;padding:24px}
.workbook-scroll{overflow:auto;height:calc(100% - 200px);border:1px solid #dbe2e8}
.workbook-scroll table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}
.workbook-scroll th{position:sticky;top:0;background:#16354a;color:white;z-index:1}
.workbook-scroll td,.workbook-scroll th{min-width:100px;max-width:360px;white-space:pre-wrap;overflow-wrap:anywhere;border-bottom:1px solid #dbe2e8;vertical-align:top}
.report-analysis{display:grid;gap:12px;max-width:900px}.report-analysis textarea{min-height:90px}
#reportBody pre{max-height:550px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}#reportBody details{margin:12px 0}
#reportBody>article{margin:18px 0}#editedDownloads{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#editedDownloads small{flex-basis:100%}
#orientationControls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#orientationControls[hidden]{display:none}

.report-finding{border-left:3px solid #008486;padding:8px 18px;margin:12px 0;background:#f6fafb}.report-finding p{margin:6px 0}

#reportList table{white-space:normal;table-layout:fixed;min-width:780px}#reportList th,#reportList td{padding:14px 10px;overflow-wrap:anywhere}#reportList th:first-child{width:27%}#reportList td button{max-width:100%;text-align:left;white-space:normal}#reportList th:nth-child(2){width:14%}#reportList th:nth-child(3){width:10%}#reportList th:nth-child(6){width:7%}
