/* FACILITY 2.0 WEB-020/WEB-002 — desktop onboarding, official mark reserved */
.fac-onboarding{background:#f3f7fb;color:#173650;min-height:100vh}
.fac-onboarding .topbar{padding:15px 30px;border-bottom:3px solid #2c85bd;min-height:62px}
.fac-onboarding .motto{font-size:12px}
.onboard-identity{font-weight:700;font-size:13px;color:#f0f8ff;border-left:1px solid #ffffff39;padding-left:15px}
.onboard-layout{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 62px)}
.onboard-navigation{background:#092d4e;color:#dcebf7;padding:26px 17px;display:flex;flex-direction:column;gap:18px;min-height:650px}
.onboard-logo-link{color:#c4e0f4;font-size:12px;text-decoration:none}
.onboard-logo-link:hover{text-decoration:underline}
.onboard-navigation h2{color:#e9f4fa;font-size:13px;margin:12px 0 2px}
.onboard-tenant{background:#174a73;padding:10px 12px;border-radius:7px;color:#fff;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.onboard-nav-steps{padding:0;list-style:none;display:grid;gap:6px;margin:0}
.onboard-nav-steps li{font-size:12px;line-height:1.5;padding:11px 12px;border-radius:8px;border-left:2px solid transparent;color:#bacfdf}
.onboard-nav-steps li.active{background:#1e699f;color:#fff;border-color:#84d3ff;font-weight:800}
.onboard-nav-steps li.done{color:#c6f0d5}
.onboard-navigation>p{font-size:12px;line-height:1.65;color:#bcd0e1}
.onboard-exit{margin-top:auto;background:transparent;border:1px solid #6287a7;color:#e9f4fa;border-radius:8px;padding:11px;text-align:center;font-size:12px;cursor:pointer}
.onboard-exit:hover{background:#1d517b}
.onboard-content{max-width:1010px;width:100%;padding:37px 40px 22px;margin:0 auto}
.onboard-heading .onboard-kicker{color:#2875ad;font-size:11px;font-weight:800;letter-spacing:1.3px;margin:0 0 5px}
.onboard-heading h1{margin:4px 0 8px;font-size:30px}
.onboard-heading>p{font-size:14px;line-height:1.6;color:#61788d;margin:0 0 18px}
.onboard-status{border-left:3px solid #2d82b7;background:#eaf4fb;color:#315a78;padding:12px 15px;margin:0 0 18px;border-radius:5px;font-size:13px;line-height:1.5}
.onboard-status.error{background:#fff4e9;border-color:#c8843f;color:#824d24}
.onboard-status.success{background:#edf9f1;border-color:#3eaa6b;color:#246a41}
.onboard-panel{background:#fff;border:1px solid #d9e5ee;border-radius:13px;box-shadow:0 9px 24px #102e4a12;padding:28px 32px;margin-bottom:20px}
.onboard-panel h2{color:#173952;font-size:22px;margin:10px 0}
.onboard-panel>p{font-size:13px;color:#667d91;line-height:1.65;margin:0 0 22px}
.onboard-tag{font-size:11px;font-weight:800;letter-spacing:.9px;color:#1870ad;text-transform:uppercase}
.onboard-fields{display:grid;grid-template-columns:1fr 1fr;gap:3px 20px}
.onboard-fields>div{min-width:0}
.onboard-fields .onboard-full{grid-column:1/-1}
.onboard-fields label{font-size:12px;color:#3c5b73;margin:12px 0 7px}
.onboard-fields input,.onboard-fields select,#onboard-signin-form input{width:100%;min-height:43px;background:#fff;border:1px solid #bdcddc;border-radius:8px;padding:10px 12px;color:#213f59;font-size:14px}
.onboard-fields input[readonly]{background:#edf3f8;color:#536a7a}
.onboard-fields small{display:block;color:#667e91;font-size:11px;margin-top:6px;line-height:1.4}
.onboard-checks{margin:22px 0 8px;border:1px solid #dfeaf1;border-radius:9px;padding:12px 17px}
.onboard-checks legend{font-size:13px;color:#315b7b;font-weight:700}
.onboard-checks label,.onboard-confirm label{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:500;line-height:1.5;color:#3b5870}
.onboard-checks label input,.onboard-confirm label input{flex:none;align-self:flex-start;margin-top:2px;accent-color:#176bb1;width:17px;height:17px}
.onboard-note,.onboard-confirm{background:#f1f7fc;border:1px solid #d7e8f4;padding:15px 18px;border-radius:9px;font-size:12px;color:#42657e;line-height:1.55}
.onboard-confirm{margin-top:23px}
.onboard-confirm p{font-size:12px;margin:6px 0 15px}
.onboard-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.onboard-actions button{min-height:41px;font-size:13px;padding:10px 18px}
.onboard-success{display:inline-flex;padding:8px 13px;background:#e1f5e7;color:#177440;font-size:12px;font-weight:800;border-radius:100px}
.onboard-two-complete{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#227043;font-weight:700;margin:20px 0}
.onboard-two-complete span{border:1px solid #cee5d5;padding:12px 17px;border-radius:8px;flex:1;background:#f6fbf8;min-width:180px}
.onboard-info{background:#edf5fc;border:1px solid #d4e6f4;border-radius:10px;padding:20px;color:#244f72;font-size:14px;line-height:1.6}
.onboard-info p{margin-bottom:0}
.onboard-foot{font-size:11px;color:#758b9c;margin-top:18px;line-height:1.6}
.onboard-panel[hidden],.onboard-tenant[hidden],.onboard-identity[hidden]{display:none}
.journey-progress[hidden]{display:none}
.onboard-recovery-link{margin:13px 0 0;font-size:13px}
.onboard-recovery-link a{color:#176bb1;font-weight:700;text-underline-offset:3px}
.onboard-nav-steps li button:disabled{cursor:not-allowed;opacity:.58}
@media(max-width:850px){.onboard-layout{grid-template-columns:185px minmax(0,1fr)}.onboard-content{padding:27px 22px}.onboard-panel{padding:22px}}
@media(max-width:650px){.onboard-layout{display:block}.onboard-navigation{min-height:0;padding:15px;gap:7px}.onboard-navigation>p,.onboard-logo-link{display:none}.onboard-navigation h2{margin:5px 0}.onboard-nav-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.onboard-nav-steps li{padding:8px;font-size:11px}.onboard-exit{margin:5px 0}.onboard-content{padding:20px 12px}.onboard-panel{padding:20px 16px}.onboard-fields{grid-template-columns:1fr;gap:0}.onboard-heading h1{font-size:24px}.onboard-actions button{width:100%}.fac-onboarding .motto{display:none}}

/* WEB-020 DEV: selectable design previews without weakening registration gates. */
.onboard-nav-steps li{padding:0}
.onboard-nav-steps li button,
.onboard-nav-steps li>span{display:block;width:100%;text-align:left;padding:11px 12px;font:inherit;font-size:12px;line-height:1.5;background:transparent;border:0;color:inherit;border-radius:8px}
.onboard-nav-steps li button{cursor:pointer}
.onboard-nav-steps li button:hover{background:#28618d;color:#fff}
.onboard-nav-steps li button:focus-visible{outline:2px solid #a6defa;outline-offset:-2px}
.onboard-nav-steps li.active button{font-weight:800}
.onboard-nav-steps li .nav-preview-mark{font-size:10px;opacity:.8;display:block;margin-top:3px;font-weight:500}
.onboard-nav-steps li .nav-preview-mark[hidden]{display:none}
.onboard-nav-steps li>span small{display:block;font-size:10px;color:#bcd1e2;margin-top:3px}
.onboard-preview-notice{display:flex;align-items:flex-start;flex-direction:column;gap:4px;border:1px solid #bdd7ee;border-left:4px solid #1975ac;border-radius:8px;background:#eaf4fc;padding:15px 18px;margin:0 0 16px;color:#1d5179;font-size:12px;line-height:1.5}
.onboard-preview-notice[hidden]{display:none}
.onboard-preview-notice strong{font-size:13px}
.onboard-status.preview{background:#eaf4fc}
@media(max-width:650px){.onboard-nav-steps li button,.onboard-nav-steps li>span{padding:9px;font-size:11px}}

/* Profile picture, explanation and explicit superadmin acceptance. */
.onboard-header-person{display:flex;align-items:center;gap:8px}
.onboard-header-avatar{width:31px;height:31px;border-radius:50%;border:2px solid #acd4ee;object-fit:cover;background:#fff}
.onboard-header-avatar[hidden]{display:none}
.onboard-avatar-field{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 20px;padding:13px;background:#f4f8fc;border:1px solid #dce8f2;border-radius:10px}
.onboard-avatar-field>div:last-child{flex:1;min-width:220px}
.onboard-avatar-placeholder,.onboard-avatar-preview{height:88px;width:88px;border-radius:50%;border:2px solid #c6dce9;object-fit:cover;flex:none;background:#e4eff8}
.onboard-avatar-placeholder{display:grid;place-items:center;font-size:37px;color:#336e9c}
.onboard-avatar-placeholder[hidden],.onboard-avatar-preview[hidden]{display:none}
.onboard-avatar-field label{display:block;font-size:12px;font-weight:700;color:#31516f;margin:0 0 6px}
.onboard-avatar-field input[type=file]{display:block;width:100%;font-size:12px}
.onboard-avatar-field small{display:block;margin-top:7px;font-size:11px;color:#5e7688;line-height:1.5}
.onboard-avatar-field button{font-size:12px;margin-top:7px}
.onboard-field-explanation{font-size:12px;line-height:1.6;color:#587287;margin:6px 0 13px}
.onboard-checks small{display:block;font-size:11px;color:#597287;line-height:1.55;margin:5px 0 14px 27px}
.onboard-superadmin-acceptance{margin:24px 0;padding:21px 22px;background:#f1f7fc;border:1px solid #b8d7eb;border-left:4px solid #1972ae;border-radius:9px}
.onboard-superadmin-acceptance h3{font-size:16px;color:#174e76;margin:0 0 8px}
.onboard-superadmin-acceptance p{font-size:12px;line-height:1.65;color:#345b78;margin:0 0 15px}
.onboard-superadmin-acceptance label{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.6;font-weight:500;color:#1c4664;cursor:pointer;margin:0 0 9px}
.onboard-superadmin-acceptance label input{width:20px;height:20px;accent-color:#176bb1;flex:none;margin:1px 0 0}
.onboard-superadmin-acceptance small{font-size:11px;color:#526b80;line-height:1.5;display:block}
.onboard-legal-links{font-size:12px;line-height:1.55;color:#526d85;margin:20px 0 2px}
.onboard-legal-links a,.onboard-foot a{color:#186caa;font-weight:700;text-underline-offset:3px}
.onboard-invite-explanation{background:#f0f7fe;border:1px solid #cce0ef;border-radius:9px;padding:17px 19px;margin:18px 0 22px}
.onboard-invite-explanation>strong{color:#18557f}
.onboard-invite-explanation p,.onboard-returning p{font-size:13px;color:#476a85;line-height:1.65}
.onboard-returning{border-top:1px solid #d6e4ed;padding-top:12px;margin-bottom:12px}
.onboard-returning h3{font-size:16px;color:#174d75;margin:0}
.onboard-invite-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 0}
.onboard-invite-preview-actions[hidden]{display:none}
.onboard-input-hint{display:block;font-size:12px;line-height:1.5;color:#5a7184;margin:4px 0 8px}
.onboard-invite-preview-actions button{font-size:12px;padding:10px 13px}
@media(max-width:650px){.onboard-superadmin-acceptance{padding:16px}.onboard-avatar-field{align-items:flex-start}.onboard-invite-preview-actions button{width:100%}}

/* WEB-009 admin handoff: non-authorizing, explicit DEV preview only. */
.onboard-preview-followup{padding:16px 19px;border:1px solid #c8dfec;background:#f0f8fd;border-radius:8px;margin-top:23px;color:#365b76}
.onboard-preview-followup[hidden]{display:none}
.onboard-preview-followup strong{font-size:13px;color:#1e5378}
.onboard-preview-followup p{font-size:12px;color:#59738a;line-height:1.55;margin:7px 0 14px}
.onboard-preview-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;background:#185883;border-radius:8px;padding:10px 17px;color:#fff!important;text-decoration:none;font-size:12px;font-weight:800;line-height:1.4;text-align:center}
.onboard-preview-link:hover{background:#0e446b}
.onboard-preview-link:focus-visible{outline:3px solid #74b4d7;outline-offset:2px}
@media(max-width:650px){.onboard-preview-link{width:100%}}

/* F04 existing tenant join: explicit role consent, no duplicate company. */
.onboard-existing-operator-offer{padding:18px 20px;margin:20px 0;background:#f3f9fd;border:1px solid #bdd8e9;border-left:4px solid #3486b3;border-radius:10px}
.onboard-existing-operator-offer[hidden]{display:none}
.onboard-existing-operator-offer h3{font-size:18px;font-weight:800;color:#235778;margin:10px 0}
.onboard-existing-operator-offer p{font-size:12px;color:#416982;line-height:1.75}
.onboard-existing-operator-offer .onboard-confirm{background:#fff;margin:13px 0;border-radius:8px}
#onboard-existing-operator-status{font-size:12px;color:#3d6682;line-height:1.7;padding:11px 13px;background:#e7f3fa;border-radius:7px}

/* Authenticated profile ↔ administration navigation and returning-user login. */
.onboard-return-admin{display:block;width:100%;margin:10px 0 16px;border:1px solid #3a8abb;background:#17649c;
  color:#fff;border-radius:8px;padding:11px 14px;text-align:left;font-weight:700;cursor:pointer}
.onboard-return-admin[hidden]{display:none}
.onboard-return-admin:disabled{opacity:.48;cursor:not-allowed}
.onboard-return-admin:focus-visible{outline:3px solid #8ccced;outline-offset:3px}
.facility-user-login-main{max-width:550px;margin:62px auto;padding:0 18px}
.facility-user-login-panel{padding:30px;background:#fff;border:1px solid #d6e3ee;border-radius:14px}
.facility-user-login-panel h1{margin:8px 0 16px;color:#143e5b}
.facility-user-login-panel form{display:grid;gap:10px;margin:20px 0}
.facility-user-login-panel input{width:100%;min-height:42px;border:1px solid #b9cde0;border-radius:8px;padding:9px 12px}
.facility-user-login-panel a{color:#17649c;font-weight:650}

/* F04 existing Master DEV portfolio: read-only tenant-verified building selection. */
.admin-dev-building-choice{min-width:180px;min-height:72px;display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:6px;border:1px solid #b7cfe0;border-radius:9px;background:#edf5fb;
  padding:11px 14px;text-align:left;color:#17486d;font-weight:750;cursor:pointer}
.admin-dev-building-choice span{font-weight:450;font-size:12px;line-height:1.45;color:#516b7c}
.admin-dev-building-choice[aria-pressed="true"]{background:#d4e9fa;border:2px solid #2278ad}
.admin-dev-building-choice:focus-visible{outline:3px solid #8bc0ed;outline-offset:2px}
.admin-dev-test-tickets{border-top:1px solid #d3e1eb;margin-top:16px;padding-top:13px}
.admin-dev-test-tickets[hidden]{display:none}
.admin-dev-test-tickets input{display:block;max-width:520px;width:100%;min-height:40px;margin:7px 0 15px}
.admin-dev-tickets-list{max-height:430px;overflow:auto;display:grid;gap:8px}
.admin-dev-ticket-row{border:1px solid #dae8f0;border-radius:8px;background:#fbfdff;padding:10px;display:grid;gap:4px}
.admin-dev-ticket-row strong{font-size:13px;color:#193c55}
.admin-dev-ticket-row span{font-size:12px;color:#607485}
.admin-portfolio-next-steps{padding-top:14px;border-top:1px solid #cbdbe7;margin-top:15px}
.admin-portfolio-next-steps h4{margin:0 0 10px}
.admin-portfolio-next-steps p{font-size:13px;line-height:1.5}

/* Saved company-wide DEV building assignments. These are not user permissions. */
.admin-dev-building-selection{border:1px solid #b8d8ed;border-radius:11px;
 background:#f4f9fd;padding:18px 20px;margin:16px 0 23px}
.admin-dev-building-selection[hidden]{display:none}
.admin-dev-building-selection h4{margin:0 0 7px;font-size:16px;color:#174b70}
.admin-dev-building-selection>p{margin:7px 0 14px;font-size:12px;
 color:#52718a;line-height:1.6}
.admin-dev-building-selection-options{display:grid;grid-template-columns:
 repeat(2,minmax(0,1fr));gap:10px;margin:13px 0}
.admin-dev-building-selection-row{display:flex;align-items:center;gap:12px;
 padding:13px 14px;border:1px solid #cddfeb;border-radius:9px;
 background:#fff;cursor:pointer}
.admin-dev-building-selection-row input[type=checkbox]{width:20px;height:20px;
 flex-shrink:0;accent-color:#1873ad}
.admin-dev-building-selection-row span{display:flex;flex-direction:column;gap:3px}
.admin-dev-building-selection-row strong{font-size:13px;color:#173b57}
.admin-dev-building-selection-row small{font-size:11px;color:#5d7b90;line-height:1.4}
.admin-dev-building-selection .admin-action-row{display:flex;gap:10px;
 flex-wrap:wrap;margin:14px 0}
.admin-dev-building-selection .admin-action-row button:disabled{opacity:.55;
 cursor:not-allowed}
@media(max-width:680px){.admin-dev-building-selection-options{grid-template-columns:1fr}
 .admin-dev-building-selection{padding:15px}}

/* F04 invited user: DEV house-scoped access only. */
.facility-my-access-main{max-width:940px;margin:38px auto;padding:0 18px}
.facility-my-access-main>.onboard-panel{border:1px solid #d3e2ee;background:#fff;border-radius:12px;padding:25px}
.facility-my-access-main h1{margin:4px 0 12px}
.facility-my-access-main h2{font-size:19px;margin:20px 0 12px}
.fac-my-consent{display:flex;align-items:center;gap:8px;margin:20px 0 6px}
.fac-my-consent input{width:18px;height:18px}
#fac-my-new-password-fields{max-width:450px;display:grid;gap:9px;margin:15px 0}
#fac-my-new-password-fields[hidden],#fac-my-pending[hidden],#fac-my-active[hidden]{display:none}
#fac-my-new-password-fields input{width:100%;min-height:40px;border:1px solid #bad0e0;border-radius:8px;padding:8px 12px}
.admin-invite-plan-history-row button{align-self:flex-start;margin-top:9px}

/* Minimal entry for an unbuilt project; do not request nonexistent data. */
.admin-building-construction-minimal{border:1px solid #b5d3e7;background:#f5faff;
 border-radius:10px;padding:16px 18px;margin:16px 0}
.admin-building-construction-minimal[hidden]{display:none}
.admin-building-construction-minimal p{color:#44677f;font-size:13px;line-height:1.5;
 margin:0 0 12px}
.admin-building-lifecycle-action{margin-left:auto;flex-shrink:0}
.admin-building-list-row:has(.admin-building-lifecycle-action){display:flex;align-items:center;
 flex-wrap:wrap;gap:8px}
.admin-building-list-row .admin-building-lifecycle-action{font-size:12px}
.admin-building-lifecycle-action:disabled{opacity:.5;cursor:not-allowed}

.admin-building-section[hidden],.admin-building-relations[hidden]{display:none!important}
