:root{font-family:Arial,Helvetica,sans-serif;color:#173645;background:#f3f7f8;font-size:16px}*{box-sizing:border-box}body{margin:0}button,select{cursor:pointer;font:inherit}button:disabled{opacity:.55;cursor:wait}.shell{display:flex;min-height:100vh}aside{background:#123a4a;color:#f2fcfb;width:245px;flex-shrink:0;padding:26px 18px;display:flex;flex-direction:column}.brand{font-size:1.4rem;font-weight:800;letter-spacing:-.04em;display:flex;gap:10px;align-items:center}.mark{background:#76d4c0;color:#123a4a;display:grid;place-items:center;width:36px;height:36px;border-radius:9px}.small-label,.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:800;color:#358a84}.small-label{color:#9ac3c3;display:block;margin:50px 9px 10px}aside select{width:100%;background:#285768;color:white;border:1px solid #467785;padding:12px;border-radius:8px}.nav{margin-top:35px;padding:12px;background:#2a5a6b;border-radius:8px;font-weight:700}.profile{margin-top:55px;overflow-wrap:anywhere;font-size:.85rem}.profile span{display:block}.link{border:0;background:none;color:#a8dfd5;text-decoration:underline;padding:10px 0}main{flex:1;min-width:0;max-width:1300px;padding:45px clamp(20px,5vw,70px) 80px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:15px}h1{font-size:2.2rem;letter-spacing:-.05em;margin:9px 0 0}h2{font-size:1.45rem}.primary,.secondary{border-radius:9px;padding:12px 18px;border:1px solid #123a4a;font-weight:700;min-height:45px}.primary{background:#123a4a;color:white}.primary:hover{background:#236074}.secondary{background:white;color:#123a4a}.secondary:hover{background:#eaf4f4}label{display:block;font-weight:700;font-size:.9rem;margin:0 0 17px}input,textarea,form select{display:block;width:100%;font:inherit;font-weight:400;margin-top:8px;padding:11px 12px;border:1px solid #c8d9db;border-radius:8px;background:white;color:#173645}input:focus,textarea:focus,select:focus{outline:2px solid #70cdbb;outline-offset:1px}p{line-height:1.55;color:#56727c}.auth-card{max-width:510px;margin:clamp(40px,12vh,130px) auto;background:white;border:1px solid #dce9e9;padding:32px;border-radius:16px;box-shadow:0 15px 40px #1646570b}.auth-card h1{font-size:2.5rem}.auth-card p{margin-bottom:25px}.tabs{display:flex;background:#e9f0f1;border-radius:9px;padding:4px;margin-bottom:22px}.tabs button{flex:1;border:0;background:none;padding:10px;color:#436470;border-radius:7px}.tabs button.active{background:white;color:#123a4a;font-weight:700}.hint{font-size:.82rem;margin:-8px 0 18px}.auth-card .primary{width:100%}.onboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px;max-width:800px}.onboard-grid form,.stats>div,.report{background:white;border:1px solid #dce8e9;border-radius:13px;padding:23px}.onboard-grid h3{margin:0 0 24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:32px 0 35px}.stats span{display:block;color:#5b737c;font-size:.9rem}.stats strong{display:block;font-size:2.1rem;margin-top:8px}.list-head{display:flex;justify-content:space-between;align-items:end;gap:12px}.list-head h2{margin:0}.list-head p{margin:5px 0 0}.list-head select{padding:10px;border:1px solid #cbdcdc;border-radius:8px;background:white;color:#173645}.report{margin-top:12px}.report h3{margin:14px 0 7px}.report p{margin:0 0 15px;white-space:pre-wrap}.badges{display:flex;gap:8px;align-items:center}.tag{font-size:.78rem;padding:5px 9px;border-radius:6px;text-transform:capitalize;font-weight:700;background:#e2f1f4;color:#17697d}.tag.incident{background:#fae9df;color:#a45430}.tag.high,.tag.critical{background:#fae2e0;color:#a43c35}.date{margin-left:auto;color:#758b90;font-size:.8rem}.foot{border-top:1px solid #e8eff0;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.85rem;color:#5e757e}.foot select{background:white;border:1px solid #cbdcdd;border-radius:7px;padding:8px;color:#244a56}.empty{margin-top:20px;background:white;border:1px dashed #c8dbdd;text-align:center;padding:48px 20px;border-radius:13px}details{margin-top:28px;padding-top:20px;border-top:1px solid #dbe8e9}summary{cursor:pointer;font-weight:700}code{display:inline-block;background:white;padding:10px;border:1px solid #dbe8e9;border-radius:8px;overflow-wrap:anywhere}#message:not(:empty){position:fixed;bottom:20px;right:20px;background:#123a4a;color:white;padding:13px 18px;border-radius:9px;max-width:400px;box-shadow:0 12px 30px #123a4a40}dialog{border:0;border-radius:16px;width:min(630px,calc(100% - 24px));max-height:94vh;overflow:auto;padding:27px;box-shadow:0 30px 90px #112f3870;color:#173645}dialog::backdrop{background:#112f38aa}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:23px}.dialog-head h2{margin:7px 0}.close{border:0;border-radius:7px;background:#eef5f5;font-size:1.5rem;width:34px;height:34px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.actions{display:flex;justify-content:flex-end;gap:9px}@media(max-width:760px){.shell{display:block}aside{width:100%;display:flex;flex-direction:row;align-items:center;padding:14px}.small-label,.nav,.profile{display:none}#signed-nav{margin-left:auto}aside select{max-width:47vw;padding:8px}.brand{font-size:1.1rem}main{padding:26px 16px 70px}h1{font-size:1.7rem}header .primary{font-size:.85rem;padding:9px}.stats{gap:7px}.stats>div{padding:13px}.stats strong{font-size:1.5rem}.stats span{font-size:.75rem}.onboard-grid,.two{grid-template-columns:1fr}.list-head{display:block}.list-head select{margin-top:13px}.foot{display:block}.foot select{display:block;margin-top:10px}.auth-card{padding:21px}}
.attachments{border-top:1px solid #e8eff0;margin-top:15px;padding-top:13px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.attachment-link{color:#17677a;background:#edf7f7;padding:7px 10px;border-radius:7px;font-size:.85rem}.file-picker{color:#17677a;font-weight:700;margin:0;cursor:pointer}.file-picker input{position:absolute;width:1px;height:1px;opacity:0}.billing-panel{background:white;border:1px solid #dce8e9;border-radius:14px;padding:24px;margin-top:35px}.billing-head{display:flex;align-items:center;justify-content:space-between}.billing-head h2{margin:7px 0}.trial-badge{background:#e4f5ee;color:#17644f;border-radius:99px;padding:7px 12px;font-weight:700;font-size:.85rem}.billing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.billing-grid>div{background:#f1f7f7;border-radius:9px;padding:14px}.billing-grid small{display:block;color:#5b757c}.billing-grid strong{display:block;margin-top:9px;font-size:1.15rem}.member-row,.invoice-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #e7eeee;padding:10px 0;font-size:.9rem}.billing-panel h3{margin-top:26px}@media(max-width:760px){.billing-grid{grid-template-columns:1fr}.billing-panel{padding:17px}}

#preview-dialog{width:min(1000px,94vw)}#preview-content img{display:block;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}#preview-content iframe{width:100%;height:70vh;border:0}#invite-link{width:100%;margin:12px 0}#accept-invite{padding:20px;background:#edf5ff;border-radius:12px;margin-bottom:20px}.attachments button{margin:4px}

.social-buttons{display:grid;gap:8px;margin:14px 0}.social-buttons button:disabled{opacity:.55;cursor:not-allowed}

.account-nav{display:grid;gap:8px;margin-top:24px}.account-nav button{text-align:left;background:transparent;color:inherit;border:0;border-radius:8px;padding:12px;cursor:pointer}.account-nav button[aria-current="page"]{background:#e4f3ee;color:#165a45;font-weight:700}#account-view>h2{margin-top:24px}.subscription-actions{border-top:1px solid #dce4e0;padding:16px 0}#cancel-subscription{color:#a12b2b;border-color:#a12b2b}

.report-title{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:transparent}.report-title:hover{text-decoration-color:currentColor}.report-title:focus-visible{outline:2px solid #165a45;outline-offset:4px}

#offline-banner{position:sticky;top:0;z-index:50;padding:12px 18px;background:#fff1c2;color:#543c08;font-weight:600}.pwa-controls{margin:18px 0}.pwa-controls button{margin-bottom:8px}.pwa-controls .hint{color:inherit}body{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:760px){input,select,textarea{font-size:16px}button,.attachment-link{min-height:44px}.report-title{min-height:44px}.foot,.member-row,.invoice-row{flex-wrap:wrap}.foot>span{flex-basis:100%}.account-nav{display:flex;gap:10px}.account-nav button{flex:1}aside{position:static!important;width:auto!important}.profile{position:static!important}dialog{max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto}.two{grid-template-columns:1fr}.actions{flex-wrap:wrap}.attachments{overflow-wrap:anywhere}.brand{font-size:1.5rem}.pwa-controls{margin:10px 0}}
.inspection-toolbar,.template-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.template-row{justify-content:space-between;border-bottom:1px solid #dce5e8;padding:12px 0}.inspection-item{border:1px solid #dce5e8;border-radius:10px;padding:16px;margin:16px 0;min-width:0}.inspection-item legend{font-weight:600;padding:0 6px}.inspection-answers{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.inspection-answers label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.inspection-answers input,#template-archive-field input{width:auto;margin:0}.inspection-item .attachment-link{display:block;margin:10px 0}.inspection-item .file-picker{margin:12px 0}.inspection-item h3{overflow-wrap:anywhere}#inspection-detail-dialog,#inspection-dialog{width:min(760px,calc(100vw - 24px));max-height:90vh;overflow:auto}#inspection-questions textarea{width:100%}#template-archive-field{display:flex;gap:8px;align-items:center}#template-archive-field[hidden]{display:none}
.dashboard-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.dashboard-card{background:#fff;border:1px solid #dce8e9;border-radius:13px;padding:22px}.dashboard-card h3{margin:0 0 20px}.dashboard-pie{width:min(100%,180px);aspect-ratio:1;border-radius:50%;margin:0 auto}.dashboard-total{text-align:center;font-weight:700;color:#173645}.dashboard-legend{display:flex;gap:8px;align-items:center;margin:12px 0;font-size:.9rem}.dashboard-legend strong{margin-left:auto}.dashboard-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.dashboard-swatch.incident{background:#c4683b}.dashboard-swatch.hazard{background:#217d89}#dashboard-status{font-size:.8rem}@media(max-width:900px){.dashboard-charts{grid-template-columns:1fr}.dashboard-pie{width:150px}}

.dashboard-pie{cursor:pointer}.dashboard-legend{width:100%;padding:8px 0;border:0;background:transparent;color:inherit;text-align:left}.dashboard-legend:hover,.dashboard-legend:focus-visible{background:#eef5f5;outline:2px solid #217d89;outline-offset:2px}

/* Account controls: reserve space for help text and allow long labels to wrap. */
#account-view .hint{margin:12px 0 18px;line-height:1.6}
#account-view .subscription-actions,.account-alert-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px}
#account-view .subscription-actions>p{flex-basis:100%;margin:0 0 4px}
#account-view button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4;height:auto}
#account-view .invoice-row,#account-view .member-row{flex-wrap:wrap;overflow-wrap:anywhere}
#account-view .billing-head{flex-wrap:wrap;gap:12px}
@media(max-width:600px){.account-alert-actions>button,#account-view .subscription-actions>button{width:100%}}
.team-panel{margin-top:28px;background:white;border:1px solid #dce8e9;border-radius:14px;padding:24px}.team-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #e7eeee}.team-row>span{flex:1;min-width:160px;overflow-wrap:anywhere}.team-row select{padding:10px;border:1px solid #c8d9db;border-radius:8px}#team-share{margin:18px 0}#team-qr{display:block;margin-top:18px;max-width:100%;height:auto}#team-share-url{overflow-wrap:anywhere}

.language-picker{display:block;margin:1rem 0;line-height:1.6}.language-picker select{display:block;width:100%;margin-top:.35rem}html[lang="th"],html[lang="my"]{line-height:1.7}html[lang="my"] button,html[lang="th"] button{line-height:1.6;white-space:normal}

.whatsapp-share{display:inline-block;text-decoration:none;text-align:center;white-space:normal}.foot{flex-wrap:wrap;gap:.6rem}

.edit-translations{padding:1rem;background:#f3f7f8;border-radius:.6rem}.edit-translations dt{font-weight:700;margin-top:.7rem}.edit-translations dd{margin:.3rem 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}

.inspection-answer-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1.2;min-width:36px;min-height:36px}.inspection-answers .inspection-answer-choice{border:2px solid #dce5e8;border-radius:10px;padding:8px 14px}.inspection-answer-choice:has(input:checked){border-color:#123a4a;background:#e8f3f5}.inspection-answer-choice:focus-within{outline:3px solid #547f91;outline-offset:3px}

#service-list{display:grid;gap:10px;margin:24px 0}#service-list button{text-align:left;padding:16px}#service-detail{background:#fff;border:1px solid #dce5e8;border-radius:14px;padding:24px;margin-top:24px}.service-description{white-space:pre-wrap;overflow-wrap:anywhere}#service-detail form{margin:24px 0}#service-dialog{width:min(620px,92vw)}

#admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}#admin-tabs [aria-current=page]{background:#123a4a;color:white}.admin-search{display:flex;align-items:end;gap:12px;margin-bottom:20px}.admin-search label{flex:1}.admin-table-scroll{overflow-x:auto}#admin-view table{width:100%;border-collapse:collapse;background:white}#admin-view th,#admin-view td{padding:12px;text-align:left;border-bottom:1px solid #dce5e8;overflow-wrap:anywhere}#admin-view th{background:#edf3f5}.admin-paging{display:flex;align-items:center;gap:16px;margin:20px 0}#admin-detail{border:1px solid #dce5e8;background:white;border-radius:14px;padding:24px;margin-top:24px}#admin-detail form{border-top:1px solid #dce5e8;margin-top:24px;padding-top:16px}#admin-detail textarea{min-height:90px}@media(max-width:600px){.admin-search{display:block}#admin-view td,#admin-view th{padding:8px}#admin-detail{padding:14px}}

#workspace-language-panel[hidden],[data-workspace-language-options] label[hidden]{display:none!important}#workspace-language-panel{margin-top:16px}[data-workspace-language-options] input[type=search]{width:100%}

#action-list{display:grid;gap:16px;margin:20px 0}.action-card{background:white;border:1px solid #dce5e8;border-radius:14px;padding:20px;overflow-wrap:anywhere}.action-card button{margin:6px 8px 0 0}#action-dialog,#action-complete-dialog{width:min(650px,92vw);max-height:90vh;overflow-y:auto}.action-card p{white-space:pre-wrap}

.dashboard-swatch.action{background:#7754a6}.action-title{font:inherit;font-weight:inherit;text-align:start;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Mobile header: brand and menu occupy one row; controls expand beneath them. */
#header-controls{display:contents}#mobile-menu-toggle{display:none}
@media(max-width:760px){
 .shell>aside{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%!important;padding:14px 16px}
 .shell>aside>.brand{font-size:1.35rem;line-height:1.2;white-space:nowrap;min-width:0;gap:9px}
 .shell>aside>.brand .mark{width:36px;height:36px;flex-shrink:0}
 #mobile-menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #7296a2;border-radius:9px;background:transparent;color:#f2fcfb;font-weight:700;white-space:nowrap}
 #mobile-menu-toggle[aria-expanded=true]{background:#285768}
 #header-controls{display:none;grid-column:1/-1;min-width:0}
 #header-controls[data-open]{display:grid;gap:16px;padding-top:16px;border-top:1px solid #467785}
 #header-controls .language-picker{margin:0;min-width:0}
 #header-controls input,#header-controls select{width:100%;max-width:none;min-width:0;min-height:44px;font-size:16px}
 #header-controls .language-picker select{margin-top:8px;padding:10px 12px}
 #header-controls #signed-nav{min-width:0;width:100%;margin:0}
 #header-controls .small-label{display:block;margin:0 0 8px;font-size:.7rem}
 #header-controls .account-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
 #header-controls .account-nav button{min-width:0;min-height:44px;padding:12px;white-space:normal;overflow-wrap:anywhere;text-align:start;border:1px solid #467785}
 #header-controls .account-nav button[hidden]{display:none}
 #header-controls .profile{display:block;margin-top:18px;padding-top:14px;border-top:1px solid #467785}
 #header-controls .pwa-controls{margin:0}#header-controls .pwa-controls button{width:100%}
 main>section>header{flex-wrap:wrap;align-items:flex-start}
 main>section>header>div{min-width:0;flex:1 1 180px}
 main>section>header h1{overflow-wrap:anywhere}
}
