:root{--navy: #123a5c;--navy-dark: #0d2b44;--gold: #e8b23a;--bg: #f2f4f7;--card: #ffffff;--ink: #1d2733;--muted: #5b6875;--line: #dde3ea;--green: #1e8e4e;--yellow: #c9a227;--orange: #d9730d;--red: #c53030;--blue: #2563eb;--gray: #8a94a0}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45}.app{min-height:100vh;display:flex;flex-direction:column}.brand{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px #0d2b4459}.brand-inner{display:flex;align-items:center;gap:10px}.brand-logo{background:none;border:0;padding:0;cursor:pointer;display:flex}.brand-text{min-width:0}.brand-name{font-weight:700;font-size:15px;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-name span{font-weight:400;opacity:.75;font-size:12px}.brand-tag{font-size:9.5px;letter-spacing:1.6px;color:var(--gold);margin-top:2px}.list-page{padding:14px 14px 30px;max-width:760px;width:100%;margin:0 auto;flex:1}.list-head{display:flex;align-items:baseline;justify-content:space-between}.list-head h1{font-size:20px;margin:4px 0 10px;color:var(--navy)}.list-count{color:var(--muted);font-size:12.5px}.search{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);font-size:15px;outline-color:var(--navy)}.chips{display:flex;gap:6px;overflow-x:auto;padding:10px 2px 6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:5px 11px;font-size:12.5px;cursor:pointer}.chip em{color:var(--muted);font-style:normal;font-size:11px}.chip-on{background:var(--navy);border-color:var(--navy);color:#fff}.chip-on em{color:#cfe0ef}.cards{display:flex;flex-direction:column;gap:9px;margin-top:8px}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:inherit;box-shadow:0 1px 2px #102a430d}.card:active{background:#eef3f8}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.card-addr{font-weight:650;font-size:14.5px;color:var(--navy)}.card-date{flex:0 0 auto;font-size:12px;color:var(--muted)}.card-sub{color:var(--muted);font-size:12.5px;margin-top:2px}.card-num{color:#9aa6b2}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.badge{font-size:11px;font-weight:600;padding:2.5px 8px;border-radius:999px;background:#eef1f5;color:var(--muted)}.b-major{background:#fbe3e3;color:var(--red)}.b-minor{background:#fdeedd;color:var(--orange)}.b-minimal{background:#faf3d9;color:#8a6d0b}.b-photo{background:#e3edf7;color:var(--navy)}.empty{text-align:center;color:var(--muted);padding:30px 0}.report{padding:0 0 40px;flex:1}.rep-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 0;max-width:820px;margin:0 auto;width:100%}.back{border:1px solid var(--line);background:var(--card);color:var(--navy);font-weight:600;border-radius:999px;padding:6px 14px;cursor:pointer;font-size:13px}.rep-bar-btns{display:flex;gap:6px}.mini{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:6px 11px;font-size:12px;cursor:pointer}.rep-title{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:12px 14px 0;padding:16px;text-align:center;max-width:820px}.rep-title h1{margin:0;font-size:20px;color:var(--navy);letter-spacing:.3px}.rep-for{font-weight:700;font-size:15px;margin-top:8px}.rep-client{color:var(--muted);font-size:13px;margin-top:2px}.rep-date{color:var(--muted);font-size:12.5px;margin-top:2px}.legend-strip{display:flex;flex-wrap:wrap;gap:6px;margin:10px 14px 0;max-width:820px}.lg{font-size:10.5px;font-weight:600;border-radius:999px;padding:3px 9px}.lg-i{background:#e2f2e9;color:var(--green)}.lg-min{background:#faf3d9;color:#8a6d0b}.lg-maj{background:#fde8e8;color:var(--red)}.lg-na{background:#edf0f4;color:var(--gray)}.gi-toggle{display:block;width:calc(100% - 28px);max-width:820px;margin:12px auto 0;text-align:left;background:none;border:0;font-weight:700;font-size:13.5px;color:var(--navy);cursor:pointer;padding:2px}.gi-card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:6px 14px 0;padding:14px 16px;max-width:820px}.gi-grid,.pd-grid{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.gi-grid>div,.pd-grid>div{min-width:0}.gi-grid dt,.pd-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}.gi-grid dd,.pd-grid dd{margin:1px 0 0;font-size:13.5px;overflow-wrap:anywhere}.online{margin-top:12px;border-top:1px dashed var(--line);padding-top:10px}.online summary{cursor:pointer;font-weight:600;color:var(--navy);font-size:13px}.online p{font-size:12.5px;color:var(--muted);margin:8px 0 0}.sumcard,.pdcard{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:12px 14px 0;padding:14px 16px;max-width:820px}.sumcard h2,.pdcard h2{margin:0 0 10px;font-size:15px;color:var(--navy)}.issues .issue-head{font-weight:700;font-size:13px;margin:10px 0 3px;color:var(--navy)}.issues .issue{margin:3px 0;font-size:13.5px;padding-left:6px}.allgood{color:var(--green);font-weight:600;margin:0}.pd-grid{grid-template-columns:1fr 1fr}.sec-legend{margin:16px 14px 6px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}.secs{display:flex;flex-direction:column;gap:10px;padding:0 14px;max-width:820px;margin:0 auto;width:100%}.seccard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}.sec-head{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:13px 14px;cursor:pointer;text-align:left}.sec-num{flex:0 0 auto;background:var(--navy);color:#fff;border-radius:8px;font-size:11.5px;font-weight:700;padding:3px 8px;min-width:38px;text-align:center}.sec-title{flex:1;font-weight:700;font-size:14px;color:var(--ink)}.sec-meta{display:flex;align-items:center;gap:8px}.fdot{width:10px;height:10px;border-radius:50%}.f-minor{background:var(--orange)}.f-major{background:var(--red)}.sec-photos{font-size:11.5px;color:var(--muted)}.sec-chev{color:var(--muted);font-size:12px}.sec-body{border-top:1px solid var(--line);padding:12px 14px 14px}.specs{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.spec{font-size:13px;color:var(--muted);font-weight:600}.tbl-wrap{overflow-x:auto}table.items{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}.items th,.items td{border-bottom:1px solid var(--line);padding:6px 4px}.items thead th{font-size:9.5px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;border-bottom:2px solid var(--line)}.th-num,.td-num{width:24px;text-align:center;color:var(--muted)}.th-item{text-align:left;width:auto}.td-item{color:var(--ink);overflow-wrap:anywhere;font-size:12.5px;line-height:1.35}.th-mark{width:33px;text-align:center}.th-mark.m-inspected{color:var(--green)}.th-mark.m-minimal{color:#8a6d0b}.th-mark.m-minor{color:var(--orange)}.th-mark.m-major{color:var(--red)}.mark{text-align:center;font-weight:800;font-size:13px}.m-inspected{color:var(--green)}.m-minimal{color:#8a6d0b}.m-minor{color:var(--orange)}.m-major{color:var(--red)}.m-na{color:var(--gray);font-size:11px}.m-unknown{color:var(--blue)}tr:has(.m-minor) .td-item,tr:has(.m-major) .td-item{font-weight:600}tr:has(.m-major) .td-item{color:var(--red)}.noitems{color:var(--muted);font-size:13px;margin:0}.secnote{font-size:12.5px;color:var(--muted);background:#f6f8fa;border-radius:10px;padding:8px 10px;margin:10px 0 0}.comments{margin-top:12px}.cmt-title{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--navy);margin-bottom:4px}.cmt{font-size:13.5px;margin:4px 0}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.photo{margin:0;cursor:zoom-in}.photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#dde3ea;display:block}.photo figcaption{font-size:10.5px;color:var(--muted);margin-top:3px;text-align:center}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#091420f0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.lightbox img{max-width:100%;max-height:82vh;border-radius:8px;object-fit:contain}.lb-x{position:absolute;top:calc(10px + env(safe-area-inset-top));right:14px;background:#ffffff24;color:#fff;border:0;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff24;color:#fff;border:0;border-radius:50%;width:42px;height:42px;font-size:26px;cursor:pointer}.lb-prev{left:10px}.lb-next{right:10px}.lb-cap{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:#e6edf4;font-size:13px}.lb-cap em{color:#9db4c8;font-style:normal;font-size:11.5px}.foot{background:var(--navy-dark);color:#9db4c8;text-align:center;font-size:11.5px;padding:14px 12px calc(16px + env(safe-area-inset-bottom));line-height:1.7}.center-msg{text-align:center;color:var(--muted);padding:60px 20px}@media (min-width: 720px){.photo-grid{grid-template-columns:repeat(3,1fr)}.gi-grid,.pd-grid{grid-template-columns:1fr 1fr 1fr}}@media print{.brand,.rep-bar,.sec-legend,.legend-strip,.foot,.gi-toggle{display:none!important}.seccard{break-inside:avoid}.sec-body{display:block!important}}.lightbox img{animation:lbfade .15s ease-out}@keyframes lbfade{0%{opacity:.4}to{opacity:1}}
