@font-face { font-family:"DM Sans"; src:url("fonts/dm-sans-variable.ttf") format("truetype"); font-style:normal; font-weight:100 1000; font-display:swap; }
:root { --font-ui:"DM Sans","Segoe UI",Arial,sans-serif; --navy:#102f3d; --navy-light:#1b4655; --green:#13745b; --green-dark:#0c5a46; --mint:#eaf5ef; --ink:#18313b; --muted:#657780; --line:#dee7e8; --canvas:#f4f7f6; --white:#fff; --red:#a53b34; --amber:#865f0a; --radius:14px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font-family:var(--font-ui); font-size:16px; font-weight:400; font-optical-sizing:auto; line-height:1.6; }
a { color:var(--green); text-decoration:none; } a:hover { text-decoration:underline; }
button,input,select,textarea { font:inherit; } button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; } button:disabled { cursor:wait; opacity:.65; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #61b99b; outline-offset:3px; }
button,input,select,textarea { transition:border-color .15s,background .15s,box-shadow .15s; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:32px; line-height:1.2; letter-spacing:-1px; margin-bottom:10px; } h2 { font-size:20px; line-height:1.3; letter-spacing:-.4px; margin-bottom:10px; } h3 { font-size:15px; line-height:1.4; margin-bottom:8px; } p { margin-bottom:14px; } small,.small-text { font-size:14px; } [hidden] { display:none!important; }
.muted { color:var(--muted); } .eyebrow { text-transform:uppercase; letter-spacing:1.7px; font-weight:750; font-size:14px; color:var(--green); margin-bottom:12px; } .field-hint { display:block; color:var(--muted); font-size:14px; font-weight:400; line-height:1.5; margin-top:5px; } .required { color:var(--green); } .preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.skip-link { position:absolute; top:-80px; left:20px; background:var(--white); padding:12px 20px; z-index:100; } .skip-link:focus { top:10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.site-header { min-height:88px; padding:18px 3.7%; display:flex; align-items:center; gap:38px; background:var(--white); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; color:var(--navy); font-size:17px; font-weight:750; line-height:1.3; text-decoration:none; flex-shrink:0; } .brand:hover { text-decoration:none; } .brand small { display:block; margin-top:4px; color:var(--muted); font-weight:400; font-size:14px; letter-spacing:.15px; }
.brand-mark { background:var(--green); color:var(--white); display:flex; align-items:center; justify-content:center; width:43px; height:47px; font-size:14px; letter-spacing:.4px; clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%); padding-bottom:4px; }
.main-nav { display:flex; align-items:center; gap:24px; flex:1; } .main-nav a { color:var(--muted); font-size:14px; font-weight:600; padding:12px 0; position:relative; white-space:nowrap; } .main-nav a[aria-current="page"] { color:var(--green); } .main-nav a[aria-current="page"]:after { content:""; position:absolute; bottom:4px; height:2px; left:0; right:0; background:var(--green); border-radius:2px; }
.account { display:flex; align-items:center; gap:20px; margin-left:auto; } .account>span { font-size:14px; text-align:right; } .account small { display:block; color:var(--muted); font-size:14px; } .account strong { display:block; max-width:160px; overflow-wrap:anywhere; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:8px; border:1px solid transparent; border-radius:8px; min-height:42px; padding:10px 17px; font-size:14px; line-height:1.4; font-weight:650; text-align:center; text-decoration:none; white-space:nowrap; }
.button:hover { text-decoration:none; } .button-primary { background:var(--green); border-color:var(--green); color:var(--white); box-shadow:0 2px 3px #13745b12; } .button-primary:hover { background:var(--green-dark); border-color:var(--green-dark); }
.button-outline { color:var(--ink); border-color:var(--line); background:var(--white); } .button-outline:hover { background:#f7faf8; border-color:#b1c8c0; } .button-quiet { background:transparent; color:var(--muted); } .button-quiet:hover { color:var(--ink); background:#eef3f1; }
.button-small { min-height:32px; padding:7px 11px; font-size:14px; } .button-full { width:100%; justify-content:space-between; }
.icon-button { background:transparent; border:0; color:var(--muted); border-radius:6px; font-size:25px; width:36px; height:36px; line-height:1; flex-shrink:0; } .icon-button:hover { background:#edf3f1; }
.page-shell { margin:0 auto; padding:38px 3.7% 30px; max-width:1680px; } .page-heading { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-bottom:28px; } .page-heading p:last-child { margin-bottom:0; } .heading-actions { display:flex; align-items:center; gap:10px; }
.stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:22px; } .stat-card { padding:20px 23px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); position:relative; overflow:hidden; } .stat-card:after { content:""; width:5px; position:absolute; left:0; top:20px; bottom:20px; background:#9baeb7; border-radius:0 4px 4px 0; } .stat-label,.stat-caption { display:block; } .stat-label { font-size:14px; font-weight:600; } .stat-card strong { display:block; margin:3px 0 5px; font-size:32px; line-height:1.35; font-weight:750; letter-spacing:-1px; } .stat-caption { color:var(--muted); font-size:14px; } .stat-amber:after { background:#caa25b; } .stat-red:after { background:#c97065; } .stat-green:after { background:#55a282; }
.assessment-banner { display:flex; gap:12px; border:1px solid #d7e8df; background:#edf5f0; border-radius:10px; padding:13px 17px; margin-bottom:25px; font-size:14px; color:#436153; align-items:flex-start; } .assessment-banner p { margin:0; } .assessment-banner a { font-weight:650; white-space:nowrap; } .info-icon { width:19px; height:19px; border:1px solid #86b59e; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; flex-shrink:0; margin-top:1px; }
.workspace { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr); align-items:start; gap:24px; } .panel { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; } .panel-heading { padding:21px 23px 16px; display:flex; align-items:center; justify-content:space-between; gap:15px; } .panel-heading h2 { margin:0 0 4px; } .panel-heading p { margin:0; } .panel-tools { display:flex; gap:3px; }
.filter-bar { padding:0 22px 19px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:9px; border-bottom:1px solid var(--line); } .filter-bar .search-field { grid-column:1 / -1; } .filter-bar input,.filter-bar select { font-size:14px; min-height:38px; padding:8px 10px; } .filter-bar select { padding-right:24px; }
input:not([type="radio"]):not([type="checkbox"]),select,textarea { background:var(--white); color:var(--ink); border:1px solid #cfdbdd; border-radius:7px; width:100%; min-height:43px; padding:10px 12px; display:block; line-height:1.5; } input::placeholder,textarea::placeholder { color:#87979d; font-weight:400; } input:hover,select:hover,textarea:hover { border-color:#9eb8b0; } textarea { resize:vertical; } input[type="file"] { font-size:14px; padding:9px!important; } input[type="file"]::file-selector-button { border:0; border-radius:4px; padding:4px 7px; margin-right:8px; color:var(--navy); background:#edf3f1; font:inherit; }
.report-list { max-height:800px; overflow-y:auto; padding:8px 12px 12px; scrollbar-width:thin; } .report-card { display:block; width:100%; text-align:left; background:var(--white); border:1px solid transparent; border-bottom-color:#ebefed; border-radius:9px; padding:17px 12px; margin:2px 0; color:var(--ink); } .report-card:hover { background:#f5f9f7; } .report-card.is-selected { background:#f0f7f3; border-color:#c0d9cb; box-shadow:inset 3px 0 0 var(--green); } .report-topline,.report-bottomline { display:flex; gap:9px; align-items:center; justify-content:space-between; } .report-id { color:#6b7f89; font-size:14px; font-weight:650; letter-spacing:.7px; } .report-title { display:block; font-size:14px; margin:9px 0 3px; font-weight:650; line-height:1.5; overflow-wrap:anywhere; } .report-category { display:block; color:var(--muted); font-size:14px; margin-bottom:4px; } .report-location { display:block; font-size:14px; margin-bottom:13px; color:#536d78; overflow-wrap:anywhere; } .report-date { color:#7b8d94; font-size:14px; }
.badge { display:inline-block; border-radius:5px; padding:3px 8px; font-size:14px; line-height:1.6; font-weight:650; white-space:nowrap; } .risk-low { color:#267052; background:#e9f5ed; } .risk-moderate { color:#8b650e; background:#fcf2d8; } .risk-high { color:#ab4034; background:#fbece8; } .badge-neutral,.status-submitted { color:#547584; background:#edf2f5; } .status-assigned { color:#785d9a; background:#f1edf7; } .status-in-progress { color:#8a6a15; background:#faf2dd; } .status-resolved { color:#28745b; background:#eaf5ef; } .badge-row { display:flex; flex-wrap:wrap; gap:7px; }
.detail-panel { min-height:460px; scroll-margin-top:20px; } .detail-header { padding:23px; background:linear-gradient(120deg,#f2f8f4,#fff); border-bottom:1px solid var(--line); } .detail-header .eyebrow { margin-bottom:8px; } .detail-header h2 { font-size:20px; line-height:1.45; overflow-wrap:anywhere; margin-bottom:13px; } .detail-section { padding:20px 23px; border-bottom:1px solid #e9eeec; } .detail-section:last-child { border:0; } .detail-section h3 { margin-bottom:10px; font-size:14px; letter-spacing:.1px; } .detail-section p { font-size:14px; color:#536c76; margin-bottom:10px; } .detail-section p:last-child { margin-bottom:0; } .detail-data { padding:18px 23px; display:grid; grid-template-columns:1fr 1fr; gap:15px 20px; border-bottom:1px solid #e9eeec; margin:0; } .detail-data dt { color:var(--muted); font-size:14px; } .detail-data dd { margin:3px 0 0; font-size:14px; font-weight:600; overflow-wrap:anywhere; } .assessment-method { font-weight:650; color:var(--green)!important; }
.condition-chips { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; } .condition-chips span { background:#f2f5f4; border-radius:5px; font-size:14px; padding:4px 8px; color:#647972; } .report-photo { display:block; width:100%; max-height:280px; object-fit:contain; border:1px solid var(--line); border-radius:8px; background:#f2f5f4; } .photo-link { display:block; } .photo-caption { display:block; font-size:14px; color:var(--muted); margin-top:5px; } .location-map { width:100%; height:230px; border:1px solid var(--line); border-radius:8px; margin-top:5px; }
.timeline { list-style:none; padding:0 0 0 8px; margin:14px 0 0; } .timeline li { border-left:1px solid #cdded4; padding:0 0 19px 17px; position:relative; } .timeline li:last-child { padding-bottom:0; } .timeline li:before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:#75a68d; left:-4px; top:5px; border:1px solid white; } .timeline strong { font-size:14px; } .timeline p { font-size:14px; margin:2px 0 5px; white-space:pre-wrap; overflow-wrap:anywhere; } .timeline small { font-size:14px; }
.empty-state { padding:60px 25px; text-align:center; color:var(--muted); } .empty-state h2,.empty-state h3 { margin-top:15px; color:#375662; } .empty-state p { font-size:14px; max-width:270px; margin:0 auto; } .empty-symbol { display:flex; align-items:center; justify-content:center; margin:auto; color:#8bac9d; font-size:34px; width:62px; height:62px; border:1px solid #dce8e1; border-radius:50%; background:#f3f8f5; line-height:1; } .detail-empty { padding-top:100px; }
.process-strip { margin-top:25px; padding:24px 26px; border:1px solid var(--line); border-radius:var(--radius); background:#edf3f0; display:grid; grid-template-columns:repeat(4,1fr); } .process-strip>div { padding-left:25px; border-left:1px solid #d6e3dc; position:relative; } .process-strip>div:first-child { padding-left:0; border:0; } .process-strip span { color:#79988a; font-size:14px; margin-right:10px; } .process-strip strong { font-size:14px; } .process-strip p { font-size:14px; color:#7a8d84; margin:5px 0 0; }
.site-footer { padding:24px 3.7%; display:flex; justify-content:space-between; gap:20px; font-size:14px; color:#82948c; border-top:1px solid #e6ece8; margin-top:10px; }
.modal { width:min(100% - 32px,520px); border:1px solid var(--line); border-radius:16px; padding:26px; max-height:90dvh; overflow-y:auto; color:var(--ink); box-shadow:0 24px 100px #102f3d30; } .modal-wide { width:min(100% - 32px,720px); } dialog::backdrop { background:#0c2639a6; backdrop-filter:blur(3px); } .modal-heading { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:20px; } .modal-heading h2 { margin:0; } .modal-heading .eyebrow { margin-bottom:6px; }
.stack-form { display:flex; flex-direction:column; gap:17px; } .stack-form>p { margin-bottom:0; } .stack-form label { display:block; font-weight:600; font-size:14px; } .stack-form label>input,.stack-form label>select,.stack-form label>textarea { margin-top:7px; font-weight:400; } .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; } fieldset { min-width:0; } .location-fieldset { border:1px solid var(--line); border-radius:9px; padding:14px; } .location-fieldset legend { font-weight:650; font-size:14px; padding:0 6px; } .location-fieldset legend .field-hint { display:inline; } .location-fieldset .button { margin-top:12px; } .location-fieldset>p:first-of-type { margin-top:0; } .location-fieldset>p:last-child { margin-bottom:0; }
.checkbox-group { border:0; padding:0; margin:0; } .checkbox-group legend { font-weight:650; font-size:14px; margin-bottom:9px; } .checkbox-label { display:flex!important; align-items:flex-start; gap:9px; margin:7px 0; color:#566e77; font-weight:400!important; } input[type="checkbox"] { accent-color:var(--green); width:15px; height:15px; margin:2px 0 0!important; } .form-actions { border-top:1px solid var(--line); padding-top:18px; margin-top:5px; display:flex; justify-content:flex-end; gap:10px; }
.notice { font-size:14px; color:#466957; padding:12px 15px; background:#eff7f2; border:1px solid #d8e9de; border-radius:8px; margin-bottom:16px; overflow-wrap:anywhere; } .notice-error { color:#963b34; background:#fff0ed; border-color:#f0ccc7; } .notice-success { background:#edf8ef; color:#2f6e49; border-color:#c9e5d1; } .notice-warm { color:#81631c; background:#fcf7e8; border-color:#ece2be; } .flash-stack { max-width:1200px; padding:18px 3.7% 0; margin:auto; } .flash-stack p { margin:0 0 8px; } .toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); border-radius:10px; box-shadow:0 8px 30px #102f3d25; background:var(--navy); color:var(--white); padding:14px 22px; max-width:calc(100% - 32px); width:max-content; font-size:14px; z-index:200; }
.submission-thanks { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:18px 20px; } .submission-thanks p { margin:5px 0 9px; } .submission-thanks a { font-weight:700; } .submission-thanks .button { margin-left:auto; }
.count-pill { border-radius:12px; background:#edf5ef; color:var(--green); font-size:14px; padding:1px 6px; } .notification-item { display:block; background:transparent; border:0; border-bottom:1px solid var(--line); width:100%; padding:15px 12px; color:var(--ink); text-align:left; } .notification-item strong { display:block; font-size:14px; font-weight:500; white-space:pre-wrap; overflow-wrap:anywhere; } .notification-item small { display:block; margin-top:6px; font-size:14px; } .notification-item.is-unread { background:#f1f7f3; border-left:3px solid var(--green); } .notification-item:hover { background:#e8f3ec; }
.auth-layout { min-height:calc(100dvh - 70px); display:grid; grid-template-columns:1fr 1fr; } .auth-story { padding:45px 10%; background:var(--navy); color:var(--white); display:flex; flex-direction:column; position:relative; overflow:hidden; } .auth-story:before { content:""; position:absolute; width:650px; height:650px; border:1px solid #ffffff0b; border-radius:50%; right:-330px; top:80px; pointer-events:none; } .auth-story:after { content:""; position:absolute; width:450px; height:450px; border:1px solid #ffffff09; border-radius:50%; right:-230px; top:180px; pointer-events:none; } .brand-light { color:var(--white); } .brand-light small { color:#91adae; } .brand-light .brand-mark { background:#439a7a; }
.auth-story-content { margin:auto 0; padding:70px 0; position:relative; z-index:1; } .auth-story-content .eyebrow { color:#8fc3a9; } .auth-story h1 { font-size:48px; line-height:1.2; letter-spacing:-1.8px; margin:18px 0 25px; font-weight:650; } .auth-story-content>p:not(.eyebrow) { color:#abc2c6; font-size:15px; max-width:360px; } .workflow { display:flex; flex-direction:column; gap:13px; margin-top:35px; color:#78ad94; font-size:14px; } .workflow strong { color:#bdcfd1; margin-left:15px; font-weight:500; } .auth-note { font-size:14px; color:#82a2a7; max-width:350px; margin:0; position:relative; z-index:1; }
.auth-panel { display:flex; align-items:center; justify-content:center; padding:45px 35px; background:var(--white); } .auth-card { width:100%; max-width:360px; } .auth-card h2 { font-size:29px; letter-spacing:-.8px; margin-bottom:9px; } .auth-card>.muted { font-size:14px; margin-bottom:29px; } .auth-card .button { margin-top:8px; } .auth-switch { font-size:14px; color:var(--muted); text-align:center; margin:25px 0; } .auth-switch a { font-weight:650; } .auth-disclaimer { border-top:1px solid var(--line); padding-top:23px; color:#7a8b89; font-size:14px; } .auth-disclaimer strong { font-size:14px; color:#5a7570; } .auth-disclaimer p { margin:5px 0 0; }
.narrow-page { max-width:1240px; } .content-panel { padding:27px; } .content-panel h2 { font-size:18px; } .content-panel>p { color:var(--muted); font-size:14px; } .evaluation-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:24px; align-items:start; } .summary-panel { position:sticky; top:20px; } .summary-number { display:block; color:var(--green); font-size:44px; line-height:1.3; margin:20px 0 0; } .summary-list { margin:24px 0; } .summary-list>div { display:flex; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid var(--line); } .summary-list dt { font-size:14px; color:var(--muted); } .summary-list dd { margin:0; font-weight:650; color:var(--green); } .summary-list dd small { font-size:14px; color:var(--muted); font-weight:400; }
.rating-fieldset { border:0; border-bottom:1px solid var(--line); padding:0 0 20px; margin:10px 0 0; } .rating-fieldset legend { font-weight:650; font-size:14px; } .rating-fieldset>p { color:var(--muted); font-size:14px; margin:7px 0 12px; } .rating-options { display:flex; gap:10px; } .rating-options label { flex:1; position:relative; } .rating-options input { opacity:0; position:absolute; width:100%; height:100%; margin:0; cursor:pointer; } .rating-options span { display:flex; align-items:center; justify-content:center; background:#f7f9f8; border:1px solid var(--line); border-radius:7px; height:40px; color:var(--muted); } .rating-options input:checked+span { color:var(--green); border-color:var(--green); background:#edf7f1; box-shadow:0 0 0 1px var(--green); } .rating-options input:focus-visible+span { outline:3px solid #61b99b; outline-offset:3px; } .rating-scale { display:flex; justify-content:space-between; color:#87988f; font-size:14px; margin-top:6px; }
.method-intro { display:grid; grid-template-columns:2fr 1fr; gap:35px; margin-bottom:23px; } .method-intro h2 { font-size:25px; margin-top:16px; } .method-intro p { color:var(--muted); font-size:14px; } .method-intro .notice { margin-bottom:0; } .method-aside { border-left:1px solid var(--line); padding-left:30px; display:flex; flex-direction:column; justify-content:center; } .method-aside strong { display:block; font-size:18px; color:var(--green); overflow-wrap:anywhere; } .method-aside .field-hint { font-size:14px; margin:12px 0 0; } .risk-explainer { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; margin-bottom:24px; } .risk-explainer h3 { margin-top:14px; } .risk-explainer p { font-size:14px; margin:0; } .plain-list { padding:0; list-style:none; } .plain-list li { padding:14px 0; border-bottom:1px solid var(--line); } .plain-list li:last-child { border:0; padding-bottom:0; } .plain-list strong { display:block; font-size:14px; margin-bottom:4px; } .plain-list span { display:block; color:var(--muted); font-size:14px; }
.table-scroll { overflow-x:auto; } .print-table { border-collapse:collapse; width:100%; font-size:14px; margin-top:25px; } .print-table th { text-align:left; color:var(--green); background:#edf4ef; font-weight:650; white-space:nowrap; } .print-table th,.print-table td { padding:12px; border:1px solid var(--line); vertical-align:top; overflow-wrap:anywhere; } .print-table td small { font-size:14px; color:var(--muted); }
.metric-panel { margin-top:24px; } .limitations-list { padding-left:18px; margin-bottom:0; font-size:14px; color:var(--muted); } .limitations-list li { margin:8px 0; }
.error-page { min-height:60vh; display:flex; align-items:center; justify-content:center; text-align:center; } .error-card { max-width:520px; padding:40px; } .error-code { font-size:64px; line-height:1; color:#8fb4a3; font-weight:750; margin-bottom:20px; }
@media (min-width:1500px) { .site-header { gap:60px; } .main-nav { gap:35px; } .workspace { grid-template-columns:minmax(0,1.3fr) minmax(400px,.8fr); } }
@media (max-width:1200px) { .site-header { gap:25px; flex-wrap:wrap; padding-top:14px; padding-bottom:14px; } .main-nav { gap:17px; } .brand { font-size:15px; } .brand small { font-size:14px; } .account { gap:8px; } .account>span { font-size:14px; } .main-nav a { font-size:14px; } .workspace { gap:18px; } .page-shell { padding-left:25px; padding-right:25px; } .auth-story h1 { font-size:42px; } }
@media (max-width:1000px) { .site-header { gap:15px; } .main-nav { order:3; flex-basis:100%; justify-content:center; border-top:1px solid #edf1ee; padding-top:5px; } .account { margin-left:auto; } .site-header .brand { margin-right:10px; } .workspace { grid-template-columns:1fr; } .report-list { max-height:550px; } .detail-panel { min-height:300px; } .detail-empty { padding:50px; } .stat-grid { gap:12px; } .stat-card { padding:16px; } .stat-caption { font-size:14px; } .heading-actions { align-self:flex-start; } .page-heading { align-items:flex-start; } .page-heading h1 { font-size:28px; } .process-strip { padding:20px; } .process-strip>div { padding-left:15px; } .process-strip p { font-size:14px; } .method-intro { grid-template-columns:1.5fr 1fr; gap:20px; } .evaluation-layout { grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); gap:18px; } .content-panel { padding:22px; } }
@media (max-width:760px) { .page-shell { padding:25px 18px; } .page-heading { flex-direction:column; gap:18px; margin-bottom:23px; } .page-heading>.button { align-self:flex-start; } .heading-actions { width:100%; } .heading-actions>.button { flex:1; } .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .stat-card strong { font-size:28px; } .assessment-banner { font-size:14px; } .assessment-banner a { white-space:normal; } .panel-heading { padding:19px 17px 14px; } .filter-bar { padding:0 17px 17px; } .report-date { font-size:14px; } .process-strip { grid-template-columns:1fr 1fr; gap:20px 0; } .process-strip>div:nth-child(3) { border:0; padding-left:0; } .site-footer { flex-direction:column; gap:5px; padding:20px; text-align:center; } .auth-layout { display:block; min-height:0; } .auth-story { padding:25px; } .auth-story-content { padding:35px 0 10px; } .auth-story h1 { font-size:35px; margin:10px 0 13px; } .auth-story-content>p:not(.eyebrow) { font-size:14px; max-width:450px; } .workflow,.auth-note { display:none; } .auth-panel { padding:35px 25px; } .auth-card { max-width:440px; } .auth-card h2 { font-size:27px; } .evaluation-layout,.method-intro { grid-template-columns:1fr; } .summary-panel { position:static; } .method-aside { border-left:0; border-top:1px solid var(--line); padding:20px 0 0; } .risk-explainer { gap:13px; grid-template-columns:1fr; } .risk-explainer .content-panel { padding:20px; } .risk-explainer h3 { margin-top:10px; } }
@media (max-width:440px) { .site-header { padding:14px 18px 8px; } .brand { font-size:14px; gap:8px; } .brand-mark { width:35px; height:40px; font-size:14px; } .brand small { font-size:14px; } .account>span { max-width:85px; } .account strong { font-size:14px; } .account .button { font-size:14px; padding:5px 7px; } .main-nav { gap:22px; } .main-nav a { font-size:14px; } .eyebrow { font-size:14px; } .page-heading h1 { font-size:27px; } .page-heading .muted { font-size:14px; } .stat-card { padding:14px; } .stat-label { font-size:14px; } .stat-caption { font-size:14px; } .filter-bar { grid-template-columns:1fr 1fr; } .filter-bar>label:last-child { grid-column:1/-1; } .form-grid { grid-template-columns:1fr; gap:17px; } .modal { padding:20px; max-height:94dvh; } .modal-heading h2 { font-size:19px; } .detail-header,.detail-section { padding:19px; } .detail-data { padding:17px 19px; } .report-card { padding:15px 9px; } .report-list { padding-left:8px; padding-right:8px; } .report-date { font-size:14px; } .report-title { font-size:14px; } .heading-actions>.button { font-size:14px; padding:10px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
@media print { body { background:white; font-size:10px; } .site-header,.site-footer,.no-print,.skip-link,.flash-stack { display:none!important; } .page-shell { padding:0; max-width:none; } .page-heading { margin-bottom:10px; } h1 { font-size:20px; } .table-scroll { overflow:visible; } .print-table { table-layout:fixed; font-size:8px; } .print-table td,.print-table th { padding:6px; } .print-table tr { break-inside:avoid; } .print-table thead { display:table-header-group; } @page { size:A4 landscape; margin:12mm; } }

.analytics-grid { margin-top:24px; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; } .analytics-grid h2 { font-size:16px; } .analytics-grid .eyebrow { margin-bottom:7px; } .distribution-list { margin-top:16px; } .distribution-row { margin:12px 0; } .distribution-label { display:flex; justify-content:space-between; gap:15px; align-items:center; font-size:14px; color:var(--muted); margin-bottom:6px; } .distribution-label strong { color:var(--ink); font-weight:600; } .distribution-track { display:block; width:100%; height:6px; border-radius:4px; background:#f0f4f1; overflow:hidden; } .distribution-fill { display:block; height:100%; border-radius:4px; background:#5a9e81; } .fill-high { background:#cd877b; } .fill-moderate { background:#cfb472; } .fill-low { background:#74aa8b; }
@media (max-width:760px) { .analytics-grid { grid-template-columns:1fr; gap:18px; } }

.main-nav { flex-wrap:wrap; row-gap:0; }
.panel-tools { flex-wrap:wrap; }
.admin-layout { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr); gap:24px; align-items:start; }
.accounts-filter { padding:0 24px 20px; display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:14px; }
.accounts-filter label { font-size:14px; font-weight:600; }
.accounts-filter input,.accounts-filter select { margin-top:6px; }
.accounts-list { padding:0 24px; }
.account-card { border-top:1px solid var(--line); padding:19px 0; }
.account-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.account-card h3 { margin:0; overflow-wrap:anywhere; }
.account-card-heading p { font-size:14px; margin:3px 0 8px; overflow-wrap:anywhere; }
.account-card .field-hint { margin-bottom:10px; }
.account-card-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.accounts-footnote { padding:0 24px 20px; margin:12px 0 0; }
.button-danger-outline { color:var(--red); border:1px solid #dfbfb9; background:white; }
.button-danger-outline:hover { background:#fff0ed; }
button:disabled { cursor:not-allowed; }
.photo-analysis-status { margin-top:15px; padding:13px 14px; border:1px solid var(--line); border-radius:8px; background:#f6f9f7; }
.photo-analysis-status>strong { display:block; font-size:14px; color:var(--ink); }
.photo-analysis-status>.field-hint { margin:7px 0 0; }
.export-actions { display:flex; flex-direction:column; gap:11px; margin:22px 0; }
.export-actions .button { text-align:center; }
.guidance-list { padding-left:22px; font-size:14px; color:var(--muted); }
.guidance-list li { margin:16px 0; padding-left:5px; }
.guidance-list strong { color:var(--ink); }
.stat-card .stat-text { font-size:24px; overflow-wrap:anywhere; }
code { overflow-wrap:anywhere; }
@media (max-width:1000px) { .main-nav { column-gap:19px; } .admin-layout { grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:18px; } .accounts-filter { grid-template-columns:1fr; gap:11px; } }
@media (max-width:760px) { .admin-layout { grid-template-columns:1fr; } .main-nav { justify-content:flex-start; column-gap:18px; } .main-nav a { padding:8px 0; } .accounts-filter,.accounts-list { padding-left:19px; padding-right:19px; } .accounts-footnote { padding-left:19px; padding-right:19px; } .account-card-actions .button { min-height:42px; } .panel-tools { justify-content:flex-end; } }
@media (max-width:440px) { .account-card-heading { flex-wrap:wrap; } .stat-card .stat-text { font-size:20px; } }

.stat-grid-resident { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dashboard-map-panel { --map-height:400px; margin-bottom:24px; }
.dashboard-map-panel .map-panel-heading { padding:24px 24px 14px; background:transparent; }
.map-overview { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; padding:0 24px 20px; }
.map-summary { margin:0; color:#476357; font-size:14px; }
.dashboard-map-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:20px; padding:0 24px 24px; }
.map-canvas-wrap { position:relative; min-width:0; overflow:hidden; border:1px solid #cdddcf; border-radius:13px; background:#eaf0ec; }
.dashboard-map-panel .dashboard-map { height:var(--map-height); width:100%; background:#eaf0ec; z-index:0; font-family:inherit; }
.dashboard-map .leaflet-tile-pane { filter:grayscale(.45) saturate(.65); }
.map-loading,.map-fallback { color:var(--muted); padding:40px 30px; text-align:center; font-size:14px; }
.map-fallback { min-height:var(--map-height); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.map-fallback strong { color:var(--ink); font-size:18px; margin-bottom:8px; }
.map-fallback p { max-width:440px; margin:8px 0; }
.dashboard-map-panel .map-report-sidebar { display:flex; flex-direction:column; min-width:0; padding:0; height:calc(var(--map-height) + 2px); max-height:none; overflow:hidden; border:1px solid var(--line); border-radius:13px; }
.map-sidebar-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; border-bottom:1px solid #dce6d8; }
.map-sidebar-heading h3 { margin:0; color:#294e3e; font-size:16px; line-height:1.4; }
.map-sidebar-heading a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:600; white-space:nowrap; }
.map-legend { display:flex; flex-wrap:wrap; gap:10px 18px; color:#4c665a; font-size:14px; }
.map-legend>span { display:inline-flex; gap:5px; align-items:center; }
.map-legend .badge,.map-report-meta .badge { font-size:14px; }
.map-report-list { list-style:none; padding:0 12px; margin:0; min-height:0; overflow-y:auto; flex:1; scrollbar-width:thin; overscroll-behavior:contain; }
.map-report-list li { margin:0; }
.map-report-list li+li { border-top:1px solid #dce6d8; }
.map-report-list .map-report-button { display:block; background:transparent; width:100%; padding:14px 8px; border:0; border-radius:8px; text-align:left; color:var(--ink); }
.map-report-button>strong,.map-report-button>span { display:block; overflow-wrap:anywhere; }
.map-report-button>strong { font-size:16px; font-weight:650; line-height:1.45; }
.map-report-button .map-item-id { margin:0 0 5px; color:#657d6e; font-size:12px; letter-spacing:.7px; }
.map-report-button .map-item-location { margin:5px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.map-report-button .map-report-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin-top:9px; font-size:14px; }
.map-item-status { color:#60766b; }
.map-report-button:hover,.map-report-button.is-selected { background:#f0f7f3; border-color:#c0d9cb; }
.map-empty { color:var(--muted); font-size:14px; padding:12px 2px; }
.map-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 20px; padding:10px 24px; border-top:1px solid #dce6d8; background:#f4f8ef; }
.map-reference-note { margin:0; color:#5a7163; font-size:14px; }
.map-reference { min-width:0; font-size:14px; }
.map-reference>summary { min-height:44px; align-content:center; color:#306650; cursor:pointer; }
.map-reference[open] { flex-basis:100%; }
.map-reference .map-source { margin:0 0 10px; padding:5px 0 0; font-size:14px; line-height:1.7; }
.map-reference .map-source a { white-space:normal; overflow-wrap:anywhere; }
.map-tile-status { position:absolute; left:12px; right:12px; bottom:25px; z-index:500; background:#fffbeb; border:1px solid #dbca9c; box-shadow:0 2px 6px #102f3d18; color:#765c1d; font-size:14px; line-height:1.5; border-radius:6px; padding:8px 12px; margin:0; pointer-events:none; }
.leaflet-container a { color:var(--green-dark); }
.leaflet-container .leaflet-popup-content { margin:15px; font-family:var(--font-ui); font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.map-report-popup>p { font-size:14px; margin:7px 0!important; }
.map-report-popup>.button { margin-top:5px; color:#fff; }
.photo-capture,.device-location { min-width:0; margin:0; padding:18px; border:1px solid #cdded4; border-radius:12px; background:#f4f8f3; }
.photo-capture legend { padding:0 6px; font-weight:650; }
.photo-capture .field-hint,.device-location .field-hint { margin:0 0 14px; }
.photo-capture>.field-hint:last-child,.device-location>.field-hint:last-child { margin:12px 0 0; }
.camera-view { display:grid; gap:12px; margin-bottom:14px; }
.camera-view[hidden] { display:none; }
.camera-view video { display:block; width:100%; max-height:300px; border-radius:9px; background:#183d35; object-fit:contain; }
.gallery-option { margin-top:18px; padding-top:16px; border-top:1px solid #d6e3dc; }
.device-location h3 { margin:0 0 10px; font-size:17px; }
.device-location .button { margin-top:2px; }
.resident-guide { margin-top:25px; padding:25px; scroll-margin-top:20px; }
.resident-guide>h2 { margin-bottom:20px; }
.resident-guide>.field-hint { margin:18px 0 0; }
.resident-guide .process-strip { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.process-strip-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.process-strip-three p { padding-right:20px; }
.auth-portal-switch { margin-top:-12px; }
@media (max-width:1100px) { .dashboard-map-layout { grid-template-columns:minmax(0,1fr) 300px; gap:16px; } }
@media (max-width:760px) {
  .dashboard-map-panel { --map-height:300px; }
  .dashboard-map-panel .map-panel-heading { padding:20px 20px 12px; }
  .map-overview { padding:0 20px 18px; }
  .map-overview .map-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:7px 16px; }
  .dashboard-map-layout { grid-template-columns:1fr; padding:0 20px 20px; }
  .dashboard-map-panel .map-report-sidebar { height:310px; }
  .dashboard-map-panel>.panel-heading { align-items:flex-start; flex-wrap:wrap; }
  .dashboard-map-panel>.panel-heading>.button { min-height:40px; }
  .map-footer { padding:10px 20px; }
  .stat-grid-resident { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
  .stat-grid-resident .stat-card { padding:13px 10px; }
  .stat-grid-resident .stat-card:after { width:3px; }
  .stat-grid-resident .stat-label { font-size:14px; }
  .stat-grid-resident .stat-card strong { font-size:27px; }
  .resident-guide { padding:20px; }
  .process-strip-three { grid-template-columns:1fr; gap:18px; }
  .process-strip-three>div { padding-left:0; border-left:0; }
  .process-strip-three>div+div { padding-top:16px; border-top:1px solid #d6e3dc; }
}

/* Comfortable reading and controls on desktop and phone. */
@media screen {
  :root { --muted:#526770; --canvas:#f5f8f6; --radius:16px; }
  body { font-size:16px; line-height:1.65; }
  .page-shell { max-width:1480px; padding:40px 40px 48px; }
  .narrow-page { max-width:1240px; }
  .site-header { padding:20px 3.5%; column-gap:32px; }
  .brand { min-width:0; font-size:18px; }
  .brand small { font-size:12px; max-width:31ch; }
  .main-nav { column-gap:24px; }
  .main-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
  .account { gap:18px; }
  .account>span { font-size:14px; }
  .account small { font-size:12px; }
  .button,.button-small { min-height:44px; padding:11px 16px; font-size:15px; white-space:normal; }
  .icon-button { width:44px; height:44px; }
  input:not([type="radio"]):not([type="checkbox"]),select,textarea { min-height:48px; font-size:16px; padding:11px 13px; }
  input[type="file"] { font-size:14px; }
  input[type="file"]::file-selector-button { min-height:32px; padding:6px 10px; }
  input[type="checkbox"] { width:20px; height:20px; }
  .checkbox-label { min-height:44px; align-items:center; }
  .page-heading { gap:28px; margin-bottom:32px; }
  .page-heading h1 { font-size:34px; letter-spacing:-.8px; }
  .page-heading>.muted,.page-heading .muted { max-width:66ch; font-size:16px; }
  h2,.content-panel h2 { font-size:22px; }
  h3 { font-size:18px; }
  .eyebrow { font-size:12px; letter-spacing:1.3px; }
  .field-hint,small,.small-text { font-size:14px; line-height:1.6; }
  .stat-grid { gap:20px; margin-bottom:24px; }
  .stat-card { padding:24px; }
  .stat-label { font-size:15px; }
  .stat-caption { font-size:14px; }
  .stat-card strong { font-size:36px; margin:8px 0; }
  .assessment-banner { padding:17px 20px; font-size:15px; margin-bottom:28px; }
  .info-icon { width:22px; height:22px; }
  .panel-heading { padding:26px 26px 22px; flex-wrap:wrap; }
  .panel-heading>div:first-child { min-width:0; }
  .panel-tools { flex-wrap:wrap; gap:8px; }
  .workspace { grid-template-columns:minmax(0,1fr) minmax(420px,1fr); gap:28px; }
  .filter-bar { gap:12px; padding:0 26px 24px; }
  .filter-bar input,.filter-bar select { min-height:48px; font-size:15px; }
  .report-list { padding:10px 16px 16px; max-height:850px; }
  .report-card { padding:22px 16px; }
  .report-title { font-size:18px; margin:12px 0 7px; }
  .report-category,.report-location { font-size:14px; }
  .report-id,.report-date { font-size:12px; }
  .badge { font-size:13px; padding:5px 10px; }
  .detail-header,.detail-section { padding:26px; }
  .detail-header h2 { font-size:24px; }
  .detail-section h3 { font-size:18px; margin-bottom:15px; }
  .detail-section p { font-size:16px; line-height:1.65; }
  .detail-section .field-hint { font-size:14px; }
  .detail-data { padding:23px 26px; gap:20px 24px; }
  .detail-data dt { font-size:13px; }
  .detail-data dd { font-size:15px; }
  .condition-chips { gap:8px; margin:18px 0; }
  .condition-chips span { font-size:13px; padding:6px 10px; }
  .photo-analysis-status { padding:16px; margin-top:20px; }
  .photo-analysis-status>strong { font-size:15px; }
  .photo-analysis-status>summary { cursor:pointer; min-height:44px; display:list-item; align-content:center; font-size:15px; font-weight:650; color:var(--ink); }
  .photo-analysis-status>summary:focus-visible { outline:3px solid #61b99b; outline-offset:3px; }
  .photo-caption { font-size:14px; margin-top:10px; }
  .timeline strong,.timeline p { font-size:15px; }
  .timeline small { font-size:13px; }
  .timeline li { padding-bottom:26px; }
  .content-panel { padding:30px; }
  .content-panel>p,.method-intro p,.guidance-list { font-size:16px; }
  .content-panel>.field-hint,.content-panel>.notice,.method-aside .field-hint { font-size:14px; }
  .stack-form { gap:22px; }
  .stack-form label,.location-fieldset legend,.checkbox-group legend { font-size:16px; }
  .stack-form .field-hint { font-size:14px; }
  .modal { padding:30px; }
  .modal-heading { margin-bottom:26px; }
  .notice,.toast { font-size:15px; padding:16px 18px; }
  .notification-item { padding:22px 18px; }
  .notification-item strong { font-size:16px; }
  .notification-item small { font-size:14px; }
  .map-legend,.map-report-popup>p { font-size:14px; }
  .map-empty { font-size:14px; }
  .map-tile-status { font-size:14px; }
  .leaflet-container .leaflet-popup-content { font-size:15px; }
  .leaflet-container .leaflet-control-attribution { font-size:12px; }
  .leaflet-container .leaflet-control-zoom a { min-width:44px; min-height:44px; line-height:44px; }
  .process-strip { padding:28px; }
  .process-strip strong { font-size:16px; }
  .process-strip p { font-size:14px; }
  .empty-state p { font-size:16px; max-width:35ch; }
  .risk-explainer p,.plain-list strong,.plain-list span,.limitations-list { font-size:15px; }
  .distribution-label { font-size:14px; }
  .summary-list dt,.summary-list dd small { font-size:14px; }
  .site-footer { font-size:12px; padding:26px 40px; }
  .auth-card { max-width:420px; }
  .auth-card>.muted,.auth-switch { font-size:16px; }
  .auth-disclaimer,.auth-disclaimer strong,.auth-note { font-size:14px; }
  .auth-story-content>p:not(.eyebrow) { font-size:17px; }
  .workflow { font-size:15px; }
  .research-details { margin-top:26px; }
  .research-details>summary { display:flex; align-items:center; min-height:56px; cursor:pointer; font-size:17px; font-weight:650; padding:20px 26px; color:var(--ink); }
  .research-details>summary::before { content:'＋'; color:var(--green); margin-right:12px; font-size:21px; }
  .research-details[open]>summary::before { content:'−'; }
  .research-details>summary::-webkit-details-marker { display:none; }
  .research-details>summary:focus-visible { outline:3px solid #61b99b; outline-offset:-4px; }
  .research-details>div { padding:4px 26px 26px; }
  .research-details .metric-panel:first-child { margin-top:0; }
  .research-details .plain-list { margin-top:0; }
  .data-workspace { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
  @media (max-width:1120px) {
    .page-shell { padding:32px 28px 40px; }
    .workspace,.admin-layout { grid-template-columns:1fr; }
    .detail-panel { min-height:300px; }
    .site-header { flex-wrap:wrap; }
    .main-nav { order:3; flex-basis:100%; justify-content:flex-start; }
  }
  @media (max-width:760px) {
    .page-shell { padding:28px 18px 36px; }
    .page-heading { margin-bottom:26px; gap:22px; }
    .page-heading h1 { font-size:30px; }
    .heading-actions { gap:12px; }
    .heading-actions>.button { font-size:15px; min-height:48px; }
    .stat-grid,.stat-grid-resident { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .stat-grid-resident .stat-card:last-child { grid-column:1/-1; }
    .stat-card,.stat-grid-resident .stat-card { padding:18px 16px; }
    .stat-label,.stat-grid-resident .stat-label { font-size:14px; }
    .stat-card strong,.stat-grid-resident .stat-card strong { font-size:32px; }
    .stat-caption { font-size:13px; }
    .panel-heading,.detail-header,.detail-section,.content-panel { padding:22px; }
    .filter-bar { padding:0 22px 22px; grid-template-columns:1fr; }
    .filter-bar>label:last-child { grid-column:auto; }
    .report-card { padding:20px 12px; }
    .detail-data { padding:22px; }
    .dashboard-map-panel .panel-heading>.button { min-height:44px; }
    .evaluation-layout,.data-workspace { grid-template-columns:1fr; }
    .process-strip strong { font-size:16px; }
    .process-strip p { font-size:14px; }
    .process-strip-three>div { padding-left:0; }
    .form-grid { grid-template-columns:1fr; gap:22px; }
    .modal { padding:24px 20px; max-height:94dvh; }
    .auth-panel { padding:32px 22px; }
    .site-footer { padding:24px 18px; }
    .research-details>summary { padding:20px 22px; }
    .research-details>div { padding:4px 22px 22px; }
  }
  @media (max-width:440px) {
    .site-header { padding:18px 18px 10px; gap:16px; }
    .brand { font-size:18px; }
    .brand small { font-size:12px; }
    .account { width:100%; justify-content:space-between; margin:0; }
    .account>span { text-align:left; max-width:calc(100% - 108px); }
    .account strong { font-size:15px; max-width:none; }
    .account small { font-size:13px; }
    .account .button { font-size:14px; min-height:44px; }
    .main-nav { column-gap:20px; row-gap:2px; }
    .main-nav a { font-size:14px; padding:10px 0; }
    .page-heading .muted { font-size:16px; }
    .heading-actions { flex-wrap:wrap; }
    .detail-data { grid-template-columns:1fr; gap:16px; }
    .report-topline { align-items:flex-start; gap:12px; }
    .report-date { text-align:right; }
    .form-actions { flex-wrap:wrap; }
    .form-actions>.button { flex:1; }
    .modal-heading h2 { font-size:23px; }
  }
}

/* Community identity, clear report cards, and restrained interaction. */
@media screen {
  :root { --green:#0d786e; --green-dark:#075c55; --navy:#153b4d; --line:#d6e4e8; --muted:#506976; --canvas:#edf5f7; --gold:#c39b48; }
  html { -webkit-text-size-adjust:100%; }
  img { max-width:100%; }
  .workspace>*,.admin-layout>*,.evaluation-layout>*,.data-workspace>*,.analytics-grid>*,.form-grid>*,.page-heading>*,.auth-layout>* { min-width:0; }
  .brand>span:last-child,.stack-form label,.filter-bar label { min-width:0; }
  .table-scroll { width:100%; max-width:100%; overscroll-behavior-x:contain; }
  .table-scroll .print-table { min-width:640px; }
  .modal { overscroll-behavior:contain; scrollbar-gutter:stable; }
  .modal input,.modal select,.modal textarea { scroll-margin:24px; }
  body:has(dialog[open]) { overflow:hidden; }
  .anonymous-option { padding:16px 18px; border:1px solid #c9e2dc; border-radius:12px; background:#eef7f3; }
  .anonymous-option .checkbox-label { margin:0; color:#285d56; align-items:flex-start; gap:12px; }
  .anonymous-option input { flex:0 0 20px; }
  .anonymous-option .field-hint { margin:8px 0 0 32px; }
  .badge-anonymous { color:#385e74; background:#eaf1f7; align-self:flex-start; margin-top:12px; }
  .badge-row>.badge-anonymous { margin-top:0; }
  .detail-header h2:focus-visible { outline:3px solid #61b99b; outline-offset:4px; }
  body { background:radial-gradient(ellipse at 94% 8%,#dceef3 0,transparent 42%),radial-gradient(ellipse at 0% 72%,#e6f3ed 0,transparent 40%),var(--canvas); background-attachment:fixed; }
  .site-header { background:#ffffffed; border-top:4px solid var(--green); border-bottom:1px solid #cfdee4; box-shadow:0 4px 24px #1e4c5e08; }
  .brand-mark { background:linear-gradient(145deg,#178c7c,#0e5b69); }
  .main-nav a { border-radius:8px; transition:color .18s,background .18s,box-shadow .18s; }
  .main-nav a:hover { color:var(--green-dark); background:#e6f3f1; box-shadow:0 0 0 7px #e6f3f1; text-decoration:none; }
  .main-nav a[aria-current="page"]:after { background:var(--gold); height:3px; }
  .page-heading h1 { color:var(--navy); }
  .panel,.stat-card { box-shadow:0 5px 20px #214c6006; }
  .stat-card { background:linear-gradient(145deg,#fff,#f3f9fc); transition:transform .2s,box-shadow .2s,border-color .2s; }
  .stat-card:hover { transform:translateY(-3px); border-color:#b7cfd8; box-shadow:0 10px 25px #214c6010; }
  .stat-card:after { background:#68a6bc; }
  .stat-amber { background:linear-gradient(145deg,#fff,#fff8e8); } .stat-amber:after { background:#d0aa58; }
  .stat-red { background:linear-gradient(145deg,#fff,#fff2ee); } .stat-red:after { background:#c97065; }
  .stat-green { background:linear-gradient(145deg,#fff,#edf8f1); } .stat-green:after { background:#55a282; }
  .button,.icon-button { transition:transform .16s,box-shadow .16s,background .16s,border-color .16s; }
  .button-primary { background:linear-gradient(120deg,#0d786e,#0c6975); border-color:#0b726d; box-shadow:0 3px 8px #0c69751c; }
  .button-primary:hover { background:linear-gradient(120deg,#096459,#0a5966); box-shadow:0 6px 16px #0c69752b; transform:translateY(-1px); }
  .button-outline:hover { background:#edf7f8; border-color:#8cb8c3; transform:translateY(-1px); }
  .button:active,.icon-button:active { transform:translateY(1px); box-shadow:none; }
  .button:disabled { transform:none; }
  .assessment-banner { background:#e4f2ee; border-color:#c4dfd4; }
  .process-strip { background:linear-gradient(110deg,#e4f1ee,#edf3fa); border-color:#cfdfe4; }
  .process-strip span { color:#397f76; font-weight:700; }
  .process-strip p { color:#526f75; }
  .site-footer { color:#536c76; border-color:#d3e2e6; }
  .reports-workspace { grid-template-columns:minmax(0,1.2fr) minmax(400px,1fr); gap:28px; }
  .reports-workspace.focused-reports-workspace { grid-template-columns:minmax(0,1fr); max-width:1040px; margin:0 auto; }
  .focused-reports-workspace .report-list { max-height:none; overflow:visible; }
  .focused-reports-workspace .detail-panel { position:static; max-height:none; min-height:0; overflow:hidden; }
  .focused-reports-workspace .detail-header h1 { font-size:clamp(24px,2.2vw,30px); line-height:1.4; overflow-wrap:anywhere; margin-bottom:14px; }
  .focused-reports-workspace .detail-header h1:focus { outline:0; }
  .focused-reports-workspace .detail-section h2 { font-size:17px; line-height:1.4; letter-spacing:.1px; margin-bottom:10px; }
  .reports-panel { background:#f7fbfc; }
  .reports-panel>.panel-heading { background:#fff; }
  .reports-panel .filter-bar { background:#fff; padding-top:8px; }
  .report-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:22px; max-height:900px; align-items:stretch; }
  .report-list>.empty-state { grid-column:1/-1; }
  .report-card { display:flex; flex-direction:column; gap:0; margin:0; padding:20px; border:1px solid #d2e1e7; border-radius:14px; background:#fff; min-height:270px; box-shadow:0 3px 12px #20475707; transition:transform .18s,box-shadow .18s,border-color .18s,background .18s; }
  .report-card:hover { background:#fff; border-color:#73adae; box-shadow:0 8px 21px #20475712; transform:translateY(-3px); }
  .report-card.is-selected { background:#f0f8f6; border:2px solid #19877a; padding:19px; box-shadow:0 0 0 3px #19877a12; }
  .report-title { font-size:18px; margin:14px 0 8px; line-height:1.45; }
  .report-category { font-size:14px; line-height:1.5; margin-bottom:9px; }
  .report-location { font-size:14px; margin-bottom:20px; line-height:1.5; }
  .report-topline,.report-bottomline { flex-wrap:wrap; gap:10px; }
  .report-topline { align-items:center; }
  .report-bottomline { margin-top:auto; align-items:center; }
  .report-id { font-size:12px; color:#466e7c; }
  .report-date { font-size:12px; text-align:left; color:#576f7a; }
  .report-open-label { display:flex; border-top:1px solid #dfebee; padding-top:13px; margin-top:16px; font-size:14px; color:var(--green-dark); font-weight:650; }
  .report-card:focus-visible { outline:3px solid #b58c38; outline-offset:3px; }
  .risk-pending { color:#415c72; background:#e7eff7; } .fill-pending { background:#657f98; }
  .detail-panel { position:sticky; top:24px; max-height:calc(100dvh - 48px); overflow-y:auto; scrollbar-width:thin; border-color:#bad3d9; box-shadow:0 7px 26px #214c600b; }
  .detail-header { background:linear-gradient(120deg,#e8f4f0,#edf5fa); }
  .detail-back { padding:8px 10px; min-height:44px; margin:-8px 0 14px -10px; color:#436371; }
  .detail-header h2:focus { outline:0; }
  .detail-header:focus-within { box-shadow:inset 4px 0 0 #c39b48; }
  .assessment-pending { background:#edf4f9; border-color:#cedfe9; color:#38576e; }
  .assessment-guidance { margin:20px 0; padding:16px 18px; border-radius:10px; background:#f0f6f8; border:1px solid #dce8ec; }
  .assessment-guidance h3,.assessment-guidance h4 { font-size:15px; line-height:1.5; margin:0 0 10px; }
  .assessment-guidance ul { padding-left:20px; margin:0; color:#4e6976; font-size:15px; }
  .assessment-guidance li+li { margin-top:8px; }
  .actions-guidance { background:#eff7f1; border-color:#d5e8da; }
  .photo-preview { padding:14px; border-radius:12px; border:1px solid var(--line); background:#edf4f6; }
  .photo-preview img { display:block; width:100%; max-height:230px; object-fit:contain; border-radius:6px; }
  .photo-preview .field-hint { margin:10px 0 0; overflow-wrap:anywhere; }
  .optional-location { border:1px solid var(--line); border-radius:10px; background:#f7fafb; padding:0 16px 14px; }
  .optional-location>summary { min-height:56px; padding:15px 0; font-weight:650; cursor:pointer; }
  .optional-location>summary>span { font-size:13px; font-weight:400; color:var(--muted); margin-left:8px; }
  .optional-location:not([open]) { padding-bottom:0; }
  .optional-location .location-fieldset { background:#fff; }
  .model-report-hint { background:#eef5f8; padding:15px 17px; border-radius:10px; border-left:3px solid #6e9db1; }
  /* Centered login with a continuous decorative neighborhood background. */
  .auth-login {
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:calc(100dvh - 75px);
    padding:38px 24px 46px;
    overflow:hidden;
    background:radial-gradient(ellipse at 12% 8%,#427d694d,transparent 49%),radial-gradient(ellipse at 92% 92%,#3b807253,transparent 50%),linear-gradient(135deg,#102f3b,#174f53 56%,#153f43);
  }
  .auth-login-backdrop { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
  .auth-login-backdrop::before,.auth-login-backdrop::after { content:none; }
  .auth-neighborhood { display:block; width:100%; height:100%; color:#c3e0cd; }
  .neighborhood-grid { opacity:.12; }
  .neighborhood-number { fill:#b5d6c2; fill-opacity:.045; font:700 620px/1 system-ui,sans-serif; letter-spacing:-36px; }
  .neighborhood-water { fill:none; stroke:#9ed5c8; stroke-opacity:.1; stroke-width:56; }
  .neighborhood-water path+path { stroke:#a8dbcc; stroke-opacity:.12; stroke-width:1; }
  .neighborhood-streets { fill:none; stroke:#c0dcca; stroke-opacity:.13; stroke-width:1; }
  .neighborhood-route { stroke:#d9bc78; stroke-opacity:.25; stroke-width:2; stroke-dasharray:4 9; }
  .neighborhood-homes { fill:#8bc2ad0b; stroke:#a3c9b7; stroke-opacity:.23; stroke-width:1; stroke-linecap:round; stroke-linejoin:round; }
  .neighborhood-trees { fill:#94c4a60c; stroke:#a7cfb1; stroke-opacity:.22; stroke-width:1; stroke-linecap:round; }
  .neighborhood-points { fill:#dcc18b; fill-opacity:.52; stroke:#dcc18b; stroke-opacity:.1; stroke-width:12; }
  .neighborhood-orbit { fill:none; stroke:#bfdcc1; stroke-opacity:.07; stroke-width:1; }
  .auth-wallpaper-quote { position:absolute; z-index:0; width:min(23vw,280px); color:#d6e5d9; pointer-events:none; }
  .auth-wallpaper-quote-main { left:max(28px,calc(50% - 570px)); top:30%; transform:translateY(-50%); }
  .auth-wallpaper-quote .quote-kicker { margin:0 0 22px; color:#afcdbf; font-size:11px; font-weight:650; letter-spacing:1.6px; line-height:1.8; text-transform:uppercase; max-width:28ch; }
  .auth-wallpaper-quote .quote-message { margin:0; font-family:var(--font-ui); font-weight:600; font-size:clamp(29px,2.6vw,38px); line-height:1.35; letter-spacing:-.5px; }
  .auth-wallpaper-quote em { font-style:normal; color:#e0ca95; }
  .auth-wallpaper-quote-support { right:max(28px,calc(50% - 570px)); top:61%; transform:translateY(-50%); }
  .auth-wallpaper-quote-support:before { content:'“'; display:block; height:60px; color:#c3ab72; font:80px/1 Georgia,"Times New Roman",serif; }
  .auth-wallpaper-quote-support p { margin:8px 0 0; font-size:19px; line-height:1.9; letter-spacing:.1px; }
  .auth-login-shell { position:relative; z-index:1; width:100%; max-width:456px; }
  .auth-login-brand { display:flex; width:fit-content; max-width:100%; margin:0 auto 25px; gap:12px; color:#f6faf3; font-size:20px; }
  .auth-login-brand .brand-mark { flex-shrink:0; width:43px; height:47px; background:linear-gradient(145deg,#63a486,#337d70); color:#fff1c5; font-size:16px; }
  .auth-login-brand small { color:#c2d8ce; font-size:13px; }
  .auth-login .auth-panel { display:block; padding:0; background:transparent; }
  .auth-login .auth-card { position:relative; max-width:none; padding:32px; background:#fffefa; border:1px solid #f1f3e8; border-radius:24px; box-shadow:0 26px 75px #071d3063,0 0 0 6px #ffffff06; }
  .auth-login .auth-card::before { content:''; position:absolute; top:-1px; left:calc(50% - 26px); width:52px; height:3px; border-radius:0 0 4px 4px; background:#b99c59; }
  .auth-login .auth-card-intro { text-align:center; }
  .auth-login .auth-card-intro .eyebrow { margin:0 0 9px; color:#357466; font-size:12px; letter-spacing:1.8px; }
  .auth-login .auth-card h1 { margin:0 0 8px; color:#173e44; font-size:30px; line-height:1.25; letter-spacing:-.8px; }
  .auth-login .auth-card-intro>.muted { margin-bottom:24px; color:#60726f; font-size:15px; }
  .auth-login .portal-selector { grid-template-columns:1fr 1.3fr 1fr; gap:4px; margin-bottom:25px; padding:4px; background:#edf2ed; border-color:#dce6db; border-radius:12px; }
  .auth-login .portal-selector>a { min-height:44px; padding:8px 4px; border-radius:8px; color:#526960; font-size:14px; line-height:1.35; }
  .auth-login .portal-selector>a:hover { background:#e1eade; color:#235a4d; }
  .auth-login .portal-selector>a[aria-current="page"] { background:#fffefa; color:#145f50; box-shadow:0 2px 6px #21433c0c; }
  .auth-login .stack-form { gap:17px; }
  .auth-login .stack-form label { font-size:15px; color:#29463f; }
  .auth-login .stack-form input:not([type="hidden"]):not([type="checkbox"]) { min-height:48px; margin-top:7px; border-color:#cbd9d1; border-radius:10px; background:#fff; font-size:16px; }
  .auth-login .stack-form input::placeholder { color:#7a8b85; opacity:1; }
  .auth-login .stack-form input:focus { border-color:#357c67; box-shadow:0 0 0 3px #3c89651c; }
  .auth-login .checkbox-label { min-height:44px; margin:0; color:#536c62; font-size:14px; }
  .auth-login .checkbox-label input { accent-color:#286e58; }
  .auth-login .button-full { min-height:48px; margin-top:0; border-radius:10px; background:linear-gradient(110deg,#276d55,#1b5f59); border-color:#286a56; font-size:16px; }
  .auth-login .button-full:hover { background:linear-gradient(110deg,#205a45,#174e49); }
  .auth-login .auth-switch { margin:23px 0; color:#65766f; font-size:14px; line-height:1.6; }
  .auth-login .auth-switch a { display:inline-flex; align-items:center; min-height:44px; color:#236b52; }
  .auth-login .auth-disclaimer { border-color:#e1e8dd; padding-top:19px; color:#68786d; font-size:13px; }
  .auth-login .auth-disclaimer strong { color:#526b5a; font-size:13px; }
  .auth-login .auth-disclaimer p { margin-top:5px; font-size:13px; line-height:1.65; }
  .auth-login .portal-selector>a:focus-visible,.auth-login .auth-switch a:focus-visible,.auth-login-brand:focus-visible { outline:3px solid #c29d51; outline-offset:3px; }
  .auth-login+.site-footer { border:0; background:#12383d; color:#bbd1c5; }
  @media (min-width:761px) and (max-height:820px) {
    .auth-login { padding-top:24px; padding-bottom:30px; }
    .auth-login-brand { margin-bottom:20px; }
    .auth-login .auth-card { padding:27px 32px; }
    .auth-login .auth-card-intro>.muted { margin-bottom:19px; }
    .auth-login .portal-selector { margin-bottom:19px; }
    .auth-login .stack-form { gap:12px; }
    .auth-login .auth-switch { margin:17px 0; }
    .auth-login .auth-disclaimer { padding-top:16px; }
  }
  @media (max-width:760px) {
    .auth-login { min-height:calc(100dvh - 100px); padding:30px 18px 36px; }
    .auth-login-shell { max-width:456px; }
    .auth-login-brand { margin-bottom:23px; font-size:19px; }
    .auth-login-brand small { font-size:12px; }
    .auth-login .auth-card { padding:27px 23px; border-radius:22px; }
    .auth-login .auth-card h1 { font-size:29px; }
    .auth-login .auth-card-intro>.muted { font-size:15px; }
    .auth-login .portal-selector>a { min-height:48px; font-size:14px; }
    .auth-login .auth-disclaimer,.auth-login .auth-disclaimer p,.auth-login .auth-disclaimer strong { font-size:14px; }
    .auth-neighborhood { opacity:.8; }
  }
  @media (max-width:360px) {
    .auth-login { padding-left:12px; padding-right:12px; }
    .auth-login-brand { gap:9px; font-size:18px; }
    .auth-login-brand small { font-size:11px; }
    .auth-login .auth-card { padding:26px 18px; }
    .auth-login .portal-selector { grid-template-columns:1fr 1.15fr 1fr; gap:2px; }
    .auth-login .portal-selector>a { font-size:13px; padding:7px 3px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .auth-login *, .auth-login *::before, .auth-login *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  }
  @media (max-width:1119px) {
    .auth-login { flex-direction:column; }
    .auth-wallpaper-quote-main { position:relative; top:auto; left:auto; width:100%; max-width:456px; transform:none; text-align:center; margin:0 auto 24px; }
    .auth-wallpaper-quote .quote-kicker { display:none; }
    .auth-wallpaper-quote .quote-message { font-size:26px; line-height:1.3; }
    .auth-wallpaper-quote-support { display:none; }
  }
  @media (max-width:760px) {
    .auth-wallpaper-quote-main { margin-bottom:22px; }
    .auth-wallpaper-quote .quote-message { font-size:23px; }
  }
  .auth-story { padding:40px 9%; background:radial-gradient(circle at 20% 85%,#18776990,transparent 45%),linear-gradient(145deg,#143c50,#0e4d57 65%,#155b59); }
  .auth-story:before { width:600px; height:600px; border-color:#8bc4c51a; }
  .auth-story:after { border-color:#d5bb7b18; }
  .auth-story .brand { position:relative; z-index:1; }
  .brand-light small { color:#bfd6d9; }
  .auth-story-content { padding:48px 0 34px; }
  .auth-story-content .eyebrow { color:#b6d9cb; font-size:11px; line-height:1.8; }
  .auth-story h1 { font-size:clamp(36px,3.4vw,52px); font-weight:650; letter-spacing:-1.4px; margin:18px 0 22px; }
  .auth-story h1>span { color:#d6be83; }
  .auth-story-content>p:not(.eyebrow) { color:#c4dade; max-width:44ch; font-size:16px; line-height:1.75; }
  .auth-note { color:#bed6d8; max-width:47ch; font-size:13px; }
  .auth-panel { background:radial-gradient(ellipse at 95% 10%,#dfeef4,transparent 65%),#f3f8fa; padding:42px 34px; }
  .auth-card { max-width:440px; background:#fff; border:1px solid #d6e4e9; border-radius:22px; padding:34px; box-shadow:0 16px 55px #183e5110; }
  .auth-card-intro .eyebrow { font-size:11px; margin-bottom:8px; }
  .auth-card h2 { font-size:31px; margin-bottom:10px; }
  .auth-card-intro>.muted { margin-bottom:23px; font-size:15px; }
  .portal-selector { display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:4px; background:#eef4f6; border:1px solid #dbe5e9; border-radius:10px; padding:4px; margin-bottom:27px; }
  .portal-selector>a { display:flex; justify-content:center; align-items:center; text-align:center; color:#5c7380; border-radius:7px; font-size:14px; font-weight:600; min-height:44px; padding:7px 4px; transition:background .18s,color .18s; }
  .portal-selector>a:hover { background:#e0edef; color:#145b63; text-decoration:none; }
  .portal-selector>a[aria-current="page"] { color:#0b665f; background:#fff; box-shadow:0 2px 7px #284e5c12; }
  .auth-card .stack-form { gap:18px; }
  .auth-card .stack-form label { font-size:14px; }
  .auth-card .stack-form input { font-size:16px; }
  .auth-card .checkbox-label { margin:0; min-height:44px; }
  .auth-card .button-full { margin-top:0; }
  .auth-switch { font-size:14px; margin:24px 0; }
  .auth-disclaimer { font-size:12px; padding-top:20px; color:#566f77; }
  .auth-disclaimer strong { font-size:13px; color:#395d68; }
  .auth-disclaimer p { font-size:12px; line-height:1.65; }
  .page-loader { display:none; position:fixed; inset:0; z-index:3000; align-items:center; justify-content:center; background:radial-gradient(ellipse at 75% 20%,#407b6559,transparent 55%),#123f40f7; color:#f4f7ed; cursor:progress; }
  html[data-navigation-state="loading"] .page-loader { display:flex; }
  .page-loader-card { display:flex; flex-direction:column; align-items:center; text-align:center; gap:9px; padding:32px; }
  .loader-brand { display:flex; align-items:center; justify-content:center; width:78px; height:84px; background:linear-gradient(145deg,#168a7c,#15485f); clip-path:polygon(0 0,100% 0,100% 77%,50% 100%,0 77%); color:#f1daa0; font-size:28px; font-weight:750; letter-spacing:-1px; padding-bottom:7px; }
  .loader-spinner { display:block; width:38px; height:38px; margin:17px 0 8px; border:4px solid #56796a; border-top-color:#e0c486; border-right-color:#b4d6c0; border-radius:50%; animation:loader-spin .85s linear infinite; }
  .page-loader-card>strong { font-size:20px; }
  .page-loader-card>span:not(.loader-brand):not(.loader-spinner) { font-size:16px; }
  .page-loader-card>small { color:#c6dacc; font-size:14px; max-width:34ch; }
  .loading-recovery { margin:16px auto; width:calc(100% - 32px); max-width:1000px; padding:16px; }
  .loading-recovery p { margin:0 0 10px; }
  .loading-recovery>div { display:flex; gap:8px; flex-wrap:wrap; }
  .loading-recovery .button { min-height:44px; white-space:normal; }
  @keyframes loader-spin { to { transform:rotate(360deg); } }
  @media (max-width:1120px) {
    .reports-workspace { grid-template-columns:1fr; }
    .detail-panel { position:static; max-height:none; }
    .report-list { max-height:780px; }
    .auth-story { padding:34px 7%; }
    .auth-panel { padding:32px 24px; }
    .auth-card { padding:28px; }
  }
  @media (max-width:760px) {
    body { background-attachment:scroll; }
    .site-header { padding:18px 18px 12px; gap:16px; }
    .site-header .brand { margin:0; max-width:100%; flex-basis:100%; }
    .brand-mark { flex-shrink:0; }
    .brand small { font-size:13px; }
    .account { width:100%; margin:0; justify-content:space-between; gap:14px; }
    .account>span { text-align:left; max-width:calc(100% - 102px); }
    .account strong { max-width:none; font-size:15px; }
    .account small { font-size:13px; }
    .account .button { min-height:44px; padding:10px 14px; }
    .main-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex-basis:100%; width:100%; gap:6px 10px; padding-top:12px; }
    .main-nav a { min-height:44px; justify-content:center; text-align:center; padding:10px 8px; font-size:15px; white-space:normal; line-height:1.4; border:1px solid #dbe8eb; background:#f5fafb; }
    .main-nav a[aria-current="page"] { border-color:#a4cec4; background:#e8f4ef; }
    .main-nav a[aria-current="page"]:after { bottom:3px; left:22%; right:22%; height:2px; }
    .main-nav a:hover { box-shadow:none; }
    .page-shell { padding:26px 16px 34px; }
    .page-heading h1 { font-size:29px; overflow-wrap:anywhere; }
    .heading-actions { flex-wrap:wrap; gap:10px; }
    .heading-actions>.button { min-width:0; flex:1 1 120px; }
    .panel-heading,.detail-header,.detail-section,.content-panel,.detail-data { padding:20px; }
    .panel-tools { width:100%; justify-content:flex-start; }
    .panel-tools>.button { flex:1 1 auto; min-height:44px; padding:10px 12px; }
    .filter-bar { padding:0 20px 20px; }
    .filter-bar input,.filter-bar select,.auth-card .stack-form input { font-size:16px; }
    .report-list { padding:18px; gap:16px; grid-template-columns:1fr; max-height:780px; }
    .report-card { padding:20px; min-height:0; }
    .report-card.is-selected { padding:19px; }
    .report-title { font-size:19px; }
    .report-bottomline { margin-top:0; }
    .report-id,.report-date { font-size:14px; }
    .report-topline,.report-bottomline { row-gap:8px; }
    .detail-panel { scroll-margin-top:18px; }
    .detail-data { grid-template-columns:1fr; gap:16px; }
    .detail-section .button { max-width:100%; }
    .detail-section h3 { font-size:18px; }
    .assessment-guidance { padding:15px; }
    .map-fallback { min-height:260px; padding:30px 20px; }
    .map-legend { gap:10px 16px; }
    .leaflet-container .leaflet-control-zoom a { width:44px; height:44px; line-height:44px; }
    .leaflet-container .leaflet-popup-content { max-width:calc(100vw - 100px); }
    .modal,.modal-wide { width:calc(100% - 24px); max-width:720px; max-height:calc(100dvh - 24px); padding:24px 18px; border-radius:16px; }
    .modal-heading { gap:14px; margin-bottom:22px; }
    .modal-heading h2 { font-size:23px; }
    .modal .form-actions { flex-wrap:wrap; }
    .modal .form-actions>.button { flex:1 1 110px; }
    .modal input[type="file"] { max-width:100%; font-size:14px; }
    .anonymous-option { padding:14px; }
    .anonymous-option .field-hint { margin-left:0; }
    .toast { bottom:max(16px,env(safe-area-inset-bottom)); }
    .auth-story { padding:22px 20px; }
    .auth-story .brand { font-size:19px; }
    .auth-story .brand small { font-size:13px; }
    .auth-story-content { margin:0; padding:16px 0 0; }
    .auth-story h1 { font-size:24px; letter-spacing:-.5px; margin:0; }
    .auth-story h1 br { display:none; }
    .auth-story h1>span:before { content:' '; }
    .auth-story-content>.eyebrow,.auth-story-content>p:not(.eyebrow) { display:none; }
    .auth-panel { padding:24px 16px 30px; }
    .auth-card { max-width:460px; padding:24px 20px; border-radius:18px; }
    .auth-card h2 { font-size:29px; }
    .auth-card-intro .eyebrow { font-size:12px; }
    .auth-card .stack-form label,.auth-switch { font-size:15px; }
    .auth-card .checkbox-label { min-height:44px; }
    .auth-disclaimer,.auth-disclaimer p,.auth-disclaimer strong { font-size:14px; }
    .portal-selector { gap:3px; margin-bottom:24px; }
    .portal-selector>a { min-height:48px; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
    .site-footer { font-size:14px; overflow-wrap:anywhere; }
  }
  @media (max-width:360px) {
    .site-header { padding-left:14px; padding-right:14px; }
    .page-shell { padding-left:12px; padding-right:12px; }
    .stat-grid,.stat-grid-resident { gap:10px; }
    .stat-card,.stat-grid-resident .stat-card { padding:16px 12px; }
    .panel-heading,.detail-header,.detail-section,.content-panel,.detail-data { padding:18px; }
    .report-list { padding:14px; }
    .report-card { padding:18px; }
    .report-card.is-selected { padding:17px; }
    .auth-panel { padding-left:12px; padding-right:12px; }
    .auth-card { padding:22px 16px; }
    .portal-selector { grid-template-columns:1fr 1.1fr 1fr; }
    .portal-selector>a { font-size:13px; padding:8px 3px; }
    .stat-caption { font-size:14px; }
  }
  @media (hover:none) {
    .stat-card:hover,.report-card:hover,.button:hover { transform:none; }
  }
  @media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
    .stat-card:hover,.report-card:hover,.button:hover,.button:active { transform:none; }
  }
}
@media print { .page-loader { display:none!important; } }
@media screen { .model-status-copy { margin-top:18px; } .guidance-sources { margin:18px 0; } .guidance-sources>summary { min-height:44px; align-content:center; cursor:pointer; font-size:14px; color:var(--muted); } .guidance-sources ul { padding-left:20px; font-size:14px; } .guidance-sources li+li { margin-top:7px; } }

/* Shared community backdrop: decoration stays behind opaque working surfaces. */
@media screen {
  .workspace-page,.public-page { min-height:100dvh; background:radial-gradient(ellipse at 12% 8%,#427d694d,transparent 49%),radial-gradient(ellipse at 92% 92%,#3b807253,transparent 50%),linear-gradient(135deg,#102f3b,#174f53 56%,#153f43); background-attachment:scroll; }
  .workspace-page { position:relative; isolation:isolate; }
  .workspace-backdrop { position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; background-image:linear-gradient(#bfdcca0e 1px,transparent 1px),linear-gradient(90deg,#bfdcca0e 1px,transparent 1px); background-size:72px 72px; }
  .workspace-orbit { position:absolute; width:740px; height:740px; right:-430px; top:80px; border:1px solid #b2d5bd2e; border-radius:50%; box-shadow:0 0 0 55px #b2d5bd05,0 0 0 110px #b2d5bd07,0 0 0 165px #b2d5bd05; }
  .workspace-orbit-alt { width:600px; height:600px; right:auto; left:-440px; top:520px; border-color:#d1bb7c30; box-shadow:0 0 0 60px #d1bb7c05,0 0 0 120px #d1bb7c06; }
  .workspace-mark { position:absolute; right:-15px; bottom:-90px; font-size:340px; font-weight:800; line-height:1; letter-spacing:-28px; color:#d0e3d408; transform:rotate(-10deg); user-select:none; }
  .workspace-page .site-header { position:relative; z-index:2; border-top-color:#84a989; border-bottom-color:#b5d3be26; background:#123c3d; box-shadow:0 3px 22px #071f2b24; }
  .workspace-page .site-header .brand { color:#f2f6ec; }
  .workspace-page .site-header .brand small { color:#c2d8cd; }
  .workspace-page .brand-mark { background:linear-gradient(145deg,#5c9a7d,#2c7468); color:#fff0bf; }
  .workspace-page .main-nav { border-color:#c4dfcc26; }
  .workspace-page .main-nav a { color:#d4e3d8; }
  .workspace-page .main-nav a:hover { color:#fff6d7; background:#ffffff12; box-shadow:none; }
  .workspace-page .main-nav a[aria-current="page"] { color:#f7e6b0; }
  .workspace-page .main-nav a[aria-current="page"]:after { background:#d9bc78; }
  .workspace-page .site-header .account strong { color:#f2f6ec; }
  .workspace-page .site-header .account small { color:#c0d4c9; }
  .workspace-page .site-header .button-quiet { color:#e3eadc; background:#ffffff08; border-color:#bed8c52b; }
  .workspace-page .site-header .button-quiet:hover { background:#ffffff15; color:#fff6d7; }
  .workspace-page .page-shell { position:relative; z-index:1; padding-top:30px; padding-bottom:38px; }
  .workspace-page .page-heading { position:relative; isolation:isolate; overflow:hidden; padding:30px 32px; border:1px solid #85ae8c4d; border-radius:24px; background:radial-gradient(ellipse at 82% 0,#6a987d55,transparent 58%),linear-gradient(118deg,#174d45,#2d6a51); box-shadow:0 12px 30px #071f2b1f; margin-bottom:26px; }
  .workspace-page .page-heading:before { content:''; position:absolute; z-index:-1; width:420px; height:420px; border:1px solid #d0e5d72b; border-radius:50%; right:-100px; top:-220px; box-shadow:0 0 0 45px #d0e5d709,0 0 0 90px #d0e5d708; pointer-events:none; }
  .workspace-page .page-heading>div,.workspace-page .page-heading>.button { position:relative; min-width:0; }
  .workspace-page .page-heading h1 { color:#fffef7; font-size:clamp(28px,2.6vw,36px); line-height:1.2; letter-spacing:-.9px; overflow-wrap:anywhere; }
  .workspace-page .page-heading .eyebrow { color:#d5dfb8; font-size:12px; letter-spacing:1.6px; margin-bottom:12px; }
  .workspace-page .page-heading .muted { color:#d6e6dd; font-size:16px; line-height:1.65; max-width:68ch; }
  .workspace-page .page-heading .button-outline { background:#f9fcf7; border-color:#f9fcf7; color:#214d40; }
  .workspace-page .page-heading .button-outline:hover { background:#e7f0e7; border-color:#e7f0e7; }
  .workspace-page .page-heading .button-primary { background:#e6c981; border-color:#e6c981; color:#263e31; box-shadow:0 3px 10px #102f3d19; }
  .workspace-page .page-heading .button-primary:hover { background:#f0d99b; border-color:#f0d99b; }
  .workspace-page .page-heading .count-pill { background:#e0ecdf; color:#21583e; }
  .workspace-page .panel { border-color:#c4d7c6; box-shadow:0 5px 24px #071f2b24; background:#f9fcf6; }
  .workspace-page .panel-heading { background:linear-gradient(115deg,#edf5e8,#f8fbf4); border-bottom-color:#dce6d7; }
  .workspace-page .panel-heading h2,.workspace-page .content-panel h2 { color:#234d40; }
  .workspace-page .stat-card { border-color:#ceded3; background:linear-gradient(125deg,#fff,#f2f7f0); border-radius:18px; box-shadow:0 5px 20px #24463109; }
  .workspace-page .stat-card:before { content:''; position:absolute; width:110px; height:110px; border:1px solid #43826c12; border-radius:50%; right:-30px; top:-24px; pointer-events:none; }
  .workspace-page .stat-amber { background:linear-gradient(125deg,#fff,#fbf5e6); border-color:#e4d9bb; }
  .workspace-page .stat-red { background:linear-gradient(125deg,#fff,#fcf0ed); border-color:#ecd7cf; }
  .workspace-page .stat-green { background:linear-gradient(125deg,#fff,#e9f4e8); border-color:#ccdfcc; }
  .workspace-page .stat-card strong { color:#1a4d3c; }
  .workspace-page .stat-red strong { color:#964b40; }
  .workspace-page .assessment-banner { background:#f1f8ed; border-color:#c9ddc4; color:#365e44; box-shadow:0 3px 15px #274a3005; }
  .workspace-page .reports-panel { background:#e9f1e5; }
  .workspace-page .report-card { background:#fbfdf8; border-color:#c6d8c7; box-shadow:0 3px 12px #254a2c09; }
  .workspace-page .report-card:hover { border-color:#589f81; background:#fbfdf9; box-shadow:0 9px 20px #315c3e12; }
  .workspace-page .report-card.is-selected { background:#eef7ed; border-color:#23765a; }
  .workspace-page .detail-header { background:linear-gradient(120deg,#e8f3e9,#f6f8ef); }
  .workspace-page .detail-panel { border-color:#b9d2c2; }
  .workspace-page .map-report-sidebar { background:#f7faf5; border-color:#d5e3d4; }
  .workspace-page .process-strip { background:linear-gradient(110deg,#f0f5e9,#f8f3e4); border-color:#d4dfc8; border-radius:18px; }
  .workspace-page .resident-guide { background:linear-gradient(120deg,#f4f9ef,#ecf4e5); }
  .workspace-page .resident-guide .process-strip { background:#ffffffb3; border-color:#d9e3d1; }
  .workspace-page .account-card { background:#fbfdf9; border-color:#d5e2d3; }
  .workspace-page .research-details>summary { background:#f4f8ef; color:#284e3b; }
  .workspace-page .page-shell>.field-hint { color:#cee0d3; }
  .workspace-page .site-footer { position:relative; z-index:1; background:#12383d; color:#c6d9cc; border-color:#b5d3be26; margin-top:0; }
  .public-page .site-footer { background:#12383d; color:#c6d9cc; border-color:#b5d3be26; margin-top:0; }
  .auth-register { background:transparent; }
  .auth-register .auth-story { background:radial-gradient(ellipse at 5% 75%,#3978603b,transparent 65%); border-right:1px solid #bed6bf20; }
  .auth-register .auth-panel { background:transparent; }
  .auth-register .auth-card { background:#fbfcf7; border-color:#d2e0c9; box-shadow:0 22px 60px #071f2b38; }
  .auth-register .auth-return-link { margin:0 0 22px; min-height:44px; color:#285d48; background:#edf5e8; border-color:#c6d8bd; white-space:normal; text-align:left; }
  .auth-register .auth-return-link:hover { background:#dfeeda; border-color:#94b78b; }
  .public-page .error-page .panel { background:#f9fcf6; box-shadow:0 12px 36px #071f2b24; }
  @media (max-width:1100px) {
    .workspace-page .page-heading { padding:26px; }
    .workspace-page .page-heading .heading-actions { flex-wrap:wrap; }
  }
  @media (max-width:760px) {
    .workspace-page .main-nav a { background:#ffffff08; border-color:#bed6bf26; }
    .workspace-page .main-nav a[aria-current="page"] { background:#ffffff15; border-color:#c6dca54d; }
    .workspace-page .main-nav a:hover { background:#ffffff1b; }
    .workspace-page .page-shell { padding-top:22px; padding-bottom:26px; }
    .workspace-page .page-heading { padding:24px 20px; border-radius:19px; gap:20px; align-items:stretch; }
    .workspace-page .page-heading h1 { font-size:29px; }
    .workspace-page .page-heading .eyebrow { line-height:1.7; }
    .workspace-page .page-heading .heading-actions { gap:9px; }
    .workspace-page .page-heading>.button { align-self:stretch; white-space:normal; }
    .workspace-page .page-heading:before { right:-250px; }
    .workspace-backdrop { background-size:56px 56px; }
    .workspace-mark { font-size:250px; bottom:-50px; right:-50px; }
  }
  @media (max-width:360px) {
    .workspace-page .page-heading { padding:22px 17px; }
    .workspace-page .page-heading h1 { font-size:27px; }
    .workspace-page .page-heading .eyebrow { font-size:11px; letter-spacing:1.1px; }
    .workspace-page .page-heading .heading-actions>.button { padding:12px 10px; }
  }
}
@media print {
  .workspace-backdrop { display:none!important; }
  .workspace-page .page-heading { background:none; color:#000; box-shadow:none; border:0; padding:0; }
  .workspace-page .page-heading:before { display:none; }
  .workspace-page .page-heading h1,.workspace-page .page-heading .eyebrow,.workspace-page .page-heading .muted { color:#000; }
}

/* Separate operational verification from independently reviewed training labels. */
.risk-review-panel { background:#f7faf8; }
.risk-review-panel>summary { min-height:44px; cursor:pointer; font-size:17px; font-weight:700; color:var(--ink); align-content:center; }
.risk-review-panel>summary:focus-visible { outline:3px solid #61b99b; outline-offset:4px; border-radius:4px; }
.risk-review-content { padding-top:16px; }
.risk-review-content>a { font-weight:650; line-height:1.65; overflow-wrap:anywhere; }
.risk-review-content>.field-hint { margin:12px 0 22px; }
.risk-review-content form { margin-top:18px; }
.risk-review-content input,.risk-review-content select,.risk-review-content textarea { max-width:100%; font-size:16px; }
.stack-form .risk-confirmation { display:flex; align-items:flex-start; gap:11px; font-size:15px; font-weight:400; line-height:1.65; padding:13px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.stack-form .risk-confirmation>input { flex:0 0 18px; width:18px; height:18px; margin-top:4px!important; }
.risk-confirmation>span { min-width:0; overflow-wrap:anywhere; }

/* Report evidence and assessment cards; all other pages keep their existing layout. */
[data-page="reports"] #detail-panel { background:linear-gradient(135deg,#edf6f0,#f6f8f2 58%,#edf3f5); }
[data-page="reports"] #detail-panel .detail-header { padding:27px 30px; background:radial-gradient(ellipse at 100% 0,#c5e4d170,transparent 60%),linear-gradient(115deg,#fff,#f2f8f4); border-bottom:1px solid #cbded2; }
[data-page="reports"] #detail-panel .detail-header>.eyebrow { margin:17px 0 7px; color:#39705a; }
[data-page="reports"] #detail-panel .detail-header h1,[data-page="reports"] #detail-panel .detail-header h2 { max-width:40ch; font-size:clamp(24px,2.3vw,32px); line-height:1.3; color:#193e35; }
[data-page="reports"] #detail-panel .detail-header-caption { margin:14px 0 0; font-size:15px; color:#546d63; line-height:1.65; }
[data-page="reports"] #detail-panel .badge-row { gap:9px; }
[data-page="reports"] #detail-panel .badge { border-radius:8px; padding:5px 10px; }
[data-page="reports"] .report-detail-layout { display:grid; grid-template-columns:minmax(0,1fr); padding:22px; gap:22px; }
[data-page="reports"] .report-evidence-column,[data-page="reports"] .report-assessment-column { min-width:0; display:flex; flex-direction:column; gap:18px; }
[data-page="reports"] #detail-panel .detail-section,[data-page="reports"] #detail-panel .detail-data { min-width:0; padding:23px; border:1px solid #d4e2d8; border-radius:15px; background:#fff; box-shadow:0 3px 12px #244b3205; }
[data-page="reports"] #detail-panel>.detail-section { margin:0 22px 20px; }
[data-page="reports"] #detail-panel .detail-section h2,[data-page="reports"] #detail-panel .detail-section h3 { color:#234a3d; line-height:1.45; font-size:19px; margin:0 0 14px; letter-spacing:0; }
[data-page="reports"] #detail-panel .detail-section p { font-size:16px; line-height:1.7; color:#405e55; }
[data-page="reports"] #detail-panel .detail-section .field-hint,[data-page="reports"] #detail-panel .detail-card-intro { font-size:14px; line-height:1.7; color:#5b7168; }
[data-page="reports"] #detail-panel .detail-data { gap:19px; }
[data-page="reports"] #detail-panel .detail-data dt { font-size:14px; color:#65796f; }
[data-page="reports"] #detail-panel .detail-data dd { font-size:15px; line-height:1.6; color:#294f40; }
[data-page="reports"] #detail-panel .report-evidence-card { padding:18px; }
[data-page="reports"] #detail-panel .report-evidence-card h2,[data-page="reports"] #detail-panel .report-evidence-card h3 { padding:3px 5px 0; }
[data-page="reports"] #detail-panel .photo-link { display:block; border:1px solid #dbe5de; border-radius:10px; background:#f0f3ef; overflow:hidden; }
[data-page="reports"] #detail-panel .report-photo { display:block; width:100%; height:auto; max-height:460px; object-fit:contain; background:#eaf0eb; }
[data-page="reports"] #detail-panel .photo-caption { display:block; padding:11px 13px; font-size:14px; line-height:1.6; color:#285d48; background:#f7faf8; }
[data-page="reports"] #detail-panel .report-evidence-card>.field-hint { margin:13px 5px 0; }
[data-page="reports"] #detail-panel .report-ml-card { border-top:4px solid #2e8060; background:linear-gradient(150deg,#fff,#f9fcfa); }
[data-page="reports"] .ml-result-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:13px; margin:19px 0; }
[data-page="reports"] .ml-result { min-width:0; padding:17px; background:#f3f7f5; border:1px solid #d5e2dc; border-radius:12px; }
[data-page="reports"] #detail-panel .ml-result-label { margin:0 0 9px; color:#567166; font-size:13px; font-weight:700; line-height:1.6; }
[data-page="reports"] #detail-panel .ml-result-value { font-size:22px; line-height:1.3; margin-bottom:12px; overflow-wrap:anywhere; }
[data-page="reports"] .ml-severity-low { background:#ecf7ed; border-color:#bcdac3; }
[data-page="reports"] .ml-severity-moderate { background:#fff7e6; border-color:#e5d2a2; }
[data-page="reports"] .ml-severity-high { background:#fff0ec; border-color:#e5c2b9; }
[data-page="reports"] .ml-severity-pending { background:#f0f5f8; border-color:#c8dce8; }
[data-page="reports"] #detail-panel .model-score { margin:13px 0 5px; color:#274c3e; font-size:17px; font-weight:700; }
[data-page="reports"] #detail-panel .experimental-model-notice { margin:15px 0 0; padding:12px; border:1px solid #d1a03f; border-radius:8px; background:#fff8df; color:#704f11; font-size:14px; line-height:1.65; font-weight:700; }
[data-page="reports"] #detail-panel .model-version { font-size:12px; color:#5e7569; overflow-wrap:anywhere; margin:12px 0 0; }
[data-page="reports"] #detail-panel .ml-result .field-hint { font-size:12px; line-height:1.65; }
[data-page="reports"] #detail-panel .assessment-reasoning { margin:0 0 17px; }
[data-page="reports"] #detail-panel .notice { font-size:14px; line-height:1.7; border-radius:10px; padding:14px; }
[data-page="reports"] #detail-panel .assessment-guidance-card { border-top:3px solid #d1ac59; background:#fffdf7; }
[data-page="reports"] #detail-panel .actions-guidance { border-top-color:#67a587; background:#f7fcf8; }
[data-page="reports"] #detail-panel .guidance-type { font-size:12px; font-weight:650; color:#72613d; line-height:1.7; padding-bottom:13px; border-bottom:1px solid #e8e2d1; margin-bottom:15px; }
[data-page="reports"] #detail-panel .actions-guidance .guidance-type { color:#47715b; border-color:#dce9df; }
[data-page="reports"] .detail-guidance-list { padding-left:20px; margin:0; color:#405d51; font-size:16px; line-height:1.75; }
[data-page="reports"] .detail-guidance-list li { padding-left:2px; }
[data-page="reports"] .detail-guidance-list li+li { margin-top:10px; }
[data-page="reports"] #detail-panel .guidance-disclaimer { border-top:1px solid #e8e2d1; margin:18px 0 0; padding-top:14px; font-size:13px; color:#71644b; }
[data-page="reports"] .detail-guidance-sources { padding:0 5px; font-size:14px; line-height:1.7; color:#4f6b5f; }
[data-page="reports"] #detail-panel summary { cursor:pointer; min-height:44px; align-content:center; font-size:14px; line-height:1.6; font-weight:650; }
[data-page="reports"] #detail-panel summary:focus-visible { outline:3px solid #5a9d81; outline-offset:4px; }
[data-page="reports"] #detail-panel .report-resolution-card { background:linear-gradient(110deg,#f6fcf8,#fff); border-left:4px solid #4a9272; }
[data-page="reports"] #detail-panel .report-resolution-card>.badge { margin-bottom:12px; }
[data-page="reports"] #detail-panel .timeline { font-size:15px; }
@media (min-width:900px) {
  [data-page="reports"] .focused-reports-workspace .report-detail-layout { grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); align-items:start; }
}
@media (max-width:760px) {
  [data-page="reports"] #detail-panel .detail-header { padding:23px 19px; }
  [data-page="reports"] .report-detail-layout { padding:15px; gap:17px; }
  [data-page="reports"] .report-evidence-column,[data-page="reports"] .report-assessment-column { gap:15px; }
  [data-page="reports"] #detail-panel .detail-section,[data-page="reports"] #detail-panel .detail-data { padding:19px; border-radius:12px; }
  [data-page="reports"] #detail-panel>.detail-section { margin:0 15px 16px; }
  [data-page="reports"] #detail-panel .detail-section h2,[data-page="reports"] #detail-panel .detail-section h3 { font-size:19px; }
  [data-page="reports"] #detail-panel .report-photo { max-height:380px; }
  [data-page="reports"] #detail-panel .ml-result-value { font-size:23px; }
  [data-page="reports"] #detail-panel .detail-data { grid-template-columns:minmax(0,1fr); gap:15px; }
  [data-page="reports"] #detail-panel .detail-header .button { min-height:44px; }
}
@media print {
  [data-page="reports"] #detail-panel,[data-page="reports"] #detail-panel .detail-section { box-shadow:none; background:#fff; }
  [data-page="reports"] .report-detail-layout { display:block; }
  [data-page="reports"] #detail-panel .detail-section { break-inside:avoid; margin-bottom:15px; }
}

/* Original resident evidence first, followed by four distinct saved assessment outputs. */
[data-page="reports"] #detail-panel>.report-submission { margin-top:22px; }
[data-page="reports"] .submission-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:26px; align-items:start; }
[data-page="reports"] .submission-photo,[data-page="reports"] .submission-information { min-width:0; }
[data-page="reports"] #detail-panel .submission-photo .report-photo { max-height:570px; min-height:220px; }
[data-page="reports"] #detail-panel .submission-photo .photo-link:focus-visible { outline:3px solid #4b9274; outline-offset:4px; }
[data-page="reports"] #detail-panel .submitted-field-label { margin:0 0 5px; font-size:13px; color:#60766a; }
[data-page="reports"] #detail-panel .submitted-report-title { font-size:24px; line-height:1.35; margin:0 0 22px; overflow-wrap:anywhere; }
[data-page="reports"] #detail-panel .submitted-description-heading,[data-page="reports"] #detail-panel .reported-location h3 { font-size:15px; margin:0 0 7px; }
[data-page="reports"] #detail-panel .resident-description { margin:0 0 23px; }
[data-page="reports"] #detail-panel .reported-location { margin-bottom:24px; }
[data-page="reports"] #detail-panel .reported-location>p { margin:0 0 8px; }
[data-page="reports"] #detail-panel .reported-location .button { white-space:normal; margin-top:5px; }
[data-page="reports"] #detail-panel .submission-facts { padding:20px 0 0; border:0; border-top:1px solid #dce7df; border-radius:0; background:transparent; box-shadow:none; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
[data-page="reports"] #detail-panel .submission-facts dd { margin:5px 0 0; font-weight:600; }
[data-page="reports"] #detail-panel .system-assessment { padding-top:24px; }
[data-page="reports"] .assessment-outputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
[data-page="reports"] .assessment-output { min-width:0; padding:21px; border:1px solid #d9e5de; border-radius:12px; background:#f8fbf9; }
[data-page="reports"] .assessment-output { max-width:100%; height:auto; overflow-wrap:anywhere; word-break:normal; }
[data-page="reports"] .assessment-output :where(h3,h4,p,ul,li,span) { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
[data-page="reports"] .assessment-output p:last-child { margin-bottom:0; }
[data-page="reports"] .field-assistance { margin-top:18px; }
[data-page="reports"] .field-assistance>.stack-form { margin-top:16px; }
[data-page="reports"] .field-evidence .submission-layout { gap:18px; }
[data-page="reports"] .progress-overview { margin:15px 0 22px; padding:15px 17px; background:#f3f8f4; border:1px solid #d8e5dc; border-radius:10px; overflow-wrap:anywhere; }
[data-page="reports"] .progress-overview .field-hint { margin:0 0 6px; }
[data-page="reports"] .progress-overview .progress-title { display:block; margin:0 0 7px; }
[data-page="reports"] .progress-overview .progress-next-step { margin:0; }
[data-page="reports"] #detail-panel .assessment-output h3,[data-page="reports"] #detail-panel .assessment-output h4 { margin:0 0 14px; font-size:17px; line-height:1.4; }
[data-page="reports"] #detail-panel .assessment-result { margin:0 0 9px; font-size:24px; font-weight:750; color:#205a44; line-height:1.3; overflow-wrap:anywhere; }
[data-page="reports"] #detail-panel .assessment-score { font-size:14px; color:#526c60; margin:10px 0 0; }
[data-page="reports"] #detail-panel .risk-explanation { margin:8px 0 0; }
[data-page="reports"] .assessment-output.ml-severity-low { background:#eef8ef; border-color:#bddbc5; }
[data-page="reports"] .assessment-output.ml-severity-moderate { background:#fff8e8; border-color:#e4d2a6; }
[data-page="reports"] .assessment-output.ml-severity-high { background:#fff1ed; border-color:#e4c3bc; }
[data-page="reports"] #detail-panel .ml-severity-moderate .risk-result { color:#86630d; }
[data-page="reports"] #detail-panel .ml-severity-high .risk-result { color:#9b3d34; }
[data-page="reports"] .assessment-output.ml-severity-pending { background:#f1f6f8; border-color:#ccdee6; }
[data-page="reports"] #detail-panel .ml-severity-pending .risk-result { color:#456777; }
[data-page="reports"] .condition-low-confidence { background:#fff0ce; color:#7b5a12; margin-top:10px; }
[data-page="reports"] #detail-panel .assessment-effects>.field-hint,[data-page="reports"] #detail-panel .assessment-actions>.field-hint { margin:0 0 12px; }
[data-page="reports"] #detail-panel .assessment-effects>.field-hint:last-child,[data-page="reports"] #detail-panel .assessment-actions>.field-hint:last-child { margin-bottom:0; }
[data-page="reports"] #detail-panel .assessment-status-note { margin:17px 0 0; padding-top:14px; border-top:1px solid #dce7df; color:#77622d; font-size:14px; }
[data-page="reports"] .assessment-diagnostics pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:400px; overflow:auto; font-size:13px; margin:12px 0 0; }
[data-page="reports"] .historical-findings>p,[data-page="reports"] .recorded-observations>.condition-chips { margin-top:13px; }
@media (max-width:900px) {
  [data-page="reports"] .submission-layout { grid-template-columns:minmax(0,1fr); gap:23px; }
  [data-page="reports"] #detail-panel .submission-photo .report-photo { min-height:0; max-height:530px; }
}
@media (max-width:640px) {
  [data-page="reports"] #detail-panel>.report-submission { margin-top:15px; }
  [data-page="reports"] .assessment-outputs { grid-template-columns:minmax(0,1fr); gap:13px; }
  [data-page="reports"] .assessment-output { padding:18px; }
  [data-page="reports"] #detail-panel .submission-facts { grid-template-columns:minmax(0,1fr); gap:15px; }
  [data-page="reports"] #detail-panel .submitted-report-title,[data-page="reports"] #detail-panel .assessment-result { font-size:23px; }
  [data-page="reports"] #detail-panel .submission-photo .report-photo { max-height:420px; }
}
@media print {
  [data-page="reports"] .submission-layout,[data-page="reports"] .assessment-outputs { display:block; }
  [data-page="reports"] .submission-information,[data-page="reports"] .assessment-output { margin-top:18px; }
  [data-page="reports"] .assessment-diagnostics { display:none; }
}

/* Saved risk summary replaces the description placeholder in report details. */
[data-page="reports"] #detail-panel .submitted-risk-summary {
  --risk-ink:#456777; --risk-border:#c6d9e3; --risk-bg:#f1f6f8;
  margin:0 0 24px; padding:18px 20px; border:1px solid var(--risk-border);
  border-left:5px solid var(--risk-ink); border-radius:12px; background:var(--risk-bg);
}
[data-page="reports"] #detail-panel .submitted-risk-low { --risk-ink:#166534; --risk-border:#a2d4b4; --risk-bg:#edf9f0; }
[data-page="reports"] #detail-panel .submitted-risk-moderate { --risk-ink:#9a420e; --risk-border:#f0af72; --risk-bg:#fff3e7; }
[data-page="reports"] #detail-panel .submitted-risk-high { --risk-ink:#b42318; --risk-border:#ed9b98; --risk-bg:#fff0ef; }
[data-page="reports"] #detail-panel .submitted-risk-summary .submitted-risk-heading { margin:0 0 6px; font-size:14px; font-weight:600; color:var(--risk-ink); }
[data-page="reports"] #detail-panel .submitted-risk-summary .submitted-risk-value { margin:0; font-size:27px; line-height:1.3; font-weight:750; color:var(--risk-ink); }
[data-page="reports"] .assessment-output.ml-severity-moderate { background:#fff3e7; border-color:#f0af72; border-top:3px solid #c85b14; }
[data-page="reports"] #detail-panel .ml-severity-moderate .risk-result { color:#9a420e; }
[data-page="reports"] .assessment-output.ml-severity-high { background:#fff0ef; border-color:#ed9b98; border-top:3px solid #c7352a; }
[data-page="reports"] #detail-panel .ml-severity-high .risk-result { color:#b42318; }
@media (max-width:640px) {
  [data-page="reports"] #detail-panel .submitted-risk-summary { padding:16px; margin-bottom:21px; }
  [data-page="reports"] #detail-panel .submitted-risk-summary .submitted-risk-value { font-size:25px; }
}

/* Portal presentation: calm surfaces, readable controls, and progressive navigation.
   These rules do not change report, assessment, account, or camera behavior. */
@media screen {
  :root {
    --green:#176b56;
    --green-dark:#10513f;
    --ink:#203b35;
    --muted:#586f66;
    --line:#dce6e0;
    --radius:18px;
    --surface:#fff;
    --surface-soft:#f5f8f5;
    --focus:#a97316;
    --shadow-soft:0 5px 22px #092b2510;
  }
  html { scroll-padding-top:24px; }
  body { line-height:1.65; }
  button,a,input,select,textarea,summary { touch-action:manipulation; }
  button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
    outline:3px solid var(--focus);
    outline-offset:4px;
  }
  input:not([type="radio"]):not([type="checkbox"]),select,textarea {
    border-radius:10px;
    border-color:#bdcfc4;
    font-size:16px;
    min-height:48px;
    background:#fff;
    box-shadow:0 1px 2px #143a2603;
  }
  input:not([type="radio"]):not([type="checkbox"]):focus,select:focus,textarea:focus {
    border-color:#318063;
    box-shadow:0 0 0 3px #31806313;
  }
  input::placeholder,textarea::placeholder { color:#6a7e74; opacity:1; }
  .button,.button-small { min-height:44px; border-radius:10px; font-size:15px; font-weight:650; line-height:1.45; }
  .button-primary { background:#176b56; border-color:#176b56; box-shadow:0 2px 5px #14453412; }
  .button-primary:hover { background:#10513f; border-color:#10513f; box-shadow:0 4px 12px #14453420; }
  .button-outline { background:#fff; border-color:#c8d7ce; color:#294f40; }
  .button-outline:hover { background:#f0f6f1; border-color:#86ab96; }
  .button-quiet { color:#446355; }
  .button-quiet:hover { background:#edf4ee; color:#164f3b; }
  .icon-button { border:1px solid #dde7df; border-radius:10px; width:44px; height:44px; background:#f6f9f6; color:#476052; }
  .button:disabled,.button:disabled:hover { transform:none; box-shadow:none; }
  .checkbox-label { min-height:44px; gap:11px; }
  input[type="checkbox"] { flex-shrink:0; width:20px; height:20px; }
  .field-hint { line-height:1.65; }
  .workspace-page,.public-page {
    background:radial-gradient(ellipse at 0 0,#34695750,transparent 47%),linear-gradient(140deg,#173f3a,#1c4e44 60%,#173e39);
  }
  .workspace-backdrop { opacity:.34; background-size:96px 96px; }
  .workspace-orbit { opacity:.45; }
  .workspace-mark { opacity:.5; }
  .workspace-page .page-shell { max-width:1456px; padding:32px clamp(20px,3.5vw,52px) 48px; }
  .workspace-page .narrow-page { max-width:1240px; }
  .workspace-page .page-heading {
    padding:28px 30px;
    gap:24px;
    border-color:#81a38c3d;
    border-radius:20px;
    background:linear-gradient(115deg,#245a4a,#28614f);
    box-shadow:none;
    margin-bottom:26px;
    align-items:center;
  }
  .workspace-page .page-heading:before { opacity:.45; }
  .workspace-page .page-heading h1 { font-size:clamp(28px,2.5vw,36px); letter-spacing:-.7px; margin-bottom:10px; }
  .workspace-page .page-heading .eyebrow { color:#d7e6ce; font-size:12px; letter-spacing:1.25px; margin-bottom:10px; }
  .workspace-page .page-heading .muted { color:#e0ebe3; line-height:1.65; max-width:66ch; }
  .workspace-page .page-heading .heading-actions { flex-shrink:0; flex-wrap:wrap; align-self:center; }
  .workspace-page .page-heading .button-primary { background:#ecd399; border-color:#ecd399; color:#244436; }
  .workspace-page .page-heading .button-primary:hover { background:#f4e0b2; border-color:#f4e0b2; }
  .workspace-page .panel { background:#fff; border-color:#d4e1d8; box-shadow:var(--shadow-soft); border-radius:18px; }
  .workspace-page .panel-heading { padding:24px 26px 20px; background:#fff; }
  .workspace-page .panel-heading h2,.workspace-page .content-panel h2 { color:#234c3b; font-size:21px; letter-spacing:-.3px; }
  .workspace-page .panel-heading p { line-height:1.6; }
  .content-panel { padding:28px; }
  .workspace-page .assessment-banner { background:#f3f8f1; border-color:#d6e4d2; border-radius:12px; box-shadow:none; padding:17px 20px; margin-bottom:26px; }

  /* Desktop navigation stays compact; the Menu control is enhanced by ux.js. */
  .workspace-page .site-header {
    min-height:86px;
    padding:16px clamp(20px,3.5vw,52px);
    column-gap:30px;
    row-gap:14px;
    background:#143b34;
    border-top:3px solid #83a48a;
    border-bottom-color:#bed3c625;
    box-shadow:0 2px 12px #07251d14;
  }
  .site-header .header-navigation { display:flex; align-items:center; gap:24px; flex:1; min-width:0; }
  .site-header .header-navigation .main-nav { order:0; flex:1; flex-basis:auto; gap:8px; border:0; padding:0; }
  .workspace-page .main-nav a { min-height:44px; padding:10px 13px; border:1px solid transparent; border-radius:9px; color:#d2e2d7; font-size:15px; }
  .workspace-page .main-nav a:hover { background:#ffffff0e; border-color:#ffffff17; color:#fff; box-shadow:none; }
  .workspace-page .main-nav a[aria-current="page"] { background:#ffffff13; border-color:#c8dcbd38; color:#f7e5b4; }
  .workspace-page .main-nav a[aria-current="page"]:after { content:none; }
  .site-header .account { flex-shrink:0; gap:14px; }
  .site-header .account>span { line-height:1.45; }
  .site-header .account strong { max-width:154px; font-size:14px; }
  .site-header .account small { font-size:12px; margin-top:3px; }
  .site-header .account .button { padding:10px 13px; }
  .navigation-toggle { display:none; }
  .navigation-toggle-icon { position:relative; width:17px; height:14px; display:inline-block; flex-shrink:0; border-top:2px solid currentColor; border-bottom:2px solid currentColor; }
  .navigation-toggle-icon::before { content:''; position:absolute; left:0; right:0; top:4px; border-top:2px solid currentColor; }

  /* A report card has one clear entry point and a stable, readable hierarchy. */
  .workspace-page .reports-panel { background:#f3f7f3; }
  .reports-workspace.focused-reports-workspace { max-width:1120px; }
  .reports-panel>.panel-heading { align-items:flex-start; gap:18px; }
  .reports-panel .panel-tools { gap:7px; }
  .reports-panel .panel-tools .button { padding:9px 12px; border:1px solid #dbe6dd; background:#f7faf7; }
  .reports-panel .panel-tools .button:hover { background:#eaf3eb; border-color:#9fbeab; }
  .export-options { position:relative; }
  .export-options>summary { display:inline-flex; list-style:none; cursor:pointer; }
  .export-options>summary::-webkit-details-marker { display:none; }
  .export-options>summary::after { content:'⌄'; margin-left:9px; line-height:1; }
  .export-options[open]>summary { background:#eaf3eb; border-color:#9fbeab; }
  .export-links { position:absolute; z-index:5; top:calc(100% + 8px); right:0; display:flex; flex-direction:column; gap:4px; min-width:185px; padding:7px; border:1px solid #cbdccf; border-radius:12px; background:#fff; box-shadow:0 10px 28px #143a2626; }
  .export-links>a { display:flex; align-items:center; min-height:44px; padding:10px 12px; border-radius:7px; font-size:14px; font-weight:600; color:#315e42; text-decoration:none; }
  .export-links>a:hover { background:#eef5ed; }
  .reports-panel .filter-bar { padding:0 26px 22px; gap:15px; background:#fff; }
  .filter-bar>label>span:not(.sr-only) { display:block; margin-bottom:7px; color:#3a5a49; font-size:14px; line-height:1.45; font-weight:650; }
  .filter-bar input,.filter-bar select { font-size:16px; min-height:48px; }
  .filter-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 26px 18px; background:#fff; }
  .filter-toolbar p { margin:0; font-size:14px; color:#5b7164; }
  .filter-toolbar .button { margin-left:auto; }
  .report-list { gap:18px; padding:24px; }
  .workspace-page .report-card { background:#fff; border-color:#d7e3d9; border-radius:15px; padding:22px; box-shadow:0 2px 6px #193c2705; }
  .workspace-page .report-card:hover { background:#fff; border-color:#72a287; box-shadow:0 6px 18px #193c2710; transform:translateY(-2px); }
  .workspace-page .report-card.is-selected { padding:21px; border:2px solid #267852; background:#f3f9f3; }
  .report-title { margin:15px 0 10px; font-size:20px; line-height:1.45; color:#244c39; }
  .report-category,.report-location { color:#5a7163; font-size:14px; }
  .report-id,.report-date { font-size:13px; color:#5c7466; }
  .report-location { margin-bottom:22px; }
  .report-open-label { margin-top:18px; padding-top:14px; border-color:#e1eae2; color:#286746; }
  .badge { border-radius:7px; font-size:13px; line-height:1.5; padding:5px 9px; }
  .risk-low { color:#166534; background:#eaf6ed; }
  .risk-moderate { color:#9a420e; background:#fff0df; }
  .risk-high { color:#b42318; background:#ffebe9; }
  .risk-pending,.badge-neutral { color:#446676; background:#edf3f6; }
  .detail-back { min-height:44px; border:1px solid #cdded1; background:#fff; border-radius:9px; padding:10px 14px; margin:0 0 18px; }
  [data-page="reports"] #detail-panel { background:#f4f8f4; }
  [data-page="reports"] #detail-panel .detail-header { background:#edf5ed; padding:26px 28px; }
  [data-page="reports"] #detail-panel .detail-section { border-radius:14px; box-shadow:none; }
  [data-page="reports"] #detail-panel .detail-section p { line-height:1.75; }
  [data-page="reports"] #detail-panel .report-submission,[data-page="reports"] #detail-panel .system-assessment { padding:26px; }
  [data-page="reports"] .assessment-outputs { gap:18px; }
  [data-page="reports"] .assessment-output { padding:22px; background:#f6f9f6; }
  [data-page="reports"] #detail-panel .assessment-output h3 { font-size:16px; margin-bottom:15px; }
  [data-page="reports"] #detail-panel .assessment-result { font-size:25px; letter-spacing:-.3px; }
  [data-page="reports"] #detail-panel .photo-caption { margin:0; background:#f6f9f6; padding:12px 14px; font-weight:600; }
  [data-page="reports"] #detail-panel .photo-link:hover .photo-caption { background:#e9f3ea; color:#144f32; }
  [data-page="reports"] .detail-guidance-list { font-size:16px; line-height:1.75; }

  /* Summary and map panels group totals, location, and guidance without crowding. */
  .stat-grid { gap:18px; margin-bottom:24px; }
  .workspace-page .stat-card { border-radius:16px; background:#fff; padding:23px; border-color:#d8e3db; }
  .workspace-page .stat-card:before { content:none; }
  .workspace-page .stat-card:after { top:24px; bottom:24px; width:4px; }
  .workspace-page .stat-card:not(.stat-link):hover { transform:none; box-shadow:var(--shadow-soft); }
  .stat-link { color:var(--ink); text-decoration:none; }
  .stat-link:hover { text-decoration:none; }
  .stat-label { font-size:15px; font-weight:600; }
  .stat-card strong { font-size:36px; letter-spacing:-1px; margin:9px 0 5px; }
  .stat-caption { font-size:14px; line-height:1.55; }
  .stat-link-hint { display:block; color:#286746; font-size:13px; font-weight:650; margin-top:13px; }
  .dashboard-map-panel .map-panel-heading { padding:24px 26px 17px; }
  .map-overview { padding:0 26px 19px; gap:14px 24px; }
  .dashboard-map-layout { gap:20px; padding:0 26px 24px; grid-template-columns:minmax(0,1fr) 320px; }
  .map-canvas-wrap { border-color:#d2dfd4; border-radius:13px; }
  .workspace-page .map-report-sidebar { background:#f7faf7; border-color:#d8e4d9; }
  .map-sidebar-heading { padding:13px 16px; background:#f0f6f0; border-color:#d9e5da; }
  .map-sidebar-heading h3 { font-size:16px; }
  .map-report-list { padding:6px 10px; }
  .map-report-list .map-report-button { padding:15px 10px; margin:4px 0; }
  .map-report-list li+li { border-color:#dfe8df; }
  .map-report-button>strong { font-size:16px; }
  .map-footer { padding:11px 26px; background:#f6f9f5; border-color:#e1e9de; }
  .analytics-grid { gap:24px; margin-top:24px; }
  .distribution-row { margin:18px 0; }
  .distribution-track { height:8px; background:#eaf0eb; border-radius:6px; }
  .fill-low { background:#40895b; }
  .fill-moderate { background:#d67d27; }
  .fill-high { background:#c94d45; }
  .workspace-page .process-strip { background:#f7faf5; border-color:#d9e4d5; border-radius:16px; padding:26px; }
  .process-strip strong { font-size:16px; }
  .process-strip span { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:8px; background:#e2eee0; color:#386a42; font-size:12px; margin-right:8px; }
  .process-strip p { color:#58705d; line-height:1.65; margin-top:10px; }
  .workspace-page .resident-guide { background:#fff; padding:26px; }
  .workspace-page .resident-guide .process-strip { background:transparent; border:0; padding:0; }

  /* Form groups and dialogs retain all camera, privacy, and submission controls. */
  .modal { background:#fff; border:1px solid #d6e2d8; border-radius:20px; padding:28px; max-height:calc(100dvh - 48px); box-shadow:0 24px 80px #07251c38; }
  .modal-heading { padding-bottom:20px; margin-bottom:22px; border-bottom:1px solid #e2eae3; }
  .modal-heading h2 { font-size:25px; letter-spacing:-.5px; line-height:1.3; }
  .modal-heading .eyebrow { font-size:12px; margin-bottom:6px; }
  .modal .stack-form { gap:22px; }
  .modal .stack-form>p { font-size:15px; line-height:1.7; }
  .photo-capture,.device-location { border-color:#d8e3d9; border-radius:13px; background:#f6f9f5; padding:18px; }
  .photo-capture legend { font-size:16px; color:#365b43; }
  .device-location h3 { font-size:17px; }
  .anonymous-option { border-color:#d1e2d4; background:#f0f7ef; }
  .form-actions { padding-top:20px; border-color:#dfe8df; }
  .notice { border-radius:11px; line-height:1.65; }
  .empty-state { padding:48px 24px; }
  .empty-symbol { border-color:#d7e3d7; background:#edf5eb; color:#588460; }
  .empty-state h2,.empty-state h3 { color:#3b6144; }
  .notification-item { border-radius:9px; margin-bottom:6px; }
  .toast { border:1px solid #446f5a; border-radius:12px; background:#163f32; font-size:15px; }

  /* Authentication stays centered; account sections share the portal rhythm. */
  .auth-login .auth-card { background:#fff; border-color:#e3ece2; border-radius:22px; box-shadow:0 24px 64px #061e263d; }
  .auth-login .auth-card::before { background:#bd9d59; }
  .auth-login .auth-card-intro>.muted { line-height:1.6; }
  .auth-login .portal-selector { background:#f0f5ef; border-color:#dce7d9; }
  .auth-login .portal-selector>a[aria-current="page"] { color:#175d43; background:#fff; box-shadow:0 2px 5px #21433c0d; }
  .auth-login .stack-form label { font-size:15px; }
  .auth-login .button-full { background:#176b56; border-color:#176b56; }
  .auth-login .button-full:hover { background:#10513f; border-color:#10513f; }
  .auth-login .auth-switch { line-height:1.7; margin:19px 0; }
  .auth-login .auth-disclaimer { color:#657568; }
  .auth-form-section { display:flex; flex-direction:column; gap:17px; border:0; margin:0; padding:0; }
  .auth-form-legend { display:block; width:100%; padding:0 0 13px; margin:0; font-size:15px; font-weight:700; color:#2e5840; }
  .auth-form-section+.auth-form-section { padding-top:21px; border-top:1px solid #e0e9dc; }
  .auth-form-section .checkbox-label { margin:0; }
  .auth-privacy-note { padding:13px 15px; border:1px solid #dae7d5; border-radius:10px; background:#f2f7ef; font-size:14px; line-height:1.6; }
  .auth-register .auth-card { background:#fff; }
  .auth-register .auth-return-link { background:#f2f7ef; border-color:#d7e3d1; margin-bottom:25px; }
  .account-layout { grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); gap:24px; }
  .panel-section-intro { padding-bottom:20px; margin-bottom:22px; border-bottom:1px solid #e2eae1; }
  .panel-section-intro h2 { margin-bottom:7px; }
  .panel-section-intro p { font-size:15px; margin:0; }
  .account-security-panel .stack-form { gap:21px; }
  .account-security-panel .stack-form>button { align-self:flex-start; }
  .account-profile h2 { overflow-wrap:anywhere; }
  .account-profile .summary-list { margin:21px 0; }
  .account-profile .summary-list>div { align-items:start; }
  .account-profile .summary-list dd { text-align:right; overflow-wrap:anywhere; max-width:65%; }
  .account-recovery-note { border-top:1px solid #e0e8de; padding-top:18px; }
  .account-recovery-note h3 { font-size:16px; margin-bottom:6px; }
  .account-recovery-note p { margin:0; }
  .workspace-page .site-footer { background:#143b34; color:#c2d6c9; padding:24px clamp(20px,3.5vw,52px); font-size:13px; }

  @media (max-width:1180px) and (min-width:901px) {
    .site-header .header-navigation { flex-basis:100%; }
    .site-header .header-navigation .main-nav { flex-wrap:wrap; }
    .dashboard-map-layout { grid-template-columns:minmax(0,1fr) 290px; }
  }
  @media (max-width:1000px) {
    .workspace-page .page-heading { align-items:flex-start; flex-direction:column; }
    .workspace-page .page-heading .heading-actions { align-self:flex-start; }
    .account-layout { grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr); }
  }
  @media (max-width:900px) {
    .workspace-page .site-header { flex-wrap:wrap; align-items:center; padding:14px 20px; row-gap:16px; column-gap:12px; }
    .site-header .brand { flex-basis:auto; flex:1; max-width:calc(100% - 108px); margin:0; font-size:18px; }
    .site-header .brand small { font-size:12px; }
    .site-header[data-ux-enhanced="true"] .navigation-toggle { display:inline-flex; gap:10px; margin-left:auto; min-height:44px; padding:10px 13px; color:#eff6ee; background:#ffffff0c; border-color:#afcbb64d; }
    .site-header[data-ux-enhanced="true"] .navigation-toggle:hover { background:#ffffff19; }
    .site-header[data-ux-enhanced="true"] .navigation-toggle[aria-expanded="true"] { background:#e3eddd; color:#234c34; border-color:#e3eddd; }
    .site-header .header-navigation { flex-basis:100%; width:100%; flex-direction:column; align-items:stretch; gap:16px; padding-top:16px; border-top:1px solid #d2e1d12b; }
    .site-header .header-navigation .main-nav { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .workspace-page .main-nav a { justify-content:flex-start; text-align:left; padding:12px 14px; min-height:48px; background:#ffffff05; border-color:#ffffff16; white-space:normal; }
    .site-header .header-navigation .account { width:100%; margin:0; justify-content:space-between; padding-top:15px; border-top:1px solid #d2e1d12b; }
    .site-header .header-navigation .account>span { text-align:left; max-width:calc(100% - 108px); }
    .site-header .header-navigation .account strong { max-width:none; font-size:15px; }
    .dashboard-map-layout { grid-template-columns:minmax(0,1fr); }
    .dashboard-map-panel .map-report-sidebar { height:280px; }
    .account-layout { grid-template-columns:minmax(0,1fr); }
  }
  @media (max-width:760px) {
    .workspace-page .page-shell { padding:22px 16px 34px; }
    .workspace-page .page-heading { padding:24px 21px; gap:20px; border-radius:17px; margin-bottom:22px; }
    .workspace-page .page-heading h1 { font-size:29px; }
    .workspace-page .page-heading .heading-actions { width:100%; align-self:stretch; gap:10px; }
    .workspace-page .page-heading .heading-actions>.button { flex:1 1 130px; min-height:48px; padding:11px 12px; }
    .workspace-page .panel-heading { padding:21px 20px 18px; }
    .workspace-page .panel-heading h2 { font-size:20px; }
    .reports-panel .panel-tools { width:100%; justify-content:flex-start; }
    .reports-panel .panel-tools .button { flex:1 1 90px; }
    .reports-panel .panel-tools .export-options { flex:1 1 90px; }
    .export-options>summary { width:100%; }
    .reports-panel .filter-bar { padding:0 20px 20px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 12px; }
    .filter-bar .search-field { grid-column:1/-1; }
    .filter-bar>label:last-child { grid-column:1/-1; }
    .filter-toolbar { padding:0 20px 18px; flex-wrap:wrap; }
    .report-list { padding:18px; gap:16px; }
    .workspace-page .report-card { padding:21px; }
    .workspace-page .report-card.is-selected { padding:20px; }
    .report-title { font-size:20px; }
    .report-id,.report-date { font-size:14px; }
    .stat-grid,.stat-grid-resident { gap:12px; }
    .workspace-page .stat-card,.workspace-page .stat-grid-resident .stat-card { padding:20px 17px; }
    .stat-caption { font-size:14px; }
    .stat-card strong { font-size:33px; }
    .dashboard-map-panel .map-panel-heading { padding:22px 20px 17px; }
    .map-overview { padding:0 20px 18px; }
    .map-overview .map-legend { display:flex; flex-wrap:wrap; gap:8px; }
    .dashboard-map-layout { padding:0 20px 20px; gap:18px; }
    .map-footer { padding:11px 20px; }
    .workspace-page .resident-guide,.workspace-page .process-strip { padding:22px; }
    .content-panel { padding:22px; }
    [data-page="reports"] #detail-panel .detail-header { padding:22px 20px; }
    [data-page="reports"] #detail-panel .report-submission,[data-page="reports"] #detail-panel .system-assessment { padding:20px; }
    [data-page="reports"] .assessment-output { padding:19px; }
    [data-page="reports"] #detail-panel .assessment-result { font-size:24px; }
    .modal,.modal-wide { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:23px 20px; border-radius:17px; }
    .modal-heading h2 { font-size:23px; }
    .modal .form-actions>.button { min-height:48px; }
    .auth-login .auth-card { padding:27px 23px; }
    .auth-register .auth-card { padding:26px 22px; }
    .account-security-panel .stack-form>button { align-self:stretch; min-height:48px; }
    .account-profile .summary-list dd { max-width:62%; }
  }
  @media (max-width:400px) {
    .workspace-page .site-header { padding:13px 14px; }
    .site-header .brand { font-size:16px; gap:9px; }
    .site-header .brand small { font-size:11px; line-height:1.45; }
    .site-header .brand-mark { width:36px; height:41px; }
    .workspace-page .page-shell { padding-left:12px; padding-right:12px; }
    .workspace-page .page-heading { padding:23px 19px; }
    .workspace-page .page-heading h1 { font-size:27px; }
    .reports-panel .filter-bar { grid-template-columns:minmax(0,1fr); }
    .filter-bar .search-field,.filter-bar>label:last-child { grid-column:auto; }
    .workspace-page .report-card { padding:19px; }
    .workspace-page .report-card.is-selected { padding:18px; }
    .report-list { padding:15px; }
    .workspace-page .stat-card,.workspace-page .stat-grid-resident .stat-card { padding:18px 14px; }
    .stat-label { font-size:14px; }
    .modal,.modal-wide { padding:22px 17px; }
    .auth-login .auth-card { padding:26px 20px; }
  }
  @media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .stat-link:hover { transform:translateY(-2px); }
    .photo-link:hover .report-photo { filter:brightness(.98); }
  }
  @media (hover:none) {
    .workspace-page .report-card:hover,.workspace-page .stat-card:hover,.button:hover { transform:none; }
  }
  @media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
    .workspace-page .report-card:hover,.workspace-page .stat-card:hover,.button:hover,.button:active { transform:none; }
  }
}
@media print {
  .navigation-toggle { display:none!important; }
  .filter-toolbar { display:none; }
}

/* Local street lookup supplements, and never replaces, saved coordinates. */
[data-page="reports"] #detail-panel .reported-street { margin:14px 0; padding:14px 16px; border:1px solid #d4e2d8; border-radius:10px; background:#f3f8f4; }
[data-page="reports"] #detail-panel .reported-street .reported-street-label { margin:0 0 5px; font-size:13px; color:#526c5d; }
[data-page="reports"] #detail-panel .reported-street .reported-street-name { margin:0; font-size:18px; font-weight:700; color:#234c3b; overflow-wrap:anywhere; }

/* A shared typeface keeps pages, dialogs, forms, maps, and print views cohesive. */
h1,h2,h3,h4,button,input,select,textarea { font-family:var(--font-ui); }
.stat-card strong,.summary-number,.count-pill { font-variant-numeric:tabular-nums; }
.site-footer .map-data-credit { display:block; width:fit-content; color:inherit; font-size:13px; line-height:1.6; margin-top:5px; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:760px) { .site-footer .map-data-credit { margin-left:auto; margin-right:auto; } }

/* Compact report identity: use saved status and keep the evidence close by. */
[data-page="reports"] #detail-panel .report-detail-heading {
  position:relative; isolation:isolate; display:flex; align-items:center; gap:20px;
  padding:20px 24px; min-height:0; overflow:hidden;
  background:linear-gradient(110deg,#eaf4ed,#f4f8ef); border-bottom-color:#d2e2d6;
}
[data-page="reports"] #detail-panel .report-detail-heading::after {
  content:''; position:absolute; z-index:-1; width:190px; height:190px; right:90px; top:-140px;
  border:1px solid #7ca78b24; border-radius:50%; box-shadow:0 0 0 24px #7ca78b0b,0 0 0 48px #7ca78b08;
  pointer-events:none;
}
[data-page="reports"] .detail-heading-identity { order:0; display:flex; align-items:center; gap:14px; flex:1; min-width:0; }
[data-page="reports"] .detail-heading-copy { min-width:0; }
[data-page="reports"] #detail-panel .detail-heading-copy>.eyebrow { margin:0 0 5px; color:#4d7560; font-size:12px; letter-spacing:1.2px; }
[data-page="reports"] #detail-panel .report-detail-heading h1,
[data-page="reports"] #detail-panel .report-detail-heading h2 { margin:0; font-size:clamp(23px,2.1vw,28px); line-height:1.25; letter-spacing:-.65px; }
[data-page="reports"] .detail-heading-mark { position:relative; display:block; width:44px; height:48px; flex-shrink:0; border:1px solid #c8ddd0; border-radius:12px; background:#ffffffb3; }
[data-page="reports"] .detail-heading-mark::before { content:''; position:absolute; width:17px; height:23px; left:12px; top:11px; border:1.5px solid #4b8065; border-radius:3px; }
[data-page="reports"] .detail-heading-mark::after { content:''; position:absolute; width:9px; height:1.5px; left:16px; top:18px; background:#4b8065; box-shadow:0 5px 0 #4b8065,0 10px 0 #4b8065; }
[data-page="reports"] .detail-heading-state { order:1; display:flex; flex-direction:column; align-items:flex-start; gap:5px; flex-shrink:0; }
[data-page="reports"] .detail-status-label { color:#526f5d; font-size:12px; line-height:1.4; }
[data-page="reports"] #detail-panel .report-detail-heading>.detail-back { order:2; margin:0; min-height:44px; flex-shrink:0; background:#ffffffd9; }
@media (max-width:640px) {
  [data-page="reports"] #detail-panel .report-detail-heading { flex-wrap:wrap; padding:18px 20px; gap:15px; }
  [data-page="reports"] .detail-heading-identity { flex-basis:100%; }
  [data-page="reports"] .detail-heading-state { flex-direction:column; align-items:flex-start; gap:3px; }
  [data-page="reports"] #detail-panel .report-detail-heading>.detail-back { margin-left:auto; padding:10px 12px; font-size:14px; }
}
@media (max-width:400px) {
  [data-page="reports"] #detail-panel .report-detail-heading { padding:16px; column-gap:12px; }
}
@media print {
  [data-page="reports"] #detail-panel .report-detail-heading { padding:12px 16px; background:#fff; }
  [data-page="reports"] #detail-panel .report-detail-heading::after,
  [data-page="reports"] .detail-heading-mark { display:none; }
}

/* Resolved is a workflow state; assessment colors keep their own meaning. */
.workspace-page .report-card.is-resolved { border-color:#9dc9ac; background:linear-gradient(135deg,#f0f9f2,#fbfefb); box-shadow:inset 4px 0 0 #3d8b5d,0 2px 6px #193c2705; }
.workspace-page .report-card.is-resolved:hover { border-color:#6ba582; background:#edf7f0; box-shadow:inset 4px 0 0 #2e7b4d,0 6px 18px #193c2710; }
.workspace-page .report-card.is-resolved.is-selected { border-color:#267852; background:#eaf6ee; box-shadow:inset 4px 0 0 #267852; }
.report-card.is-resolved .report-id { display:inline-flex; align-items:center; gap:9px; color:#2c6142; }
.report-complete-icon { display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%; color:#fff; background:#347c50; font-size:14px; font-weight:700; letter-spacing:0; line-height:1; flex-shrink:0; }
.status-resolved { color:#205d39; background:#ddf1e3; border:1px solid #a8d1b4; font-weight:700; }
.report-card.is-resolved .report-open-label { color:#286242; border-color:#cde3d4; }
[data-page="reports"] #detail-panel .report-detail-heading.is-resolved { background:linear-gradient(110deg,#dff0e4,#f2f9ee); border-bottom-color:#abcdb4; }
[data-page="reports"] #detail-panel .detail-heading-mark-resolved { display:flex; align-items:center; justify-content:center; color:#fff; background:#347c50; border-color:#347c50; font-size:27px; font-weight:600; line-height:1; }
[data-page="reports"] #detail-panel .detail-heading-mark-resolved::before,
[data-page="reports"] #detail-panel .detail-heading-mark-resolved::after { content:none; }

/* Resident guide: a calm three-step journey using existing report workflows. */
.workspace-page #resident-guide.resident-guide { position:relative; padding:28px; border-color:#c8ded0; background:linear-gradient(135deg,#fff 40%,#f5faf3); }
.resident-guide-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.resident-guide-intro>div { min-width:0; }
.resident-guide-intro .eyebrow { margin-bottom:8px; color:#397052; font-size:12px; letter-spacing:1.4px; }
#resident-guide .resident-guide-intro h2 { margin:0 0 9px; color:#234b39; font-size:clamp(22px,2vw,27px); line-height:1.3; letter-spacing:-.45px; }
.resident-guide-caption { margin:0; color:#5a7163; font-size:15px; line-height:1.65; }
.resident-guide-count { flex-shrink:0; padding:8px 13px; border:1px solid #c7ddcd; border-radius:30px; color:#306342; background:#edf6ed; font-size:13px; font-weight:600; white-space:nowrap; }
.resident-journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:0; margin:0; list-style:none; }
.resident-journey .journey-step { --journey-ink:#28664a; --journey-bg:#edf7f0; --journey-border:#cee3d4; min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:22px; border:1px solid var(--journey-border); border-radius:15px; background:var(--journey-bg); }
.resident-journey .journey-step-track { --journey-ink:#32677b; --journey-bg:#f0f6f9; --journey-border:#d0e1e8; }
.resident-journey .journey-step-resolve { --journey-ink:#766020; --journey-bg:#fbf8ed; --journey-border:#e6ddbd; }
.journey-step-top { display:flex; align-items:center; justify-content:space-between; width:100%; gap:18px; margin-bottom:20px; }
.journey-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; border:1px solid var(--journey-border); border-radius:12px; color:var(--journey-ink); background:#ffffffd9; }
.journey-icon svg { width:24px; height:24px; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.journey-number { font-size:26px; font-weight:700; line-height:1; letter-spacing:-1px; color:var(--journey-ink); opacity:.6; font-variant-numeric:tabular-nums; }
#resident-guide .journey-step h3 { margin:0 0 10px; color:#264a37; font-size:18px; line-height:1.4; letter-spacing:-.2px; }
#resident-guide .journey-step p { margin:0 0 20px; font-size:15px; line-height:1.75; color:#4e6658; }
.journey-step-tag { display:block; margin-top:auto; color:var(--journey-ink); font-size:12px; font-weight:600; line-height:1.5; padding-top:12px; border-top:1px solid var(--journey-border); width:100%; }
.resident-guide-statuses { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; border-top:1px solid #dce8dd; padding-top:20px; margin-top:22px; }
.resident-guide-statuses>p { margin:0; color:#526c5a; font-size:14px; font-weight:500; }
.journey-status-list { display:flex; flex-wrap:wrap; align-items:center; gap:9px 0; margin:0; padding:0; list-style:none; }
.journey-status-list>li { display:flex; align-items:center; gap:9px; }
.journey-status-list>li+li::before { content:'›'; margin-left:9px; color:#8ba192; font-size:18px; line-height:1; }
.journey-status-list .badge { font-size:12px; }
@media (max-width:800px) {
  .resident-guide-intro { align-items:flex-start; gap:15px; }
  .resident-guide-count { padding:7px 10px; font-size:12px; }
  .resident-journey { grid-template-columns:minmax(0,1fr); gap:13px; }
  .resident-journey .journey-step { display:grid; grid-template-columns:44px minmax(0,1fr); gap:0 16px; padding:20px; }
  .journey-step-top { grid-column:1; grid-row:1/4; flex-direction:column; justify-content:flex-start; gap:14px; margin:0; }
  .journey-number { font-size:20px; }
  #resident-guide .journey-step h3,#resident-guide .journey-step p,.journey-step-tag { grid-column:2; }
  #resident-guide .journey-step p { margin-bottom:13px; }
  .journey-step-tag { padding-top:10px; }
}
@media (max-width:480px) {
  .workspace-page #resident-guide.resident-guide { padding:22px 18px; }
  .resident-guide-intro { flex-direction:column; margin-bottom:20px; }
  #resident-guide .resident-guide-intro h2 { font-size:23px; }
  .resident-guide-count { align-self:flex-start; }
  .resident-journey .journey-step { padding:18px 16px; column-gap:13px; }
  #resident-guide .journey-step h3 { font-size:17px; }
  .resident-guide-statuses { align-items:flex-start; flex-direction:column; }
  .journey-status-list { row-gap:10px; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .resident-journey .journey-step { transition:transform .18s,box-shadow .18s; }
  .resident-journey .journey-step:hover { transform:translateY(-2px); box-shadow:0 6px 16px #21442f0c; }
}
@media print {
  .workspace-page #resident-guide.resident-guide,.resident-journey .journey-step { background:#fff; box-shadow:none; }
  .resident-journey .journey-step { break-inside:avoid; }
}

/* Card surface polish: existing geometry, typography, and state colors stay intact. */
@media screen {
  .workspace-page .panel {
    border-color:#b7d0c0;
    border-radius:22px;
    box-shadow:0 3px 8px #092b2514,0 16px 34px #092b2520,inset 0 1px 0 #fff;
  }
  .workspace-page .panel>.panel-heading {
    background-image:linear-gradient(115deg,#eaf4ed,#f8fbf9);
    box-shadow:inset 0 3px 0 #bfd9c9,inset 0 -1px 0 #cdded3;
  }
  .workspace-page .stat-card {
    border-color:#b7d0c0;
    border-radius:22px;
    background-image:linear-gradient(140deg,#fff 15%,#f2f9f4 65%,#e7f3eb);
    box-shadow:0 3px 6px #092b2514,0 10px 24px #092b251a,inset 0 3px 0 #c7dfd0;
    transform:none;
  }
  .workspace-page .report-card {
    border-color:#b7d0c0;
    border-radius:20px;
    box-shadow:0 3px 6px #092b2514,0 10px 24px #092b251a,inset 0 1px 0 #fff;
    transform:none;
  }
  .workspace-page .report-card:not(.is-selected):not(.is-resolved) {
    background-image:linear-gradient(140deg,#fff 35%,#edf6f0);
  }
  .workspace-page .report-card.is-selected {
    border-color:#267852;
    box-shadow:0 3px 7px #092b251a,0 12px 28px #092b2524,inset 0 1px 0 #fff;
  }
  .workspace-page .report-card.is-resolved {
    border-color:#9dc9ac;
    box-shadow:inset 4px 0 0 #3d8b5d,0 3px 6px #092b2514,0 10px 24px #092b251a;
  }
  .workspace-page .report-card.is-resolved.is-selected {
    border-color:#267852;
    box-shadow:inset 4px 0 0 #267852,0 3px 7px #092b251a,0 12px 28px #092b2524;
  }
  [data-page="reports"] #detail-panel .detail-section {
    border-radius:20px;
    box-shadow:0 2px 5px #092b250d,0 8px 20px #092b2514,inset 0 1px 0 #fff;
  }
  [data-page="reports"] #detail-panel .assessment-output {
    border-radius:18px;
    background-image:linear-gradient(145deg,#ffffff59,#ffffff00 70%);
    box-shadow:0 2px 5px #092b2510,0 8px 18px #092b2514,inset 0 1px 0 #fff;
  }
  [data-page="reports"] #detail-panel .submitted-risk-summary {
    border-radius:18px;
    background-image:linear-gradient(135deg,#ffffff4d,#ffffff00 75%);
    box-shadow:0 2px 5px #092b2510,0 8px 18px #092b2514,inset 0 1px 0 #ffffffcc;
  }
  [data-page="reports"] #detail-panel .reported-street,
  [data-page="reports"] .progress-overview,
  .photo-analysis-status,.risk-explainer,.metric-panel,
  .photo-capture,.device-location,.location-fieldset,.auth-privacy-note {
    border-radius:14px;
    box-shadow:0 2px 4px #092b250d,0 5px 12px #092b2510,inset 0 1px 0 #ffffffcc;
  }
  .notice {
    border-radius:14px;
    box-shadow:0 2px 4px #092b250d,0 5px 12px #092b2510,inset 0 1px 0 #ffffffcc;
  }
  .resident-journey .journey-step {
    border-radius:20px;
    background-image:linear-gradient(145deg,#ffffff59,#ffffff00 75%);
    box-shadow:0 2px 5px #092b2510,0 8px 18px #092b2514,inset 0 1px 0 #fff;
    transform:none;
  }
  .auth-login .auth-card,.auth-register .auth-card {
    box-shadow:0 4px 12px #061e2624,0 28px 68px #061e2647,inset 0 1px 0 #fff;
  }
  .workspace-page .report-card:hover,
  .workspace-page .stat-link:hover,
  .resident-journey .journey-step:hover {
    transform:none;
  }
  .workspace-page .report-card:focus-visible,
  .workspace-page .stat-link:focus-visible {
    box-shadow:0 4px 8px #092b251a,0 14px 30px #092b2526,inset 0 1px 0 #fff;
  }
  .workspace-page .report-card.is-resolved:focus-visible {
    box-shadow:inset 4px 0 0 #3d8b5d,0 4px 8px #092b251a,0 14px 30px #092b2526;
  }
  @media (hover:hover) and (pointer:fine) {
    .workspace-page .report-card:hover,.workspace-page .stat-link:hover {
      border-color:#72a287;
      box-shadow:0 4px 8px #092b251a,0 14px 30px #092b2526,inset 0 1px 0 #fff;
    }
    .workspace-page .report-card.is-selected:hover { border-color:#267852; }
    .workspace-page .report-card.is-resolved:hover {
      border-color:#6ba582;
      box-shadow:inset 4px 0 0 #3d8b5d,0 4px 8px #092b251a,0 14px 30px #092b2526;
    }
    .workspace-page .report-card.is-resolved.is-selected:hover {
      border-color:#267852;
      box-shadow:inset 4px 0 0 #267852,0 4px 8px #092b251a,0 14px 30px #092b2526;
    }
  }
  @media (prefers-reduced-motion:no-preference) {
    .workspace-page .report-card,.workspace-page .stat-link {
      transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
    }
  }
  @media (prefers-reduced-motion:reduce) {
    .workspace-page .report-card,.workspace-page .stat-link,.resident-journey .journey-step { transition:none; }
  }
}

/* Card hover motion: pronounced popup feedback without changing document flow. */
@media screen and (hover:hover) and (pointer:fine) {
  .workspace-page .report-card:hover,
  .workspace-page .stat-card:hover,
  .developer-console .dev-stat:hover,
  .workspace-page .report-card:focus-visible,
  .workspace-page .stat-link:focus-visible {
    border-color:#267852;
    z-index:2;
    box-shadow:0 0 0 3px #83b69a66,0 12px 20px #092b252e,0 26px 48px #092b2540,inset 0 1px 0 #fff;
  }
  .workspace-page .report-card.is-resolved:hover,
  .workspace-page .report-card.is-resolved:focus-visible {
    box-shadow:inset 4px 0 0 #3d8b5d,0 0 0 3px #83b69a66,0 12px 20px #092b252e,0 26px 48px #092b2540;
  }
  .workspace-page .report-card.is-resolved.is-selected:hover,
  .workspace-page .report-card.is-resolved.is-selected:focus-visible {
    box-shadow:inset 4px 0 0 #267852,0 0 0 3px #83b69a66,0 12px 20px #092b252e,0 26px 48px #092b2540;
  }
}
@media screen and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .workspace-page .report-card,
  .workspace-page .stat-card,
  .developer-console .dev-stat {
    transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,border-color .18s ease,background-color .18s ease;
  }
  .workspace-page .report-card:hover,
  .workspace-page .stat-link:hover,
  .workspace-page .report-card:focus-visible,
  .workspace-page .stat-link:focus-visible {
    transform:translateY(-10px) scale(1.05);
  }
  .workspace-page .stat-card:not(.stat-link):hover,
  .developer-console .dev-stat:hover {
    transform:translateY(-8px) scale(1.04);
  }
}
@media screen and (max-width:1000px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .workspace-page .report-card:hover,
  .workspace-page .stat-card:hover,
  .developer-console .dev-stat:hover,
  .workspace-page .report-card:focus-visible,
  .workspace-page .stat-link:focus-visible {
    transform:translateY(-6px) scale(1.025);
  }
}
@media screen and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .workspace-page .report-card:active,
  .workspace-page .stat-link:active {
    transform:translateY(-1px) scale(1.01);
  }
}
@media screen and (prefers-reduced-motion:reduce) {
  .workspace-page .report-card,
  .workspace-page .stat-card,
  .developer-console .dev-stat {
    transform:none;
    transition:none;
  }
}
