:root{color-scheme:light;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#17202a;background:#eef3f7;line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.appShell{min-height:100vh;padding:24px}.topBar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;max-width:1480px;margin:0 auto 20px}.eyebrow{margin:0 0 6px;color:#506575;font-size:13px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:32px;font-weight:800;letter-spacing:0}h2{margin-bottom:0;font-size:20px;font-weight:800}h3{margin-bottom:12px;font-size:18px}.statusPill{flex:0 0 auto;padding:9px 14px;border:1px solid #cbd8e4;border-radius:999px;background:#fff;color:#375466;font-size:14px;font-weight:700}.workspace{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(520px,1.35fr);gap:20px;max-width:1480px;margin:0 auto;align-items:start}.inputPanel,.reportPanel{min-width:0}.sectionCard,.reportPanel{border:1px solid #d7e0e8;border-radius:8px;background:#fff;box-shadow:0 16px 36px #182c3e14}.sectionCard{padding:18px;margin-bottom:16px}.accessCard{border-color:#c7d8e8;background:#f8fbfd}.cardHeader,.reportHeader,.buildingTitle{display:flex;justify-content:space-between;align-items:center;gap:14px}.cardHeader{margin-bottom:14px}.cardHeader span{color:#6a7b88;font-size:13px;font-weight:700}.field{display:grid;gap:7px;min-width:0}.field span{color:#4a5d6d;font-size:13px;font-weight:700}input,select{width:100%;min-height:40px;border:1px solid #cbd8e4;border-radius:6px;padding:8px 10px;color:#16222f;background:#fbfdff;outline:none}input:focus,select:focus{border-color:#2876b8;box-shadow:0 0 0 3px #2876b829}.uploadBox{display:grid;place-items:center;min-height:220px;border:1px dashed #8fb0c8;border-radius:8px;background:#f5f9fc;overflow:hidden}.uploadBox input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.uploadBox span{color:#496577;font-weight:800}.uploadBox img{display:block;width:100%;max-height:340px;object-fit:contain;background:#fff}.fileName,.hint{margin:10px 0 0;color:#607382;font-size:13px}.buildingList{display:grid;gap:14px}.buildingEditor{border:1px solid #dbe4ec;border-radius:8px;padding:14px;background:#fbfdff}.buildingTitle{margin-bottom:12px}.buildingTitle strong{color:#1b3142;font-size:15px}.buildingTitle button,.ghostButton{border:1px solid #cbd8e4;border-radius:6px;padding:7px 10px;background:#fff;color:#31576f;font-weight:700}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.formGrid .wide{grid-column:1 / -1}.primaryButton{width:100%;min-height:46px;margin-top:16px;border:0;border-radius:7px;background:#1f6fa8;color:#fff;font-weight:800}.primaryButton:not(:disabled):hover{background:#185f92}.errorText{margin:10px 0 0;color:#b3261e;font-size:14px;font-weight:700}.reportPanel{position:sticky;top:20px;overflow:hidden}.reportHeader{padding:18px 18px 14px;border-bottom:1px solid #dbe4ec}.tabList{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tabList button{min-height:36px;border:1px solid #cbd8e4;border-radius:999px;padding:7px 13px;background:#fff;color:#385466;font-size:14px;font-weight:800}.tabList button.active{border-color:#1f6fa8;background:#1f6fa8;color:#fff}.emptyState,.reportBody{padding:30px}.emptyState{min-height:440px;display:grid;place-content:center;text-align:center}.emptyState p,.reportBody p{margin-bottom:0;color:#3d4f5d}.reportBody{min-height:440px}.reviewNote{margin-top:18px;border-left:4px solid #d48a1f;border-radius:6px;padding:12px 14px;background:#fff7eb;color:#6d4714;font-weight:700}.tableWrap{overflow-x:auto;padding:18px}table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}th,td{border-bottom:1px solid #dbe4ec;padding:12px 10px;vertical-align:middle;text-align:left}th{background:#f1f6fa;color:#2d4758;font-size:13px}td{color:#233645;font-size:14px}th:nth-child(1),td:nth-child(1){width:92px}th:nth-child(2),td:nth-child(2){width:126px}th:nth-child(3),td:nth-child(3){width:160px}th:nth-child(5),td:nth-child(5){width:220px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:74px;min-height:28px;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800}.badge.pass{color:#17633b;background:#e8f6ef}.badge.fail{color:#9b2d21;background:#fdecea}.badge.review{color:#765013;background:#fff2d9}@media(max-width:980px){.appShell{padding:16px}.topBar,.workspace,.reportHeader{display:block}.statusPill,.tabList{margin-top:14px}.workspace{grid-template-columns:1fr}.reportPanel{position:static}}@media(max-width:560px){h1{font-size:24px}.formGrid{grid-template-columns:1fr}.sectionCard,.reportHeader,.emptyState,.reportBody,.tableWrap{padding:14px}}
