/* Shared interaction patterns; deliberately separate from module layouts. */
.mobile-bar,.dashboard-body .sidebar .mobile-close{display:none}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;color:var(--muted)}
.breadcrumb a{color:var(--green)}
.dashboard-body .organization-heading .icon-button[aria-current]{background:#dfead3;outline:2px solid #1e6254;outline-offset:1px}
.optional-label{font-weight:400;color:var(--muted)}
.field-error{color:#8a3021;font-size:14px;margin:7px 0 0}
[aria-invalid=true]{border-color:#a13d32!important}
.notice.error a{text-decoration:underline}
.form-edit-status{display:block;color:var(--muted);margin:10px 0;font-size:14px}
.record-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.record-summary div{min-width:0}.record-summary dt{color:var(--muted);font-size:14px}
.record-summary dd{margin:3px 0 0;overflow-wrap:anywhere}.record-summary .wide{grid-column:1/-1}
.sign-task-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 20px}
.sign-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.sign-content>.panel{margin:0}.sign-content .live-map{height:340px}
.sign-inspection{scroll-margin-top:90px}.sign-asset-edit{margin-top:20px}
.sign-asset-edit>summary{margin-bottom:18px}.sign-content .form-panel form{max-width:none}
.radar-choice-help{margin:0 0 18px;line-height:1.65}
.radar-availability{border-left:3px solid #1e6254;padding:12px 16px;background:#f5f7f3;margin:18px 0}
.radar-availability p{margin:0 0 8px}.radar-availability p:last-child{margin:0}
.radar-advanced{border:1px solid var(--line);border-radius:8px;padding:16px;margin:16px 0}
.radar-advanced>summary{font-weight:600}.radar-advanced[open]>summary{margin-bottom:16px}
.radar-advanced .field-hint{margin-top:0}.radar-advanced .radar-filter-grid{margin-top:16px}
.radar-period{margin:16px 0;font-weight:600}.radar-report-intro{padding:22px}
.radar-report-intro h2{font-size:19px;letter-spacing:0}
.radar-recovery{padding:18px;background:#f5f7f3;border-radius:8px;margin:16px 0}
.radar-recovery .button{margin:8px 8px 0 0}
.filter-scope{padding:12px 22px;margin:0;background:#edf4e7}
@media(max-width:760px){
 .ux-ready .mobile-bar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--line);padding:10px 16px;min-height:64px}
 .mobile-bar>span{flex:1;font-weight:600;overflow-wrap:anywhere}.mobile-bar>a{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--green)}
 .ux-ready .sidebar{display:none}.ux-ready .sidebar.menu-open{display:flex;flex-direction:column;align-items:stretch;position:fixed;inset:0 auto 0 0;width:min(340px,92vw);height:100dvh;overflow:auto;z-index:1100;padding:18px;gap:12px}
 .dashboard-body .sidebar.menu-open .mobile-close{display:inline-flex;align-self:flex-end;color:#1e6254;background:#fff}
 .sidebar.menu-open nav{display:grid}.sidebar.menu-open .workspace-label{display:block;margin:12px}
 .sidebar.menu-open .module-navigation{margin:8px 0}.sidebar.menu-open .sidebar-bottom{margin-top:12px}
 .sidebar.menu-open .workspace-header{order:2;background:#fff;color:var(--ink);border-radius:8px;padding:14px;display:block}
 .sidebar.menu-open .organization-name>strong{font-size:18px}.sidebar.menu-open .workspace-header form{margin-top:12px}
 .menu-scrim{position:fixed;inset:0;z-index:1050;background:#0b2429a8;border:0;padding:0}
 body.menu-is-open{overflow:hidden}.ux-ready .workspace{margin-left:0}
 .dashboard-main{padding-top:16px}.dashboard-title{margin-bottom:16px}
 .sign-content{grid-template-columns:1fr;gap:18px}.sign-inspection{grid-row:1}
 .sign-task-actions{gap:8px}.sign-task-actions>.button{flex:1}.record-summary{gap:12px}
 .dashboard-body .organization-heading .icon-button{min-width:44px;min-height:44px}
}
@media print{.mobile-bar,.mobile-close,.menu-scrim,.form-edit-status,.radar-choice-help,.radar-availability,.radar-recovery{display:none!important}}
.auth-language{display:flex;align-items:center;align-self:flex-end;gap:8px;margin:0}.auth-language select{width:auto;min-width:112px;height:36px;padding:6px 28px 6px 10px;font-size:13px}.auth-language .button{width:auto;margin:0;padding:6px 10px;min-height:36px}@media(max-width:760px){.auth-main{padding-top:16px}.auth-language select{height:40px}}
.agreement-consent .check-label{align-items:flex-start;gap:12px;line-height:1.6;font-weight:400}.agreement-consent input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin-top:3px;accent-color:#153e3b}.agreement-consent .form-note{display:inline;font-size:inherit}.agreement-page{width:calc(100% - 32px);max-width:900px;margin:32px auto;padding:clamp(20px,5vw,56px);line-height:1.75;overflow-wrap:anywhere}.agreement-page h1{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:36px 0 24px}.agreement-page h2{font-size:22px;line-height:1.35;margin:32px 0 14px}.agreement-page p{margin:0 0 18px}.agreement-page ul{padding-left:24px;margin:0 0 20px}.agreement-page li{margin-bottom:12px}.agreement-page .agreement-return{border-top:1px solid #dce4df;padding-top:24px;margin-top:32px}

/* Login introduction: readable copy in place of the decorative map. */
.auth-shell-overview{grid-template-columns:minmax(0,48%) minmax(0,1fr)}
.auth-shell-overview .story{padding:36px clamp(28px,4vw,64px)}
.story .story-overview{width:100%;max-width:620px;margin:auto;padding:38px 0 0}
.story-overview .eyebrow{font-size:12px;letter-spacing:1.5px}
.story .story-overview h1{font-size:clamp(32px,3.1vw,48px);line-height:1.13;letter-spacing:-1.6px;margin:18px 0 26px}
.portal-description{color:#d6e2dd;font-size:15px;line-height:1.7}
.portal-description p{margin:0 0 18px}
.portal-description .portal-free{margin:24px 0 0;padding:18px 20px;border:1px solid #54745e;border-radius:10px;background:#244d43;color:#e4f4cf;font-weight:600;line-height:1.65}
@media(max-width:1000px) and (min-width:761px){.auth-shell-overview .story{padding:30px 28px}.auth-shell-overview .auth-main{padding-left:28px;padding-right:28px}.portal-description{font-size:14px}}
@media(max-width:760px){.auth-shell-overview .story{padding:24px}.story .story-overview{display:block;padding-top:28px}.story .story-overview h1{font-size:34px}.portal-description{font-size:15px}.auth-shell-overview .auth-main{min-height:auto}}
