*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2529;background:#f4f6f8}body{margin:0}a{color:inherit}.topbar{height:72px;background:#fff;border-bottom:1px solid #e3e8eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand img{max-height:44px;max-width:150px}.brandmark{width:42px;height:42px;border-radius:10px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.brand strong,.brand small,.userbox span,.userbox small{display:block}.brand small,.userbox small,.muted{color:#69777d}.userbox{text-align:right}.layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 72px)}.sidebar{background:#172329;padding:20px 12px;display:flex;flex-direction:column;gap:4px}.sidebar a{color:#e9f1f2;text-decoration:none;padding:11px 13px;border-radius:8px}.sidebar a:hover{background:#26373e}.content{padding:24px;max-width:1500px;width:100%;margin:0 auto}.auth-content{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card,.panel{background:#fff;border:1px solid #e0e6e8;border-radius:14px;box-shadow:0 3px 14px rgba(0,0,0,.04)}.login-card{width:min(440px,100%);padding:28px}.panel{padding:22px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.panel h1,.panel h2,.panel h3,.login-card h1{margin:0 0 6px}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:#fff;border:1px solid #e1e7e9;border-radius:12px;padding:18px}.stat strong{font-size:28px;display:block}.stat span,.stat small{display:block;margin-top:4px}.stat small{color:#718087}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.one{grid-template-columns:1fr}.span-2{grid-column:1/-1}label{font-weight:650;font-size:14px}input,select,textarea{width:100%;margin-top:6px;border:1px solid #cdd6d9;border-radius:8px;padding:10px 11px;font:inherit;background:#fff}input[type=color]{height:44px;padding:4px}.button,button{display:inline-block;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;background:#e8edef;color:#1d2a2f}.button.primary,button.primary{background:var(--primary);color:#fff}.button.accent{background:var(--accent);color:#fff}.button.danger{background:#b93838;color:#fff}.button.compact{padding:7px 10px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #e6ebed;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#647278;letter-spacing:.04em}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf1f2;font-size:11px;font-weight:800}.badge.ok{background:#dff5e8;color:#17683d}.badge.warn{background:#fff1ce;color:#835c00}.badge.danger{background:#fde2e2;color:#9b2424}.alert{padding:12px 14px;border-radius:9px;margin-bottom:16px;background:#eaf1f5}.alert.success{background:#e1f5e8}.alert.danger{background:#fde5e5}.alert.warning{background:#fff2cf}.qr-card{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:center}.qr{width:230px;min-height:230px;padding:5px;background:#fff;border:1px solid #ddd}.hero{padding:26px;background:linear-gradient(135deg,var(--primary),#273f48);border-radius:14px;color:#fff;margin-bottom:20px}.hero h1{margin:0 0 6px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checklist{padding-left:20px}.scan-shell{max-width:720px;margin:auto}.scan-title{text-align:center;margin-bottom:20px}.offline-banner{background:#fff1ce;padding:10px;border-radius:8px;margin-bottom:14px}.version{font-family:ui-monospace,monospace}.public-card{max-width:760px;margin:40px auto}.status-big{font-size:24px;font-weight:800}.footer-note{font-size:12px;color:#718087;margin-top:20px}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{flex-direction:row;overflow:auto}.content{padding:16px}.stats{grid-template-columns:1fr 1fr}.form-grid,.two-col,.qr-card{grid-template-columns:1fr}}@media(max-width:520px){.stats{grid-template-columns:1fr}.topbar{padding:0 14px}.userbox{display:none}}
/* v1.0.6 Guided workflow & builder */
.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#718087}.workflow-install-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.workflow-progress{margin:18px 0}.workflow-progress>div:first-child{display:flex;justify-content:space-between;gap:12px}.progress-track{height:9px;background:#e7ecee;border-radius:999px;overflow:hidden;margin-top:8px}.progress-track i{display:block;height:100%;background:var(--primary);border-radius:999px}.step-card,.training-card{border:1px solid #dde5e7;border-radius:14px;padding:20px;background:#fff}.step-instruction{font-size:17px;line-height:1.55;background:#f0f5f6;border-radius:10px;padding:15px;margin:14px 0 18px}.chapter-help{background:#edf5f2;border-radius:9px;padding:11px 13px;margin:12px 0}.step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:8px}.complete-install{margin-top:18px}.complete-install button{width:100%;padding:14px}.measure-row{display:grid;grid-template-columns:1fr 110px;gap:8px}.check-line{display:flex;align-items:center;gap:8px;font-weight:650}.check-line input{width:auto;margin:0}.tutorial-video{width:100%;max-height:420px;background:#000;border-radius:10px;margin:12px 0}.training-ack{display:grid;gap:14px;margin-top:16px}.workflow-summary{margin-top:16px}.summary-row{display:flex;gap:12px;align-items:center;border-top:1px solid #e8edef;padding:11px 0}.step-number{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:800}.builder-media,.builder-step{border:1px solid #dfe6e8;border-radius:12px;padding:15px;margin-bottom:12px}.builder-media{display:flex;justify-content:space-between;gap:14px}.builder-inline{display:flex;gap:8px;align-items:flex-start}.chapter-form{display:grid;grid-template-columns:minmax(150px,1fr) 100px 100px 80px auto;gap:6px}.chapter-form input{margin-top:0}.chapter-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chapter-list span{background:#edf2f3;padding:4px 8px;border-radius:999px;font-size:12px}.builder-add,.builder-step-add,.builder-field-add{margin-top:18px}.builder-step-head{display:flex;align-items:flex-start;gap:12px}.builder-step-head>div:nth-child(2){flex:1}.builder-fields{display:grid;gap:7px;margin:12px 0}.builder-fields>div{display:flex;justify-content:space-between;gap:10px;background:#f5f7f8;border-radius:8px;padding:9px 11px}.builder-fields small{display:block;color:#718087}.inline-form{display:inline}.link-danger{background:none;padding:0;color:#a52727;font-weight:700}.builder-step-add>summary,.builder-field-add>summary{cursor:pointer;font-weight:800;padding:8px 0}.workflow-form small{display:block;color:#718087;margin-top:5px}@media(max-width:760px){.workflow-install-head,.builder-media{display:block}.builder-inline{margin-top:12px;display:block}.chapter-form{grid-template-columns:1fr 1fr}.chapter-form button{grid-column:1/-1}.builder-step-head{flex-wrap:wrap}.builder-step-head .actions{width:100%;padding-left:44px}.builder-fields>div{display:block}.measure-row{grid-template-columns:1fr 90px}}
/* v1.0.7 Builder usability */
.field-help{display:block;font-weight:500;color:#718087;margin-top:3px;line-height:1.35}.builder-help{background:#f0f5f6;border:1px solid #dce6e8;border-radius:12px;padding:15px 17px;margin:0 0 18px;display:grid;gap:7px;line-height:1.45}.builder-help>strong{font-size:16px}.builder-field-main{min-width:0;flex:1}.builder-field-actions{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap}.builder-field-add.is-editing{border:2px solid var(--primary);border-radius:10px;padding:10px 12px;background:#f7fbfa}.builder-field-add.is-editing>summary{color:var(--primary)}.builder-step:target{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:3px;scroll-margin-top:92px}#step-editor{scroll-margin-top:92px}.builder-fields .button{white-space:nowrap}.builder-step-head .actions .button{white-space:nowrap}
@media(max-width:760px){.builder-field-actions{margin-top:8px}.builder-field-main small{margin-top:3px}.builder-help{font-size:14px}}
/* v1.0.8 installer workflow + offline status */
.sync-status{display:flex;align-items:center;gap:9px;padding:11px 14px;margin:-2px 0 18px;border:1px solid #d8e2e5;border-radius:12px;background:#f7fafb;font-size:14px}.sync-status span:last-child{color:#5c6a70}.sync-dot{width:10px;height:10px;border-radius:50%;background:#2e8b57;flex:0 0 auto}.sync-status[data-state="offline"] .sync-dot,.sync-status[data-state="pending"] .sync-dot{background:#d99a21}.sync-status[data-state="syncing"] .sync-dot{background:#3478b8;animation:rk-pulse 1s infinite alternate}@keyframes rk-pulse{to{opacity:.35}}.workflow-runner .step-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:12px 0 2px;z-index:3}.workflow-runner input,.workflow-runner select,.workflow-runner textarea{font-size:16px}.workflow-runner input[type=file]{padding:12px;background:#f7fafb}.workflow-progress{position:sticky;top:0;background:#fff;z-index:4;padding-top:6px}.tutorial-video{max-height:56vh;background:#000;border-radius:12px}
@media(max-width:700px){.sync-status{align-items:flex-start;flex-wrap:wrap}.sync-status span:last-child{width:100%;padding-left:19px}.workflow-runner{padding:18px}.workflow-install-head{gap:10px}.workflow-runner .step-card{padding:0}.workflow-runner .step-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px}.workflow-runner .step-actions .primary,.workflow-runner .step-actions .button{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center}.training-ack .primary{width:100%;min-height:52px}}

/* v1.0.9 installer dashboard + streamlined field workflow */
.workflow-complete-ref{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0 16px}.workflow-complete-ref span{color:#69777d}.voice-button{margin-top:7px}.installer-dashboard{max-width:820px}.installer-dashboard-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.installer-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.installer-status-grid>div{background:#f4f7f8;border-radius:10px;padding:13px}.installer-status-grid strong,.installer-status-grid span{display:block}.installer-status-grid span{margin-top:6px}.installer-profile{border-top:1px solid #e5eaec;padding-top:18px;margin-top:18px}.installer-record,.installer-install-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0f1}.installer-install-row{text-decoration:none}.installer-install-row:hover{background:#f7f9f9}.installer-install-row>div:last-child{text-align:right}.final-step-actions{display:grid!important;grid-template-columns:auto auto minmax(210px,1fr)!important}.final-step-actions>*{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center}
@media(max-width:700px){.workflow-runner{margin-top:12px}.workflow-progress{margin-top:0}.step-card h2{font-size:28px;line-height:1.12}.step-instruction{font-size:16px}.installer-status-grid{grid-template-columns:1fr}.installer-dashboard-head{align-items:center}.final-step-actions{grid-template-columns:1fr 1fr!important}.final-step-actions [data-complete-install]{grid-column:1/-1}.workflow-complete-ref{display:block}.workflow-complete-ref span{display:block;margin-top:4px}}

/* v1.0.10 Mobile evidence, QR scanner and workflow creation */
.new-workflow-box{margin:16px 0;border:1px solid #dfe6e8;border-radius:12px;padding:12px 14px}.new-workflow-box>summary{font-weight:800;cursor:pointer}.scan-installer-cta,.scan-installer-button{width:100%;min-height:58px;font-size:18px;display:flex;align-items:center;justify-content:center}.qr-scanner{position:relative;margin:16px 0;background:#101719;border-radius:14px;overflow:hidden;padding-bottom:14px}.qr-scanner video{width:100%;display:block;min-height:280px;object-fit:cover}.scanner-frame{position:absolute;left:12%;right:12%;top:15%;height:52%;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.18);pointer-events:none}.qr-scanner p{color:#fff;padding:0 14px}.qr-scanner .button{margin-left:14px}.scanner-fallback{margin:14px 0}.tutorial-complete{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef6f3;border:1px solid #d6e7e1;border-radius:12px;padding:11px 13px;margin-bottom:12px}.tutorial-complete strong,.tutorial-complete span{display:block}.tutorial-complete span{font-size:13px;color:#607076;margin-top:2px}.evidence-capture{border:1px solid #dce5e8;background:#f8fafb;border-radius:12px;padding:12px;margin-top:7px}.evidence-upload{display:block;margin-top:8px}.evidence-reason{display:block;margin-top:10px}.evidence-review{margin-top:0}.evidence-item{border:1px solid #dfe6e8;border-radius:12px;padding:14px;margin:12px 0}.evidence-item.is-missing{border-color:#e7c979;background:#fffbef}.evidence-item-head{display:flex;justify-content:space-between;gap:10px}.evidence-item-head small{display:block;color:#6c7a80;margin-top:4px}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.evidence-grid a{display:grid;place-items:center;min-height:88px;border:1px solid #dfe5e7;border-radius:9px;overflow:hidden;background:#fff;text-decoration:none;text-align:center;font-size:12px}.evidence-grid img{width:100%;height:100%;min-height:88px;object-fit:cover}.evidence-warning{display:block;color:#8b5e00;margin-top:7px}.voice-button{width:100%;min-height:54px;font-size:17px;margin-top:9px}.workflow-runner{padding-top:14px}.workflow-runner.public-card{margin-top:14px}.workflow-runner .sync-status{margin-top:0}.workflow-runner .step-card{margin-top:8px}
@media(max-width:700px){.auth-content{padding:10px 12px 18px;place-items:start center}.topbar{height:62px}.brand img{max-height:38px}.public-card{margin:12px auto}.workflow-runner{margin-top:6px!important;padding:14px}.workflow-progress{top:62px;padding:5px 0;margin:8px 0 12px}.tutorial-complete{align-items:flex-start;flex-direction:column}.tutorial-complete .button{width:100%;text-align:center}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-item-head{display:block}.evidence-item-head .badge{margin-top:8px}.step-card h2{font-size:25px}.step-instruction{margin:10px 0 14px}.sync-status{margin-bottom:10px}.scanner-page{width:100%}}
.submitted-form{margin-top:22px;border-top:1px solid #e2e8ea;padding-top:18px}.submitted-step{border:1px solid #dfe6e8;border-radius:12px;margin:10px 0;background:#fff;overflow:hidden}.submitted-step>summary{cursor:pointer;padding:13px 15px;background:#f7f9fa}.submitted-step-body{padding:14px 15px}.submitted-answer-list{display:grid;gap:0}.submitted-answer{display:grid;grid-template-columns:minmax(180px,32%) 1fr;gap:18px;padding:12px 0;border-top:1px solid #edf1f2}.submitted-answer:first-child{border-top:0}.submitted-answer small{display:block;color:#718087;margin-top:3px}.compact-evidence{max-width:520px;margin:0}.evidence-reason-view{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff7df;color:#765300}@media(max-width:760px){.submitted-answer{grid-template-columns:1fr;gap:6px}}

/* v1.0.11 Workflow lifecycle + reliable Installer QR scanner */
.workflow-lifecycle-note{font-size:12px;color:#6b787e}.manual-installer-fallback{margin:16px 0;border:1px solid #dfe6e8;border-radius:12px;padding:12px 14px;background:#f8fafb}.manual-installer-fallback>summary{cursor:pointer;font-weight:800}.manual-installer-fallback form{margin-top:14px}.scanner-page>.button:last-child{margin-top:4px}.qr-scanner canvas{display:none}.qr-scanner[hidden]{display:none!important}
@media(max-width:700px){.scanner-page{margin-top:8px}.scanner-page h1{font-size:34px;line-height:1.05}.scanner-page p{line-height:1.4}.scan-installer-button{min-height:64px;font-size:20px}.qr-scanner video{min-height:320px}.manual-installer-fallback{padding:13px}.manual-installer-fallback .button{min-height:52px;width:100%}}
.evidence-saved-item{display:flex;flex-direction:column;gap:6px;min-width:0}.evidence-saved-item>a{flex:1}.evidence-remove{width:100%;justify-content:center}.compact-evidence .evidence-saved-item>a{min-height:72px}.compact-evidence .evidence-saved-item img{min-height:72px}

/* v1.0.19 field-screen space + image preparation */
.sync-status[hidden]{display:none!important}.photo-compress-status{display:block;margin-top:7px;color:#65747a;font-weight:600}.workflow-runner>.tutorial-guidance{margin-top:0}
@media(max-width:700px){.workflow-runner{padding-top:8px}.workflow-progress{margin-top:4px}.workflow-runner>.sync-status{margin:0 0 8px}.alert.success+.workflow-runner{margin-top:0}}


/* v1.0.20 GPS + signature fields and simpler deferred-evidence wording */
.evidence-later{display:block;margin-top:10px;color:#66757b;font-weight:650;line-height:1.4}.gps-field{display:grid;gap:10px}.gps-status{border:1px solid #dce5e8;background:#f8fafb;border-radius:12px;padding:12px 14px}.gps-status strong,.gps-status span{display:block}.gps-status span{margin-top:3px;color:#66757b;font-size:14px}.gps-capture{width:100%;min-height:54px}.signature-field{display:grid;gap:10px}.signature-name{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f5f8f8;border:1px solid #dce5e8;border-radius:10px;padding:10px 12px}.signature-name span{color:#68777d}.signature-pad{display:block;width:100%;height:150px;border:2px solid #cfdadd;border-radius:12px;background:#fff;touch-action:none}.signature-actions{display:flex;align-items:center;gap:10px;justify-content:space-between}.signature-actions span{color:#66757b;font-size:13px;text-align:right}.signature-existing{display:grid;gap:5px}.signature-existing img{width:100%;max-height:120px;object-fit:contain;background:#fff;border:1px solid #dce5e8;border-radius:10px}.signature-existing small{color:#66757b}@media(max-width:700px){.signature-pad{height:135px}.signature-actions{align-items:flex-start}.gps-capture{min-height:58px}}

/* v1.0.21 Installer AI Assist */
.installer-assist{margin:14px 0;border:1px solid #d7e4e1;border-radius:12px;background:#f5faf8;overflow:hidden}.assist-toggle{width:100%;min-height:50px;text-align:left;padding:12px 14px;background:var(--primary);color:#fff;border-radius:0;font-size:16px}.assist-panel{padding:14px}.assist-panel>strong{display:block;margin-bottom:10px}.assist-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.assist-quick button,.assist-quick .button{min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #d7e1e3}.assist-answer{margin-top:12px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #dce5e7;white-space:pre-wrap;line-height:1.45}.assist-answer.is-error{background:#fff7df;border-color:#e8cd85}.assist-question{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.assist-question input{margin:0;min-height:44px}.assist-question button{min-width:74px}.installer-assist.is-busy{opacity:.9}@media(max-width:700px){.assist-quick{grid-template-columns:1fr}.assist-question{grid-template-columns:1fr}.assist-question button{min-height:48px}}

/* v1.0.22 Repair Kit creation form alignment */
.kit-create-grid .kit-create-submit{grid-column:1/-1}
.kit-create-grid .kit-grid-spacer{display:block}
@media (max-width:760px){.kit-create-grid .kit-grid-spacer{display:none}.kit-create-grid .kit-create-submit{grid-column:auto}}


/* v1.0.23 Admin operations, lists, viewer and toast polish */
.toast-stack{position:fixed;top:84px;right:20px;z-index:100;display:grid;gap:10px;width:min(420px,calc(100vw - 28px))}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:11px;background:#edf3f5;border:1px solid #dbe4e7;box-shadow:0 10px 35px rgba(20,35,40,.18);animation:toastIn .18s ease-out}.toast.success{background:#e1f5e8;border-color:#bce5ca}.toast.warning{background:#fff2cf;border-color:#efd78e}.toast.danger{background:#fde5e5;border-color:#efbaba}.toast button{padding:0;background:transparent;font-size:22px;line-height:1;color:#6b777b}.toast.is-leaving{opacity:0;transform:translateY(-4px);transition:.2s}.search-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,240px) auto auto;gap:8px;align-items:end}.search-bar input,.search-bar select{margin:0}.search-bar input+button{grid-column:auto}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:16px}.pagination span{color:#69777d;font-size:13px}.create-collapsible>summary{cursor:pointer;font-weight:800;font-size:16px;padding:3px 0}.create-collapsible[open]>summary{margin-bottom:16px}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.action-card{display:block;text-decoration:none;background:#fff;border:1px solid #dfe6e8;border-radius:13px;padding:18px}.action-card:hover{border-color:var(--primary);box-shadow:0 5px 18px rgba(0,0,0,.06)}.action-card strong{display:block;font-size:28px}.action-card span{display:block;font-weight:800;margin:4px 0}.action-card small{color:#6d7a7f}.action-card.priority{border-left:5px solid var(--primary)}.dashboard-stats{margin-bottom:20px}.client-contact{margin-top:20px}.submitted-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.submitted-overview>div{background:#f5f8f8;border-radius:10px;padding:12px}.submitted-overview span,.evidence-time{display:block;color:#6d7a7f;font-size:12px}.submitted-overview strong{display:block;margin-top:3px}.evidence-item{display:grid;gap:4px}.evidence-time{text-align:center}.report-sheet{max-width:1000px;margin:0 auto}.report-step{border-top:1px solid #e3e8ea;padding:16px 0}.report-answer{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:16px;padding:8px 0;border-bottom:1px solid #f0f2f3}.report-answer small{display:block;color:#6d7a7f;margin-top:5px}@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media(max-width:900px){.action-grid{grid-template-columns:1fr 1fr}.search-bar{grid-template-columns:1fr auto}.search-bar select{grid-column:1/-1}.submitted-overview{grid-template-columns:1fr 1fr}}@media(max-width:520px){.action-grid,.submitted-overview{grid-template-columns:1fr}.search-bar{grid-template-columns:1fr}.pagination{justify-content:space-between}.report-answer{grid-template-columns:1fr}.toast-stack{top:76px;right:14px}}@media print{.topbar,.sidebar,.no-print,.toast-stack{display:none!important}.layout{display:block}.content{padding:0}.panel{border:0;box-shadow:none}.report-sheet{max-width:none}.report-step{break-inside:avoid}}

/* v1.0.24 Operational UI + rich installation reports */
.action-grid-six{grid-template-columns:repeat(6,minmax(0,1fr))}.action-card .action-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eef6f3;color:var(--primary);font-weight:900;margin-bottom:12px}.dashboard-columns{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}.dashboard-panel{margin-bottom:18px}.activity-list{display:grid}.activity-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #edf1f2;text-decoration:none}.activity-row:first-child{border-top:0}.activity-row:hover:not(.static){color:var(--primary)}.activity-row>div:last-child{text-align:right}.activity-row strong,.activity-row small{display:block}.activity-row small{color:#738086;margin-top:3px}.health-list{display:grid;gap:2px}.health-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #edf1f2}.health-line:first-child{border-top:0}.health-line span:last-child{color:#718087;font-size:13px}.health-dot{width:9px;height:9px;border-radius:50%;background:#9aa6aa}.health-dot.ok{background:#2ca46f}.health-dot.warn{background:#d99a2b}.quick-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quick-action-grid a{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:15px;border:1px solid #e0e7e9;border-radius:12px;text-decoration:none;background:#fff}.quick-action-grid a:hover{border-color:var(--primary);box-shadow:0 4px 14px rgba(0,0,0,.05)}.quick-action-grid a>span{grid-row:1/3;width:34px;height:34px;border-radius:9px;background:#edf6f3;color:var(--primary);display:grid;place-items:center;font-weight:900}.quick-action-grid strong,.quick-action-grid small{display:block}.quick-action-grid small{color:#728086;margin-top:2px}.dashboard-hero{border-left:5px solid var(--primary)}

.rich-report{padding:28px}.report-header{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;border-bottom:1px solid #dde5e7;padding-bottom:18px}.report-header h1{font-size:30px}.report-qr{text-align:center}.report-qr .qr{width:112px;min-height:112px;margin:auto}.report-qr .qr canvas,.report-qr .qr img{width:112px!important;height:112px!important}.report-qr small{display:block;margin-top:5px;color:#68777d}.report-actions{margin:16px 0 4px;justify-content:flex-end}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.report-summary-grid article,.report-data-grid>div,.report-special{border:1px solid #e0e7e9;border-radius:11px;padding:13px;background:#f9fbfb}.report-summary-grid span,.report-data-grid span,.report-special>span{display:block;color:#6f7d82;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.report-summary-grid strong,.report-data-grid strong,.report-special strong{display:block;margin-top:4px}.report-summary-grid small,.report-data-grid small,.report-special small{display:block;color:#718087;margin-top:4px}.report-section{border-top:1px solid #dde5e7;padding-top:19px;margin-top:19px}.report-section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:12px}.report-section-title h2{font-size:18px}.report-section-title p{margin:0;color:#718087}.report-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-data-grid.two{grid-template-columns:1fr 1fr}.report-special-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.signature-report img,.signature-inline img,.signature-highlight img{display:block;max-width:100%;max-height:110px;object-fit:contain;background:#fff;border:1px solid #e1e6e8;border-radius:8px;margin:8px 0}.report-step-card{border:1px solid #e0e7e9;border-radius:12px;margin:12px 0;overflow:hidden;background:#fff}.report-step-card>h3{margin:0;padding:12px 14px;background:#f5f8f8}.report-instruction{padding:0 14px}.report-answer-rich{display:grid;grid-template-columns:minmax(180px,30%) 1fr;gap:16px;padding:13px 14px;border-top:1px solid #edf1f2}.report-answer-label small{display:block;color:#748187;margin-top:3px}.report-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-evidence{display:grid;gap:5px}.report-evidence img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;border:1px solid #dce4e6;background:#fff}.report-evidence small{color:#6c7a80}.file-evidence{display:block;border:1px solid #dde5e7;border-radius:9px;padding:11px;text-decoration:none;background:#f8fafb}.submitted-highlight-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;margin:0 0 18px}.submitted-qr,.submitted-highlight{border:1px solid #e0e7e9;border-radius:11px;background:#f8fafb;padding:12px}.submitted-qr{text-align:center}.submitted-qr .qr{width:86px;min-height:86px;margin:auto}.submitted-qr .qr canvas,.submitted-qr .qr img{width:86px!important;height:86px!important}.submitted-qr small,.submitted-highlight span,.submitted-highlight small{display:block;color:#6d7a7f;font-size:12px}.submitted-highlight strong{display:block;margin:5px 0}.signature-highlight img{max-height:74px;margin:6px 0}.submitted-record-card{background:linear-gradient(#fff,#fbfdfd)}

@media(max-width:1180px){.action-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr 1fr}.dashboard-columns>.dashboard-panel:last-child{grid-column:1/-1}.quick-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.action-grid-six,.dashboard-columns,.quick-action-grid,.report-summary-grid,.report-data-grid,.report-data-grid.two,.report-special-grid,.submitted-highlight-grid{grid-template-columns:1fr}.dashboard-columns>.dashboard-panel:last-child{grid-column:auto}.rich-report{padding:16px}.report-header{grid-template-columns:1fr}.report-qr{text-align:left}.report-qr .qr{margin:0}.report-answer-rich{grid-template-columns:1fr}.report-evidence-grid{grid-template-columns:1fr 1fr}.report-actions{justify-content:flex-start}}
@media(max-width:480px){.action-grid-six{grid-template-columns:1fr 1fr}.report-evidence-grid{grid-template-columns:1fr}}
@media print{.rich-report{padding:0!important}.report-header{grid-template-columns:1fr auto}.report-actions{display:none!important}.report-step-card{break-inside:avoid}.report-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-evidence img{max-height:150px}.report-section{break-inside:avoid}.submitted-highlight-grid{grid-template-columns:auto 1fr 1fr}}


/* v1.0.26 Administrator Assist, Help & Tutorial and GPS map preview */
.dashboard-hero{display:flex;justify-content:space-between;gap:20px;align-items:center}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.help-hero{display:flex;justify-content:space-between;gap:20px;align-items:center}.tutorial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tutorial-card{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start;border:1px solid #dfe7e9;border-radius:13px;padding:16px;text-decoration:none;background:#fff}.tutorial-card:hover{border-color:var(--primary);box-shadow:0 5px 18px rgba(0,0,0,.06)}.tutorial-card>span{grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eaf4f1;color:var(--primary);font-weight:900}.tutorial-card strong{font-size:15px}.tutorial-card p{margin:5px 0 0;color:#6e7c81;font-size:13px;line-height:1.45}.assist-help-card{display:flex;justify-content:space-between;gap:18px;align-items:center}.assist-help-card h2{margin:2px 0 6px}.assist-help-card p:last-child{margin-bottom:0}
.admin-assist{position:fixed;right:22px;bottom:22px;z-index:120}.admin-assist-toggle{border:0;border-radius:999px;padding:13px 18px;background:var(--primary);color:#fff;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.2);cursor:pointer}.admin-assist-panel{position:absolute;right:0;bottom:58px;width:min(390px,calc(100vw - 32px));background:#fff;border:1px solid #dce5e7;border-radius:16px;box-shadow:0 18px 55px rgba(10,30,35,.24);overflow:hidden}.admin-assist-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;background:#eef6f3;border-bottom:1px solid #dce7e3}.admin-assist-head strong,.admin-assist-head small{display:block}.admin-assist-head small{margin-top:2px;color:#68787c}.admin-assist-head button{border:0;background:transparent;font-size:25px;line-height:1;color:#667579}.admin-assist-quick{display:grid;grid-template-columns:1fr;padding:12px;gap:7px}.admin-assist-quick button{text-align:left;background:#f7f9fa;border:1px solid #e1e7e9;color:#172428;padding:10px 11px;border-radius:9px;font-weight:700}.admin-assist-quick button:hover{border-color:var(--primary);background:#f0f7f5}.admin-assist-answer{margin:0 12px 12px;padding:12px;border-radius:10px;background:#f3f7f8;line-height:1.48;max-height:280px;overflow:auto}.admin-assist-answer.is-error{background:#fff1f1;color:#8e2f2f}.admin-assist-answer .assist-bullet{display:block}.admin-assist form{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid #e4e9eb;padding:12px}.admin-assist form input{margin:0}.admin-assist.is-busy .admin-assist-toggle{opacity:.8}
.admin-tour{position:fixed;inset:0;z-index:160;background:rgba(12,25,30,.58);display:grid;place-items:center;padding:20px}.admin-tour[hidden]{display:none}.admin-tour-card{position:relative;width:min(620px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.admin-tour-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:26px;color:#607076}.admin-tour-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-right:32px;color:#6d7a7f;font-size:13px}.admin-tour-progress>div{height:7px;background:#e7edef;border-radius:999px;overflow:hidden}.admin-tour-progress i{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .2s ease}.admin-tour-card h2{font-size:27px;margin:8px 0}.admin-tour-card>p:not(.eyebrow){font-size:16px;line-height:1.55;color:#56666b}.admin-tour-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.tour-open{overflow:hidden}
.gps-mini-map{margin-top:10px;border:1px solid #dce5e7;border-radius:9px;overflow:hidden;background:#eef2f3}.gps-mini-map iframe{display:block;width:100%;height:150px;border:0}.gps-map-link{display:inline-block;margin-top:7px;font-size:13px}.gps-highlight .gps-mini-map iframe{height:120px}.submitted-highlight-grid:has(.gps-highlight){align-items:stretch}
@media(max-width:1040px){.tutorial-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.dashboard-hero,.help-hero,.assist-help-card{align-items:flex-start;flex-direction:column}.tutorial-grid{grid-template-columns:1fr}.admin-assist{right:14px;bottom:14px}.admin-assist-panel{bottom:56px}.admin-tour-card{padding:20px}.admin-tour-actions{flex-wrap:wrap}.admin-tour-actions .button,.admin-tour-actions button{flex:1}.gps-mini-map iframe{height:135px}}@media print{.admin-assist,.admin-tour,.gps-mini-map,.gps-map-link{display:none!important}}

/* v1.0.27 workflow preview + user invitation polish */
.workflow-phone-preview{max-width:760px;margin:0 auto 36px;background:#f3f7f7;border:1px solid #dbe5e6;border-radius:28px;padding:18px;box-shadow:0 18px 50px rgba(15,35,39,.12)}
.preview-phone-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 8px 18px;color:#223238}.preview-phone-head small{color:#6f8085}
.preview-step{background:#fff;border:1px solid #dbe5e6;border-radius:22px;padding:22px;margin-bottom:18px}.preview-progress{display:flex;justify-content:space-between;gap:16px;font-size:18px}.preview-bar{height:9px;background:#e5ebed;border-radius:999px;overflow:hidden;margin:10px 0 24px}.preview-bar i{display:block;height:100%;background:var(--primary);border-radius:999px}.preview-instruction{background:#f1f5f6;border-radius:16px;padding:18px;margin:12px 0 18px}.preview-field{display:block;margin:18px 0}.preview-field>strong{display:block;margin-bottom:8px}.preview-field input,.preview-field select,.preview-field textarea{width:100%}.preview-control{margin-top:6px}.preview-upload{border:1px dashed #b8c6c9;background:#f7f9fa;border-radius:12px;padding:16px;color:#4e6167}.preview-signature{height:120px;background:#fff;border:1px solid #dbe5e6;border-radius:12px}.preview-guidance{width:100%;margin:4px 0 12px}.preview-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}
.user-edit{position:relative}.user-edit>summary{list-style:none;cursor:pointer}.user-edit>summary::-webkit-details-marker{display:none}.user-edit-form{position:absolute;right:0;z-index:20;width:min(340px,80vw);padding:14px;background:#fff;border:1px solid #dbe5e6;border-radius:12px;box-shadow:0 12px 32px rgba(20,37,42,.16)}
@media(max-width:700px){.preview-toolbar{align-items:flex-start;flex-direction:column}.workflow-phone-preview{border-radius:0;padding:8px}.preview-step{padding:16px;border-radius:16px}.preview-progress{font-size:16px}.user-edit-form{position:fixed;left:12px;right:12px;top:90px;width:auto}}


/* v1.0.29 compact mobile installer Assist */
@media(max-width:700px){
  .topbar.has-installer-assist{gap:8px;padding:0 10px 0 12px}
  .topbar.has-installer-assist .brand{min-width:0;gap:9px}
  .topbar.has-installer-assist .brandmark{width:38px;height:38px;border-radius:9px;flex:0 0 38px}
  .topbar.has-installer-assist .brand>span:last-child{min-width:0}
  .topbar.has-installer-assist .brand strong{font-size:15px;white-space:nowrap}
  .topbar.has-installer-assist .brand small{font-size:11px;white-space:nowrap}
  .installer-assist.installer-assist-mobile{margin:0;border:0;border-radius:0;background:transparent;overflow:visible;flex:0 0 auto}
  .installer-assist.installer-assist-mobile .assist-toggle{width:auto;min-height:36px;padding:8px 10px;border-radius:999px;font-size:13px;line-height:1;white-space:nowrap;box-shadow:0 4px 14px rgba(15,45,45,.16)}
  .installer-assist.installer-assist-mobile .assist-panel{position:fixed;top:68px;left:10px;right:10px;z-index:145;max-height:calc(100vh - 84px);overflow:auto;padding:13px;background:#f5faf8;border:1px solid #d7e4e1;border-radius:15px;box-shadow:0 18px 50px rgba(10,30,35,.24)}
  .installer-assist.installer-assist-mobile .assist-panel>strong{font-size:14px;margin-bottom:8px}
  .installer-assist.installer-assist-mobile .assist-quick{gap:6px}
  .installer-assist.installer-assist-mobile .assist-quick button,.installer-assist.installer-assist-mobile .assist-quick .button{min-height:39px;padding:8px 10px;font-size:13px}
  .installer-assist.installer-assist-mobile .assist-answer{margin-top:8px;padding:10px 11px;font-size:13px;max-height:180px;overflow:auto}
  .installer-assist.installer-assist-mobile .assist-question{margin-top:8px;grid-template-columns:1fr auto}
  .installer-assist.installer-assist-mobile .assist-question input{min-height:40px;font-size:14px}
  .installer-assist.installer-assist-mobile .assist-question button{min-height:40px;min-width:64px;padding:8px 10px}
}
@media(max-width:390px){
  .topbar.has-installer-assist .brand small{display:none}
  .topbar.has-installer-assist .brand strong{font-size:14px}
  .installer-assist.installer-assist-mobile .assist-toggle{font-size:12px;padding:8px 9px}
}


/* v1.0.30 pilot navigation safety, user notifications and admin Assist clearance */
.brand-static{cursor:default;user-select:none}.installer-flow-locked .brand-static{pointer-events:none}.user-notification-prefs{border:1px solid #dce5e7;border-radius:10px;padding:12px;margin:0}.user-notification-prefs legend{padding:0 5px;font-weight:800}.user-notification-prefs .check-line{display:flex;align-items:center;gap:8px;margin:8px 0;font-weight:600}.user-notification-prefs .check-line input{width:auto;margin:0}.user-edit-form{min-width:290px}
@media(min-width:901px){body.admin-assist-open .content{padding-right:430px}.content{transition:padding-right .16s ease}}
@media(max-width:900px){body.admin-assist-open .content{padding-right:16px}.user-edit-form{min-width:260px}}

/* v1.0.31 — User editor is a true modal so it can never be clipped by Assist or table edges. */
details.user-edit[open]::before{content:"";position:fixed;inset:0;background:rgba(18,32,37,.28);z-index:179;cursor:default}
details.user-edit[open] .user-edit-form{position:fixed!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%);z-index:180!important;width:min(430px,calc(100vw - 32px))!important;min-width:0!important;max-height:calc(100vh - 40px);overflow:auto;padding:18px;background:#fff;border:1px solid #dbe5e6;border-radius:14px;box-shadow:0 22px 70px rgba(15,31,36,.30)}
@media(max-width:700px){details.user-edit[open] .user-edit-form{top:50%!important;left:50%!important;right:auto!important;width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px)}}


/* v1.0.32 — save-state feedback + Repair Kit completeness cues */
.button.save-state-dirty{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.button.save-state-saved{background:#2f9e63!important;border-color:#2f9e63!important;color:#fff!important;box-shadow:0 0 0 3px rgba(47,158,99,.16)}
.button.save-state-dirty,.button.save-state-saved{transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.kit-required-note{margin:2px 0 0;padding:10px 12px;background:#f7faf9;border:1px solid #e0e8e5;border-radius:9px}

/* v1.0.33 — unsaved-change visibility + Repair Kit edit panel */
.unsaved-warning{display:none;grid-column:1/-1;margin:2px 0 0;padding:10px 12px;border-radius:9px;background:#fff3d8;border:1px solid #efcb73;color:#6f4b00;font-size:13px}.unsaved-warning.is-visible{display:block}.unsaved-warning strong{margin-right:4px}.primary.save-state-dirty,.button.save-state-dirty{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.primary.save-state-saved,.button.save-state-saved{background:#2f9e63!important;border-color:#2f9e63!important;color:#fff!important;box-shadow:0 0 0 3px rgba(47,158,99,.16)}.kit-edit-panel{margin-top:20px;padding-top:18px;border-top:1px solid #dfe7e5}.kit-edit-panel>summary{display:inline-flex;align-items:center;padding:9px 13px;border-radius:8px;background:#edf2f3;border:1px solid #d7e1e3;color:#20343a;font-weight:800}.kit-edit-panel[open]>summary{margin-bottom:12px;background:var(--primary);border-color:var(--primary);color:#fff}

/* v1.0.34 Repair Kit header action consistency */
.kit-action-group{align-items:center}.kit-action-group .badge{border-radius:8px;padding:7px 10px;font-size:13px;line-height:1.2}.kit-action-group .button.compact,.kit-action-group button.compact{border-radius:8px}

/* v1.0.36 — controlled organisation reset */
.reset-data-panel{border:1px solid #e4c7c4;margin-top:24px}
.reset-data-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.reset-data-heading h2{margin:.1rem 0 .35rem}
.reset-data-heading .badge{border-radius:8px;padding:8px 11px}
.reset-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.reset-presets .button{text-align:left;display:flex;flex-direction:column;gap:3px;align-items:flex-start;justify-content:center;min-height:64px}
.reset-presets small,.reset-choice small,.reset-workflow-row small{display:block;color:var(--muted,#61727d);font-weight:400;margin-top:3px}
.reset-keep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reset-choice,.reset-workflow-row{display:flex;gap:11px;align-items:flex-start;border:1px solid #dce5e7;border-radius:10px;padding:13px;background:#f8fafb;cursor:pointer}
.reset-choice input,.reset-workflow-row input{width:auto!important;margin:3px 0 0!important;flex:0 0 auto}.reset-choice>span,.reset-workflow-row>span{min-width:0;flex:1}
.reset-workflow-picker{margin:16px 0;border:1px solid #dce5e7;border-radius:12px;padding:14px;background:#fff}
.reset-picker-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.reset-workflow-row{margin-top:8px;background:#fbfcfc}
.text-button{border:0;background:transparent;color:var(--primary,#1f5d55);font:inherit;font-weight:700;padding:0;cursor:pointer}
.reset-audit{margin:14px 0}
.reset-confirm{display:block;max-width:520px;margin-top:16px;font-weight:700}
.reset-confirm input{display:block;width:100%;margin-top:7px}
.reset-submit{margin-top:14px;min-height:44px;border-radius:8px;padding:0 18px;font-weight:800}
@media(max-width:760px){.reset-presets,.reset-keep-grid{grid-template-columns:1fr}.reset-data-heading{display:block}.reset-data-heading .badge{display:inline-block;margin-top:8px}}

/* v1.0.39 explicit offline package + control consistency */
.button,button,.badge{border-radius:6px}
.start-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.start-choice{min-height:92px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}.start-choice strong,.start-choice span{display:block}.start-choice span{font-size:13px;font-weight:600;opacity:.84}.offline-start-choice{background:#d8891c;color:#fff}.offline-mode-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e0e6e8;background:#f7fafb;padding:12px 14px;margin:0 0 10px}.offline-mode-copy strong,.offline-mode-copy span{display:block}.offline-mode-copy span{font-size:13px;color:#66757a;margin-top:3px}.offline-mode-actions{display:flex;gap:8px;flex:0 0 auto}.offline-download-button{background:#d8891c;color:#fff}.offline-sync-button{background:#166a55;color:#fff}.offline-local-evidence-note{background:#fff0c7;border:1px solid #e4b967;padding:10px 12px;font-weight:700;margin-bottom:12px}
body.rk-offline-mode{background:#fff1d6}body.rk-offline-mode .topbar{background:#a85f12;border-bottom-color:#8d4d0c;color:#fff}body.rk-offline-mode .brand small{color:#ffe3b8}body.rk-offline-mode .auth-content{background:#fff1d6}body.rk-offline-mode .workflow-runner{border:2px solid #cf7817;background:#fffaf1;box-shadow:0 4px 18px rgba(154,83,10,.13)}body.rk-offline-mode .offline-mode-toolbar{background:#f6b94c;border-color:#cf7817;color:#35200a}body.rk-offline-mode .offline-mode-copy span{color:#523512}body.rk-offline-mode .sync-status{border-color:#e2aa4d;background:#fff2cf}body.rk-offline-mode .workflow-progress{background:#fffaf1}body.rk-offline-mode .workflow-runner .step-actions{background:rgba(255,250,241,.97)}
@media(max-width:700px){.start-choice-grid{grid-template-columns:1fr}.offline-mode-toolbar{align-items:flex-start;flex-direction:column}.offline-mode-actions,.offline-mode-actions .button{width:100%}.offline-mode-actions .button{justify-content:center;text-align:center}.start-choice{min-height:82px}}

/* v1.0.46 — explicit offline final actions */
.rk-offline-mode [data-complete-install],
.rk-offline-mode [data-complete-install][hidden]{display:none!important;}

/* v1.0.47 installer review/offline tidy-up */
.workflow-runner [hidden]{display:none!important}
.signature-editor[hidden],.signature-existing[hidden]{display:none!important}
.signature-existing{position:relative}.signature-existing .button{justify-self:start;margin-top:4px}
.rk-offline-mode .sync-status[data-state="pending"],.rk-offline-mode .sync-status[data-state="offline"]{display:none!important}
.rk-offline-mode [data-save-draft]{display:none!important}
.workflow-review-next{min-width:140px;text-align:center;justify-content:center}
@media(max-width:700px){.signature-existing .button{width:auto}.workflow-review-next{flex:1}}


/* v1.0.48 mobile confirmation spacing + connectivity-aware Sync */
.workflow-confirm-block{display:flex;align-items:center;gap:12px;margin:14px 0 18px;padding:14px 16px;border:1px solid #dce5e7;background:#f5f8f8;font-weight:800;min-height:56px}
.workflow-confirm-block input{width:22px!important;height:22px!important;flex:0 0 22px;margin:0!important}
.offline-sync-button:disabled,.offline-sync-button.is-offline-disabled{background:#9fcbbf!important;color:#f7fbfa!important;border-color:#9fcbbf!important;opacity:.72;cursor:not-allowed;box-shadow:none!important}
@media(max-width:700px){.workflow-confirm-block{margin:18px 0 22px;padding:16px 15px;min-height:62px}.workflow-form .workflow-confirm-block+.step-actions{margin-top:14px}.workflow-runner .step-actions{padding-top:6px}}

/* v1.0.49: clear end-of-offline-work state. */
.offline-final-state{display:none}
.rk-offline-mode .evidence-review .workflow-progress{display:none}
.rk-offline-mode .offline-final-state{display:block;margin:0 0 18px;padding:18px 20px;border:1px solid #9bcbae;background:#eef9f1;color:#183c2c}
.rk-offline-mode .offline-final-state strong{display:block;font-size:1.12rem;margin-bottom:6px}
.rk-offline-mode .offline-final-state p{margin:6px 0;line-height:1.45}
@media(max-width:700px){.rk-offline-mode .offline-final-state{margin:0 0 14px;padding:16px}.rk-offline-mode .offline-final-state strong{font-size:1.08rem}}
