:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17212b;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}.hidden{display:none!important}.topbar{position:sticky;top:0;z-index:20;background:#17324d;color:white;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 2px 8px #0002}.brand{font-weight:800}.sync{font-size:.85rem;padding:5px 9px;border-radius:999px;background:#ffffff22}.container{max-width:1100px;margin:auto;padding:18px}.card{background:white;border-radius:12px;padding:16px;margin:12px 0;box-shadow:0 1px 5px #0001;border:1px solid #dde3e8}.login{max-width:430px;margin:8vh auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.btn{border:0;border-radius:9px;padding:10px 14px;cursor:pointer;background:#17324d;color:#fff;font-weight:700}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#e7edf2;color:#17324d}.btn.danger{background:#8c2633}.btn.good{background:#276749}.btn.warn{background:#9a6700}.btn.small{padding:6px 9px;font-size:.84rem}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1}.muted{color:#687682;font-size:.9rem}.status{font-weight:800}.section{margin:18px 0}.question{border:1px solid #dbe2e8;border-left:5px solid #dbe2e8;border-radius:12px;background:#fff;margin:10px 0;padding:12px;transition:border-color .15s,box-shadow .15s}.question.answered{border-left-color:#4b7394;box-shadow:0 1px 5px #0000000d}.qhead{display:flex;gap:10px;align-items:flex-start}.qcode{font-weight:900;min-width:50px}.qstate{font-size:.78rem;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap;background:#eef1f4;color:#56636d}.qstate.pass{background:#dff4e5;color:#176237}.qstate.minor{background:#fff2c7;color:#765b00}.qstate.major{background:#fde1e1;color:#8a2222}.qstate.na{background:#e6eaee;color:#4f5960}.qstate.recommendation{background:#e8e6ff;color:#4d4695}.choices{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.choice{border:2px solid #bcc8d1;background:#f9fbfc;color:#243949;border-radius:9px;padding:10px 12px;cursor:pointer;font-weight:750;min-height:42px}.choice.active{box-shadow:inset 0 0 0 1px #00000015,0 2px 7px #0002;transform:translateY(-1px)}.choice.active[data-v=PASS]{background:#24834b;border-color:#176237;color:white}.choice.active[data-v=MINOR]{background:#f5c542;border-color:#a77900;color:#2f2500}.choice.active[data-v=MAJOR]{background:#c84242;border-color:#962c2c;color:white}.choice.active[data-v=NA]{background:#65717a;border-color:#4b555d;color:white}.choice.active[data-v=RECOMMENDATION]{background:#6f65c5;border-color:#5147a5;color:white}.question textarea,.question input,.card input,.card select,.card textarea{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:6px}.question textarea:focus,.question input:focus{outline:2px solid #8bb7d4;outline-offset:1px}.question-save-state{margin-top:7px;font-size:.82rem}.progress{height:9px;background:#e2e7ea;border-radius:999px;overflow:hidden}.progress>div{height:100%;background:#2f6c91}.banner{padding:10px 14px;border-radius:9px;margin:10px 0}.banner.warn{background:#fff3cd;color:#664d03}.banner.error{background:#f8d7da;color:#842029}.banner.ok{background:#d1e7dd;color:#0f5132}.photo-area{margin-top:10px;padding-top:10px;border-top:1px dashed #d6dde3}.photo-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.photo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:8px;margin-top:8px}.photo-card{display:grid;grid-template-columns:86px 1fr auto;gap:9px;align-items:center;border:1px solid #d8e0e6;border-radius:9px;padding:7px;background:#fafcfd}.photo-thumb{width:86px;height:68px;object-fit:cover;border-radius:7px;border:1px solid #ccd5dc}.photo-meta{min-width:0;overflow-wrap:anywhere;font-size:.86rem}.inspection-item{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e9ec;padding:11px 0}.inspection-item:last-child{border-bottom:0}.sticky-actions{position:sticky;bottom:0;background:#f4f6f8ee;backdrop-filter:blur(8px);padding:10px 0;z-index:10}.autosave{font-size:.82rem;font-weight:700;padding:5px 8px;border-radius:8px;background:#e7f4ec;color:#1f603a}.autosave.warn{background:#fff3cd;color:#664d03}.modal{position:fixed;inset:0;background:#0008;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal .card{max-width:650px;width:100%;max-height:85vh;overflow:auto}@media(max-width:600px){.container{padding:10px}.topbar{padding:9px}.choices .choice{flex:1;min-width:29%}.qhead{display:grid;grid-template-columns:auto 1fr}.qstate{grid-column:1/-1;justify-self:start}.qcode{margin-bottom:5px}.card{padding:12px}.photo-card{grid-template-columns:72px 1fr}.photo-thumb{width:72px;height:60px}.photo-card .btn{grid-column:1/-1}}
.section-title{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}.section-title h2{margin:0}.extra-label{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:999px;background:#eef5fb;color:#315e7b;font-size:.76rem;font-weight:800}.inspection-item .muted{margin-top:3px}

.report-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid #dde3ea}.report-row:first-of-type{border-top:0}.report-row .actions{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:650px){.report-row{align-items:flex-start;flex-direction:column}.report-row .actions{width:100%}.report-row .actions .btn{flex:1}}

.field-label{display:block;font-weight:700;font-size:.85rem;color:#4f5f6b;margin-bottom:6px}.readonly-value{min-height:41px;padding:10px 11px;border:1px solid #d6dee5;border-radius:8px;background:#f7f9fa;font-weight:700}.contacts-card summary{cursor:pointer;user-select:none}.contacts-card[open] summary{margin-bottom:10px}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px}.contact-row{border:1px solid #dbe2e8;border-radius:10px;padding:10px;background:#fafcfd}.contact-row .training-line{display:flex;align-items:center;gap:8px;margin-top:8px}.contact-row .training-line input{width:auto;margin:0}.entity-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entity-picker select{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:6px;background:white}.entity-add{margin-top:8px}.entity-panel{margin-top:12px;padding:12px;border:1px solid #cfd9e1;border-radius:10px;background:#f7fafc}.entity-panel input{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:6px}.modal-card-wide{max-width:900px!important}.archive-path{font-weight:650;color:#3f5668;margin-top:2px;font-size:.88rem}@media(max-width:760px){.entity-picker{grid-template-columns:1fr}.contacts-grid{grid-template-columns:1fr}.modal-card-wide{max-height:92vh!important}}
.contact-row .training-select{display:block;margin-top:8px;color:#4f5f6b;font-size:.86rem}.contact-row .training-select select{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:8px;margin-top:5px;background:white}

/* V9 corrective actions */
.choice:disabled{cursor:not-allowed;opacity:.78}.question textarea:disabled,.question input:disabled,.question select:disabled{background:#f3f5f7;color:#5f6b74;cursor:not-allowed}.action-editor{margin:12px 0 4px;border:1px solid #d6dfe6;border-radius:10px;padding:12px;background:#fbfcfd}.action-editor-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.action-editor-title>b{color:#17324d}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}.action-photo-area{margin-top:10px;padding-top:10px;border-top:1px dashed #d6dde3}.action-overview-note{font-size:.82rem;color:#687682}.action-overview-list{display:grid;gap:7px;margin-top:12px}.action-overview-row{width:100%;display:grid;grid-template-columns:58px minmax(220px,1.6fr) minmax(180px,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid #dbe2e8;border-left:5px solid #d0a10b;border-radius:9px;background:#fff;padding:10px;cursor:pointer;color:#17212b}.action-overview-row.major{border-left-color:#b63b3b}.action-overview-row.closed{border-left-color:#2f7d50;background:#f7fcf9}.action-overview-row:hover{background:#f8fafb}.action-overview-code{font-weight:900}.action-status-pill{font-size:.76rem;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap;background:#fff2c7;color:#765b00}.action-status-pill.in_progress{background:#e7edf2;color:#315e7b}.action-status-pill.closed{background:#dff4e5;color:#176237}.action-photo-list{margin-top:8px}
@media(max-width:760px){.action-grid{grid-template-columns:1fr}.action-overview-row{grid-template-columns:52px 1fr}.action-overview-row>span:nth-child(3),.action-overview-row>span:nth-child(4){grid-column:2}.action-editor-title{display:block}.action-editor-title .muted{display:block;margin-top:4px}}

/* V10 mobile photo controls */
.camera-btn{white-space:nowrap}
@media(max-width:600px){.photo-head>.btn{flex:1 1 135px;text-align:center}.photo-head>.muted{flex-basis:100%}}

/* V11 mobile workflow, reusable contacts and action dashboard */
.field-help{display:block;margin-top:5px;color:#687682;font-size:.78rem;font-weight:500}
.project-contact-hint{margin-top:10px;padding:8px 10px;border-radius:8px;background:#f2f6f9}
.progress-tools{display:flex;gap:10px;align-items:center;margin-top:10px;min-width:0}.section-progress-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:thin;flex:1;min-width:0}.section-chip{border:1px solid #cbd6de;border-radius:999px;background:#fff;padding:6px 9px;white-space:nowrap;cursor:pointer;font-size:.78rem;font-weight:800;color:#435460}.section-chip.complete{background:#e2f4e8;border-color:#a8d4b6;color:#246342}.section-chip.incomplete{background:#fff7df;border-color:#e2c66e;color:#725b0c}.jump-highlight{box-shadow:0 0 0 4px #4f9fd433!important;transition:box-shadow .2s}
.action-filters{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{border:1px solid #c7d2da;border-radius:999px;background:#fff;color:#405361;padding:6px 9px;cursor:pointer;font-size:.78rem;font-weight:800}.filter-chip.active{background:#17324d;color:#fff;border-color:#17324d}
.action-overview-row{cursor:default}.action-overview-row.overdue{border-left-color:#8c2633;background:#fff8f8}.action-overview-row .action-jump{display:grid;grid-template-columns:58px minmax(160px,1fr);gap:10px;align-items:center;text-align:left;border:0;background:transparent;padding:0;color:inherit;cursor:pointer;min-width:0}.action-overview-row .action-jump:hover{text-decoration:none}.action-status-pill.overdue{background:#f8d7da;color:#842029}.action-history{justify-self:end}.history-list{display:grid;gap:8px;margin-top:12px}.history-row{border:1px solid #dbe2e8;border-radius:9px;padding:10px;background:#fafcfd;display:flex;justify-content:space-between;gap:12px}.history-change{font-weight:700;text-align:right}.submit-review-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;margin:14px 0}.submit-review-grid>div{border:1px solid #dbe2e8;border-radius:10px;padding:12px;text-align:center;background:#fafcfd}.submit-review-grid b{display:block;font-size:1.35rem;color:#17324d}.submit-review-grid span{display:block;color:#687682;font-size:.8rem;margin-top:3px}
.action-editor-title>div{display:flex;flex-direction:column;gap:3px}.inline-action-history{flex:0 0 auto}
@media(max-width:760px){.action-overview-row{grid-template-columns:1fr auto}.action-overview-row .action-jump{grid-template-columns:52px 1fr;grid-column:1/-1}.action-overview-row>span:nth-of-type(1){grid-column:1}.action-overview-row>span:nth-of-type(2){grid-column:2}.action-history{grid-column:1/-1;justify-self:stretch}.submit-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.submit-review-grid>div:first-child{grid-column:1/-1}.progress-tools{align-items:flex-start;flex-direction:column}.section-progress-chips{width:100%}}
@media(max-width:600px){.btn{min-height:44px}.btn.small{min-height:40px}.choice{min-height:50px;padding:12px 10px}.topbar{align-items:flex-start}.topbar>.row{justify-content:flex-end}.brand{padding-top:8px}.sticky-actions{margin:0 -10px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #d5dde3}.sticky-actions .row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.sticky-actions .btn{flex:0 0 auto}.action-editor{padding:10px}.action-filters{display:block}.filter-group{margin-top:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.history-row{display:block}.history-change{text-align:left;margin-top:6px}}
.action-overview-row{grid-template-columns:minmax(280px,1.8fr) minmax(180px,1fr) auto auto}
@media(max-width:760px){.action-overview-row{grid-template-columns:1fr auto}}

/* V12 administration, branding and mobile summary navigation */
.demo-note{margin:10px 0;padding:10px 12px;border:1px solid #d8c87b;border-radius:9px;background:#fff9df;color:#594b13;font-size:.86rem}.demo-note a{color:#315e7b;font-weight:800}.powered-by{margin-top:16px;text-align:center;font-size:.8rem;color:#687682}.powered-by a,.app-footer a{color:inherit;text-decoration:none}.powered-by a:hover,.app-footer a:hover{text-decoration:underline}.app-footer{max-width:1120px;margin:0 auto;padding:8px 18px 28px;text-align:center;font-size:.78rem;color:#72808a}
.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.admin-grid label{display:block;margin:9px 0}.admin-grid input,.admin-grid select,.admin-user select,.responsible-picker select,.action-assigned-select,.action-assigned-manual{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:6px;background:#fff;color:#17212b}.admin-users{display:grid;gap:8px;margin-top:12px}.admin-user{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.7fr) auto auto auto;gap:10px;align-items:end;border:1px solid #dbe2e8;border-radius:10px;padding:10px;background:#fafcfd}.admin-user.disabled-user{opacity:.66}.admin-user-main{align-self:center}.admin-user label{margin:0;font-size:.82rem;color:#53636f}.admin-active{display:flex!important;align-items:center;gap:6px;padding-bottom:9px;white-space:nowrap}.admin-active input{width:auto!important;margin:0!important}.owner-pill{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#e6edf3;color:#315e7b;font-size:.72rem;font-weight:800}.admin-audit{margin-top:10px;display:grid;gap:6px}.audit-row{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:10px;padding:8px;border-bottom:1px solid #e5e9ec;font-size:.82rem}.audit-row:last-child{border-bottom:0}
.action-assigned-select{display:block}.action-assigned-manual{display:block;margin-top:7px!important}.responsible-picker{display:grid;gap:6px}
.summary-float{position:fixed;right:18px;bottom:84px;z-index:35;border:0;border-radius:999px;padding:10px 14px;background:#17324d;color:#fff;font-weight:800;box-shadow:0 5px 18px #0003;cursor:pointer;min-height:44px}.summary-float:hover{background:#244968}.summary-float.hidden{display:none}
@media(max-width:820px){.admin-grid{grid-template-columns:1fr}.admin-user{grid-template-columns:1fr 1fr}.admin-user-main{grid-column:1/-1}.admin-user .admin-reset,.admin-user .admin-save-user{width:100%}.audit-row{grid-template-columns:1fr}.summary-float{right:12px;bottom:78px}}
@media(max-width:600px){.summary-float{right:10px;bottom:74px;padding:9px 12px;font-size:.82rem}.admin-user{grid-template-columns:1fr}.admin-user-main{grid-column:auto}.admin-active{padding-bottom:0}.topbar .brand{max-width:42vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* V13 checklist administration and immutable versioning */
.checklist-version-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin:14px 0}.checklist-version-card{border:1px solid #d8e0e6;border-radius:10px;padding:11px;background:#fafcfd;text-align:left;cursor:pointer;color:#17212b}.checklist-version-card:hover{background:#f3f7fa}.checklist-version-card.selected{border-color:#4f7b9b;box-shadow:0 0 0 2px #4f7b9b22;background:#f4f9fc}.checklist-version-label{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#e8eef3;color:#36546a;font-size:.74rem;font-weight:800}.current-pill{display:inline-block;padding:2px 6px;border-radius:999px;background:#dff4e5;color:#176237;font-size:.7rem;font-weight:900}.checklist-editor{margin-top:14px;border-top:1px solid #e0e6eb;padding-top:14px}.checklist-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.checklist-editor-head h3{margin:0}.checklist-status{padding:5px 9px;border-radius:999px;font-size:.74rem;font-weight:900}.checklist-status.published{background:#dff4e5;color:#176237}.checklist-status.draft{background:#fff2c7;color:#765b00}.checklist-version-edit{display:grid;grid-template-columns:1fr 180px auto;gap:10px;align-items:end;margin:12px 0}.checklist-version-edit label{font-size:.82rem;color:#53636f}.checklist-version-edit input{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:6px}.checklist-version-actions{display:flex;gap:6px;flex-wrap:wrap}.checklist-lock-note{margin:12px 0;padding:10px 12px;border-radius:9px;background:#eef5fb;color:#315e7b}.checklist-admin-sections{display:grid;gap:8px;margin-top:12px}.checklist-admin-section{border:1px solid #dbe2e8;border-radius:10px;background:#fff;overflow:hidden}.checklist-admin-section>summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 12px;cursor:pointer;background:#f8fafb}.checklist-admin-section[open]>summary{border-bottom:1px solid #e2e7eb}.checklist-section-controls{display:grid;grid-template-columns:80px minmax(220px,1fr) auto;gap:9px;align-items:end;padding:10px;background:#fbfcfd}.checklist-section-controls label{font-size:.8rem;color:#53636f}.checklist-section-controls input{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:8px;margin-top:5px}.section-admin-buttons,.question-admin-buttons{display:flex;gap:5px;flex-wrap:wrap}.admin-question-list{display:grid;gap:8px;padding:10px}.admin-question-row{display:grid;grid-template-columns:100px minmax(260px,1.4fr) minmax(200px,1fr) auto;gap:8px;align-items:end;border:1px solid #dbe2e8;border-radius:9px;padding:9px;background:#fff}.admin-question-row.inactive{opacity:.62;background:#f4f5f6}.admin-question-row label{font-size:.78rem;color:#53636f}.admin-question-row input,.admin-question-row textarea{width:100%;border:1px solid #bdc8d1;border-radius:7px;padding:7px;margin-top:4px}.question-active{display:flex!important;align-items:center;gap:6px;padding-bottom:8px;white-space:nowrap}.question-active input{width:auto!important;margin:0!important}.question-admin-buttons{grid-column:1/-1;justify-content:flex-end}.admin-question-readonly{border-bottom:1px solid #e4e8eb;padding:9px 2px}.admin-question-readonly:last-child{border-bottom:0}.admin-question-readonly.inactive{opacity:.58}.inactive-pill{display:inline-block;margin-top:5px;padding:2px 6px;border-radius:999px;background:#eceff1;color:#5d6870;font-size:.7rem;font-weight:800}.admin-add-question{margin:0 10px 10px}
@media(max-width:900px){.checklist-version-edit{grid-template-columns:1fr 1fr}.checklist-version-actions{grid-column:1/-1}.checklist-section-controls{grid-template-columns:80px 1fr}.section-admin-buttons{grid-column:1/-1}.admin-question-row{grid-template-columns:100px 1fr}.question-text-field,.question-aux-field{grid-column:2}.question-active{grid-column:1/-1;padding-bottom:0}}
@media(max-width:600px){.checklist-editor-head{display:block}.checklist-status{display:inline-block;margin-top:7px}.checklist-version-edit{grid-template-columns:1fr}.checklist-version-actions{grid-column:auto}.checklist-section-controls{grid-template-columns:1fr}.section-admin-buttons{grid-column:auto}.admin-question-row{grid-template-columns:1fr}.question-text-field,.question-aux-field,.question-active{grid-column:auto}.question-admin-buttons{justify-content:stretch}.question-admin-buttons .btn{flex:1}.checklist-admin-section>summary{align-items:flex-start;flex-direction:column}}

/* V14 — central Client / Project / Site administration */
.portfolio-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.portfolio-metric{padding:6px 10px;border-radius:999px;background:#eef4f8;color:#31566f;font-size:.78rem;font-weight:800}.portfolio-tree{display:grid;gap:10px}.portfolio-client{border:1px solid #d8e0e6;border-radius:12px;background:#fff;overflow:hidden}.portfolio-client>summary,.portfolio-project>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;background:#f8fafb}.portfolio-client[open]>summary,.portfolio-project[open]>summary{border-bottom:1px solid #e3e8ec}.portfolio-headline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.portfolio-ref{font-size:.72rem;padding:2px 6px;border-radius:999px;background:#eef1f4;color:#586873;font-weight:800}.portfolio-archived{font-size:.72rem;padding:2px 6px;border-radius:999px;background:#fde8e8;color:#8a2727;font-weight:900}.portfolio-meta{font-size:.78rem;color:#687782}.portfolio-editor{padding:12px}.portfolio-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-fields label{font-size:.8rem;color:#53636f}.portfolio-fields input,.portfolio-fields textarea,.portfolio-fields select{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:5px;background:#fff;color:#17212b}.portfolio-fields textarea{min-height:68px;resize:vertical}.portfolio-full{grid-column:1/-1}.portfolio-active{display:flex!important;align-items:center;gap:7px;margin-top:24px}.portfolio-active input{width:auto!important;margin:0!important}.portfolio-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.portfolio-projects{display:grid;gap:9px;margin-top:10px}.portfolio-project{border:1px solid #e0e6eb;border-radius:10px;background:#fbfcfd;overflow:hidden}.portfolio-project>summary{padding:10px}.portfolio-sites{display:grid;gap:8px;margin-top:10px}.portfolio-site{border:1px solid #e1e6ea;border-radius:9px;padding:10px;background:white}.portfolio-site.archived,.portfolio-project.archived,.portfolio-client.archived{opacity:.7}.portfolio-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:8px}.portfolio-contact-row{padding:8px;border:1px solid #e1e6ea;border-radius:8px;background:#fff}.portfolio-contact-row label{margin:0}.portfolio-contact-training{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:.76rem;color:#62727e}.portfolio-contact-training select{margin:0;flex:1}.portfolio-create-form{display:grid;gap:9px}.portfolio-create-form label{font-size:.82rem;color:#53636f}.portfolio-create-form input,.portfolio-create-form textarea{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:5px}.portfolio-history-note{margin-top:10px;padding:8px 10px;border-radius:8px;background:#eef5fb;color:#315e7b;font-size:.78rem}
@media(max-width:760px){.portfolio-fields{grid-template-columns:1fr}.portfolio-full{grid-column:auto}.portfolio-client>summary,.portfolio-project>summary{align-items:flex-start;flex-direction:column}.portfolio-active{margin-top:0}.portfolio-actions .btn{flex:1}.portfolio-contact-grid{grid-template-columns:1fr}}

/* V15 — searchable inspection archive */
.archive-tools{padding:14px}.archive-tools-head{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.archive-search-row{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr));gap:10px;margin-top:12px}.archive-search-row label,.archive-filter-grid label{font-size:.8rem;color:#53636f}.archive-search-row input,.archive-search-row select,.archive-filter-grid input,.archive-filter-grid select{width:100%;border:1px solid #bdc8d1;border-radius:8px;padding:9px;margin-top:5px;background:#fff;color:#17212b}.archive-more-filters{margin-top:10px;border-top:1px solid #e4e9ed;padding-top:9px}.archive-more-filters>summary{cursor:pointer;color:#31566f}.archive-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;margin-top:10px}.archive-quick-stats{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.archive-stat{border:1px solid #cdd8df;background:#f7fafc;color:#31566f;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:850;cursor:pointer}.archive-stat:hover{background:#eaf2f7}.archive-results-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #edf0f2}.archive-list{padding-top:5px;padding-bottom:5px}.archive-item{align-items:center;padding:13px 0}.archive-item-main{min-width:0;flex:1}.archive-title-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.archive-subline{color:#687682;font-size:.84rem;margin-top:4px}.archive-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:.68rem;font-weight:900;background:#edf1f4;color:#59656e}.archive-status.status-in-qa{background:#e8eefb;color:#315997}.archive-status.status-issued{background:#dff4e5;color:#176237}.archive-status.status-approved{background:#e5f3e9;color:#28663f}.archive-status.status-returned{background:#fff0d9;color:#8a5a00}.archive-status.status-in-progress,.archive-status.status-draft,.archive-status.status-local-only{background:#eef3f7;color:#405d71}.archive-status.status-cancelled{background:#f0f0f0;color:#626262}.archive-metrics{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.archive-metric{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef3f6;color:#4b6170;font-size:.72rem;font-weight:800}.archive-metric.action{background:#fff2c7;color:#765b00}.archive-metric.overdue{background:#fde1e1;color:#8a2222}.archive-metric.pending{background:#fff3cd;color:#664d03}.archive-pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0 22px;color:#53636f;font-size:.86rem}
@media(max-width:900px){.archive-search-row{grid-template-columns:1fr 1fr}.archive-search{grid-column:1/-1}.archive-filter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.archive-search-row,.archive-filter-grid{grid-template-columns:1fr}.archive-search{grid-column:auto}.archive-item{align-items:flex-start;flex-direction:column}.archive-item>.btn{width:100%}.archive-tools-head>.btn{width:100%}.archive-results-head{display:block}.archive-results-head>*{display:block;margin-top:3px}.archive-pager{justify-content:space-between}.archive-pager .btn{flex:1}.archive-pager span{white-space:nowrap}}


/* V16 — management dashboard */
.home-heading{align-items:flex-start}.home-tabs{display:flex;gap:7px;margin:12px 0 4px;border-bottom:1px solid #dfe5e9}.home-tab{border:0;background:transparent;color:#61717d;font-weight:800;padding:10px 13px;border-bottom:3px solid transparent;cursor:pointer}.home-tab.active{color:#17324d;border-bottom-color:#2f6c91}.dashboard-hero{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px 2px 4px}.dashboard-hero h2{margin:3px 0}.dashboard-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:900;color:#4e7088}.dashboard-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.dashboard-card{display:flex;flex-direction:column;text-align:left;min-height:118px;border:1px solid #dce3e8;border-radius:12px;background:#fff;padding:13px;cursor:pointer;box-shadow:0 1px 4px #0000000b}.dashboard-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px #00000012}.dashboard-card-value{font-size:1.9rem;font-weight:900;line-height:1}.dashboard-card-title{font-weight:850;margin-top:9px}.dashboard-card-sub{font-size:.76rem;color:#687682;margin-top:3px}.dashboard-card.qa .dashboard-card-value{color:#315997}.dashboard-card.major .dashboard-card-value,.dashboard-card.overdue .dashboard-card-value{color:#a13131}.dashboard-card.progress .dashboard-card-value{color:#486b83}.dashboard-card.issued .dashboard-card-value{color:#267044}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:12px}.dashboard-section-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.dashboard-section-head h2,.dashboard-workload-card h2{margin-top:0}.dashboard-list{display:grid;margin-top:7px}.dashboard-row{width:100%;border:0;border-bottom:1px solid #e6eaed;background:transparent;display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;padding:11px 3px;cursor:pointer;color:inherit}.dashboard-row:last-child{border-bottom:0}.dashboard-row:hover{background:#f8fafb}.dashboard-row-main{min-width:0}.dashboard-row-title{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.dashboard-chevron{font-size:1.55rem;color:#83919b}.dashboard-detail{margin-top:5px;font-size:.8rem;font-weight:750}.dashboard-alert{display:inline-block;padding:3px 7px;border-radius:999px;font-size:.67rem;font-weight:900}.alert-overdue,.alert-major{background:#fde1e1;color:#8a2222}.alert-qa{background:#e8eefb;color:#315997}.alert-due-soon{background:#fff2c7;color:#765b00}.dashboard-empty{padding:18px 4px;color:#687682}.dashboard-workload{display:grid;gap:10px;margin:10px 0 18px}.workload-label{display:flex;justify-content:space-between;font-size:.82rem}.workload-track{height:7px;background:#e8edf0;border-radius:999px;overflow:hidden;margin-top:4px}.workload-bar{height:100%;background:#667f91}.workload-bar.major,.workload-bar.overdue{background:#bd4a4a}.workload-bar.minor,.workload-bar.soon{background:#c99a27}.dashboard-status-list{display:grid;gap:4px}.dashboard-status-row{border:0;background:#f7f9fa;border-radius:8px;padding:8px 10px;display:flex;justify-content:space-between;cursor:pointer;color:#344b5b}.dashboard-status-row:hover{background:#edf3f6}.dashboard-activity{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.activity-stat{background:#f6f9fa;border:1px solid #e1e7eb;border-radius:10px;padding:13px;display:flex;flex-direction:column}.activity-stat b{font-size:1.6rem}.activity-stat span{font-size:.76rem;color:#687682;margin-top:4px}.dashboard-local-sync{margin-top:12px;padding-top:11px;border-top:1px solid #e7ecef}.dashboard-local-sync b{color:#765b00}
@media(max-width:900px){.dashboard-cards{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){.home-tabs{position:sticky;top:58px;background:#f4f6f8;z-index:11;margin-left:-10px;margin-right:-10px;padding:0 10px}.home-tab{flex:1}.dashboard-hero{align-items:center}.dashboard-cards{grid-template-columns:1fr 1fr}.dashboard-card{min-height:104px}.dashboard-card:last-child{grid-column:1/-1}.dashboard-section-head{align-items:flex-start}.dashboard-section-head .btn{white-space:nowrap}.dashboard-activity{grid-template-columns:1fr}.dashboard-row{align-items:flex-start}.dashboard-row-title{align-items:flex-start}.dashboard-alert{margin-top:2px}}


/* V18 — pilot polish, user lifecycle and legal notices */
.pilot-badge{display:inline-block;background:#fff0c2;color:#6e5200;border:1px solid #e1c46c;border-radius:999px;padding:4px 8px;font-size:.68rem;font-weight:900;letter-spacing:.08em}.pilot-note{margin:10px 0 12px;padding:10px 12px;border-radius:9px;background:#fff6d8;border:1px solid #ecd58e;color:#604c14;font-size:.82rem}.legal-links{display:flex;gap:7px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:5px;font-size:.76rem}.link-button{border:0;background:transparent;color:#486b83;text-decoration:underline;cursor:pointer;padding:2px 3px}.link-button:hover{color:#17324d}.test-user-check,.show-archived,.admin-test{display:flex!important;align-items:center;gap:7px}.test-user-check input,.show-archived input,.admin-test input{width:auto!important;margin:0!important}.small-copy{font-size:.76rem}.test-pill,.archived-pill{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;font-size:.68rem;font-weight:900}.test-pill{background:#e8eefb;color:#315997}.archived-pill{background:#ececec;color:#5d5d5d}.admin-user.archived-user{opacity:.72;background:#f4f4f4}.admin-user{grid-template-columns:minmax(220px,1.5fr) minmax(145px,.7fr) auto auto auto auto auto}.admin-test{padding-bottom:9px;white-space:nowrap}.app-footer{padding-bottom:18px}
@media(max-width:1050px){.admin-user{grid-template-columns:1fr 1fr 1fr}.admin-user-main{grid-column:1/-1}}
@media(max-width:600px){.pilot-badge{font-size:.62rem}.show-archived{width:100%;margin-top:8px}.admin-user{grid-template-columns:1fr}.admin-user-main{grid-column:auto}.admin-test{padding-bottom:0}}
