:root{--navy:#071722;--ink:#121b25;--muted:#667386;--line:#dde5e8;--teal:#009f8b;--teal-soft:#e6f5f2;--red:#ef4646;--red-soft:#ffe6e5;--orange:#f27b16;--green:#2e8d45;--green-soft:#e7f3e3;font:14px "Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff}
/* Matériel client et visite technique */
.client-material-category-grid{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.client-material-category-grid article{min-height:76px;padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#f2fbf9,#fff);display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px}.client-material-category-grid i{width:34px;height:34px;border-radius:8px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}.client-material-category-grid span{font-size:11px;font-weight:700}.client-material-category-grid b{font-size:21px;color:var(--teal)}.table-scroll{width:100%;overflow:auto}.data-table td>small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.workspace-section .table-scroll{margin-top:14px}
.client-material-tabs{margin:0 0 14px;display:flex;gap:4px;border-bottom:1px solid var(--line)}.client-material-tabs button{padding:12px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.client-material-tabs button.active{border-bottom-color:var(--teal);color:var(--teal)}.client-material-tabs button span{margin-left:6px;padding:2px 6px;border-radius:10px;background:var(--teal-soft);font-size:9px}.client-material-search{margin-bottom:16px;min-height:44px;padding:0 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;background:#fff}.client-material-search>i{color:var(--teal)}.client-material-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:inherit}.client-material-search kbd{padding:3px 6px;border:1px solid var(--line);border-radius:4px;background:#f7f9f9;color:var(--muted);font-size:9px}.client-material-empty{margin:-7px 0 14px;padding:9px 12px;border-radius:6px;background:#fff7e8;color:#8b621b;font-size:10px}.client-equipment-table .actions-column{width:190px}.row-actions{display:flex;align-items:center;gap:6px}.table-action.danger{border-color:#efc7c9;color:#c53b43}.table-action.danger:hover{background:#fff0f0}.table-action.icon-only span{display:none}.correspondence-table select,.correspondence-table input{min-width:135px;padding:8px;border:1px solid var(--line);border-radius:5px;background:#fff;font:inherit;font-size:10px}.correspondence-table [data-match-notes]{min-width:170px}.confidence-field{display:flex;align-items:center;gap:5px}.confidence-field input{min-width:60px;width:65px}.confidence-field span{color:var(--muted)}
@media(max-width:1050px){.client-material-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.client-material-category-grid{grid-template-columns:1fr}.client-material-category-grid article{min-height:64px}}
@media(max-width:720px){.client-material-tabs{overflow-x:auto}.client-material-tabs button{white-space:nowrap}.client-material-search kbd{display:none}.row-actions .table-action span{display:none}.client-equipment-table .actions-column{width:96px}}
*{box-sizing:border-box}body{margin:0;background:#fff}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.muted{color:var(--muted)}.kicker{margin:0 0 8px;color:#008b79;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.primary,.secondary{min-height:44px;border:0;border-radius:5px;padding:10px 16px;font-weight:700}.primary{background:var(--teal);color:#fff}.secondary{background:var(--teal-soft);color:#007e70}
[hidden]{display:none!important}
.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--navy)}.login-card{width:min(440px,100%);padding:38px;border-radius:10px;background:#fff;display:grid;gap:16px}.login-card h1{margin:0;font-size:27px}.login-card label,.dialog-card label{display:grid;gap:7px;font-size:12px;font-weight:600}.login-card input,.login-card select,.dialog-card input,.dialog-card select,.dialog-card textarea{width:100%;border:1px solid #cfd8dd;border-radius:4px;padding:11px 12px;background:#fff}.dialog-card textarea{min-height:90px;resize:vertical}.login-logos{display:flex;align-items:center;gap:24px;margin-bottom:12px}.login-logos img:first-child{width:145px}.login-logos img:last-child{width:120px}
.login-page{background:linear-gradient(125deg,#03121c 0%,#092b35 60%,#07594e 100%)}.login-layout{width:min(1020px,100%);min-height:610px;border-radius:16px;background:#fff;box-shadow:0 28px 80px #0007;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden}.login-presentation{padding:58px;background:linear-gradient(145deg,#061722,#0c3540);color:#fff;display:flex;flex-direction:column;justify-content:center}.login-presentation .login-logos{margin-bottom:50px}.login-presentation h1{max-width:520px;margin:5px 0 18px;font-size:38px;line-height:1.13}.login-presentation>p:not(.kicker){max-width:500px;color:#c8d6da;line-height:1.7}.login-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.login-feature-list span{padding:13px;border:1px solid #ffffff20;border-radius:7px;background:#ffffff0a}.login-feature-list i{width:24px;color:#00c9ad}.standalone-login-card{width:auto;padding:58px 48px;border-radius:0;align-content:center}.standalone-login-card h2{margin:0 0 8px;font-size:30px}.standalone-login-card .primary{margin-top:5px}.standalone-login-card .primary i{margin-right:8px}.demo-access{margin-top:10px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted)}.demo-access summary{cursor:pointer;font-size:11px}.demo-access>div{display:grid;grid-template-columns:1fr;gap:6px;margin-top:10px}.demo-access button{padding:8px;border:1px solid var(--line);border-radius:4px;background:#fff;color:#53616e;text-align:left;font-size:11px}.demo-access button:hover{border-color:var(--teal);color:var(--teal)}@media(max-width:800px){.login-layout{grid-template-columns:1fr}.login-presentation{display:none}.standalone-login-card{min-height:580px;padding:38px 28px}}
.supabase-onboarding{padding:12px;border:1px solid #bce5df;border-radius:6px;background:#f2fbf9;display:grid;gap:9px;color:#276d65}.supabase-onboarding .secondary{min-height:38px;padding:7px 10px}.supabase-onboarding i{margin-right:7px}
.local-account-onboarding{padding:12px;border:1px solid #bce5df;border-radius:6px;background:#f2fbf9;display:grid;gap:9px;color:#276d65}.local-account-onboarding .secondary{min-height:38px;padding:7px 10px}.local-account-onboarding i{margin-right:7px}
.forgot-password-link{justify-self:end;margin-top:-8px;padding:2px 0;border:0;background:transparent;color:#007f70;font-size:12px;font-weight:700}.forgot-password-link:hover{text-decoration:underline}.dialog-actions{display:flex;justify-content:flex-end;gap:9px}.form-message{margin:0;padding:11px;border-radius:5px;line-height:1.45}.form-message.success{background:var(--teal-soft);color:#176e65}.form-message.error{background:var(--red-soft);color:#a52b31}.password-requirements{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.reset-password-card{width:min(480px,100%)}.reset-password-card .login-logos{justify-content:center;margin-bottom:20px}.reset-password-card .login-logos img:first-child{width:132px}.reset-password-card .login-logos img:last-child{width:105px}.reset-password-actions{display:grid;gap:9px}.text-link{color:#007f70;text-align:center;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}
.login-help-links{margin-top:-8px;display:flex;justify-content:space-between;gap:12px}.login-help-links .forgot-password-link{margin-top:0}.login-help-links .forgot-password-link:first-child{justify-self:start}
.login-separator{margin:3px 0;display:flex;align-items:center;gap:12px;color:#8a96a0;font-size:10px;text-transform:uppercase}.login-separator::before,.login-separator::after{content:"";height:1px;flex:1;background:var(--line)}.google-login-button{min-height:46px;width:100%;border:1px solid #cbd5dc;border-radius:5px;background:#fff;color:#263341;font-weight:700;display:flex;align-items:center;justify-content:center;gap:11px}.google-login-button:hover{border-color:#8e9ba5;background:#f8fafb}.google-login-button:disabled{cursor:wait;opacity:.7}.google-mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#4285f4;font-size:17px;font-weight:900}.google-login-help{margin:0;text-align:center;color:var(--muted);font-size:9px}
.application{height:100vh;display:grid;grid-template-columns:210px minmax(0,1fr);overflow:hidden}.sidebar{height:100vh;background:var(--navy);color:#fff;display:flex;flex-direction:column}.brand{height:156px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:24px}.brand img:first-child{width:164px;height:53px;object-fit:contain}.brand img:last-child{width:123px;height:45px;object-fit:contain}.sidebar nav{display:grid}.nav-item{height:50px;padding:0 23px;border:0;border-left:3px solid transparent;background:transparent;color:#f1f4f6;display:flex;align-items:center;gap:16px;text-align:left}.nav-item i{width:18px;text-align:center;font-size:17px}.nav-item.active,.nav-item:hover{border-left-color:#00d1b2;background:#102b36;color:#00d1b2}.account{margin-top:auto;padding:18px 14px;border-top:1px solid #ffffff18;display:flex;align-items:center;gap:10px}.account div{display:grid;gap:3px}.account strong{font-size:11px}.account small{color:#b7c4ca;font-size:10px}.avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#00998b;color:#fff;font-size:11px;font-weight:700}.avatar.dark{background:#27323e}.collapse{height:50px;border:0;border-top:1px solid #ffffff18;background:transparent;color:#b8c4ca;text-align:left;padding:0 18px;font-size:11px}.collapse i{margin-right:12px}
.logout-button{height:42px;padding:0 18px;border:0;border-top:1px solid #ffffff18;background:transparent;color:#b8c4ca;text-align:left;font-size:11px}.logout-button:hover{background:#ffffff0b;color:#fff}.logout-button i{margin-right:12px}
@media(max-width:1180px){.logout-button{padding:0;text-align:center;font-size:0}.logout-button i{margin:0;font-size:13px}}@media(max-width:680px){.logout-button{display:none}}
.workspace{height:100vh;min-width:0;overflow:hidden}.topbar{height:86px;padding:0 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.topbar h1{margin:0;font-size:25px}.header-meta{display:flex;align-items:center;gap:16px;font-size:12px}.role-switch{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.role-switch select{padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:#fff}.bell{position:relative;height:38px;border:0;border-left:1px solid var(--line);background:#fff;padding:0 15px 0 23px;font-size:17px}.bell b{position:absolute;right:5px;top:2px;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:8px}.page{height:calc(100vh - 86px)}
.project-bar{height:70px;padding:0 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}.back,.icon-button{border:0;background:transparent;color:#344252}.project-bar select{min-width:295px;border:1px solid #cbd5da;border-radius:3px;padding:10px 13px;font-weight:600}.project-status{margin-left:28px;border-radius:5px;background:var(--teal-soft);color:#008c7b;padding:8px 20px;font-size:12px;font-weight:600}.progress-label{margin-left:4px;color:#596678;font-size:12px}.project-bar progress{width:140px;height:7px;border:0}.project-bar progress::-webkit-progress-bar{background:#e6ebeb;border-radius:10px}.project-bar progress::-webkit-progress-value{background:var(--teal);border-radius:10px}.project-bar>strong{font-size:12px}
.main-grid{height:calc(100% - 70px);display:grid;grid-template-columns:minmax(690px,1fr) 405px}.list-panel{min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.workflow{height:95px;padding:18px 16px 0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.workflow button{height:66px;padding:8px 20px;border:1px solid transparent;border-right-color:var(--line);background:#fff;text-align:left}.workflow button:last-child{border-right-color:transparent}.workflow button.active{border:1px solid var(--teal);border-radius:5px}.workflow button span{display:flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}.workflow button span i{font-size:9px}.workflow button b{display:block;margin:12px 0 0 19px;color:#596678;font-size:14px;font-weight:500}.workflow .orange{color:#ff9f19}.workflow .teal{color:#0da994}.workflow .green{color:#4dad38}
.table-scroll{flex:1;min-height:0;overflow:auto;padding:0 14px}table{width:100%;border-collapse:collapse;table-layout:fixed}th{height:48px;padding:16px 14px 10px;border-bottom:1px solid var(--line);color:#697587;font-size:11px;font-weight:500;text-align:left}th:nth-child(1){width:13%}th:nth-child(2){width:22%}th:nth-child(3){width:18%}th:nth-child(4){width:16%}th:nth-child(5){width:15%}th:nth-child(6){width:12%}th:nth-child(7){width:4%}td{height:70px;padding:15px 14px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbfb}tbody tr.selected{background:#f1fbf9;box-shadow:inset 3px 0 var(--teal),0 0 0 1px var(--teal)}td:first-child strong{color:#008d7d;font-size:13px}td:nth-child(2) b,td:nth-child(2) span,.due span{display:block}td:nth-child(2) b{font-weight:500}td:nth-child(2) span,.due span{margin-top:4px;color:var(--muted)}.due{color:var(--orange)}.due.late,.due.late span{color:var(--red)}.status{display:inline-block;padding:6px 12px;border-radius:4px;font-size:11px}.status.late{background:var(--red-soft);color:var(--red)}.status.review{background:var(--green-soft);color:var(--green)}.status.open{background:#fff1dc;color:#a76100}.status.done{background:#e2f3e9;color:#288c4e}.more{border:0;background:transparent;color:#101820}
.pagination{height:62px;padding:12px 28px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--muted);font-size:10px}.pagination>div{display:flex;gap:8px}.pagination button{width:28px;height:28px;border:0;background:#fff;color:#344152}.pagination button.active{background:var(--teal);color:#fff}.pagination label{justify-self:end;display:flex;align-items:center;gap:10px}.pagination select{padding:7px;border:1px solid #cfd8dd;background:#fff}
.detail-panel{height:100%;display:flex;flex-direction:column;overflow:hidden}.detail-scroll{flex:1;min-height:0;overflow:auto;padding:25px 20px 12px}.detail-title{display:flex;justify-content:space-between;gap:14px}.detail-title>div>span:first-child{font-weight:700}.detail-title .status{margin-left:12px}.detail-title h2{margin:16px 0 6px;font-size:17px}.detail-title p{margin:0 0 12px;color:#586578;font-size:12px}.deadline{display:flex;align-items:center;gap:10px;padding:12px 0 16px;border-bottom:1px solid var(--line);color:#5b6677;font-size:11px}.deadline span:last-child{margin-left:auto;padding-left:14px;border-left:1px solid var(--line)}.deadline b{color:var(--red)}.deadline .fa-circle{margin-left:5px;color:var(--red);font-size:8px}.detail-panel section{padding:14px 0;border-bottom:1px solid var(--line)}.detail-panel section h3{margin:0 0 10px;font-size:13px}.detail-panel section p{margin:0;color:#485568;font-size:12px;line-height:1.5}.detail-panel section small{display:block;margin:8px 0 6px;color:#4e5a6b}.proofs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.proofs img{width:100%;height:80px;border-radius:4px;object-fit:cover}.people{display:grid;grid-template-columns:105px 1fr;row-gap:10px;margin:0;font-size:11px}.people dt{color:#526072}.people dd{margin:0;display:flex;align-items:center;gap:10px}.mini-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#263341;color:#fff;font-size:8px}.people dd>.fa-building{width:22px;text-align:center}.history{display:grid;gap:11px;padding-left:12px;border-left:1px solid var(--line)}.history div{position:relative;padding-left:12px;color:#475365;font-size:10px}.history div>i{position:absolute;left:-16px;top:3px;color:#8290a0;font-size:6px;outline:2px solid #fff}.history div:first-child>i{color:var(--teal)}.history time{display:block;margin-bottom:3px;color:#667386}.detail-actions{padding:16px 20px 20px;border-top:1px solid var(--line)}.detail-actions .primary{width:100%;height:48px}.detail-actions .primary i{margin-right:10px}.detail-actions .reject{display:block;margin:9px auto 0;border:0;background:#fff;color:#a13c42;font-size:11px}
.generic-page{height:calc(100vh - 86px);padding:34px;background:#f7f9f9}.generic-card{max-width:780px;padding:28px;border:1px solid var(--line);background:#fff}.generic-card h2{margin-top:0}.generic-card button{margin-top:10px}dialog{width:min(560px,calc(100% - 30px));padding:0;border:0;border-radius:8px;box-shadow:0 25px 90px #0005}dialog::backdrop{background:#071722a8}.dialog-card{padding:25px;display:grid;gap:15px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:0}.toast{position:fixed;right:24px;bottom:24px;z-index:20;padding:13px 18px;border-radius:5px;background:#17312f;color:#fff}
@media(max-width:1180px){.application{grid-template-columns:76px minmax(0,1fr)}.brand{height:112px;padding:18px 8px}.brand img{max-width:58px!important;height:auto!important}.nav-item{justify-content:center;padding:0}.nav-item span,.account div,.collapse{display:none}.account{justify-content:center}.main-grid{grid-template-columns:minmax(610px,1fr) 360px}.project-status{margin-left:4px}}
@media(max-width:900px){.application,.workspace{height:auto;min-height:100vh}.workspace{overflow:visible}.page{height:auto}.main-grid{height:auto;display:block}.list-panel{min-height:650px}.detail-panel{height:auto;border-top:1px solid var(--line)}.header-meta>span:first-child{display:none}}
@media(max-width:680px){.application{display:block}.sidebar{height:auto}.brand,.account,.collapse{display:none}.sidebar nav{display:flex;overflow:auto}.nav-item{min-width:54px;height:48px}.topbar{height:72px;padding:0 16px}.topbar h1{font-size:21px}.header-meta strong,.header-meta>.avatar,.header-meta>.fa-chevron-down,.bell{display:none}.project-bar{height:auto;padding:10px 14px}.project-bar select{min-width:0;flex:1}.project-status,.progress-label,.project-bar progress,.project-bar>strong{display:none}.workflow{overflow:auto;padding-left:8px}.workflow button{min-width:160px}.table-scroll{padding:0}table{min-width:820px}.pagination{grid-template-columns:1fr auto}.pagination label{display:none}}

/* Pages cohérentes issues des trois références */
.page-heading h1{margin:0}.page-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.page-host{height:calc(100vh - 86px);overflow:auto;background:#fff}
.dashboard-page{min-height:100%;background:#fff}.dashboard-metrics{padding:20px 36px 28px;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-bottom:1px solid var(--line)}.metric-card{min-height:170px;padding:30px 24px;border:1px solid #d3dce1;border-radius:4px;display:grid;grid-template-columns:70px 170px 1fr;align-items:start;gap:18px}.metric-icon{width:68px;height:68px;border-radius:8px;display:grid;place-items:center;background:var(--teal-soft);color:#00a78f;font-size:34px}.metric-card>div:nth-child(2){display:grid;gap:10px}.metric-card>div:nth-child(2)>strong{font-size:13px}.metric-card>div:nth-child(2)>b{color:#00a78f;font-size:40px;font-weight:600;line-height:1}.metric-card dl{display:grid;grid-template-columns:1fr auto;margin:0;align-self:stretch}.metric-card dt,.metric-card dd{margin:0;padding:7px 0;border-bottom:1px solid var(--line)}.metric-card dd{text-align:right;font-weight:700}.metric-card .red{color:var(--red)}.validation-section{padding:28px 32px}.validation-section h2{margin:0;font-size:30px}.validation-section>p{margin:8px 0 28px;color:var(--muted)}.response-table{min-width:950px}.response-head,.response-row{display:grid;grid-template-columns:1.1fr 1.2fr 1.15fr .9fr 1.1fr .85fr .85fr .55fr 1.1fr;align-items:center;column-gap:14px}.response-head{min-height:46px;color:#526072;font-size:11px}.response-row{min-height:100px;border-top:1px solid var(--line);font-size:12px}.response-row>strong{color:#008f7e;font-size:15px}.response-row span{line-height:1.45}.response-row small{display:block;color:var(--muted)}.response-row .urgent{color:var(--red)}.waiting{display:inline-block;padding:8px;border-radius:7px;background:var(--teal-soft);color:#008979;font-style:normal;text-align:center}.response-row .primary{padding:8px 10px;font-size:11px}.page-footer{height:70px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--muted);font-size:11px}.page-footer>div{display:flex;gap:8px}.page-footer button{width:28px;height:28px;border:0;background:#fff}.page-footer button.active{background:var(--teal);color:#fff}.page-footer label{justify-self:end}.page-footer select{margin-left:8px;padding:7px;border:1px solid var(--line)}
.project-page{min-height:100%;background:#fff}.project-summary{height:56px;padding:0 34px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.project-summary .project-status{margin-left:0}.project-summary progress{width:260px;height:7px}.project-summary progress::-webkit-progress-bar{background:#e8ecec}.project-summary progress::-webkit-progress-value{background:var(--teal)}.project-tabs{height:58px;padding:0 8px;display:flex;border-bottom:1px solid var(--line)}.project-tabs button{min-width:130px;border:0;border-bottom:3px solid transparent;background:#fff;color:#536071}.project-tabs button.active{border-bottom-color:var(--teal);color:#15202a}.project-body{display:grid;grid-template-columns:minmax(650px,1fr) 340px;min-height:calc(100vh - 200px)}.timeline{padding:26px 28px 40px 36px;border-right:1px solid var(--line)}.timeline>h3{margin:0 0 6px;font-size:13px}.timeline-row{min-height:105px;display:grid;grid-template-columns:130px 44px minmax(300px,1fr) 220px;position:relative}.timeline-row>time{padding-top:20px;color:#596678;line-height:1.6}.timeline-row>i{z-index:1;margin-top:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#078d79;color:#fff}.timeline-row>i.message{background:#078d79}.timeline-row>i.hourglass{background:#f59a26}.timeline-row:after{content:"";position:absolute;left:146px;top:46px;bottom:-16px;border-left:1px solid #cbd4d8}.timeline-content{padding:18px 0;border-bottom:1px solid var(--line);position:relative}.timeline-content>strong{color:#008b78}.timeline-content h4{margin:7px 0 4px;font-size:14px}.timeline-content p{margin:0;color:var(--muted)}.event-status{float:right;padding:6px 12px;border-radius:5px;background:var(--teal-soft);color:#008b79;font-size:11px}.event-status.danger{background:var(--red-soft);color:var(--red)}.timeline-owner{padding-top:20px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:10px;color:#566273}.orange-text{color:#ec8a19!important}.timeline .yesterday{margin:20px 0 0;padding-top:20px;border-top:1px solid var(--line)}.timeline-row.reserve{min-height:185px}.timeline-row.reserve>i{background:#ef5350}.reserve-event{margin:8px 0;border:1px solid #ef6c68;border-radius:5px}.reserve-event>div{padding:18px}.reserve-event strong{color:#ef4d4a}.reserve-event h4{margin:7px 0}.reserve-event p{margin:0;color:var(--muted)}.reserve-event dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--line)}.reserve-event dl>div{padding:14px}.reserve-event dt{margin-bottom:8px}.reserve-event dd{margin:0;display:flex;gap:9px;align-items:center}.site-panel{padding:22px 20px}.site-panel section{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.site-panel section h3{margin:0 0 20px;padding-bottom:8px;border-bottom:2px solid var(--teal);width:max-content;font-size:13px}.site-photo{width:100%;height:126px;object-fit:cover;border-radius:3px}.site-panel h4{margin:12px 0 5px}.site-panel p{margin:0;color:#586578;line-height:1.5}.site-person{margin-bottom:14px}.site-person>small{display:block;margin-bottom:7px}.site-person>div{display:flex;gap:10px}.site-person p{display:grid}.site-person a{color:#008d7b;text-decoration:none}.project-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;font-size:11px}.project-info dd{margin:0;text-align:right}.site-action{width:100%;height:52px}
.kanban-page{height:100%;overflow:hidden}.filterbar{height:74px;padding:16px 28px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.filterbar button,.filterbar input{height:36px;border:1px solid #d2dadd;border-radius:5px;background:#fff;padding:0 14px;font-size:11px}.filterbar button i{margin-right:7px}.filterbar .reset{border:0}.search{width:300px;height:36px;border:1px solid #d2dadd;border-radius:5px;display:flex;align-items:center;padding-left:12px;color:#87929d}.search input{min-width:0;flex:1;border:0}.kanban-layout{height:calc(100% - 74px);display:grid;grid-template-columns:minmax(760px,1fr) 370px;gap:24px;padding:22px 8px 22px 28px;background:#f9fbfb}.board{min-width:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kanban-column{min-width:0;border:1px solid #e2c66f;border-radius:7px;background:#fff;display:flex;flex-direction:column;overflow:hidden}.kanban-column.teal{border-color:#64c8bb}.kanban-column.green{border-color:#abd79f}.kanban-column>header{height:42px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#fff8e9}.kanban-column.teal>header{background:#eef9f7}.kanban-column.green>header{background:#eff8ed}.kanban-column>header span{display:flex;gap:9px;align-items:center;font-weight:700}.kanban-column>header i{font-size:9px;color:#f29a1f}.kanban-column.teal>header i{color:#05a38d}.kanban-column.green>header i{color:#43a638}.kanban-cards{padding:8px;display:grid;gap:8px;overflow:auto}.kanban-card{min-height:135px;padding:13px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.kanban-card.selected{border:2px solid var(--teal);background:#f3fbfa}.kanban-card>small{color:#566274}.kanban-card h3{margin:8px 0;font-size:12px}.kanban-card p{margin:7px 0;color:var(--muted);font-size:10px}.kanban-card p i{margin-right:8px}.card-meta{display:grid;grid-template-columns:1fr 1fr auto;gap:5px;margin-top:12px;font-size:10px}.card-meta span{display:flex;align-items:center;gap:7px}.card-meta span:first-child{grid-column:1/-1;color:var(--red)}.card-meta .fa-circle{font-size:6px}.priority-haute{color:var(--red)}.priority-moyenne{color:#f4a11c}.priority-basse{color:#48a849}.kanban-column>footer{margin-top:auto;padding:12px;color:#566274;font-size:10px}.kanban-detail{height:100%;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 8px 24px #132b3b14;overflow:hidden}.kanban-detail-scroll{flex:1;min-height:0;overflow:auto;padding:24px}.state-pill{margin-left:8px;padding:4px 7px;border-radius:4px;background:var(--teal-soft);color:#008c7b;font-size:9px}.kanban-detail section{padding:15px 0;border-bottom:1px solid var(--line)}.kanban-detail section h3{margin:0 0 10px;font-size:13px}.kanban-detail section p{margin:0;color:#526072;line-height:1.5;font-size:11px}
@media(max-width:1200px){.dashboard-metrics{grid-template-columns:1fr}.metric-card{grid-template-columns:70px 150px 1fr}.project-body{grid-template-columns:1fr}.site-panel{border-top:1px solid var(--line)}.kanban-layout{grid-template-columns:1fr}.kanban-detail{height:700px}.board{min-height:700px}}
@media(max-width:850px){.dashboard-metrics{padding:18px}.metric-card{grid-template-columns:60px 1fr}.metric-card dl{grid-column:1/-1}.validation-section{padding:20px;overflow:auto}.project-tabs{overflow:auto}.project-tabs button{min-width:110px}.timeline{padding:20px}.timeline-row{grid-template-columns:100px 42px minmax(280px,1fr)}.timeline-owner{display:none}.timeline-row:after{left:116px}.kanban-page{height:auto}.filterbar{height:auto;flex-wrap:wrap}.search{width:100%}.kanban-layout{height:auto;padding:14px}.board{overflow:auto}.kanban-column{min-width:250px}.kanban-detail{height:auto}}

/* Modules interactifs */
.compact{min-height:34px!important;padding:7px 11px!important;font-size:11px}.module-page{min-height:100%;padding:28px;background:#f7f9f9}.module-toolbar{min-height:64px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.module-toolbar h2{margin:0 0 6px;font-size:24px}.module-toolbar p{margin:0;color:var(--muted)}.module-toolbar>div:last-child{display:flex;gap:8px}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.entity-card{padding:20px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;grid-template-columns:52px 1fr;gap:14px}.entity-icon{width:48px;height:48px;border-radius:7px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);font-size:21px}.entity-card small{color:var(--muted)}.entity-card h3{margin:4px 0}.entity-card p{margin:4px 0 12px;color:var(--muted)}.site-link{grid-column:1/-1;min-height:46px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;display:grid;grid-template-columns:1fr auto auto;align-items:center;text-align:left}.site-link span{color:var(--muted);font-size:11px}.site-link i{margin-left:10px}.data-panel{border:1px solid var(--line);border-radius:7px;background:#fff;overflow:auto}.data-table{min-width:720px}.data-table th,.data-table td{height:auto;padding:15px 16px}.data-table tbody tr.selected{background:#eff9f7;box-shadow:inset 3px 0 var(--teal)}.split-view{display:grid;grid-template-columns:minmax(650px,1fr) 340px;gap:18px}.side-detail{padding:22px;border:1px solid var(--line);border-radius:7px;background:#fff}.side-detail h2{margin:3px 0 10px}.detail-list{display:grid;grid-template-columns:100px 1fr;gap:9px;margin:22px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.linked-item{width:100%;margin:6px 0;padding:11px;border:1px solid var(--line);border-radius:4px;background:#fff;display:grid;text-align:left}.linked-item strong{color:var(--teal)}.linked-item span{margin-top:4px;font-size:11px;color:var(--muted)}.side-actions{display:grid;gap:8px;margin-top:20px}.status-pill{display:inline-block;padding:6px 9px;border-radius:5px;background:#edf1f2;color:#42505d;font-size:10px}.status-sent,.status-assigned,.status-planned{background:#fff2dc;color:#9a6100}.status-to_validate,.status-review{background:var(--teal-soft);color:#008878}.status-completed,.status-done,.status-active{background:#e4f4e8;color:#258048}.status-disabled{background:#edf0f1;color:#707c86}.calendar-strip{margin-bottom:18px;padding:12px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.calendar-strip button{height:65px;border:1px solid transparent;border-radius:5px;background:#f7f9f9;color:#4e5b69}.calendar-strip button span,.calendar-strip button b{display:block}.calendar-strip button b{margin-top:6px;font-size:18px}.calendar-strip button.active{border-color:var(--teal);background:var(--teal-soft);color:#007f70}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.report-kpis article,.report-panel{padding:20px;border:1px solid var(--line);border-radius:7px;background:#fff}.report-kpis span,.report-kpis small{display:block;color:var(--muted)}.report-kpis b{display:block;margin:8px 0;font-size:28px}.report-kpis progress{width:100%;height:8px}.report-grid{margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-panel h3{margin-top:0}.report-progress{display:grid;grid-template-columns:150px 1fr 30px;align-items:center;gap:12px;margin:16px 0}.report-progress progress{width:100%}.supplier-report{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}.supplier-report small{grid-column:1/-1;color:var(--muted)}.settings-page{display:grid;gap:14px;align-content:start}.settings-card{padding:22px;border:1px solid var(--line);border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-card:first-child{justify-content:flex-start}.settings-card h2,.settings-card h3{margin:0 0 6px}.settings-card p{margin:3px 0;color:var(--muted)}.file-button{display:inline-flex;align-items:center;gap:8px}.file-button input{display:none}.danger-zone{border-color:#f0c7c9}.danger-button{border:1px solid #df777b;border-radius:5px;padding:10px 14px;background:#fff;color:#ad3037}.form-error{padding:9px;border-radius:4px;background:var(--red-soft);color:#a52b31}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-card fieldset{border:1px solid var(--line);border-radius:5px}.choice-list{max-height:240px;overflow:auto;display:grid}.choice-list label{padding:9px;border-bottom:1px solid var(--line);display:flex;grid-template-columns:auto 1fr;align-items:center}.choice-list input{width:auto}.choice-list span{display:grid;margin-left:8px;font-weight:400}.choice-list strong{color:var(--teal)}
@media(max-width:1050px){.split-view{grid-template-columns:1fr}.report-kpis{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}}
@media(max-width:680px){.module-page{padding:16px}.module-toolbar,.settings-card{align-items:flex-start;flex-direction:column}.entity-grid{grid-template-columns:1fr}.calendar-strip{overflow:auto}.calendar-strip button{min-width:90px}.report-kpis{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
.welcome{margin-bottom:20px;padding:28px;border-radius:8px;background:linear-gradient(120deg,#071722,#0b3940);color:#fff}.welcome h2{margin:0 0 8px;font-size:26px}.welcome p:last-child{margin:0;color:#c9d9dc}.role-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.role-card-grid>button{min-height:150px;padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:8px;text-align:left}.role-card-grid>button>i{grid-row:1/3;width:42px;height:42px;border-radius:7px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);font-size:18px}.role-card-grid>button>span{font-weight:700}.role-card-grid>button>b{font-size:25px}.role-card-grid>button>small{grid-column:1/-1;color:var(--teal)}.role-home>.report-kpis{margin-bottom:18px}
.validation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.validation-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.validation-card>div:first-child{display:flex;align-items:center;gap:10px}.validation-card>div:first-child h3{margin:0;flex:1}.validation-card dl{display:grid;grid-template-columns:1fr auto;margin:18px 0}.validation-card dt,.validation-card dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line)}.validation-card dd{text-align:right;font-weight:700}.validation-card blockquote{margin:12px 0;padding:12px;border-left:3px solid var(--teal);background:#f6faf9;color:#465464}.validation-card blockquote small{display:block;margin-top:7px;color:var(--muted)}.validation-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.empty-state{grid-column:1/-1;padding:50px;border:1px dashed #c9d4d8;border-radius:8px;background:#fff;text-align:center;color:var(--muted)}.empty-state>i{color:var(--teal);font-size:36px}
.order-responses{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.order-responses article{padding:10px 0;border-bottom:1px solid var(--line);display:grid;gap:5px}.order-responses article span,.order-responses article small{color:var(--muted);font-size:11px}.attachment-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.attachment-strip img{width:100%;height:70px;border-radius:4px;object-fit:cover}.attachment-strip span{padding:8px;border-radius:4px;background:#f4f7f7;overflow:hidden;font-size:9px}.completed-message{padding:13px;border-radius:5px;background:#e4f4e8;color:#258048;text-align:center;font-weight:700}.response-summary strong{color:var(--teal)}
.response-dialog{max-height:85vh;overflow:auto}.response-item{display:grid;gap:12px;padding:16px}.response-item legend{padding:0 8px;color:#24313c;font-weight:700}.file-drop{min-height:80px;padding:15px;border:1px dashed #93bdb7;border-radius:6px;background:#f5fbfa;place-items:center;text-align:center;color:#007f70}.file-drop i{font-size:22px}.file-drop input{padding:5px;background:transparent;border:0}
.document-grid{display:grid;gap:10px}.document-grid article{padding:16px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px}.document-grid h3{margin:0 0 5px}.document-grid p,.document-grid small{margin:0;color:var(--muted)}.document-icon{width:44px;height:44px;border-radius:6px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);font-size:20px}.audit-timeline{max-width:900px;margin:auto}.audit-timeline article{display:grid;grid-template-columns:150px 36px 1fr;gap:14px;position:relative;min-height:105px}.audit-timeline article:after{content:"";position:absolute;left:167px;top:40px;bottom:-5px;border-left:1px solid var(--line)}.audit-timeline article>i{z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff}.audit-timeline h3{margin:0 0 7px}.audit-timeline p{color:var(--muted)}.profile-layout{display:grid;gap:14px;align-content:start}.profile-card{padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;gap:20px}.profile-card h2{margin:0 0 8px}.profile-card p{color:var(--muted)}
.status-rework,.status-non_conforme,.status-blocked,.status-nok{background:var(--red-soft);color:#b42f35}.status-conforme,.status-corrected,.status-ok{background:#e4f4e8;color:#258048}.status-a_verifier,.status-partial{background:#fff2dc;color:#9a6100}.status-todo,.status-na{background:#edf1f2;color:#596672}
.back-link{min-height:38px;margin-bottom:16px;padding:7px 0;border:0;background:transparent;color:#42515e;font-weight:700}.back-link i{margin-right:8px}.site-summary-head{margin-bottom:18px;padding:25px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-summary-head h2{margin:0 0 7px;font-size:27px}.site-summary-head p{margin:0;color:var(--muted)}.summary-progress{width:min(320px,40%);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.summary-progress b{grid-row:1/3;font-size:33px;color:var(--teal)}.summary-progress span{color:var(--muted)}.summary-progress progress{width:100%;height:8px}.site-summary-grid{margin:16px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.project-summary-link{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;text-align:left}.project-summary-link span{display:grid;gap:4px}.project-summary-link small{color:var(--muted)}.site-overview-grid,.project-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.site-overview-card,.project-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.site-card-top,.project-card-head{display:flex;align-items:flex-start;gap:13px}.site-card-top h3,.project-card-head h3{margin:3px 0 6px}.site-card-top p,.project-card-head p{margin:0;color:var(--muted)}.project-card-head .status-pill{margin-left:auto}.site-card-stats{margin:18px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:7px;color:var(--muted);font-size:11px}.site-card-stats span{display:grid;gap:4px}.site-card-stats b{color:var(--ink);font-size:18px}.site-card-stats .urgent b{color:var(--red)}.project-card-progress{margin-top:18px}.project-card-progress span{display:flex;justify-content:space-between;color:var(--muted)}.project-card-progress progress{width:100%;height:8px;margin-top:8px}.project-card>.primary{width:100%}
.project-workspace{min-height:100%;background:#f7f9f9}.project-workspace-bar{min-height:62px;padding:10px 24px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:15px}.project-workspace-bar .back-link{margin:0}.project-workspace-bar>progress{width:180px;height:8px}.project-workspace-bar .secondary{margin-left:auto}.project-workspace-body{display:grid;grid-template-columns:minmax(680px,1fr) 290px}.project-workspace-body>main{min-width:0;padding:22px}.project-context{padding:22px;border-left:1px solid var(--line);background:#fff}.project-context section{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.project-context h3{margin:0 0 7px}.project-context p{color:var(--muted);line-height:1.5}.project-context>.primary{width:100%}.workspace-section{min-height:500px}.section-heading{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.section-heading h2{margin:0 0 5px}.section-heading p{margin:0;color:var(--muted)}.project-search{background:#fff}.import-history{padding:11px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:35px 1fr;gap:3px}.import-history b{grid-row:1/3;color:var(--teal)}.import-history small{color:var(--muted)}.import-help{padding:14px;border-radius:6px;background:#f0f8f7;display:grid;gap:6px}.import-help code{padding:5px;background:#fff;color:#087f70}
.room-equipment-group{margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.room-equipment-group>header{padding:14px 18px;background:#f3f8f7;display:flex;align-items:center;justify-content:space-between}.room-equipment-group>header h3{margin:0 0 3px}.room-equipment-group>header span{color:var(--muted);font-size:11px}.equipment-card{border-top:1px solid var(--line)}.equipment-card-head{width:100%;min-height:62px;padding:10px 16px;border:0;background:#fff;display:grid;grid-template-columns:76px 1fr auto 20px;align-items:center;gap:10px;text-align:left}.equipment-card-head>span:nth-child(2){display:grid;gap:4px}.equipment-card-head small{color:var(--muted)}.equipment-card.open>.equipment-card-head{background:#f6fbfa}.type-badge-new{display:inline-grid;place-items:center;min-width:62px;min-height:28px;padding:5px 8px;border-radius:4px;background:var(--teal-soft);color:#007f70;font-size:10px;font-weight:800}.equipment-card-body{padding:16px;background:#fbfcfc}.equipment-card-body>dl{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:8px;margin:0 0 15px}.equipment-card-body dt{color:var(--muted)}.equipment-card-body dd{margin:0;font-weight:700}.equipment-task-list{display:grid;gap:7px}.equipment-task-row{padding:10px;border:1px solid var(--line);border-radius:5px;background:#fff;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:10px}.equipment-task-row>div:first-child{display:grid;gap:4px}.equipment-task-row small{color:var(--muted)}.task-status-buttons{display:flex}.task-status-buttons button{min-height:31px;padding:5px 8px;border:1px solid var(--line);border-right:0;background:#fff;color:#667386;font-size:10px}.task-status-buttons button:first-child{border-radius:4px 0 0 4px}.task-status-buttons button:last-child{border-right:1px solid var(--line);border-radius:0 4px 4px 0}.task-status-buttons .active{font-weight:700}.task-status-buttons .status-ok{background:#e4f4e8;color:#258048}.task-status-buttons .status-nok{background:var(--red-soft);color:#b42f35}.task-status-buttons .status-todo{background:#eef1f2}.task-board{display:grid;gap:13px}.task-board>section{padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.task-board>section>header{margin-bottom:12px;display:grid;grid-template-columns:75px 1fr auto;align-items:center}.task-board h3{margin:0}.task-board small{color:var(--muted)}
.plans-grid{display:grid;gap:18px}.plan-card{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.plan-card>div:first-child{display:flex;align-items:center;justify-content:space-between}.plan-card h3{margin:0 0 10px}.plan-canvas{position:relative;display:inline-block;max-width:100%;cursor:crosshair}.plan-canvas>img{display:block;max-width:100%;max-height:650px;border:1px solid var(--line);border-radius:5px}.plan-pin{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;box-shadow:0 2px 8px #0005}.plan-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.plan-legend span{padding:6px 9px;border-radius:4px;background:#f2f6f6;font-size:10px}.plan-legend b{margin-right:6px;color:var(--teal)}
.material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.material-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.material-card>div:first-child{display:flex;justify-content:space-between}.material-card h3{margin:14px 0 6px}.material-card p{min-height:38px;color:var(--muted)}.material-card h4{margin-bottom:8px}.material-card ol{min-height:105px;padding-left:20px;color:#485568}.material-card li{margin:5px 0}.material-card>.secondary{width:100%}.protocol-chip{display:inline-block;padding:4px 7px;border-radius:4px;background:#eef1f2;color:#53616e;font-size:9px;font-weight:700}
@media(max-width:1100px){.project-workspace-body{grid-template-columns:1fr}.project-context{border-left:0;border-top:1px solid var(--line)}.site-summary-grid{grid-template-columns:1fr}.project-workspace-bar>span:not(.project-status),.project-workspace-bar>progress,.project-workspace-bar>strong{display:none}.equipment-task-row{grid-template-columns:1fr}.task-status-buttons{overflow:auto}.site-summary-head{align-items:flex-start;flex-direction:column}.summary-progress{width:100%}}
@media(max-width:700px){.project-workspace-bar{flex-wrap:wrap}.project-workspace-bar .secondary{width:100%;margin-left:0}.project-workspace-body>main{padding:14px}.section-heading{align-items:flex-start;flex-direction:column}.project-search{width:100%}.equipment-card-head{grid-template-columns:65px 1fr auto}.equipment-card-head>i{display:none}.equipment-card-body>dl{grid-template-columns:auto 1fr}.site-overview-grid,.project-card-grid,.material-grid{grid-template-columns:1fr}.site-card-stats{grid-template-columns:1fr 1fr}.document-grid article{grid-template-columns:46px 1fr}}
.site-dossier-builder{margin:0 0 18px;padding:22px;border:1px solid #bce5df;border-radius:8px;background:linear-gradient(120deg,#f1fbf9,#fff);display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:22px;align-items:center}.site-dossier-builder h3{margin:4px 0 6px;font-size:20px}.site-dossier-builder p{margin:0;color:var(--muted)}.dossier-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.dossier-type-grid button{min-height:92px;padding:11px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;place-items:center;gap:5px;color:var(--ink)}.dossier-type-grid button:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.dossier-type-grid i{font-size:20px;color:var(--teal)}.dossier-type-grid span{font-size:12px;font-weight:700}.dossier-type-grid small{font-size:9px;color:var(--muted)}.wide-dialog{width:min(820px,calc(100vw - 40px));max-height:88vh;overflow:auto}.equipment-choice-grid{max-height:310px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:6px}.equipment-choice-grid label{min-height:52px;padding:9px;border:1px solid var(--line);border-radius:5px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;background:#fff}.equipment-choice-grid label:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}.equipment-choice-grid input{width:auto}.equipment-choice-grid span{display:grid;gap:3px}.equipment-choice-grid small{color:var(--muted);font-weight:400}.selection-toolbar{display:flex;gap:7px;margin:8px 0}.selection-count{color:var(--teal);font-size:11px}.dossier-type-chip{display:inline-flex!important;align-items:center;gap:6px;padding:6px 9px;border-radius:5px;background:var(--teal-soft);color:var(--teal);font-size:11px;font-weight:700}.order-equipment-list{display:grid;gap:6px;margin-bottom:18px}.order-equipment-list article{padding:9px;border:1px solid var(--line);border-radius:5px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px}.order-equipment-list article>span:last-child{display:grid;gap:3px}.order-equipment-list small,.table-subline{display:block;color:var(--muted);font-size:10px}.work-order-scope{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-hint{margin:0;padding:10px;border-radius:5px;background:var(--teal-soft);color:#176e65;font-size:12px}
dialog:has(.wide-dialog){width:min(820px,calc(100vw - 40px))}
.module-toolbar .import-action-group{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.delivery-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.whatsapp-button{min-height:40px;padding:9px 12px;border:0;border-radius:5px;background:#25d366;color:#073b1b;font-weight:700}.delivery-history{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:6px;background:#f8fbfa}.delivery-history h3{margin-top:0}.delivery-history p{margin:7px 0;display:grid;grid-template-columns:20px 1fr;align-items:center}.delivery-history small{grid-column:2;color:var(--muted)}
.access-page{display:grid;gap:24px}.access-overview{padding:26px;border:1px solid #d8dee2;border-radius:14px;background:#fff;overflow:hidden}.access-overview-title{display:flex;align-items:flex-start;justify-content:space-between}.access-overview-title h2{margin:3px 0 26px;font-size:27px}.access-overview-title>span{padding:7px 10px;border-radius:20px;background:var(--teal-soft);color:var(--teal);font-size:11px;font-weight:700}.access-root-node{width:max-content;min-width:210px;margin:0 auto;padding:12px 18px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 5px 18px #0f26300b}.access-root-node i{color:var(--teal)}.access-question{position:relative;width:max-content;margin:28px auto;padding:9px 18px;border:1px solid #cfd7dc;border-radius:22px;background:#f8fafb;font-size:11px;font-weight:700}.access-question:before{content:"";position:absolute;left:50%;bottom:100%;height:29px;border-left:1px solid #aab5bc}.access-role-grid{position:relative;margin-top:38px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.access-role-grid:before{content:"";position:absolute;left:16.7%;right:16.7%;top:-20px;border-top:1px solid #aab5bc}.access-role-card{position:relative;padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 8px 25px #17313b0a}.access-role-card:before{content:"";position:absolute;left:50%;bottom:100%;height:20px;border-left:1px solid #aab5bc}.access-role-card>p{margin:0;color:var(--muted);font-size:11px}.access-role-card h3{margin:4px 0 14px;font-size:16px}.access-role-icon{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f0f4f5;color:#56646e}.access-role-card.role-admin{border-top:3px solid #1f2937}.access-role-card.role-internal{border-top:3px solid var(--teal)}.access-role-card.role-subcontractor{border-top:3px solid #f39a22}.access-role-card.role-internal .access-role-icon{background:var(--teal-soft);color:var(--teal)}.access-role-card.role-subcontractor .access-role-icon{background:#fff3e3;color:#db7d00}.access-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.access-capabilities span{min-height:48px;padding:7px;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;text-align:center;color:#586570;font-size:10px}.access-capabilities i{color:var(--teal);font-size:9px}.access-role-card footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.access-role-card footer span{color:var(--muted);font-size:10px}.access-role-card footer button{padding:6px 9px;border:0;border-radius:4px;background:#edf4f3;color:#087d70;font-size:10px;font-weight:700}.access-users-toolbar{margin:0}.access-users-table .user-identity{display:flex;align-items:center;gap:10px}.user-identity>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#25313d;color:#fff;font-size:11px}.user-identity>span{display:grid;gap:3px}.user-identity small{color:var(--muted)}.access-profile-badge{display:inline-flex;padding:6px 9px;border-radius:5px;background:#edf1f2;font-size:10px;font-weight:700}.access-profile-badge.role-internal{background:var(--teal-soft);color:var(--teal)}.access-profile-badge.role-subcontractor{background:#fff3e3;color:#a65d00}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-height:310px;overflow:auto;padding:4px}.permission-grid label{min-height:48px;padding:8px;border:1px solid var(--line);border-radius:5px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;background:#fff}.permission-grid label:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}.permission-grid input{width:auto}.permission-grid span{display:flex;align-items:center;gap:7px;font-weight:600}.permission-grid i{width:16px;color:var(--teal)}.switch-row{padding:11px;border:1px solid var(--line);border-radius:5px;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px}.switch-row input{width:auto}.entity-card-actions{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:8px}.entity-card-actions .site-link{grid-column:auto}.subcontractor-card{align-content:start}
@media(max-width:1200px){.site-dossier-builder{grid-template-columns:1fr}.dossier-type-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.access-role-grid{grid-template-columns:1fr}.access-role-grid:before,.access-role-card:before{display:none}.access-capabilities{grid-template-columns:1fr 1fr}.permission-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.dossier-type-grid,.equipment-choice-grid,.work-order-scope,.permission-grid,.entity-card-actions{grid-template-columns:1fr}.dossier-type-grid{grid-template-columns:repeat(2,1fr)}}
@media print{.sidebar,.topbar,.module-toolbar button,.header-meta{display:none!important}.application{display:block;height:auto}.workspace,.page-host{height:auto;overflow:visible}.module-page{padding:0;background:#fff}.report-kpis,.report-grid{break-inside:avoid}.reports-page .report-panel{box-shadow:none}.printable{break-before:page}}

/* Navigation ergonomique */
.application{grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .22s ease}.sidebar{position:relative;z-index:30;min-width:0;box-shadow:8px 0 24px #06141d12}.brand{height:122px;padding:18px;gap:12px}.brand img:first-child{width:150px;height:48px}.brand img:last-child{width:106px;height:39px}.sidebar-heading{height:34px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#7f949e;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.sidebar-heading button{display:none;width:34px;height:34px;border:0;border-radius:7px;background:#ffffff0d;color:#fff}.sidebar nav#mainNav{min-height:0;flex:1;display:block;overflow:auto;padding:4px 12px 14px;scrollbar-width:thin;scrollbar-color:#34515d transparent}.nav-group{margin:0 0 8px}.nav-group>p{margin:8px 9px 4px;color:#778b94;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nav-item{position:relative;width:100%;height:42px;margin:2px 0;padding:0 12px;border:0;border-radius:7px;color:#dce5e8;gap:12px;font-size:12px;font-weight:600;transition:background .15s ease,color .15s ease,transform .15s ease}.nav-item i{width:20px;color:#9eb0b7}.nav-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover{border:0;background:#ffffff0d;color:#fff;transform:translateX(2px)}.nav-item:hover i{color:#fff}.nav-item.active{border:0;background:linear-gradient(90deg,#073d3c,#10404a);color:#fff;box-shadow:inset 3px 0 #00d1b2}.nav-item.active i{color:#00d1b2}.nav-count{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:10px;display:grid;place-items:center;background:#ffffff14;color:#cbd7da;font-size:9px}.nav-item.active .nav-count{background:#00a892;color:#fff}.account{margin-top:0;padding:14px 16px}.logout-button,.collapse{flex:0 0 auto}.breadcrumb{min-height:18px;margin-bottom:3px;display:flex;align-items:center;gap:7px;color:#7b8791;font-size:9px}.breadcrumb button{padding:0;border:0;background:transparent;color:#65737f}.breadcrumb button:hover{color:var(--teal)}.breadcrumb i{font-size:7px;color:#adb7bd}.breadcrumb strong{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#51606c;font-weight:600}.topbar{gap:18px}.page-heading{min-width:0}.page-heading h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-meta{margin-left:auto}.nav-shortcut{height:36px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#f8faf9;color:#4f5d68;display:flex;align-items:center;gap:8px;font-size:10px}.nav-shortcut:hover{border-color:#91cbc3;background:var(--teal-soft);color:#087d70}.nav-shortcut kbd{padding:3px 5px;border:1px solid #d9e1e3;border-bottom-width:2px;border-radius:4px;background:#fff;color:#77838d;font:8px "Segoe UI",Arial,sans-serif}.mobile-menu-button,.mobile-quick-nav{display:none}.nav-backdrop{display:none}
.application.nav-collapsed{grid-template-columns:82px minmax(0,1fr)}.application.nav-collapsed .brand{height:95px;padding:20px 10px}.application.nav-collapsed .brand img:first-child{width:58px;height:auto}.application.nav-collapsed .brand img:last-child,.application.nav-collapsed .sidebar-heading span,.application.nav-collapsed .nav-group>p,.application.nav-collapsed .nav-item span,.application.nav-collapsed .nav-count,.application.nav-collapsed .account div{display:none}.application.nav-collapsed .sidebar-heading{justify-content:center;padding:0}.application.nav-collapsed .nav-item{justify-content:center;padding:0}.application.nav-collapsed .nav-item:hover{transform:none}.application.nav-collapsed .account{justify-content:center}.application.nav-collapsed .logout-button,.application.nav-collapsed .collapse{padding:0;text-align:center;font-size:0}.application.nav-collapsed .logout-button i,.application.nav-collapsed .collapse i{margin:0;font-size:13px}
.command-palette{width:min(610px,calc(100vw - 28px));overflow:visible;border-radius:14px}.command-palette::backdrop{background:#061721b8;backdrop-filter:blur(3px)}.command-palette-card{overflow:hidden;border-radius:14px;background:#fff}.command-palette-card>header{height:64px;padding:0 18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border-bottom:1px solid var(--line);color:var(--teal)}.command-palette-card input{height:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}.command-palette-card header button{width:34px;height:34px;border:0;border-radius:7px;background:#f1f5f5;color:#5e6b75}.command-help{margin:0;padding:13px 20px 7px;color:var(--muted);font-size:10px}.command-list{max-height:min(520px,65vh);padding:8px 10px 14px;overflow:auto}.command-list>button{width:100%;min-height:58px;padding:8px 11px;border:0;border-radius:8px;background:#fff;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;text-align:left;color:#26333d}.command-list>button:hover{background:#f1f8f7}.command-list>button>span:nth-child(2){display:grid;gap:3px}.command-list strong{font-size:12px}.command-list small{color:var(--muted);font-size:9px}.command-list em{padding:5px 7px;border-radius:5px;background:var(--teal-soft);color:#087d70;font-size:9px;font-style:normal}.command-list>button>.fa-arrow-right{color:#a0abb1}.command-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}.command-empty{padding:40px;display:grid;place-items:center;gap:10px;color:var(--muted)}.command-empty i{font-size:24px;color:#a9b4b9}
@media(max-width:1180px) and (min-width:901px){.application{grid-template-columns:230px minmax(0,1fr)}.application.nav-collapsed{grid-template-columns:82px minmax(0,1fr)}.brand{height:110px;padding:16px 10px}.brand img:first-child{width:125px}.brand img:last-child{width:92px}.nav-item{justify-content:flex-start;padding:0 11px}.nav-item span{display:block}.account div{display:grid}.collapse{display:block}.main-grid{grid-template-columns:minmax(610px,1fr) 360px}}
@media(max-width:900px){body{background:#f7f9f9}.application,.application.nav-collapsed{display:block;min-height:100vh;height:auto}.application .sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,86vw);height:100vh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 50px #0005}.application.nav-open .sidebar{transform:translateX(0)}.application .brand{height:105px;padding:16px;display:flex;flex-direction:row;justify-content:center;gap:16px}.application .brand img:first-child{width:148px;height:auto}.application .brand img:last-child{display:block;width:108px;height:auto}.application .sidebar-heading{height:42px;padding:0 18px}.application .sidebar-heading span{display:block}.application .sidebar-heading button{display:grid;place-items:center}.application .sidebar nav#mainNav{display:block;padding-bottom:18px}.application .nav-group>p,.application .nav-item span,.application .nav-count{display:block}.application .account div{display:grid}.application .nav-item{justify-content:flex-start;padding:0 12px}.application .nav-item span{flex:1}.application .account{display:flex;justify-content:flex-start}.application .logout-button{display:block;padding:0 18px;text-align:left;font-size:11px}.application .logout-button i{margin-right:12px;font-size:11px}.application .collapse{display:none}.nav-backdrop:not([hidden]){position:fixed;inset:0;z-index:25;display:block;background:#0617218f;backdrop-filter:blur(2px)}.workspace{height:auto;min-height:100vh;padding-bottom:66px;overflow:visible}.topbar{position:sticky;top:0;z-index:20;height:78px;padding:0 14px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;box-shadow:0 5px 18px #0a263012}.mobile-menu-button{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#263641;display:grid;place-items:center}.topbar h1{font-size:20px}.page-heading p{display:none}.header-meta{margin:0;gap:7px}.header-meta>span,.header-meta .role-switch,.header-meta>.avatar,.header-meta>strong,.header-meta>.fa-chevron-down{display:none}.nav-shortcut{width:38px;padding:0;justify-content:center}.nav-shortcut span,.nav-shortcut kbd{display:none}.topbar .bell{width:38px;padding:0;border:0;border-radius:8px;display:grid;place-items:center;background:#f8faf9}.topbar .bell b{right:1px}.page-host{height:auto;min-height:calc(100vh - 144px);overflow:visible}.mobile-quick-nav{position:fixed;inset:auto 0 0;z-index:22;height:66px;padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -5px 20px #0a263012}.mobile-nav-item{position:relative;min-width:0;border:0;border-radius:8px;background:#fff;color:#667580;display:grid;place-items:center;align-content:center;gap:4px}.mobile-nav-item i{font-size:15px}.mobile-nav-item span{max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700}.mobile-nav-item .nav-count{position:absolute;top:2px;left:calc(50% + 6px);min-width:15px;height:15px;padding:0 4px;background:var(--red);color:#fff;font-size:7px}.mobile-nav-item.active{background:var(--teal-soft);color:#087f70}.mobile-nav-item.active i{color:var(--teal)}.command-palette{margin-top:12vh}}
@media(max-width:560px){.breadcrumb span,.breadcrumb i:first-of-type{display:none}.breadcrumb strong{max-width:120px}.topbar .bell{display:none}.dashboard-metrics,.report-kpis{grid-template-columns:1fr}.access-overview{padding:18px 14px}.command-palette{margin-top:8vh}.command-help{display:none}}

/* Import de site et synthèse des équipements */
.site-import-page{display:grid;gap:18px}.site-import-hero{min-height:158px;padding:26px 28px;border:1px solid #bce5df;border-radius:10px;background:linear-gradient(120deg,#effaf8 0,#fff 70%);display:flex;align-items:center;justify-content:space-between;gap:30px}.site-import-hero h2{margin:5px 0 9px;font-size:28px}.site-import-hero p:last-child{max-width:720px;margin:0;color:var(--muted);line-height:1.55}.sync-indicator{width:max-content;min-height:34px;padding:8px 11px;border-radius:18px;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;white-space:nowrap}.sync-indicator.is-online{background:#e7f6ef;color:#16805e}.sync-indicator.is-local{background:#edf1f3;color:#5b6872}.sync-indicator.is-syncing{background:#e7f6f4;color:#078f7f}.sync-indicator.is-syncing i{animation:sync-spin 1s linear infinite}.sync-indicator.has-error{background:#ffeded;color:#d43f47}@keyframes sync-spin{to{transform:rotate(360deg)}}
.import-flow-steps{margin:0;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;overflow:hidden}.import-flow-steps li{position:relative;min-height:76px;padding:15px 18px;display:flex;align-items:center;gap:11px;color:#83909a}.import-flow-steps li+li{border-left:1px solid var(--line)}.import-flow-steps li b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf1f2;color:#65737d;font-size:11px}.import-flow-steps li span{display:grid;gap:3px;font-size:11px;font-weight:800}.import-flow-steps li small{color:#929da5;font-size:9px;font-weight:500}.import-flow-steps li.active{color:#087e70}.import-flow-steps li.active b{background:var(--teal);color:#fff}.import-flow-steps li.active small{color:#66817d}
.site-import-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px}.site-import-card,.site-import-preview{padding:22px;border:1px solid var(--line);border-radius:9px;background:#fff}.site-import-card h3,.site-import-preview h3{margin:4px 0}.site-file-drop{min-height:230px;margin-top:18px;padding:28px;border:1.5px dashed #8ccfc5;border-radius:8px;background:#f5fbfa;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.site-file-drop:hover{border-color:var(--teal);background:#edf9f7}.site-file-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.site-file-drop>i{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#dff4f0;color:var(--teal);font-size:22px}.site-file-drop strong{font-size:15px}.site-file-drop span{color:var(--teal);font-size:11px;font-weight:700}.site-file-drop small{max-width:520px;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.5}.site-structure-card>p:last-child{margin:18px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.site-structure-tree{margin-top:20px;display:grid;gap:8px}.site-structure-tree span{position:relative;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:11px;background:#fbfcfc}.site-structure-tree span+span{margin-left:18px}.site-structure-tree span+span:before{content:"";position:absolute;right:100%;top:-9px;width:18px;height:30px;border-left:1px solid #adc2c0;border-bottom:1px solid #adc2c0}.site-structure-tree i{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}.site-structure-tree b{font-size:11px}
.import-preview-kpis{margin:18px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.import-preview-kpis article{padding:14px;border:1px solid var(--line);border-radius:7px;background:#f8fbfa;display:flex;align-items:baseline;gap:8px}.import-preview-kpis b{font-size:22px;color:var(--teal)}.import-preview-kpis span{color:var(--muted);font-size:10px}.import-warning{margin:0 0 14px;padding:10px 12px;border-radius:6px;background:#fff5e8;color:#9b6108;display:flex;gap:9px;font-size:10px}.type-chip-list{display:flex;flex-wrap:wrap;gap:4px}.type-chip-list span{padding:4px 6px;border-radius:4px;background:#eaf6f4;color:#087f70;font-size:9px;font-weight:700}.recent-imports{padding-bottom:10px}.recent-imports>.section-heading>span{color:var(--muted);font-size:10px}.recent-imports>button{width:100%;min-height:62px;padding:10px 4px;border:0;border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:38px minmax(0,1fr) auto 20px;align-items:center;gap:11px;text-align:left}.recent-imports>button:hover{background:#f7fbfa}.recent-imports>button>span:nth-child(2){display:grid;gap:4px}.recent-imports small,.recent-imports time{color:var(--muted);font-size:9px}.import-file-icon{width:34px;height:34px;border-radius:7px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}
.site-equipment-synthesis{margin:18px 0}.site-equipment-synthesis .section-heading>div>p:last-child{margin:5px 0 0;color:var(--muted);font-size:10px}.synthesis-sync-actions{display:flex;align-items:center;gap:8px}.equipment-synthesis-stats{margin:17px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.equipment-synthesis-stats span{min-height:48px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fafcfc;display:flex;align-items:center;gap:7px;color:#66737e;font-size:10px}.equipment-synthesis-stats b{margin-left:auto;color:var(--ink);font-size:17px}.equipment-synthesis-stats span:nth-child(1) i{color:#2e9d57}.equipment-synthesis-stats span:nth-child(2) i{color:var(--teal)}.equipment-synthesis-stats span:nth-child(3) i{color:var(--red)}.equipment-synthesis-stats span:nth-child(4) i{color:#95a0a7}.equipment-synthesis-table td:first-child strong,.equipment-synthesis-table td:nth-child(3){display:grid;gap:3px}.equipment-synthesis-table td:first-child small,.equipment-synthesis-table td:nth-child(3) small{display:block;max-width:210px;color:var(--muted);font-size:9px}.equipment-state{width:max-content;padding:6px 8px;border-radius:5px;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:700}.equipment-state.state-ok{background:#e8f5eb;color:#218044}.equipment-state.state-nok{background:#ffebeb;color:#d64048}.equipment-state.state-progress{background:#e8f6f4;color:#078778}.equipment-state.state-todo{background:#eff2f3;color:#68757e}.equipment-progress{min-width:125px}.equipment-progress span{display:flex;justify-content:space-between;font-size:9px}.equipment-progress em{color:var(--muted);font-style:normal}.equipment-progress progress{width:100%;height:6px;margin-top:5px}.table-action{padding:7px 9px;border:1px solid #a9d8d2;border-radius:5px;background:#fff;color:#087d70;font-size:9px;font-weight:700;white-space:nowrap}.table-action:hover{background:var(--teal-soft)}.muted{color:var(--muted);font-size:9px}.empty-table-state{padding:30px;display:grid;place-items:center;gap:8px;color:var(--muted)}.empty-table-state i{font-size:22px;color:#9cb5b2}.empty-table-state strong{color:var(--ink)}
@media(max-width:1100px){.site-import-layout{grid-template-columns:1fr}.site-structure-tree{grid-template-columns:repeat(5,1fr)}.site-structure-tree span+span{margin-left:0}.site-structure-tree span+span:before{display:none}.site-structure-tree span{justify-content:center}.equipment-synthesis-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-import-hero{align-items:flex-start;flex-direction:column}.import-flow-steps{grid-template-columns:1fr 1fr}.import-flow-steps li:nth-child(3){border-left:0;border-top:1px solid var(--line)}.import-flow-steps li:nth-child(4){border-top:1px solid var(--line)}.site-structure-tree{grid-template-columns:1fr}.import-preview-kpis{grid-template-columns:1fr 1fr}.synthesis-sync-actions{align-items:flex-end;flex-direction:column}.equipment-synthesis-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.import-flow-steps,.import-preview-kpis,.equipment-synthesis-stats{grid-template-columns:1fr}.import-flow-steps li+li{border-left:0;border-top:1px solid var(--line)}.site-import-card,.site-import-preview{padding:16px}.site-import-hero{padding:22px 18px}.site-import-hero h2{font-size:23px}.recent-imports>button{grid-template-columns:34px 1fr 16px}.recent-imports time{display:none}}

.manual-site-card{display:grid;gap:16px}.manual-site-card form{display:grid;gap:14px}.manual-site-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:11px}.manual-site-grid .wide-field{grid-column:span 2}.manual-site-card .primary{width:max-content;justify-self:end}.selected-site-badge{padding:8px 11px;border-radius:18px;background:var(--teal-soft);color:var(--teal);font-size:10px;font-weight:800}.site-import-layout>.site-import-card>label:not(.site-file-drop){margin-top:15px}.site-file-drop.is-disabled,.site-plan-drop.is-disabled{opacity:.55;cursor:not-allowed}.site-plan-drop{min-height:118px;margin:18px 0 12px;padding:18px;border:1.5px dashed #8ccfc5;border-radius:8px;background:#f5fbfa;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;cursor:pointer}.site-plan-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.site-plan-drop>i{font-size:22px;color:var(--teal)}.site-plan-drop strong{font-size:12px}.site-plan-drop span{color:var(--muted);font-size:9px}.site-plan-list{max-height:145px;overflow:auto;display:grid;gap:6px}.site-plan-list>span{padding:8px;border:1px solid var(--line);border-radius:6px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px}.site-plan-list i{color:var(--teal)}.site-plan-list b{font-size:10px}.site-plan-list small{color:var(--muted);font-size:8px}.site-plan-list p{color:var(--muted);font-size:10px}.type-count-grid{display:flex;flex-wrap:wrap;gap:7px}.type-count-grid span{min-width:88px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fafcfc;display:flex;align-items:center;justify-content:space-between}.type-count-grid b{font-size:10px}.type-count-grid em{font-style:normal;color:var(--teal);font-size:14px;font-weight:800}.recent-import-row{min-height:74px;padding:10px 4px;border-top:1px solid var(--line);display:grid;grid-template-columns:38px minmax(210px,1fr) auto minmax(250px,auto);align-items:center;gap:11px}.recent-import-row>span:nth-child(2){display:grid;gap:3px}.recent-import-row strong{font-size:11px}.recent-import-row small,.recent-import-row time{color:var(--muted);font-size:9px}.recent-import-row em{color:#198263;font-size:8px;font-style:normal;font-weight:700}.recent-import-actions{display:flex;justify-content:flex-end;gap:6px}.recent-import-actions button{white-space:nowrap}
@media(max-width:1100px){.manual-site-grid{grid-template-columns:1fr 1fr}.recent-import-row{grid-template-columns:38px 1fr auto}.recent-import-actions{grid-column:2/4;justify-content:flex-start}}
@media(max-width:700px){.manual-site-grid{grid-template-columns:1fr}.manual-site-grid .wide-field{grid-column:auto}.manual-site-card .primary{width:100%;justify-self:stretch}.recent-import-row{grid-template-columns:34px 1fr}.recent-import-row time{display:none}.recent-import-actions{grid-column:1/-1;flex-wrap:wrap}.recent-import-actions button{flex:1}}
.client-hierarchy-grid{display:grid;gap:18px}.client-hierarchy-card{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.client-hierarchy-card>header{padding:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:linear-gradient(90deg,#f7fbfa,#fff)}.client-hierarchy-card h3{margin:3px 0 5px;font-size:20px}.client-hierarchy-card p{margin:0;color:var(--muted)}.client-hierarchy-counts{display:grid;grid-template-columns:repeat(3,auto);column-gap:15px;text-align:center}.client-hierarchy-counts b{font-size:20px;color:var(--teal)}.client-hierarchy-counts span{grid-row:2;color:var(--muted);font-size:9px}.client-sites-tree{padding:0 20px 18px}.client-sites-tree section{border-top:1px solid var(--line)}.client-site-row{width:100%;padding:15px 6px;border:0;background:#fff;display:grid;grid-template-columns:25px 1fr auto 20px;align-items:center;gap:9px;text-align:left}.client-site-row>i:first-child{color:var(--teal)}.client-site-row span{display:grid;gap:3px}.client-site-row small{color:var(--muted)}.client-site-row em{font-style:normal;color:var(--muted);font-size:10px}.client-project-list{margin:0 0 12px 31px;padding-left:14px;border-left:2px solid #c9ebe6;display:grid;gap:7px}.client-project-list button{padding:10px;border:1px solid var(--line);border-radius:6px;background:#fafcfc;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;text-align:left}.client-project-list button>i{color:var(--teal)}.client-project-list button span{display:grid;gap:3px}.client-project-list button small{color:var(--muted)}.client-project-list p{color:var(--muted);font-size:10px}.inline-filter{min-width:170px;display:grid;gap:4px;color:var(--muted);font-size:9px}.inline-filter select{min-height:36px;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:#fff}.order-type-filter{display:inline-grid;margin-right:9px;vertical-align:middle}.work-order-equipment-filters{margin:12px 0;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.work-order-equipment-filters label{display:grid;gap:5px}.work-order-equipment-filters select{min-height:40px;padding:7px;border:1px solid var(--line);border-radius:5px;background:#fff}.plan-symbol-reference{margin-bottom:14px;padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;display:flex;flex-wrap:wrap;gap:16px}.plan-symbol-reference>span{display:flex;align-items:center;gap:7px;font-size:10px}.plan-pin-normalized{width:30px!important;height:30px!important;border:0!important;background:transparent!important;display:grid!important;place-items:center!important;transform:translate(-50%,-50%)}.plan-pin-normalized small{position:absolute;right:-4px;bottom:-3px;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;background:#152532;color:#fff;font-size:7px}.plan-equipment-symbol{width:22px;height:22px;display:inline-grid;place-items:center;font-size:8px;font-weight:900;line-height:1}.symbol-sensor{width:15px;height:15px;border:2px solid #35c957;border-radius:50%;color:#35c957}.symbol-pir{width:15px;height:15px;border:2px solid #03a9e8;color:#03a9e8}.symbol-control{width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:23px solid #f12b2b;color:#fff;position:relative}.symbol-control::after{content:attr(data-label);position:absolute}.symbol-control{padding-top:13px;text-indent:-5px}.symbol-supply{color:#111;font-size:0}.symbol-supply::before,.symbol-supply::after{content:"";position:absolute;width:21px;height:3px;background:#111;transform:rotate(45deg)}.symbol-supply::after{transform:rotate(-45deg)}.symbol-other{border:2px solid #111;border-radius:50%;color:#111;background:#fff}.plan-legend .plan-equipment-symbol{flex:0 0 auto}.plan-legend span{align-items:center;gap:6px}.plan-legend span>b{margin:0!important}@media(max-width:760px){.client-hierarchy-card>header{grid-template-columns:auto 1fr}.client-hierarchy-counts{grid-column:1/-1}.work-order-equipment-filters{grid-template-columns:1fr}.plan-symbol-reference{gap:10px}}
.previsit-plan-summary{margin-bottom:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.previsit-plan-summary article{padding:16px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px}.previsit-plan-summary i{width:42px;height:42px;border-radius:9px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;font-size:17px}.previsit-plan-summary span{display:grid;gap:3px;color:var(--muted);font-size:10px}.previsit-plan-summary strong{color:var(--ink);font-size:13px}.previsit-plan-summary b{font-size:24px;color:var(--teal)}.previsit-plan-group{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff}.previsit-plan-group.plan-kind-client{border-left:4px solid #ef9b25}.previsit-plan-group.plan-kind-enera{border-left:4px solid var(--teal)}.previsit-plan-head{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.previsit-plan-head h3{margin:7px 0 3px;font-size:14px}.previsit-plan-head p{margin:0;color:var(--muted);font-size:10px}.plan-kind-badge{width:max-content;padding:6px 9px;border-radius:5px;background:var(--teal-soft);color:var(--teal);font-size:10px;font-weight:800}.plan-kind-client .plan-kind-badge{background:#fff3df;color:#a96708}.plan-kind-badge i{margin-right:6px}.client-plan-symbol{width:22px;height:22px;border:2px solid #ef9b25;border-radius:50%;background:#fff7e9;color:#b86e04;display:inline-grid;place-items:center;font-size:9px}.client-material-pin{border-color:#ef9b25!important;background:#fff7e9!important}.plan-legend span>strong{font-size:10px}.plan-legend span>small{color:var(--muted);font-size:9px}.previsit-plan-empty{min-height:180px}.awaiting-equipment-position{outline:3px solid rgba(0,169,151,.24);outline-offset:3px}@media(max-width:720px){.previsit-plan-summary{grid-template-columns:1fr}.previsit-plan-head{align-items:flex-start;flex-direction:column}.previsit-plan-head .file-button{width:100%;justify-content:center}}
.global-data-source{padding:7px 10px;border-radius:16px;background:#e7f6ef;color:#16805e;display:inline-flex!important;align-items:center;gap:6px;font-size:9px;white-space:nowrap}.global-data-source.is-offline{background:#fff3df;color:#9a620f}.global-data-source.is-syncing i{animation:sync-spin 1s linear infinite}@media(max-width:1100px){.global-data-source b{display:none}}
.client-card-toggle{min-width:0;padding:4px 8px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;color:var(--ink);cursor:pointer}.client-card-toggle>span{min-width:0;display:grid;gap:3px}.client-card-toggle small{color:var(--muted);font-size:9px}.client-card-toggle strong{font-size:18px}.client-card-toggle em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;font-style:normal}.client-card-toggle>i{color:var(--muted);transition:transform .2s ease}.client-portfolio-card.is-expanded .client-card-toggle>i{transform:rotate(180deg)}.client-site-list[hidden]{display:none}.client-card-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:6px}
.project-context.role-aware-project-context{position:sticky;top:0;align-self:start;max-height:calc(100vh - 110px);overflow:auto;background:#fff}.project-activity{display:grid;gap:10px}.project-activity>div{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:start}.project-activity>div>i{margin-top:5px;color:var(--teal);font-size:6px}.project-activity span{display:grid;gap:3px;font-size:10px}.project-activity small{color:var(--muted);font-size:9px}.live-scope-note{padding:9px;border-radius:6px;background:var(--teal-soft);color:var(--teal);font-size:9px}.step-kicker{margin:0 0 4px;color:var(--teal);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.previsit-plan-selector{max-width:420px;margin:0 0 16px;display:grid;gap:6px;font-weight:700}.previsit-plan-selector select{min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff}.room-plan-pin{width:30px;height:30px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:#0a9f8d;color:#fff;font-weight:900;box-shadow:0 2px 8px #001b3040}.room-legend-number{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff}.visit-material-grid{display:grid;gap:10px}.visit-material-grid>article{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px}.visit-material-grid h3{margin:3px 0;font-size:14px}.visit-material-grid p,.visit-material-grid span{margin:0;color:var(--muted);font-size:10px}.visit-material-grid>b{padding:6px 8px;border-radius:5px;font-size:9px}.visit-material-grid .is-located{background:var(--teal-soft);color:var(--teal)}.visit-material-grid .needs-location{background:#fff3e3;color:#a65d00}.material-catalog-search{max-width:100%;margin-right:0}.room-material-dialog .catalog-suggestions{max-width:100%}@media(max-width:760px){.project-context.role-aware-project-context{position:static;max-height:none}.visit-material-grid>article{grid-template-columns:auto 1fr}.visit-material-grid>article>b,.visit-material-grid>article>button{grid-column:2}.project-tabs{overflow-x:auto;white-space:nowrap}}
.single-submission-card{margin-top:18px;padding:22px;border:1px solid #b8ddd8;border-radius:10px;background:#f1faf8;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:16px}.single-submission-card>i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff}.single-submission-card h3,.single-submission-card p{margin:0}.single-submission-card p{margin-top:5px;color:var(--muted)}@media(max-width:760px){.single-submission-card{grid-template-columns:42px 1fr}.single-submission-card button{grid-column:1/-1;width:100%}}
.company-user-list{grid-column:1/-1;padding:10px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.company-user-list>button{padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left}.company-user-list>button:hover{border-color:var(--teal);background:var(--teal-soft)}.company-user-list>button>span:nth-child(2){display:grid;gap:2px}.company-user-list small{color:var(--muted)}.company-user-list>p{margin:0;color:var(--muted)}
.project-reference-chip{min-height:30px;padding:6px 10px;border:1px solid #9ddbd2;border-radius:5px;background:#f1fbf9;display:inline-flex;align-items:center;gap:6px;color:#087d70;font-size:11px;letter-spacing:.03em}.project-reference-chip i{font-size:9px}
.subcontractor-project-message{width:100%;padding:15px;border:1px solid #9ddbd2;border-radius:8px;background:#f1fbf9;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;color:var(--ink)}.subcontractor-project-message>i{color:var(--teal)}.subcontractor-project-message span{display:grid;gap:3px}.subcontractor-project-message small{color:var(--muted)}
.validation-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.validation-choice-grid article{border:1px solid #cfe1df;border-radius:12px;padding:22px;background:#fff;display:flex;flex-direction:column;gap:12px}.validation-choice-grid article>i{font-size:28px;color:#00a98f}.validation-choice-grid article.partial>i,.danger-text{color:#d84a4a}.validation-choice-grid button{margin-top:auto}.submission-confirmation{margin-top:18px;padding:16px;border-radius:10px;background:#eaf8f5;color:#087e6c;display:flex;gap:12px;align-items:center}.submission-confirmation span{display:flex;flex-direction:column}.project-tabs [data-project-tab="summary"]{margin-left:auto}@media(max-width:760px){.validation-choice-grid{grid-template-columns:1fr}.project-tabs [data-project-tab="summary"]{margin-left:0}}
