:root{font-family:Arial,sans-serif;color:#152033;background:#eef2f6}*{box-sizing:border-box}body{margin:0}header{min-height:64px;background:#10233f;color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;font-size:20px}main{max-width:900px;margin:auto;padding:20px}h1{font-size:34px;margin:14px 0}.muted{color:#667085}.panel{background:#fff;border-radius:14px;padding:22px;box-shadow:0 2px 10px #0001}.login{max-width:520px;margin:50px auto}.login label{display:block;font-size:18px;font-weight:700;margin:18px 0}.login input{width:100%;font-size:22px;padding:16px;margin-top:8px;border:2px solid #b8c2cf;border-radius:10px}.error{background:#ffe4e4;color:#8a1010;padding:14px;border-radius:8px}.primary,.secondary,.disabled,button,.button{display:block;width:100%;min-height:58px;padding:15px;border:0;border-radius:10px;font-size:20px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.primary{background:#1665d8;color:#fff}.secondary{background:#fff;color:#15345f;border:2px solid #15345f}.disabled{background:#d8dde5;color:#6b7280}.small{width:auto;min-height:36px;padding:8px 14px;font-size:15px}.cards{display:grid;gap:18px}.inspector-name{margin-top:-6px}.job-card{display:block;background:#fff;border-radius:15px;padding:22px;text-decoration:none;color:inherit;box-shadow:0 3px 12px #0002;border-left:8px solid #1665d8}.job-card-top,.job-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}.time{font-size:28px;font-weight:800}.address{font-size:24px;font-weight:700;margin:14px 0}.type-badge,.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;font-weight:800}.type-badge{background:#e5f0ff;color:#06458f;font-size:18px}.type-co{background:#fff0d5;color:#8a4b00}.type-mti{background:#efe5ff;color:#5a268f}.status-badge{background:#eef2f6;color:#475467;font-size:14px}.job-card-bottom{color:#667085}.empty{background:#fff;padding:28px;border-radius:14px;font-size:22px}.back{font-size:19px;display:inline-block;margin-bottom:8px}.job-details p{font-size:17px;line-height:1.4}.actions{display:grid;gap:12px;margin-top:18px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid div{border-bottom:1px solid #e4e7ec;padding:10px 0}.grid span{display:block;color:#667085}.grid strong{display:block;font-size:20px;margin-top:4px}.form-section{background:#fff;border-radius:14px;padding:18px;margin:16px 0;box-shadow:0 3px 12px rgba(0,0,0,.08);scroll-margin-top:90px}.form-section h2{margin:0 0 14px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice input{display:none}.choice span{display:flex;min-height:62px;align-items:center;justify-content:center;text-align:center;border:2px solid #b7c1ce;border-radius:12px;padding:10px;font-weight:700;transition:.15s}.choice input:checked+span{border-color:#0866d9;background:#e5f0ff;color:#06458f;box-shadow:0 0 0 2px #0866d933}.choice input:checked+span[data-choice*="good"],.choice input:checked+span[data-choice*="none seen"]{background:#dcfce7;border-color:#16a34a;color:#166534}.choice input:checked+span[data-choice*="acceptable"],.choice input:checked+span[data-choice*="minor"]{background:#ffedd5;border-color:#f97316;color:#9a3412}.choice input:checked+span[data-choice*="poor"],.choice input:checked+span[data-choice*="significant"]{background:#fee2e2;border-color:#dc2626;color:#991b1b}.choice input:checked+span[data-choice*="not applicable"],.choice input:checked+span[data-choice*="not confirmed"]{background:#f1f5f9;border-color:#64748b;color:#334155}.form-section textarea,.form-section input[type=text]{width:100%;margin-top:12px;padding:14px;font-size:18px;border:1px solid #aeb8c5;border-radius:10px}.next-section{margin-top:12px;background:#eef4fb;color:#15345f;border:1px solid #bed0e5;min-height:48px;font-size:17px}.progress-wrap{position:sticky;top:0;z-index:10;background:#eef2f6;padding:8px 0 12px}.progress-meta{display:flex;justify-content:space-between;margin-bottom:7px;color:#344054}.progress-track{height:12px;background:#d0d5dd;border-radius:999px;overflow:hidden}.progress-track div{height:100%;width:0;background:#1665d8;transition:width .2s}.file-input{display:block;width:100%;margin:10px 0;font-size:18px}.button-row{display:flex;gap:10px}.submit{background:#087a3d;color:white;font-size:23px;width:100%;padding:20px}.notice{padding:16px;background:#fff0bf;border-radius:10px}.success{font-weight:700;color:#087a3d}.centre{text-align:center}#signaturePad{width:100%;height:220px;border:2px solid #67778a;border-radius:10px;background:#fff;touch-action:none}.header-actions{display:flex;gap:10px;align-items:center}.header-link{color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:8px 10px;border:1px solid #ffffff66;border-radius:8px}.account-panel{margin-bottom:18px}.account-form label{display:block;font-weight:700;margin:14px 0}.account-form input[type=text],.account-form input[type=password],.reset-row input{width:100%;font-size:19px;padding:14px;border:2px solid #b8c2cf;border-radius:10px;margin-top:7px}.account-form small{display:block;color:#667085;margin-top:6px}.check-line{display:flex!important;gap:10px;align-items:center}.check-line input{width:24px;height:24px}.account-title{display:flex;justify-content:space-between;gap:16px;font-size:20px}.account-title span{color:#667085;font-size:16px}.account-list{margin-top:18px}.reset-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.reset-row input{margin:0}.success-box{background:#dcfce7;color:#166534;padding:14px;border-radius:8px;margin-bottom:14px;font-weight:700}@media(max-width:700px){header{align-items:flex-start;gap:10px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.header-link{font-size:13px}.reset-row{grid-template-columns:1fr}.account-title{display:block}.account-title span{display:block;margin-top:4px}.action-grid{grid-template-columns:1fr}}@media(max-width:650px){main{padding:14px}h1{font-size:30px}.grid{grid-template-columns:1fr}.address{font-size:22px}.choice-grid{grid-template-columns:1fr}.job-card{padding:18px}.time{font-size:24px}}
.field-block{margin:18px 0 22px}.field-block h3{font-size:17px;margin:0 0 10px;color:#344054}.field-block+.field-block{padding-top:16px;border-top:1px solid #e4e7ec}.choice input[type=checkbox]:checked+span{border-color:#0866d9;background:#e5f0ff;color:#06458f;box-shadow:0 0 0 2px #0866d933}.form-section input[type=text]{margin-top:4px}

/* Phase 1G: tablet-friendly repeatable schedules */
.mobile-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:.75rem}
.mobile-entry-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}
.mobile-entry-table th{background:#e9eff7;color:#10294a;text-align:left;padding:.7rem;border:1px solid #c7d3e2;font-size:.9rem}
.mobile-entry-table td{padding:.35rem;border:1px solid #d7e0eb;background:#fff}
.mobile-entry-table input{min-width:95px;width:100%;padding:.75rem;border:1px solid #aebdd0;border-radius:8px;font-size:1rem}

/* Phase 1H: tenant status and separate tenant/clerk signatures */
.signature-pad{width:100%;height:220px;border:2px solid #67778a;border-radius:10px;background:#fff;touch-action:none}
.tenant-status-grid{margin-bottom:10px}
.choice input:checked+span[data-choice="refused"]{background:#fee2e2;border-color:#dc2626;color:#991b1b}
.choice input:checked+span[data-choice="not present"]{background:#f1f5f9;border-color:#64748b;color:#334155}
[hidden]{display:none!important}

/* Phase 1L: diary date range and clear inspection status */
.diary-filter{margin-bottom:22px}.range-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.custom-range{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin-top:14px}.custom-range label{font-weight:700;color:#344054}.custom-range input[type=date]{display:block;width:100%;margin-top:6px;padding:12px;border:2px solid #b8c2cf;border-radius:9px;font-size:17px;background:#fff}.range-error{margin:14px 0 0}.status-draft{background:#fff0d5;color:#8a4b00}.status-completed{background:#dcfce7;color:#166534}.status-not-started{background:#eef2f6;color:#475467}.status-card-completed{border-left-color:#16a34a}.status-card-draft{border-left-color:#f59e0b}.status-card-not-started{border-left-color:#1665d8}
@media(max-width:650px){.custom-range{grid-template-columns:1fr 1fr}.custom-range button{grid-column:1/-1}.range-buttons{grid-template-columns:1fr}}

/* Phase 2A.1: Inventory room manager */
.type-inv,.type-inv_update{background:#dff7ee;color:#075d46}.inventory-summary{margin-bottom:18px;font-size:19px}.inventory-summary strong{display:block;font-size:22px;margin-bottom:5px}.add-room-panel{margin-bottom:18px}.room-preset-form{margin-top:18px}.preset-group{padding-top:10px;border-top:1px solid #e4e7ec}.preset-group h2{font-size:20px}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preset-choice input{display:none}.preset-choice span{display:flex;align-items:center;justify-content:center;min-height:54px;padding:9px;text-align:center;border:2px solid #46576d;border-radius:10px;background:#162131;color:#f2f6fb;font-weight:700}.preset-choice input:checked+span{border-color:#0866d9;background:#e5f0ff;color:#06458f;box-shadow:0 0 0 2px #0866d933}.preset-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-top:18px}.inventory-room-list{display:grid;gap:14px}.room-card{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;background:#fff;border-radius:14px;padding:15px;box-shadow:0 3px 12px rgba(0,0,0,.08);border-left:7px solid #1665d8}.room-order{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#e5f0ff;color:#06458f;font-size:20px;font-weight:800}.room-main{min-width:0}.room-rename-form{display:grid;grid-template-columns:1fr auto;gap:9px}.room-rename-form input{width:100%;min-width:0;font-size:21px;font-weight:800;padding:12px;border:2px solid #b8c2cf;border-radius:9px}.room-save{min-height:48px;padding:10px 14px;font-size:16px;width:auto}.room-future-note{margin-top:7px;color:#667085;font-size:14px}.room-controls{display:grid;grid-template-columns:repeat(2,54px);gap:7px}.room-controls form{margin:0}.room-controls button{display:flex;align-items:center;justify-content:center;width:54px;min-height:48px;padding:0;border-radius:9px;border:2px solid #15345f;background:#fff;color:#15345f;font-size:25px;font-weight:900}.room-controls .plus{background:#dcfce7;border-color:#16a34a;color:#166534}.room-controls .minus{background:#fee2e2;border-color:#dc2626;color:#991b1b}.inventory-locked h2{margin-top:0}
@media(max-width:700px){.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-card{grid-template-columns:42px 1fr}.room-controls{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.room-controls button{width:100%}.room-rename-form{grid-template-columns:1fr}.room-save{width:100%}.preset-actions{grid-template-columns:1fr}}
@media(max-width:430px){.preset-grid{grid-template-columns:1fr}}

/* Phase 2A.2: one fixed-profile MP3 recording per inventory room */
.inventory-room-audio{margin-top:12px;padding:13px;border:1px solid #344154;border-radius:11px;background:#121b28;color:#f2f6fb}
.audio-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800;color:#475467}
.audio-empty{color:#667085}.audio-saved{color:#087a3d}.audio-live-time{display:none;font-size:21px;color:#b42318}
.inventory-room-audio.is-recording .audio-live-time{display:inline}.inventory-room-audio.is-recording{border-color:#dc2626;background:#fff5f5;box-shadow:0 0 0 2px #dc262633}
.inventory-room-audio audio{width:100%;margin:12px 0 8px}
.audio-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}.audio-actions button{min-height:54px;font-size:18px}
.audio-stop-button{background:#b42318;color:#fff}.audio-message{min-height:22px;margin-top:8px;font-weight:700;color:#667085}.audio-message.success{color:#087a3d}.audio-message.error{color:#b42318}.audio-message.recording{color:#b42318}.audio-message.working{color:#175cd3}
@media(max-width:700px){.inventory-room-audio{padding:11px}.audio-status-row{align-items:flex-start;flex-direction:column}.audio-actions button{width:100%}}

/* Phase 2A.3: mobile room selector, floorplan blocks and room capture workspace */
.inventory-progress{display:grid;grid-template-columns:120px 140px 1fr;gap:14px;align-items:center;margin-bottom:18px}.inventory-progress>div{display:flex;flex-direction:column}.inventory-progress strong{font-size:28px;color:#10294a}.inventory-progress span{color:#667085;font-weight:700}.inventory-progress button{margin-left:auto}.selector-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.selector-heading h2,.floorplan-heading h2{margin:0}.selector-heading p,.floorplan-heading p{margin:5px 0 0;color:#667085}.selector-close{border:0;background:#eef2f6;border-radius:50%;width:44px;height:44px;font-size:29px;line-height:1}.room-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.room-category{min-height:64px;border:2px solid #b7c1ce;border-radius:12px;background:#fff;font-weight:800;font-size:16px;padding:10px}.room-category.active{background:#1665d8;border-color:#1665d8;color:#fff}.room-options-wrap{background:#f4f7fb;border-radius:14px;padding:15px}.room-options h3{margin:0 0 12px}.room-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.room-option input{display:none}.room-option span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:62px;padding:9px;background:#162131;color:#f2f6fb;border:2px solid #46576d;border-radius:11px;font-weight:800}.room-option input:checked+span{background:#e5f0ff;border-color:#0866d9;color:#06458f;box-shadow:0 0 0 2px #0866d933}.selected-room-tray{position:sticky;bottom:0;margin:16px -18px -18px;padding:14px 18px;background:#101a27;border-top:2px solid #344154;box-shadow:0 -5px 14px rgba(16,41,74,.08);z-index:5}.selected-room-tray>div:first-child{display:flex;justify-content:space-between;gap:10px}.selected-room-names{color:#475467;margin:8px 0 12px;line-height:1.45;max-height:68px;overflow:auto}.selected-room-tray button:disabled{opacity:.45}.floorplan-heading{display:flex;justify-content:space-between;align-items:end;margin:24px 0 12px}.floorplan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.floorplan-room-card{background:#fff;border-radius:15px;box-shadow:0 3px 12px rgba(0,0,0,.08);overflow:hidden;border:2px solid transparent}.floorplan-room-card.room-complete{border-color:#86d4ae}.floorplan-room-open{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:16px;color:#10294a;text-decoration:none}.floorplan-room-number{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#e5f0ff;color:#06458f;font-size:21px;font-weight:900}.floorplan-room-name{font-size:22px;font-weight:900;align-self:center}.floorplan-room-status{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.status-item{padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475467;font-size:13px;font-weight:800}.status-item.saved{background:#dcfce7;color:#166534}.floorplan-open-label{grid-column:1/-1;color:#1665d8;font-weight:900;margin-top:5px}.floorplan-room-actions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e4e7ec}.floorplan-room-actions form{margin:0}.floorplan-room-actions button{width:100%;min-height:49px;border:0;border-right:1px solid #e4e7ec;background:#fff;font-size:23px;font-weight:900}.floorplan-room-actions .plus{color:#166534;background:#f0fdf4}.floorplan-room-actions .minus{color:#991b1b;background:#fff5f5}.floorplan-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:7px;text-align:center;padding:30px}.room-capture-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.room-capture-kicker{text-transform:uppercase;letter-spacing:.08em;color:#1665d8;font-weight:900;font-size:13px}.room-capture-header h1{margin:4px 0}.room-capture-header p{margin:0;color:#667085}.room-capture-rename{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px}.room-capture-rename input{font-size:17px;padding:12px;border:2px solid #b8c2cf;border-radius:9px}.capture-section{background:#fff;border-radius:15px;padding:18px;margin:16px 0;box-shadow:0 3px 12px rgba(0,0,0,.08)}.capture-section-heading{display:flex;justify-content:space-between;gap:14px;align-items:center}.capture-section-heading>div{display:flex;align-items:center;gap:13px}.capture-section-heading h2{margin:0}.capture-section-heading p{margin:4px 0 0;color:#667085}.capture-icon{font-size:30px}.capture-state{white-space:nowrap;background:#f1f5f9;color:#475467;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900}.capture-state.saved{background:#dcfce7;color:#166534}.capture-placeholder{opacity:.75}.room-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:20px 0}.room-navigation a:last-child{text-align:center}.room-navigation .button{display:flex;align-items:center;justify-content:center;text-decoration:none;min-height:52px}
@media(max-width:760px){.inventory-progress{grid-template-columns:1fr 1fr}.inventory-progress button{grid-column:1/-1;width:100%;margin:0}.room-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.floorplan-grid{grid-template-columns:1fr}.room-capture-header{display:block}.room-capture-rename{margin-top:16px}.room-navigation{grid-template-columns:1fr 1fr}.room-navigation>a:nth-child(2){grid-row:2;grid-column:1/-1}.room-navigation span{display:none}}
@media(max-width:430px){.room-category-grid,.room-option-grid{grid-template-columns:1fr}.capture-section-heading{align-items:flex-start}.capture-section-heading>div{align-items:flex-start}.capture-state{font-size:12px}.room-capture-rename{grid-template-columns:1fr}.selected-room-tray{margin-left:-14px;margin-right:-14px}}

/* Phase 2A.4: room multi-photo capture */
.room-photo-upload{margin-top:16px;padding:14px;border:2px dashed #344154;border-radius:13px;background:#121b28}
.room-photo-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.photo-picker-button{display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:11px;background:#1665d8;color:#fff;font-size:19px;font-weight:900;cursor:pointer}
.photo-selection-summary{padding:11px 2px;color:#475467;font-weight:700}
.room-photo-upload button{width:100%;min-height:54px}.room-photo-upload button:disabled{opacity:.45}
.room-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.room-photo-card{overflow:hidden;border:1px solid #344154;border-radius:12px;background:#121b28}
.room-photo-card a{display:block;aspect-ratio:4/3;background:#eef2f6}
.room-photo-card img{width:100%;height:100%;object-fit:cover;display:block}
.room-photo-meta{padding:8px 10px;color:#475467;font-size:13px}
.room-photo-card form{margin:0}.photo-delete-button{width:100%;min-height:42px;border:0;border-top:1px solid #fee2e2;background:#fff5f5;color:#991b1b;font-weight:900}
@media(max-width:700px){.room-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Phase 2A.5/6/7 */
.progress-track{height:12px;background:#dfe7ef;border-radius:20px;overflow:hidden;min-width:160px}.progress-track span{display:block;height:100%;background:#23855b}.floor-select-label{display:grid;gap:6px;font-weight:700;margin:14px 0}.floor-select-label select,.room-floor-form select{min-height:46px;border:1px solid #b9c8d6;border-radius:10px;padding:8px;background:white}.floor-group-heading{grid-column:1/-1;margin:20px 0 0;padding:10px 14px;background:#e9f1f8;border-radius:10px}.room-partial{border-color:#d79b25}.finish-property{text-align:center;margin-top:24px}.finish-property button:disabled{opacity:.45}.room-video-player{display:block;width:100%;max-height:520px;background:#111;border-radius:12px;margin:12px 0}.room-video-upload{display:grid;gap:10px}.room-floor-form{margin-top:10px}.submitted-panel{text-align:center;padding:32px}.room-navigation{position:sticky;bottom:0;background:#101a27;padding:12px;z-index:10;border-top:1px solid #344154}


/* Phase 2A.5A: room exceptions and access issues */
.capture-state.warning,.status-item.warning{background:#fff1cc;color:#8a4b00}.exception-form{margin-top:16px}.exception-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exception-option input{position:absolute;opacity:0;pointer-events:none}.exception-option span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px;border:2px solid #46576d;border-radius:11px;background:#162131;color:#f2f6fb;text-align:center;font-weight:800}.exception-option input:checked+span{background:#fff1cc;border-color:#d79b25;color:#7a4300;box-shadow:0 0 0 2px #d79b2533}.exception-other-label{display:grid;gap:7px;margin:14px 0;font-weight:800}.exception-other-label textarea{width:100%;padding:12px;border:2px solid #b7c1ce;border-radius:10px;font:inherit;resize:vertical}.exception-help{margin:9px 0 0;color:#667085;font-size:13px}.exception-form button{width:100%}@media(max-width:520px){.exception-grid{grid-template-columns:1fr}}


/* Phase 2A.6A: collapsible exceptions and clearer property submission status */
.capture-exceptions{padding:0;overflow:hidden}.capture-exceptions>summary{padding:18px;cursor:pointer;list-style:none}.capture-exceptions>summary::-webkit-details-marker{display:none}.exception-summary-state{display:flex;align-items:center;gap:10px}.exception-chevron{font-size:24px;font-weight:900;color:#667085;transition:transform .18s}.capture-exceptions[open] .exception-chevron{transform:rotate(180deg)}.exception-collapsible-body{padding:0 18px 18px;border-top:1px solid #e4e7ec}.inventory-summary-status{display:flex;justify-content:space-between;align-items:center;gap:16px}.inventory-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 13px;font-size:14px;font-weight:900;background:#eef2f6;color:#475467}.inventory-status-badge.status-submitted{background:#dcfce7;color:#166534}.inventory-submitted-message{display:inline-block;background:#dcfce7;color:#166534;border-radius:10px;padding:12px 18px;font-weight:900}@media(max-width:520px){.capture-exceptions>summary{padding:14px}.exception-collapsible-body{padding:0 14px 14px}.exception-summary-state{gap:5px}.exception-chevron{font-size:20px}.inventory-summary-status{align-items:flex-start}.inventory-status-badge{flex:none}}

/* =========================================================
   Crystal Inspector Phase 2B - Enterprise visual identity
   UI only. Existing application behaviour is unchanged.
   ========================================================= */
:root{
  --ci-bg:#0b111a;
  --ci-header:#050a11;
  --ci-surface:#121b28;
  --ci-surface-2:#1d2a3a;
  --ci-border:#344154;
  --ci-text:#f2f6fb;
  --ci-muted:#c5cfdd;
  --ci-blue:#2563eb;
  --ci-blue-dark:#1d4ed8;
  --ci-green:#15803d;
  --ci-green-dark:#166534;
  --ci-amber:#f59e0b;
  --ci-red:#dc2626;
  --ci-purple:#7c3aed;
  --ci-teal:#0f766e;
  --ci-shadow:rgba(0,0,0,.45);
}

html{background:var(--ci-bg)}
body{background:var(--ci-bg)!important;color:var(--ci-text)!important;min-height:100vh}
main{max-width:980px;padding:22px 18px 40px}
h1,h2,h3,strong,.time,.address,.floorplan-room-name{color:var(--ci-text)}
.muted,.job-card-bottom,.grid span,.account-title span,.account-form small,.progress-meta,.room-capture-kicker,.exception-help{color:var(--ci-muted)!important}
a{color:#9dccff}

.crystal-header{
  position:sticky;top:0;z-index:100;
  min-height:76px;background:var(--ci-header)!important;
  border-bottom:1px solid #26364a;padding:10px 18px;
  box-shadow:0 4px 18px rgba(0,0,0,.35)
}
.crystal-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0}
.crystal-brand img{width:54px;height:54px;object-fit:contain;border-radius:12px;flex:0 0 auto}
.crystal-brand span{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.crystal-brand strong{font-size:20px;white-space:nowrap}
.crystal-brand small{font-size:12px;color:#9fb0c6;margin-top:5px;letter-spacing:.04em;text-transform:uppercase}
.header-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.header-actions form{margin:0}
.header-link,.header-logout{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:auto!important;min-height:38px!important;padding:8px 12px!important;
  border-radius:999px!important;border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;text-decoration:none;font-weight:700;font-size:14px!important
}
.header-password{background:var(--ci-blue)!important}
.header-inspectors{background:var(--ci-purple)!important}
.header-logout{background:#475569!important}
.header-link:hover,.header-logout:hover{filter:brightness(1.12)}

.panel,.form-section,.job-card,.empty,.capture-section,.room-capture-header,
.inventory-progress,.inventory-summary,.finish-property,.room-selector{
  background:var(--ci-surface)!important;color:var(--ci-text)!important;
  border:1px solid var(--ci-border);box-shadow:0 4px 16px var(--ci-shadow)!important
}
.job-card{border-left-color:var(--ci-blue)!important}
.job-card:hover,.floorplan-room-card:hover{transform:translateY(-1px);box-shadow:0 7px 22px rgba(0,0,0,.5)!important}

input,select,textarea{
  background:#0e1723!important;color:var(--ci-text)!important;
  border-color:#4b5c72!important
}
input::placeholder,textarea::placeholder{color:#93a4ba!important}

button,.button,.primary{
  background:var(--ci-blue)!important;color:#fff!important;
  border:1px solid var(--ci-blue-dark)!important
}
button:hover,.button:hover{filter:brightness(1.08)}
.secondary{background:#475569!important;color:#fff!important;border-color:#334155!important}
.submit,button[type="submit"]{background:var(--ci-green)!important;border-color:var(--ci-green-dark)!important}
.disabled,button:disabled,.button[disabled]{background:#334155!important;color:#94a3b8!important;border-color:#475569!important;cursor:not-allowed}
.plus{background:#0f5132!important;color:#86efac!important}
.minus,.photo-delete-button{background:#4a1717!important;color:#fecaca!important}

.type-badge{background:#16365d!important;color:#bfdbfe!important}
.type-co{background:#4b3108!important;color:#fde68a!important}
.type-mti{background:#35215b!important;color:#ddd6fe!important}
.status-badge,.capture-state{background:#263244!important;color:#dbe5f2!important}
.capture-state.saved,.status-item.saved{background:#123b27!important;color:#86efac!important}
.capture-state.warning{background:#4b3108!important;color:#fde68a!important}

.progress-wrap{background:var(--ci-bg)!important}
.progress-track{background:#253246!important}
.progress-track div{background:linear-gradient(90deg,#2563eb,#3b82f6)!important}

.floor-group-heading{background:#172335!important;color:#dbeafe!important;border:1px solid var(--ci-border)}
.floorplan-room-card{background:var(--ci-surface)!important;border:1px solid var(--ci-border)!important;color:var(--ci-text)!important}
.floorplan-room-card.room-partial{border-left:6px solid var(--ci-amber)!important}
.floorplan-room-card.room-complete{border-left:6px solid #22c55e!important}
.floorplan-room-number{background:#17345b!important;color:#bfdbfe!important}
.status-item{background:#202c3d!important;color:#d5deea!important}
.floorplan-room-open{color:#7db7ff!important}

.room-category,.room-option,.exception-option{
  background:#162131!important;color:var(--ci-text)!important;
  border-color:#46576d!important
}
.room-category.active,.room-option.selected,.exception-option.selected{
  background:#173c70!important;color:#fff!important;border-color:#3b82f6!important;
  box-shadow:0 0 0 2px rgba(59,130,246,.24)
}
.selected-room-tray{background:#101a27!important;border-color:#344154!important}

.capture-section{border-left:4px solid #2563eb}
.capture-photos{border-left-color:#0891b2}
.capture-video{border-left-color:#7c3aed}
.capture-exceptions{border-left-color:#f59e0b}
.exception-collapsible-body{background:#0f1824!important}
.notice{background:#3d2d08!important;color:#fde68a!important;border:1px solid #7c5a0b}
.success,.success-box{color:#86efac!important}
.error{background:#461717!important;color:#fecaca!important;border:1px solid #7f1d1d}

#signaturePad{background:#fff!important}
.mobile-entry-table th{background:#1d2a3a!important;color:var(--ci-text)!important}
.mobile-entry-table td{border-color:var(--ci-border)!important}

@media(max-width:700px){
  .crystal-header{padding:9px 10px;align-items:center}
  .crystal-brand img{width:44px;height:44px;border-radius:10px}
  .crystal-brand strong{font-size:16px}
  .crystal-brand small{display:none}
  .header-actions{gap:5px}
  .header-link,.header-logout{min-height:34px!important;padding:7px 9px!important;font-size:12px!important}
  main{padding:14px 10px 96px}
  h1{font-size:29px}
  .panel,.form-section,.capture-section{border-radius:13px}
}

@media(max-width:460px){
  .crystal-brand strong{font-size:14px;max-width:130px;white-space:normal}
  .header-password{display:none!important}
  .header-link,.header-logout{padding:7px 8px!important}
}

/* Multi-service jobs */
.job-card{display:block;text-decoration:none}.job-card-main{display:block;color:inherit;text-decoration:none}.service-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.service-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:2px solid rgba(255,255,255,.18);border-radius:10px;background:#243247;color:#fff;text-decoration:none;font-weight:800;line-height:1.15}.service-button.selected{outline:3px solid #fff;outline-offset:2px}.service-selector h2{margin-top:0}.job-card>.service-buttons{padding:0 16px 16px;margin-top:0}.job-card>.service-buttons .service-button{flex:1 1 120px}

/* CI to CO comparison */
.ci-comparison-summary,.ci-comparison-empty,.ci-comparison{
  border:1px solid #315b85;border-radius:10px;background:#102941;color:#e5f2ff;
}
.ci-comparison-summary,.ci-comparison-empty{margin:12px 0 18px;padding:12px 14px}
.ci-comparison-summary summary,.ci-comparison summary{cursor:pointer;font-weight:800;color:#9dccff}
.ci-comparison-summary p{margin:9px 0 0;color:#c4d7ea}
.ci-comparison{margin:0 0 12px;padding:9px 11px}
.ci-comparison div{margin-top:8px;padding-top:8px;border-top:1px solid rgba(157,204,255,.25);white-space:pre-wrap}
.ci-comparison-note{margin-top:8px}
.ci-comparison-empty{border-color:#66511c;background:#352b10;color:#fde68a}


/* Inspector diary status and CI table comparison correction */
.status-badge.status-complete{background:#14532d!important;color:#dcfce7!important}
.status-badge.status-in-progress{background:#854d0e!important;color:#fef3c7!important}
.status-badge.status-cancelled{background:#7f1d1d!important;color:#fee2e2!important}
.status-card-cancelled{border-color:#991b1b!important;opacity:.86}
.ci-table-comparison{margin:10px 0 14px;padding:12px;border:1px solid #2f5f8c;border-radius:10px;background:#102940}
.ci-table-heading{display:grid;gap:3px;margin-bottom:10px;color:#dbeafe}.ci-table-heading span{font-size:13px;color:#a9c6df}
.previous-ci-entry-table td{min-width:110px;padding:10px;background:#15344f;color:#e5f2ff;white-space:pre-wrap}
.ci-table-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.inspection-photo-input{display:block;width:100%;min-height:52px;padding:10px;border:1px solid #4b6078;border-radius:10px;background:#0e1825;color:#e5edf7}
@media(max-width:700px){.ci-table-actions{grid-template-columns:1fr}.previous-ci-entry-table td{min-width:95px}}

.submitted-signature-image{display:block;width:100%;max-width:700px;height:auto;background:#fff;border:1px solid #8fa2b8;border-radius:10px;margin-top:10px}

/* Dark-theme form heading contrast fix */
.field-block h3{color:var(--ci-muted)!important}

/* LRA structured mobile workflow */
.lra-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.lra-save-state{position:sticky;top:74px;z-index:10;width:max-content;margin:0 0 10px auto;padding:6px 11px;border-radius:999px;background:#123b27;color:#86efac;font-weight:800;font-size:12px}.lra-save-state.saving{background:#4b3108;color:#fde68a}.lra-save-state.failed{background:#4a1717;color:#fecaca}.lra-card,.lra-location{margin:12px 0;border:1px solid var(--ci-border);border-radius:13px;background:var(--ci-surface);overflow:hidden}.lra-card>summary,.lra-location>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 16px;cursor:pointer;font-weight:900;list-style:none}.lra-card>summary::-webkit-details-marker,.lra-location>summary::-webkit-details-marker{display:none}.lra-card>summary:after,.lra-location>summary:after{content:'▾';margin-left:4px}.lra-card:not([open])>summary:after,.lra-location:not([open])>summary:after{content:'▸'}.lra-card-state{margin-left:auto;color:#9fb0c5;font-size:12px}.lra-card-state.complete{color:#86efac}.lra-card-body,.lra-location-body{padding:0 16px 16px;border-top:1px solid var(--ci-border)}.lra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lra-grid label,.lra-location-body label,.lra-photo-form label{display:grid;gap:6px;font-weight:800}.lra-span-2{grid-column:1/-1}.lra-preset-text{margin:14px 0;padding:12px;border-left:4px solid #3b82f6;border-radius:8px;background:#102940;color:#dbeafe;line-height:1.45}.lra-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.lra-preset{min-height:50px;background:#173c70!important}.lra-location{background:#101b29}.lra-location>summary span:last-child{color:#9fb0c5;font-size:12px}.lra-location-name-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.lra-reading{display:grid;grid-template-columns:1.15fr .8fr .55fr 1.5fr auto;gap:8px;margin:8px 0;align-items:center}.lra-reading input,.lra-reading select{min-width:0}.lra-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px}.lra-risk-fields{margin-top:12px}.lra-photo-form{display:grid;gap:10px;margin-top:14px}.lra-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.lra-photo-grid figure{margin:0;background:#101b29;border:1px solid var(--ci-border);border-radius:10px;overflow:hidden}.lra-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.lra-photo-grid figcaption{padding:8px;font-size:12px}.lra-submit{display:block;width:100%;min-height:58px;margin:18px 0;font-size:18px}
@media(max-width:700px){.lra-grid{grid-template-columns:1fr}.lra-span-2{grid-column:auto}.lra-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lra-reading{grid-template-columns:1fr 1fr}.lra-reading [data-reading="comments"]{grid-column:1/-1}.lra-reading .lra-remove-reading{grid-column:1/-1}.lra-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lra-card>summary,.lra-location>summary{padding:14px 12px}.lra-card-body,.lra-location-body{padding:0 12px 14px}}

/* LRA upper summary controls */
.lra-grid input,
.lra-grid select,
.lra-grid textarea{
  min-height:48px;
  padding:11px 12px;
  font-size:16px;
}

.lra-grid textarea{
  min-height:90px;
}

/* LRA Patch 1: mobile outlet measurements and custom Other fields */
.lra-other-field.is-hidden{display:none!important}
.lra-other-field{margin-top:7px}
.lra-reading{padding:12px;border:1px solid var(--ci-border);border-radius:11px;background:#0d1723;grid-template-columns:repeat(2,minmax(0,1fr))}
.lra-reading-field{display:grid;gap:6px;min-width:0;font-weight:800}
.lra-reading-field>span,.lra-location-name-row label>span{font-size:12px;color:#b9c7d8}
.lra-reading input,.lra-reading select,.lra-location-name-row input{min-height:48px;font-size:16px}
.lra-reading-comments{grid-column:1/-1}
.lra-reading .lra-remove-reading{grid-column:1/-1;min-height:46px}
.lra-add-reading{width:100%;min-height:50px;margin:10px 0 14px}
.lra-location-name-row{align-items:end}
.lra-location-name-row label{display:grid;gap:6px}
@media(max-width:700px){
  .lra-reading{grid-template-columns:1fr;gap:11px;margin:12px 0;padding:14px}
  .lra-reading-comments,.lra-reading .lra-remove-reading{grid-column:auto}
  .lra-location-name-row{grid-template-columns:1fr;gap:10px}
  .lra-location-name-row .lra-remove-location{width:100%;min-height:46px}
  .lra-preset{min-height:58px;font-size:16px}
  .lra-card-body,.lra-location-body{padding-bottom:18px}
}


/* LRA Patch 2: paired hot and cold temperatures per outlet */
.lra-reading{grid-template-columns:minmax(220px,1.2fr) minmax(130px,.55fr) minmax(130px,.55fr)}
.lra-reading .lra-outlet-type{grid-column:auto}
.lra-reading .lra-other-field{grid-column:1/-1}
.lra-reading .lra-reading-comments,.lra-reading .lra-remove-reading{grid-column:1/-1}
.lra-temperature-field input{text-align:left}
@media(max-width:700px){
  .lra-reading{grid-template-columns:1fr 1fr}
  .lra-reading .lra-outlet-type,.lra-reading .lra-other-field,.lra-reading .lra-reading-comments,.lra-reading .lra-remove-reading{grid-column:1/-1}
  .lra-temperature-field input{min-height:54px;font-size:18px}
}


/* LRA Patch 3: compact temperature entry and mobile flow */
.lra-reading{gap:7px;margin:7px 0;padding:10px}
.lra-temperature-field{max-width:150px}
.lra-temperature-input{position:relative;display:block}
.lra-temperature-input input{width:100%;padding-right:38px;text-align:center;font-variant-numeric:tabular-nums}
.lra-temperature-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#9fb0c5;font-weight:800}
.lra-add-reading{min-height:58px;font-size:17px;font-weight:900;margin:8px 0 11px}
@media(max-width:700px){
  .lra-location-body{padding-bottom:12px}
  .lra-reading{gap:8px;margin:8px 0;padding:11px}
  .lra-temperature-field{max-width:none}
  .lra-temperature-field input{min-height:52px}
  .lra-reading-comments input{min-height:48px}
  .lra-add-reading{min-height:58px;margin:8px 0 10px}
}


/* Audio pause / continue / save session controls */
.inventory-room-audio.is-paused{border-color:#d97706;background:#fffbeb;box-shadow:0 0 0 2px #d9770633}
.inventory-room-audio.is-paused .audio-live-time{display:inline;color:#b54708}
.audio-message.paused{color:#b54708}
.audio-pause-button{background:#b54708;color:#fff}
.audio-resume-button{background:#175cd3;color:#fff}
.audio-save-button{background:#087a3d;color:#fff}
.audio-delete-button{background:#fff;color:#b42318;border:2px solid #b42318}
@media(min-width:701px){.audio-actions:has(.audio-session-button:not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}}
