@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-ExtraBold.woff2) format("woff2");font-weight:800 900;font-style:normal;font-display:swap}:root{font-family:Montserrat,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211b;background:#f5f7f6;font-synthesis:none;text-rendering:optimizeLegibility;--green: #16a35a;--green-dark: #0d7a42;--green-soft: #e8f9ef;--ink: #141c17;--muted: #69736d;--line: #dfe4e1;--surface: #ffffff;--shadow: 0 1px 2px rgba(15, 23, 19, .05), 0 5px 16px rgba(15, 23, 19, .035)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#f6f8f7}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}h1,h2,h3,h4,p{margin-top:0}.app-shell{min-height:100vh}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(28px,calc((100vw - 1240px)/2));background:#fffffff5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{border:0;background:transparent;display:flex;align-items:center;padding:0;color:var(--ink)}.brand-lockup{width:154px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.brand-logo{width:100%;height:auto;display:block}.brand-product{color:var(--green-dark);font-size:7px;font-weight:800;letter-spacing:.16em;line-height:1}.navigation{display:flex;gap:4px;align-items:center}.topbar-right{min-width:0;display:flex;align-items:center;gap:12px}.language-switcher{display:inline-flex;align-items:center;gap:3px;padding:4px;border:1px solid #d8e0db;border-radius:9px;background:#f7faf8}.language-switcher button{min-width:38px;height:30px;padding:0 8px;border:0;border-radius:6px;color:#69756e;background:transparent;font-size:11px;font-weight:800;letter-spacing:.04em}.language-switcher button:hover{color:var(--green-dark);background:#edf7f1}.language-switcher button.active{color:#fff;background:var(--green);box-shadow:0 2px 6px #126d382e}.language-switcher.compact{padding:3px}.language-switcher.compact button{min-width:29px;height:27px;padding:0 5px;font-size:10px}.auth-language{position:absolute;top:18px;right:18px}.external-review-header-actions{display:flex;align-items:center;gap:12px}.protocol-translation-note{display:flex;align-items:flex-start;gap:11px;margin:14px 0 18px;padding:13px 14px;border:1px solid #b9ddc7;border-radius:10px;color:#174c2d;background:#f1faf4}.protocol-translation-note svg{flex:0 0 auto;color:var(--green)}.protocol-translation-note strong,.protocol-translation-note span{display:block}.protocol-translation-note span{margin-top:3px;color:#587064;font-size:12px;line-height:1.45}.nav-item{border:0;background:transparent;color:#4b554f;display:inline-flex;align-items:center;gap:7px;border-radius:9px;padding:11px 13px;font-weight:590;font-size:14px;white-space:nowrap;transition:.18s ease}.nav-item:hover{color:var(--green-dark);background:#f0f8f3}.nav-item.active{color:var(--green-dark);background:#dcf8e7}.account-control{flex:0 0 auto;display:flex;align-items:center;gap:9px;min-height:42px;padding:4px 5px 4px 7px;border:1px solid #dfe6e2;background:#fbfdfc;border-radius:10px}.account-avatar{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#169e58,#0c7540);font-size:13px;font-weight:800}.account-avatar.demo{color:#657069;background:#e9efec}.account-copy{display:flex;flex-direction:column;min-width:0;max-width:120px;line-height:1.15}.account-copy strong,.account-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.account-copy strong{font-size:11px}.account-copy small{margin-top:3px;color:var(--muted);font-size:9px}.account-control>button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;color:#6d7771;background:transparent}.account-control>button:hover{color:#b32e2e;background:#fff0f0}.mobile-menu-toggle,.mobile-menu-backdrop{display:none}.page-container{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:34px 0 72px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.page-header h1{margin-bottom:5px;font-size:clamp(24px,3vw,30px);letter-spacing:-.035em;color:var(--ink)}.page-header p{color:var(--muted);margin-bottom:0;font-size:15px}.page-header-action,.header-actions{display:flex;align-items:center;gap:10px}.button{border-radius:8px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;font-weight:700;font-size:14px;min-height:42px;transition:.18s ease;white-space:nowrap}.button-primary{color:#fff;background:var(--green);box-shadow:0 4px 12px #16a35a29}.button-primary:hover{background:#128d4d;transform:translateY(-1px)}.button-secondary{color:#334038;background:#fff;border-color:#cad2cd}.button-secondary:hover{border-color:#95a49b;background:#fafcfb}.text-button{border:0;background:transparent;color:var(--green-dark);font-weight:750;padding:3px 0}.search-panel{min-height:64px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;padding:12px 16px;margin-bottom:18px;color:#8a948e}.search-panel input{border:0;outline:none;width:100%;font-size:15px;color:var(--ink);background:transparent}.search-panel input::placeholder{color:#969e99}.protocol-archive-tabs{display:inline-flex;align-items:center;gap:4px;margin:-8px 0 16px;padding:4px;border:1px solid var(--line);border-radius:11px;background:#edf2ef}.protocol-archive-tabs button{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:0;border-radius:8px;color:#657069;background:transparent;font-size:12px;font-weight:750}.protocol-archive-tabs button.active{color:#126d38;background:#fff;box-shadow:0 2px 7px #19362514}.protocol-archive-tabs button span{min-width:21px;padding:2px 6px;border-radius:999px;color:#526159;background:#dde5e0;font-size:10px}.protocol-archive-tabs button.active span{color:#126d38;background:#dff5e7}.data-card,.form-section,.role-description-card,.signature-warning{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:13px;overflow:hidden}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:13px;color:#747d78;font-weight:650;padding:13px 14px;border-bottom:1px solid var(--line);background:#fbfcfb}td{padding:14px;border-bottom:1px solid #e7ebe8;color:#4d5751;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .15s ease}tbody tr:hover{background:#fbfdfc}td strong{display:block;color:var(--ink);font-weight:700}.cell-subtitle{display:block;max-width:390px;color:#929a95;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.protocol-assignees{display:block;margin-top:5px;color:#137342;font-size:10px;font-weight:750}.protocol-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#67716b;font-size:13px}.table-actions-heading{text-align:right}.row-actions{display:flex;justify-content:flex-end;gap:4px}.icon-button{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#1b251f;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}.icon-button:hover{background:#eef3f0}.icon-button-danger:hover{background:#fff0f0;color:#c33232}.table-empty{text-align:center;color:#8a948e;padding:48px 16px}.assigned-protocol-empty{display:flex;flex-direction:column;align-items:center;gap:7px}.assigned-protocol-empty svg{color:var(--green)}.assigned-protocol-empty strong{color:#435048}.assigned-protocol-empty small{font-size:12px}.status-badge,.role-badge,.workflow-badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}.status-draft{color:#8a6500;background:#fff5c8}.status-ready{color:#2b568e;background:#e5f0ff}.status-sent{color:#77458b;background:#f5e8fb}.status-signed{color:#147341;background:#ddf8e8}.workflow-draft{color:#7d610d;background:#fff3c4}.workflow-installation_complete{color:#245c8d;background:#e4f1ff}.workflow-under_review{color:#67428a;background:#f0e7fb}.workflow-returned_for_completion{color:#9a3932;background:#ffe7e4}.workflow-accepted_with_reservations{color:#8a5808;background:#fff0cb}.workflow-accepted{color:#147341;background:#ddf8e8}.workflow-closed{color:#fff;background:#17663e}.role-admin{color:#6c3a7e;background:#f4e8f8}.role-teamleader{color:#147341;background:#ddf8e8}.role-user{color:#4e5c54;background:#edf1ef}.card-title-row{min-height:72px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.card-title-row>div{display:flex;align-items:center;gap:9px;color:var(--ink)}.card-title-row svg{color:var(--green)}.card-title-row>span{border-radius:999px;padding:4px 9px;background:#f0f4f2;font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f17138c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:min(660px,100%);max-height:calc(100vh - 48px);background:#fff;border-radius:16px;box-shadow:0 24px 80px #00000040;overflow:auto}.modal-small{width:min(500px,100%)}.modal-large{width:min(920px,100%)}.modal-header{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-header h2{font-size:20px;margin-bottom:4px}.modal-header p{color:var(--muted);margin:0;font-size:13px}.modal-body{padding:24px}.modal-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:9px;margin-top:22px}.modal-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.modal-form.one-column{grid-template-columns:1fr}.protocol-preview{border:1px solid var(--line);border-radius:12px;overflow:hidden}.protocol-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 20px 0}.protocol-party-card{display:flex;flex-direction:column;gap:5px;min-height:104px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:#fbfdfc}.protocol-party-card.party-a{border-color:#b9dcc8;background:#f1fbf5}.protocol-party-card>span{color:var(--green-dark);font-size:10px;font-weight:850;letter-spacing:.08em}.protocol-party-card strong{margin-top:4px;font-size:16px}.protocol-party-card small{color:var(--muted);line-height:1.4}.preview-banner{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px;background:linear-gradient(135deg,#0d743e,#1cac60);color:#fff}.preview-banner span:first-child{display:block;font-size:11px;letter-spacing:.12em;font-weight:800;opacity:.8}.preview-banner h3{margin:7px 0 0;font-size:25px}.preview-banner .workflow-badge{color:#fff;background:#ffffff2b;border:1px solid rgba(255,255,255,.36)}.workflow-panel{display:grid;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line);background:#f7faf8}.workflow-panel-copy{display:flex;align-items:flex-start;gap:12px}.workflow-panel-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:10px;color:var(--green-dark);background:#e3f6ea}.workflow-panel-copy>div>span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.workflow-panel-copy strong{display:block;margin-top:3px;color:var(--ink);font-size:14px}.workflow-panel-copy p{margin:4px 0 0;color:#68736c;font-size:12px;line-height:1.5}.workflow-track{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.workflow-track>div{position:relative;display:grid;justify-items:center;gap:5px;color:#9aa39e;text-align:center}.workflow-track>div:before{content:"";position:absolute;top:13px;right:50%;left:-50%;height:2px;background:#dce3df}.workflow-track>div:first-child:before{display:none}.workflow-track>div>span{position:relative;z-index:1;width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #dce3df;border-radius:50%;background:#fff;font-size:11px;font-weight:800}.workflow-track>div small{font-size:10px;font-weight:700}.workflow-track>div.complete,.workflow-track>div.active{color:var(--green-dark)}.workflow-track>div.complete:before,.workflow-track>div.active:before{background:#76c996}.workflow-track>div.complete>span{color:#fff;border-color:var(--green);background:var(--green)}.workflow-track>div.active>span{border-color:var(--green);box-shadow:0 0 0 4px #18a7531f}.workflow-return-button{width:fit-content;min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #d9a29e;border-radius:8px;color:#963b35;background:#fff;font-size:12px;font-weight:750}.workflow-return-button:hover{background:#fff4f3}.workflow-return-button:disabled{cursor:wait;opacity:.65}.reservation-task-section{border:1px solid #ead7a8;background:#fffdf7}.reservation-task-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.reservation-task-heading>div{display:flex;align-items:center;gap:10px}.reservation-task-heading h4{margin:0}.reservation-task-heading p{margin:3px 0 0;color:#758078;font-size:13px}.reservation-task-heading>span{padding:6px 10px;border-radius:999px;background:#fff0c7;color:#805600;font-size:12px;font-weight:800}.reservation-task-list{display:grid;gap:12px}.reservation-task-card{padding:15px;border:1px solid #e5ddd0;border-left:4px solid #d69a20;border-radius:12px;background:#fff}.reservation-task-card.status-in_progress{border-left-color:#3b82b9}.reservation-task-card.status-resolved{border-left-color:#5276be;background:#f8fbff}.reservation-task-card.status-verified{border-left-color:#27a35b;background:#f5fbf7}.reservation-task-title{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:start}.reservation-task-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff0c7;color:#805600;font-weight:850}.reservation-task-title strong{display:block;color:#202925}.reservation-task-title p{margin:3px 0 0;color:#5e6862;line-height:1.45}.reservation-task-title em{padding:5px 9px;border-radius:999px;background:#f0f3f1;color:#536059;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.reservation-task-card.status-verified .reservation-task-title em{background:#dcf7e5;color:#137a41}.reservation-task-fields{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:10px;margin-top:14px}.reservation-task-fields .field>span{display:flex;align-items:center;gap:5px}.reservation-task-note{grid-column:1 / -1}.reservation-task-evidence{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.reservation-task-evidence .string-photo-link,.reservation-task-evidence .string-photo-placeholder{width:100px;height:74px;min-height:74px}.reservation-task-photo-empty{display:flex;align-items:center;gap:8px;min-height:58px;padding:10px 12px;border:1px dashed #d8c69f;border-radius:10px;color:#806a3c;font-size:12px}.reservation-task-save{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:9px 13px;border:0;border-radius:9px;background:#178b49;color:#fff;font-weight:800;cursor:pointer}.reservation-task-save:disabled{opacity:.55;cursor:not-allowed}.reservation-task-audit{display:block;margin-top:9px;color:#66736c}.reservation-task-audit.verified{color:#137a41;font-weight:700}.reservation-customer-response,.reservation-resolution-status{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:11px 12px;border-radius:9px}.reservation-customer-response svg,.reservation-resolution-status svg{flex:0 0 auto;margin-top:1px}.reservation-customer-response strong,.reservation-customer-response p,.reservation-resolution-status strong,.reservation-resolution-status p{display:block}.reservation-customer-response p,.reservation-resolution-status p{margin:3px 0 0;color:#626f67;font-size:12px;line-height:1.45}.reservation-customer-response.returned,.reservation-resolution-status.returned{border:1px solid #e7c16a;color:#77540c;background:#fff8e5}.reservation-customer-response.confirmed,.reservation-resolution-status.confirmed{border:1px solid #a9dbbc;color:#126d3c;background:#eef9f2}.reservation-resolution-status.awaiting{border:1px solid #9fc2e1;color:#245f91;background:#f1f7fc}.reservation-resolution-send{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:10px 15px;border:0;border-radius:9px;color:#fff;background:var(--green);font-weight:800;cursor:pointer}.reservation-resolution-send:disabled{opacity:.55;cursor:not-allowed}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.detail-grid>div{background:#fff;padding:18px 20px}.detail-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.detail-grid strong{font-size:14px}.preview-section{padding:20px}.preview-section h4{font-size:14px;margin-bottom:9px}.preview-section p{color:#56615a;line-height:1.6;margin:0}.preview-columns{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.preview-columns>div+div{border-left:1px solid var(--line)}.acceptance-text{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:999px}.acceptance-text.acceptance-pending{color:#7b650c;background:#fff5c8}.acceptance-text.acceptance-accepted{color:#147341;background:#ddf8e8}.acceptance-text.acceptance-accepted_with_reservations{color:#8a5a00;background:#fff1c9}.acceptance-text.acceptance-rejected{color:#a3302a;background:#ffe2df}.dc-technical-preview{border-bottom:1px solid var(--line)}.dc-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dc-preview-grid>div{min-width:0;padding:11px 12px;border-radius:8px;background:#f7f9f8}.dc-preview-grid span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px}.dc-preview-grid strong{display:block;overflow-wrap:anywhere;font-size:13px}.dc-measurement-values{display:grid;gap:3px;min-width:120px}.dc-measurement-values span{color:#66736c;font-size:11px;white-space:nowrap}.dc-measurement-values strong{color:#28352e;font-size:inherit}.module-label-preview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;margin:0 0 12px;padding:12px;border:1px solid #cfe1d6;border-radius:10px;background:#f4fbf7}.module-label-preview .string-photo-link,.module-label-preview .string-photo-placeholder{width:150px;height:105px;min-height:105px;grid-column:auto;grid-row:auto}.module-label-preview>div{min-width:0}.module-label-preview strong,.module-label-preview span,.module-label-preview small{display:block}.module-label-preview span,.module-label-preview small{margin-top:4px;color:var(--muted)}.protocol-photo-gallery-section{overflow:hidden}.protocol-photo-gallery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.protocol-photo-gallery-heading h4{margin:0 0 4px}.protocol-photo-gallery-heading p{margin:0;color:var(--muted);font-size:.88rem}.protocol-photo-gallery-heading>span{flex:0 0 auto;padding:5px 10px;border-radius:999px;color:#136f3b;background:#e8f8ee;font-size:.8rem;font-weight:750}.protocol-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.protocol-photo-card{min-width:0;overflow:hidden;border:1px solid #d8e3dc;border-radius:12px;background:#fff}.protocol-photo-card .string-photo-link,.protocol-photo-card .string-photo-placeholder{width:100%;height:145px;min-height:145px;border:0;border-radius:0;grid-column:auto;grid-row:auto}.protocol-photo-card>div{display:grid;gap:3px;padding:10px 11px 12px}.protocol-photo-card small{color:#148047;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.03em}.protocol-photo-card strong{overflow-wrap:anywhere}.protocol-photo-card span{color:var(--muted);font-size:.78rem}.protocol-photo-gallery-empty{display:flex;align-items:center;justify-content:center;gap:9px;min-height:110px;border:1px dashed #cbd8d0;border-radius:11px;color:var(--muted);background:#fafcfb}.protocol-note-language{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 15px;padding:10px 12px;border:1px solid #bfd5ef;border-radius:10px;color:#244d73;background:#f1f7fd}.protocol-note-language>svg{color:#347ab5}.protocol-note-language span,.protocol-note-language strong{display:block}.protocol-note-language span{font-size:.72rem}.protocol-note-language strong{margin-top:2px;font-size:.86rem}.protocol-note-language button{padding:7px 10px;border:1px solid #91b7d7;border-radius:8px;color:#245f8e;background:#fff;font-size:.78rem;font-weight:750}.protocol-note-language.original{border-color:#d2d8d4;color:#46524b;background:#f7f8f7}.protocol-note-language.original>svg{color:#68756e}.protocol-revision-badge,.preview-revision-badge{display:inline-flex;width:fit-content;margin-top:5px;padding:3px 7px;border-radius:999px;color:#664899;background:#f0e9fb;font-size:.7rem;font-weight:800}.protocol-revision-series{display:grid;gap:9px;margin-bottom:15px;padding:11px 12px;border:1px solid #ded4ed;border-radius:10px;background:#fbf8ff}.protocol-revision-series>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.protocol-revision-series>div:first-child{color:#614783}.protocol-revision-series span{padding:4px 8px;border:1px solid #ddd3e8;border-radius:999px;color:#695b77;background:#fff;font-size:.74rem}.protocol-revision-series span.active{border-color:#7d5ba8;color:#fff;background:#7d5ba8}.dc-string-preview,.dc-check-preview,.dc-defects-preview{border-bottom:1px solid var(--line)}.dc-preview-table{margin-top:12px;border:1px solid var(--line);border-radius:9px}.dc-preview-table th,.dc-preview-table td{padding:10px 9px;font-size:11px}.dc-result{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.dc-result-passed{color:#147341;background:#ddf8e8}.dc-result-failed{color:#a3302a;background:#ffe2df}.dc-result-not_measured{color:#746416;background:#fff4c9}.dc-preview-checks{display:grid;gap:7px;margin-top:12px}.dc-preview-check{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e1e6e3;border-radius:8px}.dc-preview-check.status-passed{border-color:#bce4cc;background:#f5fcf8}.dc-preview-check.status-failed{border-color:#efb5b0;background:#fff5f4}.dc-preview-check.status-confirmed{border-color:#bce4cc;background:#f5fcf8}.dc-preview-check.status-reservation{border-color:#efcf8a;background:#fff9ec}.dc-preview-check.status-not_applicable{color:#748079;background:#f4f6f5}.dc-result-mark{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#167541;background:#e2f7ea;font-size:12px;font-weight:900}.dc-preview-check.status-failed .dc-result-mark{color:#9a302b;background:#ffe2df}.dc-preview-check.status-reservation .dc-result-mark{color:#8a5a00;background:#fff0c2}.dc-preview-check strong,.dc-preview-check small{display:block}.dc-preview-check strong{font-size:12px}.dc-preview-check small{margin-top:3px;color:var(--muted);font-size:10px}.dc-preview-check em{color:var(--muted);font-size:10px;font-style:normal;font-weight:750}.dc-preview-defects{display:grid;gap:8px;margin-top:12px}.dc-preview-defects>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 9px;align-items:center;padding:11px 12px;border:1px solid #eadcc6;border-radius:8px;background:#fffaf1}.dc-preview-defects strong{font-size:12px}.dc-preview-defects small{grid-column:2;color:var(--muted)}.defect-severity{display:inline-flex;padding:4px 6px;border-radius:5px;font-size:9px;font-weight:850;text-transform:uppercase}.severity-critical{color:#fff;background:#b32e2e}.severity-major{color:#8a5200;background:#ffe4af}.severity-minor{color:#4e6256;background:#e9efec}.dc-no-defects{padding:11px 12px;border-radius:8px;color:#147341!important;background:#f1fbf5}.dc-extra-work-preview{border-bottom:1px solid var(--line)}.dc-preview-extra-works{display:grid;gap:10px;margin-top:12px}.dc-preview-extra-works>article{padding:13px;border:1px solid #ead7ad;border-left:4px solid #d4a13b;border-radius:9px;background:#fffbf2}.dc-preview-extra-works>article.approval-approved{border-color:#b8dfc8;border-left-color:var(--green);background:#f4fbf7}.dc-preview-extra-works>article.approval-rejected{border-color:#efb5b0;border-left-color:#c33b34;background:#fff5f4}.dc-preview-extra-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.dc-preview-extra-header strong{font-size:13px}.dc-preview-extra-copy{margin-top:8px}.dc-preview-extra-copy>span,.dc-preview-extra-meta span{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.dc-preview-extra-copy p{color:#455149;font-size:12px;line-height:1.5}.dc-preview-extra-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}.dc-preview-extra-meta>div{padding:8px 9px;border-radius:7px;background:#ffffffbf}.dc-preview-extra-meta strong{display:block;overflow-wrap:anywhere;font-size:11px}.dc-signing-blocker{display:flex;align-items:flex-start;gap:11px;margin:18px 20px 0;padding:14px 15px;border:1px solid #edc980;border-radius:9px;color:#75520e;background:#fff9ec}.dc-signing-blocker>svg{flex:0 0 auto;margin-top:1px}.dc-signing-blocker strong{font-size:13px}.dc-signing-blocker ul{margin:6px 0 0;padding-left:18px;font-size:11px;line-height:1.5}.dc-legacy-record-note{display:flex;align-items:flex-start;gap:11px;margin:14px 0;padding:13px 14px;border:1px solid #b9d8c6;border-radius:10px;color:#215f3b;background:#f2fbf6}.dc-legacy-record-note>svg{flex:0 0 auto;margin-top:1px}.dc-legacy-record-note strong,.dc-legacy-record-note span{display:block}.dc-legacy-record-note span{margin-top:3px;color:#47705a;font-size:12px;line-height:1.45}.protocol-archived-note{display:flex;align-items:flex-start;gap:11px;margin:14px 0;padding:13px 14px;border:1px solid #c7d0cb;border-radius:10px;color:#425249;background:#f1f4f2}.protocol-archived-note>svg{flex:0 0 auto;margin-top:1px}.protocol-archived-note strong,.protocol-archived-note span{display:block}.protocol-archived-note span{margin-top:3px;color:#66716a;font-size:12px;line-height:1.45}.measurement-confirmation{grid-column:1 / -1;display:flex;align-items:flex-start;gap:11px;width:100%;padding:12px 13px;border:1px solid #e0c47f;border-radius:10px;color:#624a13;background:#fffaf0;cursor:pointer}.measurement-confirmation.confirmed{border-color:#9fd0b2;color:#175c35;background:#eef9f2}.measurement-confirmation input{width:20px;height:20px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--green)}.measurement-confirmation span,.measurement-confirmation strong,.measurement-confirmation small{display:block}.measurement-confirmation strong{font-size:13px}.measurement-confirmation small{margin-top:3px;color:inherit;opacity:.76;line-height:1.4}.check-list{padding:0;margin:0;list-style:none;display:grid;gap:7px;color:#4f5b54}.check-list li:before{content:"✓";color:var(--green);font-weight:800;margin-right:8px}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px;background:#fafcfb}.signature-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px;background:#fff;border:1px dashed #c9d2cc;border-radius:10px;color:#7a847e}.signature-card.complete{border-style:solid;border-color:#9eddb8;background:#f2fcf6;color:var(--green-dark)}.signature-card strong{color:var(--ink)}.signature-card span{font-size:12px}.signature-preview-image{width:100%;max-width:180px;height:58px;object-fit:contain;object-position:left center;border:1px solid #dfe7e2;border-radius:7px;background:#fff}.signature-preview-loading,.signature-preview-empty{min-height:42px;display:inline-flex;align-items:center;gap:7px;color:#758078}.signature-pad-wrap{display:grid;gap:16px}.signature-pad-heading{display:flex;align-items:center;gap:12px}.signature-pad-heading>span{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:10px;color:var(--green-dark);background:#e7f8ee}.signature-pad-heading h3{margin:0 0 3px;font-size:17px}.signature-pad-heading p{margin:0;color:var(--muted);font-size:12px}.signature-canvas-frame{position:relative;overflow:hidden;min-height:240px;border:1px solid #b9c8bf;border-radius:11px;background:#fff;box-shadow:inset 0 0 0 3px #f6f9f7}.signature-canvas-frame canvas{position:relative;z-index:2;display:block;width:100%;height:240px;cursor:crosshair;touch-action:none}.signature-canvas-frame>span{position:absolute;z-index:1;left:0;right:0;top:50%;color:#a3ada7;font-size:12px;text-align:center;pointer-events:none}.signature-canvas-frame>i{position:absolute;z-index:1;left:9%;right:9%;bottom:46px;height:1px;background:#c9d2cc;pointer-events:none}.signature-error{padding:10px 12px;border:1px solid #efb5b0;border-radius:8px;color:#922f2a;background:#fff4f3;font-size:12px}.signature-consent{margin:-4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.signature-pad-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}.protocol-form-page{max-width:1050px}.protocol-form-page form{display:grid;gap:18px}.wizard-progress,.wizard-form-actions{display:none}.wizard-progress{margin-bottom:18px;padding:17px;border:1px solid #b9dfc8;border-radius:14px;background:linear-gradient(145deg,#f4fcf7,#fff);box-shadow:var(--shadow)}.wizard-progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.wizard-progress-heading>div{min-width:0}.wizard-progress-heading>div>span,.wizard-progress-heading strong,.wizard-progress-heading small{display:block}.wizard-progress-heading>div>span{color:var(--green);font-size:10px;font-weight:850;letter-spacing:.08em}.wizard-progress-heading strong{margin-top:4px;font-size:20px}.wizard-progress-heading small{margin-top:3px;color:var(--muted)}.draft-status{flex:0 0 auto;padding:6px 9px;border-radius:999px;color:#506058;background:#eef2f0;font-size:10px;font-weight:750}.draft-synced{color:#126d3b;background:#dcf7e7}.draft-offline{color:#7c5810;background:#fff2cc}.draft-error{margin:8px 0 0;color:#9c3b25;font-size:12px;font-weight:650}.wizard-progress-track{height:6px;margin-top:14px;overflow:hidden;border-radius:999px;background:#dfe8e2}.wizard-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#11874a,#28b96c);transition:width .25s ease}.wizard-step-dots{margin-top:12px;display:flex;justify-content:space-between}.wizard-step-dots span{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7ded9;border-radius:50%;color:#7c8780;background:#fff;font-size:10px;font-weight:800}.wizard-step-dots span.active{border-color:var(--green);color:#fff;background:var(--green);box-shadow:0 0 0 4px #16a35a1a}.wizard-step-dots span.complete{border-color:#9eddb8;color:#126d3b;background:#e5f8ed}.wizard-mobile .wizard-progress{display:block}.wizard-mobile .wizard-form-actions{display:grid}.wizard-mobile .desktop-form-actions{display:none}.wizard-mobile .wizard-step-section:not(.wizard-step-active),.wizard-mobile .wizard-final-only:not(.wizard-step-active){display:none}.form-section{padding:24px;overflow:visible}.section-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:24px}.section-heading.compact{align-items:center;margin-bottom:16px}.section-heading>svg{color:var(--green);margin-top:2px}.section-heading h2{font-size:18px;margin:0 0 4px}.section-heading.compact h2{margin:0}.section-heading p{color:var(--muted);font-size:13px;margin:0}.company-settings-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:20px;align-items:start}.company-profile-list{display:grid;gap:10px;margin-bottom:20px}.company-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 12px #1c3d2a0a}.company-profile-card.default{border-color:#9ed1b2;background:#f5fbf7}.company-profile-card.selected{box-shadow:0 0 0 2px #16a35a21}.company-profile-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--green-dark);background:var(--green-soft)}.company-profile-copy{min-width:0}.company-profile-copy>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.company-profile-copy strong,.company-profile-copy small{display:block;overflow-wrap:anywhere}.company-profile-copy strong{font-size:14px}.company-profile-copy small{margin-top:3px;color:var(--muted);font-size:10px}.company-profile-copy span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;color:#116e3c;background:#dff5e8;font-size:9px;font-weight:800}.company-profile-actions{display:flex;align-items:center;gap:7px}.company-profile-actions .button{min-height:36px;padding:8px 10px;font-size:10px}.company-settings-form{overflow:hidden}.company-settings-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.company-settings-preview{overflow:hidden;border:1px solid #b9d9c6;border-radius:13px;background:linear-gradient(145deg,#effaf3,#fff);box-shadow:var(--shadow)}.company-settings-preview-heading{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid #d8e8de}.company-settings-preview-heading>svg{color:var(--green)}.company-settings-preview-heading span,.company-settings-preview-heading strong{display:block}.company-settings-preview-heading span{color:var(--green-dark);font-size:10px;font-weight:850;letter-spacing:.09em}.company-settings-preview-heading strong{margin-top:3px}.company-settings-party{display:flex;flex-direction:column;gap:7px;padding:22px 20px}.company-settings-party strong{font-size:19px;color:var(--ink)}.company-settings-party span{color:#56645c;line-height:1.45}.company-settings-note{display:flex;align-items:flex-start;gap:10px;margin:0 14px 14px;padding:13px;border-radius:9px;color:#356048;background:#e3f6ea}.company-settings-note svg{flex:0 0 auto;margin-top:1px}.company-settings-note p{margin:0;font-size:12px;line-height:1.5}.form-grid{display:grid;gap:16px;margin-top:18px}.form-grid.two-columns{grid-template-columns:repeat(2,1fr)}.form-grid.three-columns{grid-template-columns:repeat(3,1fr)}.form-grid.four-columns{grid-template-columns:repeat(4,1fr)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{color:#465149;font-size:13px;font-weight:680}.field small{color:var(--muted);line-height:1.45}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7d2;border-radius:8px;background:#fff;color:var(--ink);padding:11px 12px;outline:0;min-height:44px;transition:.15s ease}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #16a35a1a}.field input[readonly]{color:#31513e;background:#f1f7f3;font-weight:750}.gps-button{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;margin-top:2px;padding:7px 10px;border:1px solid #a9d6bb;border-radius:8px;color:#126d3b;background:#eefaf3;font-size:11px;font-weight:750}.gps-button:disabled{opacity:.6;cursor:wait}.field-span-2{grid-column:span 2}.field-span-all{grid-column:1 / -1}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:12px;top:13px;color:#89938d;pointer-events:none}.input-with-icon input{padding-left:40px}.static-party-card{border:1px solid #b8dfc8;background:#f1fbf5;border-radius:10px;padding:17px;min-height:110px}.static-party-card span{display:block;color:var(--green-dark);font-size:11px;font-weight:800;letter-spacing:.08em}.static-party-card strong{display:block;font-size:17px;margin-top:10px}.static-party-card p{color:var(--muted);font-size:13px;margin:5px 0 0}.supplier-company-card{min-height:0}.supplier-company-card .field{margin-bottom:14px}.supplier-company-card .field>span{margin-bottom:6px;color:#48564e;font-size:10px;letter-spacing:0;text-transform:none}.supplier-company-card select{background:#fff}.assignment-panel{margin-top:18px;padding:16px;border:1px solid #b8d8c5;border-radius:12px;background:linear-gradient(145deg,#f2fbf6,#fff)}.assignment-heading{display:flex;align-items:flex-start;gap:11px}.assignment-heading>span{width:36px;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:#126d3b;background:#ddf7e7}.assignment-heading strong,.assignment-heading small{display:block}.assignment-heading strong{color:#26352c;font-size:14px}.assignment-heading small{margin-top:4px;color:#617068;line-height:1.45}.assignment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.assignment-option{min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #d4ddd7;border-radius:9px;color:#465149;background:#fff;cursor:pointer;transition:.15s ease}.assignment-option:hover{border-color:#98c7aa}.assignment-option.selected{border-color:var(--green);color:#126d3b;background:#eaf9f0;box-shadow:inset 3px 0 0 var(--green)}.assignment-option input{width:17px;height:17px;flex:0 0 auto;accent-color:var(--green)}.assignment-option span{min-width:0}.assignment-option strong,.assignment-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-option strong{font-size:12px}.assignment-option small{margin-top:3px;color:var(--muted);font-size:10px}.assignment-empty{margin:14px 0 0;color:#86570c;font-size:12px}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.choice-card{min-height:52px;border:1px solid #d7ded9;border-radius:9px;background:#fff;color:#465149;text-align:left;padding:10px 11px;display:flex;align-items:center;gap:9px;font-size:13px}.choice-card:hover{border-color:#a9cdb7}.choice-card.active{border-color:var(--green);background:#edfaf2;color:#0d6e3b;font-weight:700}.choice-check{flex:0 0 20px;width:20px;height:20px;border:1px solid #cbd4ce;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.choice-card.active .choice-check{border-color:var(--green);background:var(--green);color:#fff}.inspection-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.checkbox-row{display:flex;align-items:center;gap:9px;border:1px solid #d7ded9;border-radius:9px;padding:13px;color:#465149;font-size:13px}.checkbox-row input{width:17px;height:17px;accent-color:var(--green)}.form-alert{border:1px solid #efb1ad;background:#fff4f3;color:#912d29;border-radius:10px;padding:16px 18px;margin-bottom:18px}.form-alert ul{margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.55}.sticky-form-actions{position:sticky;bottom:14px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid #ccd5cf;border-radius:12px;background:#fffffff0;box-shadow:0 12px 36px #14231b1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sticky-form-actions>span{color:var(--muted);font-size:13px}.sticky-form-actions>div{display:flex;gap:9px}.autosave-summary{display:flex;align-items:center;gap:10px}.autosave-summary>span{color:var(--muted)}.autosave-summary .draft-status{white-space:nowrap}.wizard-form-actions{position:sticky;z-index:15;bottom:8px;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:8px;padding:10px;border:1px solid #c8d5cd;border-radius:13px;background:#fffffff5;box-shadow:0 16px 44px #14231b2e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wizard-form-actions button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;font-weight:800}.wizard-back-button{border:1px solid #d2dad5;color:#526058;background:#fff}.wizard-back-button:disabled{opacity:.45}.wizard-next-button{border:0;color:#fff;background:linear-gradient(120deg,#11874a,#19ad60);box-shadow:0 8px 20px #16a35a33}.section-heading.with-action{align-items:center;justify-content:space-between;gap:18px}.section-heading-copy{display:flex;align-items:flex-start;gap:12px}.section-heading-copy>svg{flex:0 0 auto;color:var(--green);margin-top:2px}.dc-measurement-context{padding-top:18px;margin-top:22px;border-top:1px solid #edf0ee}.measuring-device-type-selector{margin-bottom:18px;padding:15px;border:1px solid #c8ddd0;border-radius:12px;background:#f7fbf8}.measuring-device-type-heading strong,.measuring-device-type-heading span{display:block}.measuring-device-type-heading strong{color:#27362d;font-size:14px}.measuring-device-type-heading span{margin-top:4px;color:#65736b;font-size:12px}.measuring-device-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.measuring-device-type-card{min-width:0;min-height:118px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;border:1px solid #d6e0da;border-radius:10px;color:#35443b;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.measuring-device-type-card>span{width:31px;height:31px;display:grid;place-items:center;margin-bottom:2px;border-radius:8px;color:#137542;background:#e7f7ed}.measuring-device-type-card strong{font-size:12px}.measuring-device-type-card small{color:#6a766f;font-size:10px;line-height:1.35}.measuring-device-type-card.active{border-color:#22a760;background:#effaf3;box-shadow:inset 0 0 0 1px #22a760}.selected-measuring-device{display:flex;align-items:flex-start;gap:11px;margin:-4px 0 16px;padding:12px 14px;border:1px solid #bcd7c7;border-radius:10px;background:#f2faf5}.selected-measuring-device>span{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;color:#126d3b;background:#dff5e7}.selected-measuring-device small,.selected-measuring-device strong,.selected-measuring-device p{display:block;margin:0}.selected-measuring-device small{color:#6b786f;font-size:9px;font-weight:800;letter-spacing:.05em}.selected-measuring-device strong{margin-top:2px;color:#223128;font-size:14px}.selected-measuring-device p{margin-top:3px;color:#617068;font-size:11px;line-height:1.4}.dc-card-list{display:grid;gap:14px}.module-label-scanner{margin-bottom:20px;padding:16px;border:1px solid #b8d8c5;border-radius:12px;background:linear-gradient(145deg,#f2fbf6,#fff)}.module-label-scanner.scan-success{border-color:#75c997;box-shadow:inset 4px 0 #20a75c}.module-label-scanner.scan-error{border-color:#edc686;background:#fffaf0}.module-label-heading{display:flex;align-items:flex-start;gap:11px}.module-label-heading>span{width:36px;height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:#126d3b;background:#ddf7e7}.module-label-heading strong,.module-label-heading small{display:block}.module-label-heading strong{color:#26352c;font-size:14px}.module-label-heading small{margin-top:4px;color:#617068;line-height:1.45}.module-label-content{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:center;margin-top:14px}.measuring-device-fields{margin-top:16px;padding-top:16px;border-top:1px solid #d7e8de}.module-label-content .string-photo-link,.module-label-content .string-photo-placeholder{grid-column:auto;grid-row:auto;width:230px;height:165px;min-height:165px}.module-label-actions{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.module-label-actions>small{color:#607067}.module-scan-result{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;color:#126d3b;background:#e8f8ee;font-size:12px;line-height:1.45}.scan-error .module-scan-result{color:#86570c;background:#fff1d2}.module-scan-result svg{flex:0 0 auto;margin-top:1px}.module-scan-warnings{margin:0;padding-left:18px;color:#7b5816;font-size:11px;line-height:1.5}.module-counter{display:grid;grid-template-columns:auto minmax(130px,1fr) minmax(220px,auto);align-items:center;gap:18px;margin:-6px 0 16px;padding:12px 14px;border:1px solid #e8cf91;border-radius:10px;background:#fffaf0}.module-counter span,.module-counter strong{display:block}.module-counter span{color:#526158;font-size:11px}.module-counter strong{margin-top:2px;color:#126d3b;font-size:17px}.module-counter small{color:#617068;text-align:right}.module-counter small strong{display:inline;margin:0;color:inherit;font-size:inherit}.module-counter-progress{height:10px;overflow:hidden;border-radius:999px;background:#eee5ce;box-shadow:inset 0 0 0 1px #4e3d1314}.module-counter-progress>span{width:0;height:100%;border-radius:inherit;background:#d49a1f;transition:width .2s ease}.module-counter.complete{border-color:#9fd5b5;background:#effaf3}.module-counter.complete .module-counter-progress{background:#d8eddf}.module-counter.complete .module-counter-progress>span{background:#1b9b55}.string-photo-field{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px 16px;align-items:center;margin-top:6px;padding:15px;border:1px solid #b9dcc8;border-radius:10px;background:#f5fcf8}.string-measurement-photo{border-color:#b9d0e4;background:#f4f9fd}.string-measurement-photo.scan-success{border-color:#75c997;box-shadow:inset 4px 0 #20a75c}.string-measurement-photo.scan-error{border-color:#edc686;background:#fffaf0}.string-photo-copy span,.string-photo-copy small{display:block}.string-photo-copy span{color:#314139;font-size:13px;font-weight:750}.string-photo-copy small{margin-top:5px;color:#64736b;line-height:1.45}.string-photo-link{grid-column:2;grid-row:1 / span 3;display:block;overflow:hidden;height:145px;border:1px solid #cbd9d1;border-radius:9px;background:#fff}.string-photo-link img{width:100%;height:100%;display:block;object-fit:cover}.string-photo-placeholder{grid-column:2;grid-row:1 / span 3;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px dashed #b7c8bd;border-radius:9px;color:#7a867f;background:#fff;font-size:11px;text-align:center}.string-camera-button{width:fit-content;display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:9px;color:#fff;background:var(--green);font-size:12px;font-weight:800;cursor:pointer}.string-camera-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.string-photo-time{color:#4e6457;font-size:10px}.dc-preview-table .string-photo-link{width:62px;height:48px}.dc-preview-table .string-photo-placeholder{width:62px;min-height:48px;padding:4px;font-size:0}.dc-preview-table .string-photo-placeholder svg{width:18px}.dc-entry-card{padding:18px;border:1px solid #dce3df;border-radius:11px;background:#fbfdfc}.dc-string-card{scroll-margin-top:88px;transition:padding .18s ease,border-color .18s ease,box-shadow .18s ease}.dc-string-card.expanded{border-color:#b9d7c5;box-shadow:0 7px 22px #1c3d2a12}.dc-string-card.collapsed{padding:10px 12px;background:#fff}.dc-string-collapsed{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px}.dc-string-collapsed-photo{width:72px;height:58px;overflow:hidden;border-radius:8px}.dc-string-collapsed-photo .string-photo-link,.dc-string-collapsed-photo .string-photo-placeholder{grid-column:auto;grid-row:auto;width:72px;height:58px;min-height:58px;padding:3px;border-radius:8px}.dc-string-collapsed-photo .string-photo-placeholder{gap:0;font-size:0}.dc-string-collapsed-photo .string-photo-placeholder svg{width:18px}.dc-string-summary-main{min-width:0;display:block;padding:3px 0;border:0;color:inherit;background:transparent;text-align:left}.dc-string-summary-main>span,.dc-string-summary-main>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-string-summary-main>span{color:#768179;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.dc-string-summary-main>strong{margin-top:2px;color:#243128;font-size:14px}.dc-string-summary-values{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.dc-string-summary-values>span{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:999px;color:#536159;background:#f0f4f2;font-size:9px;font-weight:700}.dc-string-summary-values>span.complete{color:#126d3b;background:#e4f7ec}.dc-string-summary-values>span.missing{color:#86570c;background:#fff0cd}.dc-string-summary-values b{font:inherit}.dc-string-collapsed-actions,.dc-string-expanded-actions{display:flex;align-items:center;gap:5px}.dc-entry-header>div>small{color:#738078;font-size:11px}.string-add-footer{display:flex;justify-content:flex-end;margin-top:14px}.dc-entry-card.defect-card{border-left:4px solid #eab65d}.dc-entry-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.dc-entry-header strong{color:#243128;font-size:14px}.dc-checklist{display:grid;gap:8px}.dc-check-row{display:grid;grid-template-columns:30px minmax(240px,1fr) 160px minmax(190px,.8fr);align-items:center;gap:10px;padding:9px 10px;border:1px solid #dce3df;border-radius:9px;background:#fbfcfb}.dc-check-row.status-passed{border-color:#b6e2c8;background:#f3fbf6}.dc-check-row.status-failed{border-color:#efb5b0;background:#fff5f4}.dc-check-row.status-confirmed{border-color:#b6e2c8;background:#f3fbf6}.dc-check-row.status-reservation{border-color:#e9c36f;background:#fff9eb}.dc-check-row.status-not_applicable{background:#f2f4f3;color:#6f7872}.dc-check-number{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#167541;background:#e2f7ea;font-size:12px;font-weight:800}.dc-check-row strong{font-size:13px;line-height:1.35}.dc-check-row select,.dc-check-row input{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid #cfd7d2;border-radius:8px;color:var(--ink);background:#fff;outline:0}.dc-check-row select:focus,.dc-check-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #16a35a1a}.dc-empty-state{min-height:72px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px dashed #b9dcc8;border-radius:10px;color:var(--green-dark);background:#f5fcf8;font-size:13px}.acceptance-section{border-top:3px solid var(--green)}.installer-signature-section{display:grid;gap:16px;margin-top:20px;padding:18px;border:1px solid #e2b869;border-radius:12px;background:#fffaf0}.installer-signature-section.complete{border-color:#94d3ad;background:#f1fbf5}.installer-signature-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.installer-signature-heading h3{margin:8px 0 3px;font-size:17px}.installer-signature-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.installer-signature-heading>svg{flex:0 0 auto;color:var(--green)}.installer-signature-complete{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid #b8e1c8;border-radius:10px;background:#fff}.installer-signature-complete strong,.installer-signature-complete span{display:block}.installer-signature-complete span{margin-top:3px;color:var(--muted);font-size:11px}.saved-signature-choice,.signature-required-message{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #d7dfda;border-radius:10px;background:#fff}.saved-signature-choice strong,.saved-signature-choice span,.signature-required-message strong,.signature-required-message span{display:block}.saved-signature-choice span,.signature-required-message span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.signature-required-message>svg{flex:0 0 auto;color:#9a6809}.signature-required-message>div{flex:1 1 auto}.responsibility-heading>div{min-width:0}.responsibility-heading h2{margin-top:7px}.responsibility-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.07em}.responsibility-badge.installer{color:#126d3b;background:#ddf7e7}.responsibility-badge.handover{color:#4b3a75;background:#eee8ff}.handover-review-card{padding:16px;border:1px solid #d6cdef;border-radius:12px;background:linear-gradient(145deg,#fbf9ff,#fff)}.handover-reviewer-grid{padding-top:17px;border-top:1px solid #e5dff4}.handover-signature-note{margin:14px 0 0;padding:10px 12px;border-radius:8px;color:#4e426c;background:#f2edff;font-size:12px;line-height:1.5}.acceptance-heading{margin-top:28px;padding-top:24px;border-top:1px solid #dce3df}.legacy-review-note{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #ddd4f0;border-radius:10px;background:#faf8ff}.legacy-review-note strong,.legacy-review-note span{display:block}.legacy-review-note span{margin-top:3px;color:var(--muted);font-size:12px}.legacy-review-note button{flex:0 0 auto;padding:9px 11px;border:1px solid #b9a9df;border-radius:8px;color:#4b3a75;background:#fff;font-weight:750}.handover-reviewer-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.handover-reviewer-summary>div{padding:10px;border-radius:8px;background:#f7f4ff}.handover-reviewer-summary span,.handover-reviewer-summary strong{display:block}.handover-reviewer-summary span{color:var(--muted);font-size:10px}.handover-reviewer-summary strong{margin-top:3px;font-size:12px}.handover-preview-note{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#f7f4ff;font-size:12px;line-height:1.5}.handover-feedback-preview{display:grid;gap:7px;margin-top:12px;padding:12px;border:1px solid #dfe7e2;border-radius:9px;background:#f8fbf9}.handover-feedback-preview h5{margin:0 0 3px;font-size:12px}.handover-feedback-preview>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.handover-feedback-preview span{color:#536059;font-size:10px}.handover-feedback-preview>div strong{flex:0 0 auto;color:#d39b0f;font-size:14px;letter-spacing:.04em}.handover-feedback-preview p{margin:3px 0 0;padding-top:8px;border-top:1px solid #e1e7e3;font-size:11px;line-height:1.5}.acceptance-summary{margin-top:18px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid #d8dfdb;background:#f7f9f8}.acceptance-summary>svg{color:#6c7770}.acceptance-summary span,.acceptance-summary strong{display:block}.acceptance-summary span{margin-bottom:3px;color:var(--muted);font-size:11px}.acceptance-summary strong{font-size:14px}.acceptance-accepted{border-color:#a9ddbd;background:#effaf3;color:#126d3b}.acceptance-accepted_with_reservations{border-color:#efd39d;background:#fff9ec;color:#8b5c00}.acceptance-rejected{border-color:#efb5b0;background:#fff4f3;color:#922f2a}.acceptance-accepted>svg,.acceptance-accepted_with_reservations>svg,.acceptance-rejected>svg{color:currentColor}.protocol-safety-note{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid #d9e2dd;border-radius:10px;color:#5f6d65;background:#f9fbfa;font-size:12px;line-height:1.5}.protocol-safety-note svg{flex:0 0 auto;color:#718078;margin-top:1px}.extra-work-section{border-top:3px solid #2f7c54}.extra-work-question{margin:0 0 16px;padding:0;border:0}.extra-work-question legend{margin-bottom:10px;color:#38463d;font-size:13px;font-weight:750}.extra-work-question>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.extra-work-question button{min-height:68px;display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid #d5dcd8;border-radius:10px;color:#4a5750;background:#fbfcfb;text-align:left}.extra-work-question button>svg,.extra-work-no-mark{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#6a756f;background:#edf1ef}.extra-work-question button span strong,.extra-work-question button span small{display:block}.extra-work-question button span small{margin-top:3px;color:var(--muted);font-size:11px}.extra-work-question button.active.yes{border-color:#6fc796;color:#126d3b;background:#eefaf3;box-shadow:0 0 0 2px #16a35a14}.extra-work-question button.active.yes>svg{color:#fff;background:var(--green)}.extra-work-question button.active.no{border-color:#b9c5be;color:#334038;background:#f3f6f4}.extra-work-card{border-left:4px solid #d4a13b}.extra-work-card.approval-approved{border-left-color:var(--green)}.extra-work-card.approval-rejected{border-left-color:#c33b34}.dc-entry-header>div{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.extra-work-approval{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850;text-transform:uppercase}.extra-work-approval.approval-pending{color:#805f11;background:#fff1c9}.extra-work-approval.approval-approved{color:#126d3b;background:#ddf8e8}.extra-work-approval.approval-rejected{color:#a3302a;background:#ffe2df}.extra-work-decision{margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e3d6b9;border-radius:8px;color:#755b1c;background:#fffaf0}.extra-work-decision.approval-approved{border-color:#a9ddbd;color:#126d3b;background:#effaf3}.extra-work-decision.approval-rejected{border-color:#efb5b0;color:#922f2a;background:#fff4f3}.extra-work-decision strong{font-size:12px}.extra-work-decision span{color:var(--muted);font-size:11px;text-align:right}.extra-work-review-note{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #cfe0d6;border-radius:9px;color:#365344;background:#f1f8f4}.extra-work-review-note>svg{flex:0 0 auto;margin-top:1px;color:var(--green)}.extra-work-review-note strong,.extra-work-review-note span{display:block}.extra-work-review-note strong{font-size:12px}.extra-work-review-note span{margin-top:3px;color:#66756d;font-size:11px;line-height:1.45}.signature-warning{padding:24px;margin-bottom:20px;border-color:#e8bb76;box-shadow:0 0 0 1px #f9ead2 inset}.inline-warning{padding:13px 15px;border:1px solid #efddc2;background:#fff9ef;color:#9a5e27;border-radius:8px;margin-bottom:12px;font-size:14px}.users-card{margin-bottom:20px}.user-row-actions{justify-content:flex-start}.archived-users-card{border-style:dashed;background:#fbfcfb}.archived-users-card .card-title-row svg{color:#748078}.inactive-user-row{color:#667169;background:#fafbfa}.inactive-user-badge{display:inline-flex;padding:5px 10px;border-radius:999px;color:#5d6861;background:#e8edeb;font-size:12px;font-weight:750}.compact-button{min-height:34px;padding:7px 11px;font-size:12px}.user-removal-dialog>p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.55}.modal-form .field small{color:var(--muted);font-size:11px;line-height:1.45}.read-only-notice{margin-bottom:16px;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #cfe0d6;border-radius:10px;color:#365344;background:#f1f8f4}.read-only-notice svg{flex:0 0 auto;margin-top:1px;color:var(--green)}.read-only-notice strong,.read-only-notice span{display:block}.read-only-notice strong{font-size:13px}.read-only-notice span{margin-top:2px;color:#66756d;font-size:12px}.role-description-card{padding:22px}.eyebrow{display:block;font-size:10px;font-weight:800;color:#87918b;letter-spacing:.09em;margin-bottom:12px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.role-info{padding:15px;border:1px solid var(--line);border-radius:9px;display:grid;grid-template-columns:auto 1fr;gap:7px 8px}.role-info svg{grid-row:1 / 3;color:var(--green)}.role-info strong{font-size:13px}.role-info p{grid-column:2;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.role-info.admin{background:#fbf4fc}.role-info.lead{background:#f0fbf5}.role-info.basic{background:#fafbfa}.signature-card .text-button{display:inline-flex;align-items:center;gap:6px}.review-link-dialog{display:flex;flex-direction:column;align-items:center;text-align:center}.review-link-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;border-radius:14px;color:var(--green-dark);background:var(--green-soft)}.review-link-dialog h3{margin-bottom:7px;font-size:20px}.review-link-dialog>p{max-width:500px;margin-bottom:20px;color:var(--muted);font-size:13px;line-height:1.55}.review-link-dialog label{width:100%;text-align:left}.review-link-dialog label span{display:block;margin-bottom:7px;color:#465149;font-size:12px;font-weight:750}.review-link-dialog input{width:100%;padding:12px;border:1px solid #bfcac3;border-radius:9px;color:#264333;background:#f5faf7;font-size:12px}.review-link-expiry{width:100%;display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:11px 12px;border-radius:9px;color:#537061;background:#edf8f1;text-align:left;font-size:12px;line-height:1.45}.review-link-expiry svg{flex:0 0 auto;color:var(--green)}.review-link-actions{width:100%;display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.external-handover-lock{margin-top:22px;padding:17px;border:1px solid #cddbd3;border-radius:11px;background:#f7faf8}.external-handover-lock-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.external-handover-lock-heading>svg{color:var(--green)}.external-handover-lock-heading div{display:flex;flex-direction:column}.external-handover-lock-heading span{color:var(--green-dark);font-size:9px;font-weight:850;letter-spacing:.07em}.external-handover-lock-heading strong{margin-top:3px;font-size:14px}.external-handover-lock>p{margin:0;color:#637069;font-size:12px;line-height:1.55}.external-handover-results{display:grid;gap:6px;margin-top:12px}.external-handover-results>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #dde5e0;border-radius:8px;background:#fff}.external-handover-results>div.status-confirmed{border-color:#b8dfc8;background:#f4fbf7}.external-handover-results>div.status-reservation{border-color:#ead08f;background:#fffaf0}.external-handover-results>div>span{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#147341;background:#e0f6e8;font-size:10px;font-weight:900}.external-handover-results>div.status-reservation>span{color:#805a06;background:#fff0c2}.external-handover-results strong{font-size:11px}.external-handover-results em{color:var(--muted);font-size:9px;font-style:normal;font-weight:750}.external-handover-lock .acceptance-summary{margin-top:13px}.external-review-page{min-height:100vh;color:#18221c;background:#f3f6f4}.external-review-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(24px,calc((100vw - 1160px)/2));border-bottom:1px solid #dfe6e2;background:#fffffff7}.external-review-brand{display:flex;align-items:center;gap:11px}.external-review-brand img{width:38px;height:38px}.external-review-brand div{display:flex;flex-direction:column}.external-review-brand strong{color:#4a5750;font-size:13px;letter-spacing:.04em}.external-review-brand span{margin-top:3px;color:var(--green-dark);font-size:11px;font-weight:700}.external-review-security{display:flex;align-items:center;gap:7px;color:#557064;font-size:12px;font-weight:700}.external-review-security svg{color:var(--green)}.external-review-header-actions{display:flex;align-items:center;gap:14px}.external-review-hero{min-height:224px;display:flex;align-items:center;justify-content:space-between;gap:48px;padding:40px max(24px,calc((100vw - 1160px)/2));color:#fff;background:linear-gradient(125deg,#0b6938,#11864a 58%,#1da860)}.external-review-hero>div:first-child{max-width:720px}.external-review-eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:11px;color:inherit;font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.external-review-hero h1{margin-bottom:10px;font-size:clamp(27px,4vw,39px);letter-spacing:-.04em}.external-review-hero p{max-width:680px;margin:0;color:#ffffffd1;line-height:1.6}.external-review-number{min-width:220px;padding:18px 20px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.external-review-number span,.external-review-number strong,.external-review-number small{display:block}.external-review-number span{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.external-review-number strong{margin:5px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}.external-review-number small{font-size:10px;opacity:.7}.external-review-layout{width:min(1160px,calc(100% - 40px));display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:20px;margin:26px auto 70px}.external-review-main{min-width:0;display:grid;gap:18px}.external-review-card{padding:25px;border:1px solid #dfe5e1;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.external-review-section-title{display:flex;align-items:center;gap:11px;margin-bottom:18px}.external-review-section-title>svg{color:var(--green)}.external-review-section-title div{display:flex;flex-direction:column}.external-review-section-title span{color:var(--green-dark);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.external-review-section-title h2{margin:3px 0 0;font-size:20px;letter-spacing:-.02em}.external-review-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;border:1px solid #e1e6e3;border-radius:10px;background:#e1e6e3}.external-review-summary-grid>div{min-width:0;padding:13px 14px;background:#fbfcfb}.external-review-summary-grid span,.external-review-summary-grid strong{display:block}.external-review-summary-grid span{margin-bottom:4px;color:var(--muted);font-size:10px}.external-review-summary-grid strong{overflow-wrap:anywhere;font-size:13px}.external-review-scope{margin-top:14px;padding:14px;border-radius:9px;background:#f5f8f6}.external-review-scope span{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase}.external-review-scope p{margin:0;color:#47534c;font-size:13px;line-height:1.55}.external-review-components{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.external-review-components span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;color:#23603f;background:#eaf7ef;font-size:10px;font-weight:700}.external-review-disclosures{display:grid;gap:18px}.external-review-disclosures .external-review-section-title{margin-bottom:0}.external-review-disclosure-group h3{margin-bottom:9px;font-size:13px}.external-review-disclosure-group{display:grid;gap:8px}.external-review-disclosure-group>p{margin:0;color:var(--muted);font-size:12px}.external-review-disclosure-group article{padding:11px 12px;border:1px solid #e5ddd0;border-radius:9px;background:#fffaf2}.external-review-disclosure-group article>div{display:flex;justify-content:space-between;gap:12px}.external-review-disclosure-group article strong{font-size:12px}.external-review-disclosure-group article span{flex:0 0 auto;color:#88651e;font-size:10px;font-weight:750}.external-review-disclosure-group article p{margin:5px 0 0;color:#636e67;font-size:11px;line-height:1.45}.external-review-disclosure-group article.external-extra-work.status-approved{border-color:#a9ddbd;background:#f3fbf6}.external-review-disclosure-group article.external-extra-work.status-rejected{border-color:#efb5b0;background:#fff6f5}.external-review-disclosure-group article .external-extra-work-decision{display:grid;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid #e5ddd0}.external-extra-work-decision>strong{color:#38463d}.external-review-disclosure-group article .external-extra-work-decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.external-extra-work-decision-actions button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d1d9d4;border-radius:8px;color:#5a665f;background:#fff;font-size:11px;font-weight:750}.external-extra-work-decision-actions button.selected.approved{border-color:#66bd8a;color:#0f733d;background:#e9f8ef}.external-extra-work-decision-actions button.selected.rejected{border-color:#df8f88;color:#96342d;background:#fff0ef}.external-review-readonly{position:relative;overflow:hidden}.external-review-readonly:after{content:"IBA NA ČÍTANIE";position:absolute;top:15px;right:17px;padding:4px 7px;border-radius:999px;color:#4f6b5c;background:#edf4f0;font-size:8px;font-weight:850;letter-spacing:.08em}.external-review-readonly-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #e1e6e3;border-radius:10px;background:#e1e6e3}.external-review-readonly-grid>div,.external-review-string-grid>div{min-width:0;padding:11px 12px;background:#fbfcfb}.external-review-readonly-grid span,.external-review-readonly-grid strong,.external-review-string-grid span,.external-review-string-grid strong{display:block}.external-review-readonly-grid span,.external-review-string-grid span{margin-bottom:4px;color:var(--muted);font-size:10px}.external-review-readonly-grid strong,.external-review-string-grid strong{overflow-wrap:anywhere;font-size:12px}.external-review-photo-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:13px;margin-bottom:14px;padding:9px;border:1px solid #dce5df;border-radius:10px;color:inherit;background:#f7faf8;text-decoration:none}.external-review-photo-card>img{width:92px;height:70px;border-radius:7px;object-fit:cover}.external-review-photo-card>div{display:grid;grid-template-columns:22px 1fr;gap:3px 7px}.external-review-photo-card svg{grid-row:1 / 3;color:var(--green)}.external-review-photo-card strong{font-size:12px}.external-review-photo-card span{color:var(--muted);font-size:10px}.external-review-measurement-method{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;margin-bottom:14px;padding:12px;border:1px solid #cfe2d6;border-radius:10px;color:#335443;background:#f1f8f4}.external-review-measurement-method>svg{color:var(--green)}.external-review-measurement-method span,.external-review-measurement-method strong,.external-review-measurement-method small{display:block}.external-review-measurement-method span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.external-review-measurement-method strong{margin-top:2px;font-size:13px}.external-review-measurement-method small{margin-top:3px;color:#68776f;font-size:10px;line-height:1.45}.external-review-string-list{display:grid;gap:12px}.external-review-string-list>article{overflow:hidden;border:1px solid #dce4df;border-radius:11px;background:#f8faf9}.external-review-string-list article>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid #e1e7e3;background:#fff}.external-review-string-list article>header>div span,.external-review-string-list article>header>div strong{display:block}.external-review-string-list article>header>div span{color:var(--green-dark);font-size:9px;font-weight:800;text-transform:uppercase}.external-review-string-list article>header>div strong{margin-top:3px;font-size:14px}.external-review-string-list article>header a{display:flex;align-items:center;gap:7px;color:var(--green-dark);font-size:10px;font-weight:750;text-decoration:none}.external-review-string-list article>header img{width:46px;height:38px;border-radius:6px;object-fit:cover}.external-review-string-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e1e6e3}.external-review-string-measurement-photo{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:center;gap:12px;padding:11px 12px;border-top:1px solid #dfe6e1;color:inherit;background:#f3f8f5;text-decoration:none}.external-review-string-measurement-photo>img{width:108px;height:76px;border-radius:7px;object-fit:cover}.external-review-string-measurement-photo>div{display:grid;grid-template-columns:22px 1fr;gap:3px 7px}.external-review-string-measurement-photo svg{grid-row:1 / 5;color:var(--green)}.external-review-string-measurement-photo strong,.external-review-string-measurement-photo span,.external-review-string-measurement-photo small,.external-review-string-measurement-photo em{grid-column:2}.external-review-string-measurement-photo strong{font-size:12px}.external-review-string-measurement-photo span,.external-review-string-measurement-photo small{color:var(--muted);font-size:10px}.external-review-string-measurement-photo em{display:inline-flex;align-items:center;gap:4px;margin-top:3px;color:#137a41;font-size:10px;font-style:normal;font-weight:750}.external-review-string-measurement-photo em svg{grid-row:auto;width:14px}.external-review-string-list article>p{margin:0;padding:10px 12px;color:#4d5a52;background:#fff;font-size:11px;line-height:1.5}.external-review-empty{margin:0;color:var(--muted);font-size:12px}.external-review-installer-checks{display:grid;gap:8px}.external-review-installer-checks>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e0e6e2;border-left:4px solid #c4cec8;border-radius:9px;background:#fbfcfb}.external-review-installer-checks>div.status-passed{border-left-color:var(--green);background:#f4fbf7}.external-review-installer-checks>div.status-failed{border-left-color:#c9483e;background:#fff6f5}.external-review-installer-checks>div>span{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#5f6b64;background:#e8eeea;font-size:10px;font-weight:800}.external-review-installer-checks>div>div{display:flex;flex-direction:column;gap:3px}.external-review-installer-checks strong{font-size:11px;line-height:1.4}.external-review-installer-checks small{color:var(--muted);font-size:10px}.external-review-installer-checks em{color:#54635a;font-size:9px;font-style:normal;font-weight:800}.external-review-readonly-block{margin-top:16px;padding-top:14px;border-top:1px solid #e2e7e4}.external-review-readonly-block>span{color:#4d5a52;font-size:11px;font-weight:800}.external-review-readonly-notes{display:grid;gap:8px;margin-top:14px}.external-review-readonly-notes p{margin:0;padding:11px 12px;border-radius:9px;color:#4b5850;background:#f3f6f4;font-size:11px;line-height:1.55;white-space:pre-wrap}.external-review-intro{margin:-5px 0 14px;color:var(--muted);font-size:12px;line-height:1.55}.external-review-confirm-all{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:9px 12px;border:1px solid #90cfa9;border-radius:8px;color:#116e3c;background:#f0faf4;font-size:12px;font-weight:750}.external-review-checklist{display:grid;gap:10px}.external-review-check{display:grid;gap:11px;padding:14px;border:1px solid #dde4df;border-left:4px solid #c6d0ca;border-radius:10px;background:#fcfdfc}.external-review-check.status-confirmed{border-color:#a9ddbd;border-left-color:var(--green);background:#f5fbf7}.external-review-check.status-reservation{border-color:#ebc97e;border-left-color:#d99c18;background:#fffaf0}.external-review-check-copy{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px}.external-review-check-copy>span{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#66736b;background:#edf1ef;font-size:11px;font-weight:800}.external-review-check.status-confirmed .external-review-check-copy>span{color:#fff;background:var(--green)}.external-review-check.status-reservation .external-review-check-copy>span{color:#805b08;background:#ffedbd}.external-review-check-copy strong{font-size:13px;line-height:1.4}.external-review-check-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.external-review-check-actions button{min-height:39px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d1d9d4;border-radius:8px;color:#5a665f;background:#fff;font-size:11px;font-weight:750}.external-review-check-actions button.selected.confirmed{border-color:#66bd8a;color:#0f733d;background:#e9f8ef}.external-review-check-actions button.selected.reservation{border-color:#e1b953;color:#805806;background:#fff3cf}.external-review-check label,.external-review-identity label{display:flex;flex-direction:column;gap:6px}.external-review-check label span,.external-review-identity label span{color:#4a5750;font-size:11px;font-weight:700}.external-review-check textarea,.external-review-identity input,.external-review-identity select,.external-review-identity textarea{width:100%;min-height:43px;padding:10px 11px;border:1px solid #cfd8d2;border-radius:8px;outline:0;color:var(--ink);background:#fff}.external-review-check textarea:focus,.external-review-identity input:focus,.external-review-identity select:focus,.external-review-identity textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #16a35a1a}.external-review-check textarea,.external-review-identity textarea{resize:vertical;line-height:1.45}.external-review-identity{display:grid;grid-template-columns:1fr 1fr;gap:14px}.external-review-field-wide{grid-column:1 / -1}.external-review-error{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:11px 12px;border:1px solid #efb5b0;border-radius:8px;color:#96332e;background:#fff4f3;font-size:12px}.external-review-error svg{flex:0 0 auto}.external-review-final-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:18px;padding:14px;border-radius:10px}.external-review-final-action.accepted{border:1px solid #9dd7b4;color:#155e37;background:#edf9f2}.external-review-final-action.reservation{border:1px solid #e5c473;color:#755313;background:#fff8e6}.external-review-final-action>svg{align-self:flex-start}.external-review-final-action strong,.external-review-final-action p{display:block}.external-review-final-action strong{font-size:13px}.external-review-final-action p{margin:3px 0 0;color:#5f6d65;font-size:11px;line-height:1.45}.external-review-final-action button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:0;border-radius:8px;color:#fff;background:var(--green);font-size:12px;font-weight:800}.external-review-final-action.reservation button{background:#a9780e}.external-review-waiting{display:flex;align-items:center;gap:8px;margin-top:18px;padding:12px 13px;border-radius:9px;color:#6e786f;background:#f1f4f2;font-size:12px}.external-review-signature{margin-top:18px;padding-top:20px;border-top:1px solid #dfe5e1}.external-review-feedback-list{display:grid;gap:1px;overflow:hidden;border:1px solid #e0e6e2;border-radius:10px;background:#e0e6e2}.external-review-feedback-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 13px;background:#fbfcfb}.external-review-feedback-list strong{font-size:11px;line-height:1.4}.external-review-stars{display:flex;gap:2px}.external-review-stars button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;color:#b6c0ba;background:transparent}.external-review-stars button.selected{color:#e2a914}.external-review-feedback-note{display:flex;flex-direction:column;gap:6px;margin-top:14px}.external-review-feedback-note span{color:#4a5750;font-size:11px;font-weight:700}.external-review-feedback-note textarea{width:100%;padding:10px 11px;border:1px solid #cfd8d2;border-radius:8px;outline:0;resize:vertical;color:var(--ink);background:#fff;line-height:1.45}.external-review-feedback-note textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #16a35a1a}.external-review-aside{position:sticky;top:18px;display:grid;gap:1px;overflow:hidden;border:1px solid #dfe5e1;border-radius:13px;background:#dfe5e1;box-shadow:var(--shadow)}.external-review-aside>div{display:grid;grid-template-columns:24px 1fr;gap:3px 8px;padding:15px;background:#fff}.external-review-aside svg{grid-row:1 / 3;color:var(--green)}.external-review-aside span{color:var(--muted);font-size:10px}.external-review-aside strong{font-size:11px;line-height:1.45}.external-review-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center;background:radial-gradient(circle at 50% 0%,#e9f8ef,#f5f7f6 52%)}.external-review-state>.spin{color:var(--green)}.external-review-state-icon{width:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:7px;border-radius:18px}.external-review-state-icon.error{color:#9a302b;background:#ffe7e4}.external-review-state-icon.success{color:#117540;background:#dff7e8}.external-review-state-icon.warning{color:#8a6006;background:#fff1c8}.external-review-state h1{max-width:660px;margin-bottom:2px;font-size:29px;letter-spacing:-.035em}.external-review-state>p:not(.external-review-eyebrow){max-width:620px;margin:0;color:var(--muted);line-height:1.6}.external-review-state>small{color:#7b8680}.external-resolution-task-list{display:grid;gap:13px}.external-resolution-task{overflow:hidden;border:1px solid #dce4df;border-left:4px solid #b9c5be;border-radius:11px;background:#fbfcfb}.external-resolution-task.status-confirmed{border-color:#a9ddbd;border-left-color:var(--green);background:#f5fbf7}.external-resolution-task.status-returned{border-color:#ebc97e;border-left-color:#d99c18;background:#fffaf0}.external-resolution-task>header{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:14px;border-bottom:1px solid #e1e7e3;background:#fff}.external-resolution-task>header>span{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#68766e;font-size:11px;font-weight:850}.external-resolution-task>header small,.external-resolution-task>header strong,.external-resolution-task>header p{display:block}.external-resolution-task>header small{color:#8a5a00;font-size:9px;font-weight:850;letter-spacing:.07em}.external-resolution-task>header strong{margin-top:3px;font-size:14px}.external-resolution-task>header p{margin:4px 0 0;color:#657169;font-size:11px;line-height:1.5}.external-resolution-remedy{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:stretch;gap:12px;padding:14px}.external-resolution-remedy>div{padding:12px;border-radius:9px;background:#edf7f1}.external-resolution-remedy small{color:#166d3e;font-size:9px;font-weight:850;letter-spacing:.07em}.external-resolution-remedy p{margin:6px 0;color:#38473f;font-size:12px;line-height:1.55;white-space:pre-wrap}.external-resolution-remedy>div>span{color:var(--muted);font-size:9px}.external-resolution-remedy>a{overflow:hidden;display:grid;grid-template-rows:105px auto;border:1px solid #cddcd3;border-radius:9px;color:#166d3e;background:#fff;text-decoration:none}.external-resolution-remedy img{width:100%;height:105px;object-fit:cover}.external-resolution-remedy a>span{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px;font-size:9px;font-weight:750}.external-resolution-task .external-review-check-actions{padding:0 14px 14px}.external-resolution-task>label{display:flex;flex-direction:column;gap:6px;padding:0 14px 14px}.external-resolution-task>label span{color:#6d500f;font-size:11px;font-weight:750}.external-resolution-task>label textarea{width:100%;padding:10px 11px;border:1px solid #ddc276;border-radius:8px;outline:0;resize:vertical;background:#fff;line-height:1.45}.external-resolution-task>label textarea:focus{border-color:#c58b12;box-shadow:0 0 0 3px #c58b121a}.external-review-complete .external-review-eyebrow{color:var(--green-dark)}.external-review-safe-note{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid #cde1d5;border-radius:9px;color:#4d695a;background:#f7fbf8;font-size:11px}.quality-page{max-width:1040px}.quality-page>section{margin-bottom:18px}.test-placeholder{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#a0aaa4;border-top:1px solid var(--line)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.test-results{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}.test-results>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid #edf0ee}.test-results span{width:23px;height:23px;border-radius:50%;background:#dff8e9;color:var(--green-dark);display:inline-flex;align-items:center;justify-content:center}.test-results strong{font-size:13px}.test-results strong small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:500}.test-results em{font-style:normal;color:var(--green-dark);font-size:11px;font-weight:800}.test-results>div.failed span{color:#a3302a;background:#ffe2df}.test-results>div.failed em{color:#a3302a}.health-panel,.email-test-panel{padding-bottom:22px}.health-ok,.health-error,.email-test-panel>p,.email-test-panel>.button{margin-left:22px;margin-right:22px}.health-ok{display:flex;align-items:center;gap:7px;color:#56615a}.health-ok svg{color:var(--green)}.health-error{display:flex;align-items:center;gap:7px;color:#9b312b}.health-error svg{color:#c9483e}.health-list{margin:0 22px;display:grid;gap:6px}.health-list>div{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;background:#f7f9f8;border-radius:7px;font-size:12px;color:#56615a}.health-list strong{color:var(--green-dark)}.audit-panel{overflow:hidden}.audit-list{border-top:1px solid var(--line)}.audit-item{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid #edf0ee}.audit-item:last-child{border-bottom:0}.audit-item>div{min-width:0;display:flex;flex-direction:column;gap:3px}.audit-item strong{overflow:hidden;color:#344039;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.audit-item small,.audit-item time{color:var(--muted);font-size:11px}.audit-action{justify-self:start;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.audit-insert{color:#147341;background:#ddf8e8}.audit-update{color:#2b568e;background:#e5f0ff}.audit-delete{color:#99352f;background:#ffe9e7}.audit-empty,.audit-restricted{min-height:100px;display:flex;align-items:center;justify-content:center;gap:9px;padding:24px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}.audit-restricted svg{color:#8b9690}.guide-page{min-height:calc(100vh - 72px)}.guide-hero{background:linear-gradient(120deg,#0e6d3a,#137f44);color:#fff;padding:38px 20px}.guide-hero-inner{width:min(1060px,100%);margin:auto}.guide-hero span{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.08em;font-weight:800;opacity:.8}.guide-hero h1{font-size:31px;margin:13px 0 6px;letter-spacing:-.03em}.guide-hero p{margin:0;opacity:.82;font-size:14px}.guide-layout{width:min(1060px,calc(100% - 40px));margin:30px auto 70px;display:grid;grid-template-columns:230px 1fr;align-items:start;gap:24px}.guide-sidebar,.guide-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.guide-sidebar{padding:14px 10px;position:sticky;top:92px}.guide-sidebar .eyebrow{padding:4px 10px 2px}.guide-sidebar button{width:100%;border:0;background:transparent;color:#647068;display:flex;align-items:center;gap:9px;padding:10px;border-radius:7px;font-size:12px;text-align:left}.guide-sidebar button:hover{background:#f2f7f4}.guide-sidebar button.active{background:var(--green);color:#fff;font-weight:700}.guide-card{padding:28px}.guide-kicker{display:block;color:var(--green);font-size:12px;font-weight:750;margin-bottom:8px}.guide-card h2{font-size:24px;margin-bottom:17px}.guide-card>p{color:#58635c;line-height:1.7;font-size:14px}.guide-feature-grid{margin-top:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.guide-feature-grid>div{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:14px;border:1px solid #e3e8e5;border-radius:9px;background:#fbfdfc}.guide-feature-grid svg{grid-row:1 / 3;color:var(--green)}.guide-feature-grid strong{font-size:13px}.guide-feature-grid span{font-size:11px;color:var(--muted)}.toast{position:fixed;right:24px;bottom:24px;z-index:200;display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:10px;color:#fff;background:#153d2a;box-shadow:0 14px 40px #0000002e;font-size:14px;font-weight:650;animation:toast-in .2s ease-out}.toast svg{color:#77e5a5}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.app-loading,.setup-error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#435048;background:radial-gradient(circle at 50% 0%,#eefaf3,#f7f9f8 48%)}.app-loading{flex-direction:column;gap:13px}.app-loading svg{color:var(--green)}.setup-error-page{padding:24px}.setup-error-page>section{width:min(540px,100%);padding:34px;text-align:center;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 24px 70px #14281d1a}.setup-error-page>section>span{width:52px;height:52px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:#9a6500;background:#fff5cd}.setup-error-page h1{font-size:24px}.setup-error-page p{color:var(--muted);line-height:1.6}.setup-error-page code{color:var(--green-dark);background:#edf7f1;padding:2px 5px;border-radius:4px}.setup-error-page section>div{margin-top:24px;display:flex;justify-content:center;gap:9px}.sync-banner{width:min(1160px,calc(100% - 40px));margin:18px auto -10px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid #e8c276;border-radius:9px;color:#754f0c;background:#fff9e9;font-size:13px}.sync-banner button{margin-left:auto;border:0;color:#75500d;background:transparent;font-weight:750}.auth-page{min-height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:#f3f7f5}.auth-background{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;pointer-events:none}.auth-background-one{width:540px;height:540px;left:-220px;top:-220px;background:radial-gradient(circle,#a9ebc4,transparent 68%)}.auth-background-two{width:500px;height:500px;right:-230px;bottom:-230px;background:radial-gradient(circle,#b7dcc7,transparent 68%)}.auth-card{position:relative;z-index:1;width:min(460px,100%);padding:34px;border:1px solid rgba(210,221,215,.95);border-radius:20px;background:#fffffff5;box-shadow:0 30px 90px #193a2721;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-brand{width:222px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-bottom:32px}.auth-brand-logo{width:100%;height:auto;display:block}.auth-brand>span{color:var(--green-dark);font-size:9px;font-weight:800;letter-spacing:.18em;line-height:1}.auth-heading{margin-bottom:24px}.auth-kicker{display:block;color:var(--green-dark);font-size:10px;font-weight:850;letter-spacing:.11em;margin-bottom:9px}.auth-heading h1{font-size:29px;letter-spacing:-.04em;margin-bottom:7px}.auth-heading p{margin:0;color:var(--muted);line-height:1.55;font-size:14px}.google-button{width:100%;min-height:46px;border:1px solid #d7ded9;border-radius:9px;background:#fff;color:#354139;font-weight:700}.google-button:hover{background:#fafcfb;border-color:#bfc9c2}.google-g{margin-right:8px;color:#4285f4;font-size:16px;font-weight:900}.auth-divider{height:42px;display:flex;align-items:center;color:#929c96;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e3e8e5}.auth-divider span{padding:0 11px}.auth-form{display:grid;gap:15px}.auth-input{position:relative;display:flex;align-items:center}.auth-input>svg{position:absolute;left:12px;color:#8a948e}.auth-input input{padding-left:40px;padding-right:42px}.auth-input button{position:absolute;right:7px;width:32px;height:32px;border:0;background:transparent;color:#7d8881;display:flex;align-items:center;justify-content:center}.auth-message{padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.5}.auth-message.error{border:1px solid #f0b9b5;color:#972f2b;background:#fff3f2}.auth-message.success{border:1px solid #a7ddbd;color:#126d3b;background:#eefaf3}.auth-submit{min-height:47px;border:0;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:linear-gradient(120deg,#11874a,#19ad60);font-weight:800;box-shadow:0 8px 20px #16a35a33}.auth-submit:hover{filter:brightness(.96);transform:translateY(-1px)}.auth-switch{width:100%;margin-top:19px;border:0;background:transparent;color:var(--green-dark);font-size:13px;font-weight:750}.auth-access-note{margin:18px 0 0;padding:11px 12px;display:flex;align-items:flex-start;gap:8px;border:1px solid #dce9e1;border-radius:9px;color:#617068;background:#f7fbf8;font-size:11px;line-height:1.45}.auth-access-note svg{flex:0 0 auto;margin-top:1px;color:var(--green)}.auth-account-email{display:inline-block;margin-top:12px;padding:6px 9px;border-radius:7px;color:var(--green-dark);background:#eef8f2;font-weight:750}.auth-password-help{margin:-3px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.auth-complete{text-align:center}.auth-complete>span{width:58px;height:58px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:18px;color:var(--green-dark);background:#e8f8ee}.auth-complete h1{margin-bottom:8px;font-size:28px}.auth-complete p{margin:0 0 24px;color:var(--muted);line-height:1.55}.auth-complete .auth-submit{width:100%}.auth-footer{position:relative;z-index:1;margin:18px 0 0;color:#7e8982;font-size:11px}@media(max-width:1320px)and (min-width:981px){.topbar{height:auto;padding:12px 20px 10px;align-items:flex-start;flex-direction:column;gap:10px}.topbar-right{width:100%}.navigation{flex:1;min-width:0;overflow-x:auto;padding-bottom:2px}.nav-item{padding:9px 11px}}@media(max-width:980px){.topbar{height:auto;padding:12px 20px 10px;align-items:flex-start;flex-direction:column;gap:10px}.topbar-right{width:100%}.navigation{flex:1;overflow-x:auto;padding-bottom:2px}.nav-item{padding:9px 11px}.choice-grid{grid-template-columns:repeat(3,1fr)}.inspection-options,.form-grid.three-columns,.form-grid.four-columns{grid-template-columns:repeat(2,1fr)}.dc-check-row{grid-template-columns:30px minmax(180px,1fr) 150px}.dc-check-row input{grid-column:2 / -1}.field-span-2{grid-column:span 2}.guide-sidebar{top:130px}.external-review-layout{grid-template-columns:1fr}.external-review-aside{position:static;grid-template-columns:repeat(3,1fr)}.assignment-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.brand-lockup{width:116px}.brand-product{display:none}.auth-language{position:static;display:flex;justify-content:flex-end;margin-bottom:18px}.auth-brand{width:min(210px,70%);margin-bottom:28px}.topbar{flex-direction:row;align-items:center;padding:10px 12px;gap:8px}.topbar-right{flex:1;justify-content:flex-end;overflow:visible;gap:6px}.topbar-right>.navigation,.topbar-right>.language-switcher,.topbar-right>.account-control{display:none}.mobile-menu-toggle{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7e0da;border-radius:11px;color:var(--green-dark);background:#f7fbf8}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#0f17137a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-menu-panel{width:min(342px,calc(100% - 42px));min-height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-18px 0 50px #0c231633}.mobile-menu-heading{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.mobile-menu-heading strong,.mobile-menu-heading span{display:block}.mobile-menu-heading strong{font-size:18px}.mobile-menu-heading span{max-width:230px;margin-top:3px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-heading button{width:44px;height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;color:#4b5750;background:#f2f5f3}.mobile-navigation{display:grid;gap:5px;padding:13px;overflow-y:auto}.mobile-navigation button{min-height:50px;display:flex;align-items:center;gap:13px;padding:10px 13px;border:0;border-radius:11px;color:#344139;background:transparent;font-size:15px;font-weight:720;text-align:left}.mobile-navigation button svg{color:#6c7971}.mobile-navigation button.active{color:var(--green-dark);background:var(--green-soft)}.mobile-navigation button.active svg{color:var(--green)}.mobile-menu-footer{display:grid;gap:13px;margin-top:auto;padding:16px;border-top:1px solid var(--line);background:#fafcfb}.mobile-menu-footer>.language-switcher{width:100%}.mobile-menu-footer>.language-switcher button{min-width:0;height:40px;flex:1}.mobile-account{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.mobile-account>span:nth-child(2){min-width:0}.mobile-account strong,.mobile-account small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-account strong{font-size:13px}.mobile-account small{margin-top:2px;color:var(--muted);font-size:10px}.mobile-account>button{grid-column:1 / -1;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e2c6c6;border-radius:10px;color:#a23131;background:#fff7f7;font-weight:750}.account-avatar{width:34px;height:34px}.page-container{width:min(100% - 24px,1160px);padding-top:24px}.page-header{flex-direction:column;align-items:stretch}.wizard-mobile .wizard-progress{display:block}.wizard-mobile .wizard-form-actions{display:grid}.wizard-mobile .desktop-form-actions{display:none}.wizard-mobile .wizard-step-section:not(.wizard-step-active),.wizard-mobile .wizard-final-only:not(.wizard-step-active){display:none}.wizard-mobile .page-header{margin-bottom:14px}.wizard-mobile .page-header p{display:none}.wizard-mobile .form-alert{margin-bottom:12px}.page-header-action,.header-actions{width:100%}.page-header-action .button,.header-actions .button{flex:1}.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td{display:block}.responsive-table thead{display:none}.responsive-table tr{padding:13px;border-bottom:1px solid var(--line)}.responsive-table tr:last-child{border-bottom:0}.responsive-table td{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:8px 2px;border:0}.responsive-table td:before{content:attr(data-label);color:#89928d;font-size:12px;font-weight:650}.responsive-table .row-actions{justify-content:flex-start}.form-grid.two-columns,.form-grid.three-columns,.form-grid.four-columns,.choice-grid,.inspection-options,.detail-grid,.preview-columns,.signature-grid,.role-grid,.test-results,.guide-feature-grid,.dc-preview-grid,.company-settings-layout,.protocol-party-grid{grid-template-columns:1fr}.company-settings-actions .button{width:100%}.company-profile-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.company-profile-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr}.company-profile-actions .button{width:100%}.assignment-panel{padding:14px}.assignment-options{grid-template-columns:1fr}.workflow-panel{padding:16px 14px}.workflow-track{overflow-x:auto;grid-template-columns:repeat(5,minmax(82px,1fr));padding:3px 2px 8px}.reservation-task-heading{align-items:flex-start;flex-direction:column}.reservation-task-fields{grid-template-columns:1fr}.reservation-task-note{grid-column:auto}.reservation-task-title{grid-template-columns:30px 1fr}.reservation-task-title em{grid-column:2;justify-self:start}.reservation-task-evidence{align-items:stretch;flex-direction:column}.reservation-task-save,.reservation-task-evidence .string-camera-button{width:100%;justify-content:center}.reservation-resolution-send{width:100%}.field-span-2{grid-column:span 1}.preview-columns>div+div{border-left:0;border-top:1px solid var(--line)}.form-section{padding:18px}.wizard-mobile .form-section{padding:17px 15px;border-radius:13px}.wizard-mobile .section-heading{margin-bottom:18px}.wizard-mobile .section-heading h2{font-size:17px}.wizard-mobile .section-heading p{font-size:12px}.module-counter{grid-template-columns:1fr;align-items:flex-start;gap:9px}.measuring-device-type-grid{grid-template-columns:1fr}.measuring-device-type-card{min-height:0}.selected-measuring-device{margin-top:0}.module-counter-progress{width:100%}.module-label-content{grid-template-columns:1fr}.module-label-content .string-photo-link,.module-label-content .string-photo-placeholder{width:100%;height:220px;min-height:220px}.module-label-actions,.module-label-actions .string-camera-button{width:100%}.module-label-preview{grid-template-columns:100px minmax(0,1fr)}.module-label-preview .string-photo-link,.module-label-preview .string-photo-placeholder{width:100px;height:82px;min-height:82px}.protocol-photo-gallery-heading{align-items:flex-start}.protocol-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-photo-card .string-photo-link,.protocol-photo-card .string-photo-placeholder{height:118px;min-height:118px}.protocol-note-language{grid-template-columns:auto 1fr}.protocol-note-language button{grid-column:1 / -1;width:100%}.module-counter small{text-align:left}.string-photo-field{grid-template-columns:1fr}.string-photo-link,.string-photo-placeholder{grid-column:1;grid-row:auto;width:100%;height:210px;min-height:210px}.dc-string-card.collapsed{padding:9px}.dc-string-collapsed{grid-template-columns:64px minmax(0,1fr) auto;gap:9px}.dc-string-collapsed-photo{width:64px;height:54px}.dc-string-collapsed-photo .string-photo-link,.dc-string-collapsed-photo .string-photo-placeholder{width:64px;height:54px;min-height:54px}.dc-string-collapsed-actions{flex-direction:column;gap:3px}.dc-string-summary-values{gap:4px}.dc-string-summary-values>span{padding:3px 5px}.string-add-footer .button{width:100%;min-height:48px}.string-camera-button{width:100%;justify-content:center;min-height:48px}.sticky-form-actions{position:static;flex-direction:column;align-items:stretch}.sticky-form-actions>div{display:grid;grid-template-columns:1fr 1fr}.section-heading.with-action{align-items:stretch;flex-direction:column}.section-heading.with-action .button{width:100%}.dc-check-row{grid-template-columns:28px 1fr;padding:12px}.dc-check-row select,.dc-check-row input{grid-column:1 / -1}.dc-preview-check{grid-template-columns:26px 1fr}.dc-preview-check em{grid-column:2}.legacy-review-note{align-items:stretch;flex-direction:column}.legacy-review-note button{width:100%}.handover-review-card{padding:12px}.handover-reviewer-summary{grid-template-columns:1fr}.installer-signature-section{padding:14px}.installer-signature-complete{grid-template-columns:1fr;align-items:stretch}.saved-signature-choice,.signature-required-message{align-items:stretch;flex-direction:column}.saved-signature-choice .button,.signature-required-message .button{width:100%}.installer-signature-section .signature-pad-actions{display:grid;grid-template-columns:1fr}.installer-signature-section .signature-pad-actions .button{width:100%}.extra-work-question>div{grid-template-columns:1fr}.extra-work-decision{align-items:flex-start;flex-direction:column}.extra-work-decision span{text-align:left}.dc-preview-extra-header{align-items:flex-start;flex-direction:column}.dc-preview-extra-meta{grid-template-columns:1fr}.modal-backdrop{padding:0;align-items:flex-end}.modal{width:100%;max-height:92vh;border-radius:17px 17px 0 0}.modal-body,.modal-header{padding:18px}.modal-form{grid-template-columns:1fr}.guide-layout{grid-template-columns:1fr;width:min(100% - 24px,1060px)}.guide-sidebar{position:static;display:flex;overflow-x:auto;gap:4px}.guide-sidebar .eyebrow{display:none}.guide-sidebar button{width:auto;white-space:nowrap}.guide-card{padding:20px}.health-list>div{flex-direction:column}.audit-item{grid-template-columns:auto 1fr;gap:9px 12px;padding:13px 16px}.audit-item time{grid-column:2}.toast{right:12px;left:12px;bottom:12px;justify-content:center}.auth-card{padding:25px 20px;border-radius:16px}.auth-page{justify-content:flex-start;padding-top:22px}.auth-brand{margin-bottom:24px}.sync-banner{width:calc(100% - 24px)}.review-link-actions{display:grid;grid-template-columns:1fr}.external-review-header{height:auto;min-height:66px;padding:12px 16px}.external-review-security{display:none}.external-review-hero{min-height:0;align-items:stretch;flex-direction:column;gap:22px;padding:28px 16px}.external-review-hero h1{font-size:28px}.external-review-number{min-width:0}.external-review-layout{width:calc(100% - 24px);margin-top:14px}.external-review-card{padding:17px 14px;border-radius:12px}.external-review-summary-grid,.external-review-identity,.external-review-readonly-grid,.external-review-string-grid{grid-template-columns:1fr}.external-review-readonly:after{position:static;display:inline-flex;margin:-4px 0 14px}.external-review-photo-card{grid-template-columns:72px minmax(0,1fr)}.external-review-photo-card>img{width:72px;height:60px}.external-review-string-list article>header{align-items:flex-start}.external-review-string-measurement-photo{grid-template-columns:82px minmax(0,1fr)}.external-review-string-measurement-photo>img{width:82px;height:68px}.external-review-installer-checks>div{grid-template-columns:26px minmax(0,1fr)}.external-review-installer-checks em{grid-column:2}.external-review-feedback-list>div{grid-template-columns:1fr;gap:7px}.external-review-stars{justify-content:space-between}.external-review-stars button{width:38px;height:36px}.external-review-field-wide{grid-column:1}.external-review-check-actions{grid-template-columns:1fr}.external-review-disclosure-group article .external-extra-work-decision-actions{grid-template-columns:1fr}.external-review-final-action{grid-template-columns:auto 1fr}.external-review-final-action button{grid-column:1 / -1;width:100%}.external-resolution-remedy{grid-template-columns:1fr}.external-resolution-remedy>a{grid-template-rows:160px auto}.external-resolution-remedy img{height:160px}.external-review-aside{grid-template-columns:1fr}.external-review-disclosure-group article>div{align-items:flex-start;flex-direction:column}.external-review-signature .signature-pad-actions{display:grid;grid-template-columns:1fr}.external-review-signature .signature-pad-actions .button{width:100%}.external-handover-results>div{grid-template-columns:24px 1fr}.external-handover-results em{grid-column:2}}@media print{body *{visibility:hidden}.protocol-preview,.protocol-preview *{visibility:visible}.protocol-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0}.topbar,.modal-header,.modal-actions{display:none!important}}
