:root{--blue:#345c9d;--navy:#20365d;--ink:#263750;--muted:#7c8798;--line:#e1e6ef;--bg:#f4f6fa;--soft:#edf2fb;--teal:#3f9295}*{box-sizing:border-box}body{margin:0;font:14px Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button,a,input,select,textarea{touch-action:manipulation}a{color:var(--blue)}header{height:85px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:0 36px;position:sticky;top:0;z-index:5}.brand{display:flex;gap:18px;align-items:center;text-decoration:none}.brand img{width:190px;height:auto}.brand span{font-size:11px;letter-spacing:1.8px;border-left:1px solid var(--line);padding-left:17px;color:var(--navy);font-weight:bold}.brand small{display:block;letter-spacing:1px;font-size:8px;font-weight:normal;margin-top:6px}.header-note{margin-left:auto;color:var(--muted);font-size:11px}#layout{display:flex;min-height:calc(100vh - 85px)}nav{width:220px;flex-shrink:0;padding:34px 18px;background:#fff;border-right:1px solid var(--line);position:sticky;top:85px;height:calc(100vh - 85px)}nav[hidden]{display:none}.nav-title{color:#9aa4b2;font-size:10px;letter-spacing:2px;margin:0 14px 19px}nav button{width:100%;padding:14px 13px;text-align:left;border:0;border-radius:7px;background:transparent;color:#7b8799;font-size:12px;margin-bottom:5px}nav button.active{background:var(--soft);color:var(--blue);font-weight:bold}.nav-bottom{position:absolute;bottom:30px;left:30px;color:var(--muted);font-size:12px;line-height:1.8}.nav-bottom small{font-size:10px}main{max-width:1450px;min-width:0;width:100%;padding:38px 40px 50px;margin:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#6e8ab4;margin-bottom:9px}h1{font-size:28px;letter-spacing:-.8px;color:var(--navy);margin:0 0 10px}h2{font-size:17px;color:var(--navy);margin:0}h3{font-size:14px;color:var(--navy);margin:0 0 15px}p{line-height:1.65}.muted{color:var(--muted);font-size:12px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.page-head p{margin:0}.primary,.outline,.danger{border-radius:6px;padding:12px 16px;font-weight:600;font-size:12px;white-space:nowrap}.primary{border:1px solid var(--blue);background:var(--blue);color:white}.primary:hover{background:#284d87}.outline{border:1px solid #cfd9e9;color:var(--blue);background:white}.danger{background:#fff5f3;border:1px solid #f0d4ce;color:#a75a48}.small{font-size:11px;padding:8px 10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:21px}.stat span{font-size:11px;color:var(--muted);display:block}.stat strong{font-size:29px;color:var(--navy);font-weight:600;display:block;margin:13px 0 5px}.stat small{font-size:10px;color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:11px;margin-bottom:20px;overflow:hidden}.card-head{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.card-body{padding:22px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{font-size:10px;letter-spacing:.3px;color:var(--muted);font-weight:500;text-align:left;background:#fafbfd;white-space:nowrap}th,td{padding:15px 20px;border-bottom:1px solid #edf0f5;line-height:1.5}tr:last-child td{border-bottom:0}td .muted{font-size:10px;display:block;margin-top:3px}td button.text{border:0;background:none;color:var(--navy);font-weight:bold;text-align:left;padding:0;line-height:1.5}.badge{display:inline-block;border-radius:5px;font-size:10px;padding:5px 8px;white-space:nowrap;background:#eff2f7;color:#758098}.badge.blue{background:#eaf0fc;color:#466ca6}.badge.teal{background:#e7f4f0;color:#4b8d78}.badge.orange{background:#fff2df;color:#aa7d3e}.badge.red{background:#faeeeb;color:#ad6252}.progress{display:flex;align-items:center;gap:8px;font-size:10px}.track{width:75px;height:5px;border-radius:8px;background:#e8edf6;overflow:hidden}.track i{display:block;height:100%;background:#688bbc}.cols{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.alert{border-left:3px solid #d7a358;background:#fff8eb;padding:15px 18px;font-size:12px;line-height:1.7;color:#8b744e;margin-bottom:20px;border-radius:0 7px 7px 0}.info{background:var(--soft);color:#59739c;font-size:12px;line-height:1.7;padding:16px 18px;border-radius:7px}.empty{padding:35px 23px;color:var(--muted);font-size:12px;line-height:1.7}.filters{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.filters input,.filters select{width:auto;min-width:170px;background:white}label{display:block;font-size:12px;font-weight:500;margin:0 0 8px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d6dfec;color:var(--ink);background:#fff;border-radius:6px;outline:none}input:focus,textarea:focus,select:focus{border-color:#7693c0;box-shadow:0 0 0 3px #f0f4fc}textarea{resize:vertical;min-height:75px;line-height:1.5}input[type=checkbox]{width:auto;accent-color:var(--blue)}input[readonly]{background:#f5f7fb}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.checklist{display:flex;gap:10px;flex-wrap:wrap}.checklist label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:10px;margin:0;font-size:12px}dialog{border:1px solid var(--line);border-radius:12px;width:700px;max-width:95vw;padding:0;color:var(--ink);max-height:90vh}dialog::backdrop{background:#152b4a66}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.icon{border:0;background:none;color:#8794a6;font-size:23px;padding:3px 8px}#modal-body{padding:24px;max-height:65vh;overflow:auto}.dialog-foot{padding:18px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}#modal-error{font-size:12px;line-height:1.5;color:#b56555}.dialog-foot button[hidden]{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 20px;border-radius:8px;background:#263f66;color:white;font-size:12px;display:none;z-index:100;max-width:90vw;box-shadow:0 8px 20px #263f6622}.detail-grid{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:12px;line-height:1.7}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0;white-space:pre-wrap}.section-tabs{display:flex;gap:10px;margin-bottom:22px;border-bottom:1px solid var(--line);overflow:auto}.section-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:13px 10px;color:var(--muted);white-space:nowrap;font-size:12px}.section-tabs button.active{color:var(--blue);border-color:var(--blue);font-weight:bold}.report-card{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.report-card:last-child{border:0}.report-card p{margin:8px 0;color:#75849a;font-size:12px}.report-card .muted{margin-top:5px;font-size:10px}.report-card h3{margin:0}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.inline-error{color:#b56555;font-size:12px}.login{max-width:540px;margin:80px auto;text-align:center;padding:45px;background:white;border:1px solid var(--line);border-radius:12px}.login a{display:inline-block;text-decoration:none;margin-top:16px}.loading{text-align:center;color:var(--muted);padding:70px}.raw-table{font-size:11px;max-height:65vh;overflow:auto}.raw-table td{min-width:130px;max-width:350px;white-space:pre-wrap}.raw-table th{position:sticky;top:0;z-index:1;white-space:normal;min-width:130px;background:#edf2fb}.field-wrap{max-width:800px;margin:0 auto}.field-head{padding:20px 0 25px}.field-head h1{font-size:27px}.field-step{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:6px;background:#edf2fb;color:#547bb6;margin-right:10px;font-size:12px}.attendance-row{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.attendance-row:last-child{border:0}.attendance-row strong small{display:block;font-size:10px;color:var(--muted);font-weight:normal;margin-top:5px}.entry{border:1px solid var(--line);border-radius:8px;padding:15px;margin-bottom:15px;background:#fbfcfe}.entry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px}.submit-bar{position:sticky;bottom:0;background:#ffffffee;backdrop-filter:blur(10px);padding:15px 20px;display:flex;gap:15px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);z-index:3}.submit-bar p{font-size:10px;color:var(--muted);margin:0}.receipt{background:#eaf4f0;border:1px solid #cce1d7;border-radius:10px;padding:30px;line-height:1.8;margin-bottom:25px}.receipt h2{color:#447e69}.step-note{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0}.table-row-link:hover{background:#fbfcfe}.source-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:22px}#printDoc{display:none}@media(max-width:1100px){main{padding:30px 24px}.stats{gap:10px}.stat{padding:18px}nav{width:190px;padding:25px 12px}.cols{grid-template-columns:1fr}.header-note{display:none}}@media(max-width:760px){header{height:70px;padding:0 18px;gap:12px}.brand img{width:142px}.brand span{font-size:9px;padding-left:10px}.brand small{font-size:6px}.header-note{display:none}#layout{display:block}nav{height:auto;position:sticky;top:70px;width:100%;display:flex;overflow:auto;padding:8px 10px;z-index:4;border-bottom:1px solid var(--line)}nav button{width:auto;white-space:nowrap;margin:0 3px;padding:11px;font-size:11px}.nav-title,.nav-bottom{display:none}main{padding:26px 16px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:17px}.stat strong{font-size:25px}.stat span{font-size:10px}h1{font-size:25px}.page-head{align-items:flex-start}.page-head .primary{padding:10px;font-size:10px}.fields{grid-template-columns:1fr}.full{grid-column:auto}.card-head{padding:18px}.card-body{padding:18px}th,td{padding:12px 15px}.filters input,.filters select{min-width:0;flex:1;font-size:12px}.report-card{padding:18px;align-items:flex-start}.report-card h3{font-size:12px}.report-card .outline{padding:8px;font-size:10px}.attendance-row{grid-template-columns:1fr 1fr .6fr;gap:8px}.attendance-row select,.attendance-row input{padding:10px 5px;font-size:11px}.attendance-row strong{font-size:11px}.detail-grid{grid-template-columns:100px 1fr;gap:8px}#modal-body{padding:18px}.dialog-head,.dialog-foot{padding:18px}.header-note+button{margin-left:auto}.receipt{padding:22px}.submit-bar{padding:12px}.source-note{font-size:9px}}@media print{@page{size:A4;margin:15mm}header,#layout,dialog,#toast{display:none!important}#printDoc{display:block;font:11px Arial;color:#172d50}#printDoc img{width:230px;margin-bottom:20px}#printDoc h1{font-size:23px}#printDoc h2{font-size:14px;margin:20px 0 10px;border-bottom:1px solid #ccd5e3;padding-bottom:7px}#printDoc p{white-space:pre-wrap;line-height:1.6}#printDoc table{font-size:10px}#printDoc th,#printDoc td{padding:7px;border:1px solid #ddd}#printDoc section{break-inside:avoid}}
#modal-body p,.detail-grid dd,.report-card p{overflow-wrap:anywhere}@media(max-width:760px){.page-head{display:block}.page-head>.row-actions,.page-head>button{margin-top:16px}.card-head h2{min-width:0;line-height:1.5;font-size:14px}}
.access-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border:1px solid #d8e4f5;background:#eef4fc;border-radius:10px;padding:20px;margin:0 0 24px}.access-guide>div{display:grid;grid-template-columns:28px 1fr;gap:5px 10px}.access-guide span{grid-row:1/3;font-size:11px;color:#7894bc;font-weight:bold}.access-guide b{font-size:12px;color:#32588e}.access-guide small{font-size:10px;color:#7388a6;line-height:1.7}.invite-flow{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #e1e8f3;margin-bottom:22px;padding-bottom:20px}.invite-flow>div{flex:1;font-size:11px;color:#7387a4;line-height:1.7}.invite-flow b{display:block;font-size:20px;color:#3d639f;margin-bottom:7px}.scope-notice{padding:17px 20px;border:1px solid #d6e6e0;background:#f0f7f4;border-radius:8px;color:#3b7460;font-size:12px;line-height:1.7}.scope-notice p{margin:7px 0 0;font-size:11px}.share-actions{margin-top:20px}.share-actions a{text-decoration:none;display:inline-block;line-height:1.3}.whatsapp{color:#347d60;border-color:#bedbcf;background:#f7fbf9}.worker-howto{margin-top:25px;padding-top:23px;border-top:1px solid #e1e6ef}.worker-howto ol{padding-left:20px;color:#647a99;font-size:12px;line-height:2}.worker-howto p{font-size:12px;color:#647a99}.field-scope{color:#4b8b75;font-size:9px;letter-spacing:1px;font-weight:bold;margin-top:20px}.field-help{font-size:12px;line-height:1.8;background:#eaf0fa;color:#5876a2;border-radius:8px;padding:16px 20px;margin-bottom:20px}.stock-overview summary{padding:18px 20px;cursor:pointer;font-weight:600;color:#456895;font-size:12px}.person-assignment{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;padding:0 0 18px;border-bottom:1px solid #e2e8f1;margin-top:8px}.person-assignment label{font-size:10px;color:#7a8da8}.person-assignment input{font-size:12px}.attendance-row{border:0}.report-dialog{width:1140px;max-width:96vw}.report-dialog #modal-body{max-height:75vh;padding:28px;background:#f2f5fa}.report-document{color:#263d63}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.report-toolbar>span{font-size:10px;color:#8193ac;letter-spacing:1px;text-transform:uppercase}.document-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 26px}.document-metrics>div{background:#e8eff9;border:1px solid #d9e3f1;border-radius:9px;padding:19px 15px}.document-metrics span{display:block;font-size:10px;color:#6581a8;text-transform:uppercase;letter-spacing:.4px;line-height:1.6}.document-metrics strong{display:block;color:#2c4b79;font-size:23px;margin:12px 0 7px;font-weight:600}.document-metrics small{font-size:9px;line-height:1.6;color:#8092ab;display:block}.document-section{background:white;border:1px solid #e0e7f1;border-radius:10px;padding:23px;margin:0 0 21px;overflow:hidden}.document-section-heading{border-bottom:1px solid #edf1f7;padding-bottom:15px;margin-bottom:17px}.document-section-heading>span{font-size:8px;letter-spacing:1.5px;color:#8b9cb4;display:block;margin-bottom:8px}.document-section-heading h3{font-size:15px;margin:0;color:#2c4e80}.document-note{font-size:10px!important;color:#8191aa;line-height:1.8!important;margin:15px 0 0;white-space:normal!important}.document-table-scroll{overflow:auto}.report-table th{background:#ebf0f8;white-space:normal;font-size:10px;color:#637da1;padding:13px 12px;border:0;font-weight:600}.report-table td{font-size:11px;padding:13px 12px;vertical-align:top;white-space:pre-wrap;min-width:80px;line-height:1.8;border-bottom:1px solid #e8edf5}.report-table tbody tr:nth-child(even){background:#f8fafe}.report-table td:first-child{color:#365780;font-weight:500;min-width:125px}.report-paragraph{font-size:12px;line-height:1.8;white-space:pre-wrap;margin:8px 0;color:#647998}.chart-panel svg{display:block;width:100%;height:auto;max-height:350px}.chart-empty{padding:30px 15px;color:#8494ac;background:#f7f9fd;font-size:12px;border-radius:6px;line-height:1.8}.chart-data-key{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:10px;color:#6a809f;margin-top:10px}.chart-data-key span{display:flex;align-items:center;gap:6px}.chart-data-key b{font-weight:600;color:#3f608f}.chart-data-key i{width:5px;height:5px;border-radius:50%;background:#6e8fbe;display:inline-block}@media(max-width:760px){.access-guide{grid-template-columns:1fr;padding:16px;gap:15px}.invite-flow{gap:10px}.invite-flow>div{font-size:9px}.scope-notice{padding:15px}.person-assignment{grid-template-columns:1fr;gap:12px}.person-assignment input{font-size:13px}.report-dialog #modal-body{padding:14px}.document-metrics{grid-template-columns:1fr 1fr;gap:9px}.document-metrics>div{padding:14px 11px}.document-metrics strong{font-size:20px}.document-metrics small{font-size:9px}.document-section{padding:17px 13px}.report-toolbar{display:block}.report-toolbar .primary{margin-top:14px;width:100%}.chart-data-key{font-size:11px;gap:8px 14px}.document-section-heading h3{font-size:13px}.share-actions{display:grid;grid-template-columns:1fr}.share-actions>*{text-align:center;white-space:normal}.report-dialog .dialog-head h2{font-size:14px;line-height:1.6}.report-table{min-width:550px}}
.independent-login{text-align:left}.independent-login h1{font-size:25px}.independent-login label{margin-top:20px}.independent-login .primary{margin-top:15px}.independent-login a{margin:0}.portal-actions{display:flex;gap:12px;margin-bottom:24px}.portal-actions input{flex:1;min-width:0}.portal-projects{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-project{border:1px solid #dce5f2;border-radius:10px;background:white;text-align:left;padding:23px;color:#293f63;cursor:pointer}.portal-project:hover{border-color:#87a3ce;box-shadow:0 4px 14px #466a9d12}.portal-project h2{font-size:17px;line-height:1.5;margin-top:15px}.portal-project p{font-size:11px;color:#7d91ad;margin:10px 0 20px}.portal-project strong{font-size:12px;color:#456fa8}.crew-choice{padding:18px;background:#f1f5fc;border-radius:8px;margin-bottom:22px}.crew-choice .checklist label{background:white}#attendance-rows:empty:after{content:'Sélectionnez les personnes de cette intervention ci-dessus.';display:block;padding:20px;color:#8395ad;font-size:12px}#owner-logout{margin-left:10px}.independent-login .client-save{border:0;background:none;padding:14px 0;color:#5678a7;cursor:pointer;font-size:12px}@media(max-width:760px){.portal-projects{grid-template-columns:1fr}.portal-actions{flex-direction:column}.portal-project{padding:21px}.portal-project h2{font-size:17px}.independent-login{padding:25px;margin:25px auto}#owner-logout{padding:7px;font-size:9px;margin-left:auto}.brand span{display:none}.crew-choice{padding:15px}.crew-choice .checklist{gap:7px}}

.photo-intake{padding:20px 0 28px;border-bottom:1px solid #dce5f0;margin-bottom:25px}.photo-button{cursor:pointer;display:inline-flex;align-items:center}.photo-row{padding:14px 0;border-bottom:1px solid #e1e8f2;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.photo-row small{display:block;color:#718199;margin-top:5px}.photo-row strong{overflow-wrap:anywhere}.ocr-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font-size:13px}.photo-viewer{width:min(95vw,1000px);max-height:94dvh;padding:15px;border:0;border-radius:16px;box-sizing:border-box}.photo-viewer img{display:block;width:100%;height:auto;margin-top:12px}.photo-viewer::backdrop{background:#11223ecc}.report-photos{margin:20px 0}.report-photos button{margin:5px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.scan-row{margin:20px 0} .photo-intake .row-actions{flex-wrap:wrap}
