:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242424;background:#f5f6f7;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:default}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:26px;letter-spacing:-.8px}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:15px}small,.muted{color:#757b84}input,select,textarea{width:100%;padding:11px 12px;outline:none;border:1px solid #dce0e5;border-radius:10px;background:#fff;transition:border .15s}input:focus,select:focus,textarea:focus{border-color:#ba9120;box-shadow:0 0 0 3px #ffdf6a55}input[type=checkbox]{width:auto;accent-color:#e4b500}label{display:block;font-size:12px;font-weight:650;color:#49505b;margin-bottom:6px}.field{min-width:0}.stack{display:flex;flex-direction:column;gap:13px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.btn{border:1px solid #d9dee5;background:#fff;border-radius:10px;min-height:40px;padding:9px 15px;font-weight:700;color:#303038;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}.uiIcon{display:inline-flex;align-items:center;justify-content:center;line-height:0;vertical-align:middle;flex:none}.uiIcon svg{display:block;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.btn .uiIcon svg{width:16px;height:16px}.btn.tiny .uiIcon svg{width:14px;height:14px}.btnLabel{display:inline-block}.menuChevron{display:inline-flex;margin-left:2px}.menuChevron .uiIcon svg{width:14px;height:14px}.btn.primary{background:#ffd42d;border-color:#ffd42d;color:#171717}.btn.dark{background:#222124;border-color:#222124;color:#fff}.btn.danger{border-color:#eec7c7;color:#b42431}.btn.tiny{padding:7px 10px;min-height:32px;font-size:12px}.btn:focus-visible,.nav:focus-visible{outline:3px solid #b68700}.btn:hover:not(:disabled){filter:brightness(.975)}.pill{display:inline-flex;align-items:center;border-radius:100px;background:#f1f2f4;padding:5px 9px;color:#626773;font-size:11px;font-weight:700;white-space:nowrap}.pill.green{color:#127446;background:#e7f7ef}.pill.yellow{background:#fff4c9;color:#795c00}.pill.red{background:#ffe6e5;color:#ac2d34}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;margin-right:4px}.layout{display:flex;min-height:100vh}.sidebar{width:246px;background:#222125;color:#dfe0e2;min-height:100vh;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px;z-index:4;flex-shrink:0}.brand{display:flex;align-items:center;gap:9px;padding:6px 12px 24px;border-bottom:1px solid #3c3c40;margin-bottom:16px}.brand strong{font-size:19px;letter-spacing:-.7px;color:#fff}.brand em{color:#ffd42d;font-style:italic}.brand-mark{width:35px;height:35px;border-radius:10px;background:#ffd42d;color:#242424;display:grid;place-items:center;font-size:24px;font-weight:950;font-style:italic}.nav{display:flex;gap:11px;align-items:center;padding:12px 14px;margin:2px 0;border-radius:10px;border:0;width:100%;text-align:left;background:transparent;color:inherit;font-weight:600}.nav:hover{background:#39383b}.nav.on{color:#1c1b1b;background:#ffd42d}.navico{font-size:18px;width:22px;text-align:center}.sfoot{margin-top:auto;background:#343337;border-radius:12px;padding:12px;font-size:12px}.sfoot b{display:block;color:#fff;margin:4px 0}.sfoot button{margin-top:10px;width:100%}.main{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:72px;background:white;border-bottom:1px solid #eaebee;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:16px}.topbar .brand-copy{font-weight:800;font-size:17px}.topbar .brand-copy em{font-style:normal;color:#b78800}.content{max-width:1460px;width:100%;margin:0 auto;padding:30px 34px 80px}.head{margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:15px}.head p{margin-top:6px;color:#757b84}.card{background:#fff;border:1px solid #e9ebef;border-radius:15px;padding:20px;box-shadow:0 3px 16px rgba(34,39,47,.025);min-width:0}.card h2{margin-bottom:15px}.metric{padding:17px 18px;min-height:119px}.metric .symbol{font-size:21px}.metric .value{font-size:32px;font-weight:800;margin:6px 0 0;letter-spacing:-1.5px}.metric .desc{font-size:12px;color:#6b7280}.metric.yellow{background:#fffbeb}.metric.green{background:#effaf4}.metric.blue{background:#f0f7ff}.metric.purple{background:#f8f3ff}.twoColumns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:16px;margin-top:16px}.tableScroll{overflow:auto}.table{border-collapse:collapse;width:100%;min-width:610px;text-align:left}.table th{font-size:11px;color:#707783;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#f7f8f9}.table td,.table th{padding:12px 10px;border-bottom:1px solid #f0f1f3}.table tbody tr:hover{background:#fafafb}.table td{font-size:13px}.table td strong{font-weight:750}.avatar{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#ffe39a;font-weight:800;margin-right:6px;font-size:11px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick button{justify-content:flex-start;white-space:normal}.empty{text-align:center;padding:42px 12px;color:#777d86}.empty .symbol{font-size:42px;margin-bottom:12px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar input{max-width:350px}.toolbar select{width:auto;min-width:170px}.list{display:flex;flex-direction:column}.listrow{padding:13px 0;border-bottom:1px solid #eceef0;display:flex;justify-content:space-between;gap:10px;align-items:center}.listrow:last-child{border:0}.itemtitle{font-weight:800}.itemsub{font-size:12px;color:#777d86;margin-top:5px}.twoPane{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.sidebarPanel{position:sticky;top:18px;align-self:start}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tab{border:1px solid #dde0e4;padding:8px 14px;border-radius:10px;background:#fff;font-weight:700}.tab.active{background:#262428;border-color:#262428;color:#fff}.loginWrap{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1fr);background:#fff}.loginLeft{background:#242226;color:#fff;padding:60px max(45px,10vw);display:flex;flex-direction:column;justify-content:center}.loginLeft .logo{background:#fff;border-radius:14px;max-width:370px;padding:16px}.loginLeft .logo img{width:100%}.loginLeft h1{font-size:44px;margin:25px 0 16px}.loginLeft h1 em{color:#ffd42d;font-style:normal}.loginLeft p{max-width:460px;line-height:1.7;color:#c8c8cd}.loginRight{display:grid;place-items:center;padding:30px}.loginForm{width:min(400px,100%)}.loginForm h2{font-size:26px;margin-bottom:8px}.loginForm p{color:#777;margin-bottom:25px}.loginForm .field{margin-bottom:16px}.loginForm .btn{width:100%}.loginDemo{margin-top:20px;padding-top:20px;border-top:1px solid #eaeaea}.notice{padding:12px 13px;border-radius:10px;background:#fff7da;border:1px solid #ffeeb4;color:#705600;font-size:12px;line-height:1.5}.notice.good{background:#eafaf0;border-color:#c0e9d0;color:#185d39}.notice.bad{background:#fff0f0;border-color:#f4c7c7;color:#9b2930}.formhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.formfoot{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding-top:12px}.scanArea{position:relative;min-height:235px;background:#252529;border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;text-align:center}.scanArea video{width:100%;max-height:360px;object-fit:cover;display:none}.scanArea video.on{display:block}.scanArea .scanOverlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.scanCorners{width:min(58vw,210px);height:150px;border:3px dashed #ffd42d;border-radius:12px;opacity:.85}.scanHelp{padding:12px;color:#aab0b9;font-size:12px}.scanOutput{padding:12px 16px;border-radius:11px;background:#f5f6f8;word-break:break-all}.footerHint{font-size:11px;line-height:1.5;color:#80858d}.statsmini{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#707783}.mobilebar{display:none}.modalBackdrop{position:fixed;z-index:50;inset:0;background:#18181abb;display:grid;place-items:center;padding:18px}.modal{background:white;border-radius:18px;width:min(660px,100%);padding:23px;max-height:94vh;overflow:auto;box-shadow:0 20px 80px #1116}.modal h2{margin-bottom:18px}.chip{padding:7px 10px;background:#f5f6f7;border-radius:9px;font-size:12px}.imageThumb{display:block;width:100%;max-height:180px;object-fit:contain;background:#efefef;border-radius:10px;margin:7px 0}.userPanel{padding:9px 12px;border-radius:9px;border:1px solid #dce0e4;background:#fff;font-weight:700}#toast{position:fixed;bottom:24px;right:24px;z-index:100;background:#29272b;color:white;border-radius:10px;padding:13px 18px;box-shadow:0 6px 30px #0003;max-width:340px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translateY(0)}.loader{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.filters{margin-bottom:15px}.borderlink{background:transparent;border:0;color:#ac8500;font-size:12px;font-weight:800}.multiline{white-space:pre-wrap;word-break:break-word}.mr8{margin-right:8px}.wfull{width:100%}.noPrint{}@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,1fr)}.twoColumns{grid-template-columns:1fr}.twoPane{grid-template-columns:1fr}}@media(max-width:800px){.sidebar{display:none}.topbar{padding:0 16px;height:62px}.content{padding:20px 14px 100px}.head{align-items:flex-start;flex-direction:column}.grid3{grid-template-columns:1fr 1fr}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#242225;z-index:10;align-items:center;justify-content:space-around;padding:7px max(9px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom))}.mobilebar button{border:0;background:none;color:#ddd;display:flex;align-items:center;flex-direction:column;gap:2px;font-size:10px;padding:6px 8px}.mobilebar button.on{color:#ffd42d}.mobilebar .ico{font-size:21px}.loginWrap{grid-template-columns:1fr}.loginLeft{padding:30px 26px}.loginLeft h1{font-size:28px;margin:14px 0 8px}.loginLeft p{font-size:13px;line-height:1.5}.loginLeft .logo{max-width:230px}.loginRight{padding:26px}.loginForm h2{font-size:22px}.toolbar input{max-width:none}.toolbar input,.toolbar select{width:100%}.grid2{grid-template-columns:1fr}.card{padding:16px}.table{min-width:490px}.modal{padding:16px}}@media(max-width:400px){.grid3,.grid4{grid-template-columns:1fr 1fr}.metric{padding:11px}.metric .value{font-size:26px}.quick{grid-template-columns:1fr}.topbar .brand-copy{font-size:15px}}
.sideLogo{width:115px;height:48px;object-fit:contain;object-position:left center;flex-shrink:0}.brand{gap:6px;align-items:center;padding:6px 6px 18px}.brand strong{font-size:18px}.brand em{font-size:20px}.headerLogo{width:119px;height:44px;object-fit:contain;object-position:left center}.topbar .brand-copy{margin-left:-5px}

/* DIMATEC Connect 1.2 — fiches contacts, import CSV et gestion des événements. */
.addressGroup{border:1px solid #e3e5e9;border-radius:12px;margin:8px 0;padding:12px;display:grid;gap:12px;min-width:0;}
.addressGroup legend{font-size:13px;font-weight:800;padding:0 8px;color:#3a3c40;}
.fileButton{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:46px;}
.fileButton input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.mapsLink{display:inline-flex;align-items:center;gap:5px;color:#8a6b00;font-size:12px;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:550px){.fileButton{width:100%;}.scanArea{min-height:220px}.tabs .tab{flex:1}}

.csvTable{min-width:520px}.csvTable th:nth-child(2){min-width:205px}.csvTable td{vertical-align:middle}.csvTable select{font-size:12px;min-width:195px}.modal:has(.csvTable){width:min(850px,100%)}.table .btn.tiny{min-height:30px;padding:5px 8px}.table .row.wrap{gap:5px}

/* DIMATEC Connect V1.3 — mon territoire */
.territoryTeaser{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.territoryMetrics{display:flex;gap:11px;flex-wrap:wrap;margin-bottom:15px}.territoryMetrics span{padding:9px 13px;background:white;border:1px solid #e6e7ea;border-radius:10px;font-size:12px}.territoryMetrics b{font-size:17px;color:#1e1f20;margin-right:4px}.territoryFilters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.territorySearch{display:flex;flex:1;gap:7px;min-width:min(300px,100%)}.territoryFilters select{width:auto;min-width:175px}.territoryTabs{margin:14px 0 12px}.territoryLayout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:14px;margin-top:14px}.territoryMapCard{min-width:0}.territorySide{min-width:0;max-height:575px;overflow:auto}.territorySide h2{position:sticky;top:0;background:white;padding-bottom:8px;z-index:1}#territoryMap{width:100%;height:510px;min-height:370px;border-radius:12px;background:#e6e9e8;z-index:0}.mapFallback{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;text-align:center;min-height:360px;color:#525963}.mapFallback small{display:block;margin-top:12px;max-width:340px;color:#7b8087;line-height:1.5}.territoryLegend{display:flex;gap:17px;margin-top:12px;font-size:12px;flex-wrap:wrap;color:#666}.territoryLegend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:middle}.territoryRow{display:flex;align-items:flex-start;gap:8px;border-bottom:1px solid #eff0f2;padding:12px 2px}.territoryRow:last-child{border:0}.territoryDot{display:block;flex-shrink:0;width:12px;height:12px;border-radius:50%;margin-top:4px}.territoryRowBody{min-width:0;flex:1}.territoryRowBody strong{font-size:13px}.territoryRowActions{display:flex;flex-wrap:wrap;gap:5px;justify-content:end;max-width:135px}.territoryRowActions .btn{font-size:11px}.territoryMarker{display:block;width:27px;height:27px;background:var(--marker-color);border-radius:50%;border:3px solid white;box-shadow:0 1px 7px #0006;position:relative}.territoryMarker::after{content:'';position:absolute;inset:7px;background:white;border-radius:50%}.territoryPopup{min-width:190px}.territoryPopup strong{display:block;margin-bottom:5px}.territoryPopup small{display:block;color:#666;margin-top:4px}.territoryPopup .btn{font-size:11px}.leaflet-container{font:inherit}.leaflet-popup-content{line-height:1.45}.leaflet-control-attribution{font-size:10px!important}@media(max-width:1100px){.territoryLayout{grid-template-columns:1fr}.territorySide{max-height:340px}}@media(max-width:650px){#territoryMap{height:370px;min-height:300px}.territorySearch{flex-basis:100%}.territoryFilters select{flex:1}.territoryMetrics span{flex:1;min-width:120px}.territoryRowActions{max-width:120px}.territoryMapCard{padding:9px}.territorySide{max-height:300px}.territoryTabs .tab{padding:8px 10px}}

/* V1.3 — applis de navigation */
.navigationLinks{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;margin-bottom:5px;line-height:1.3}.navigationLinks .navLabel{color:#565a60;font-size:11px;white-space:nowrap}.navigationLinks a{display:inline-block;padding:5px 8px;border:1px solid #ddd;border-radius:8px;text-decoration:none;color:#1f2429;background:#fff;font-size:11px;font-weight:650;white-space:nowrap}.navigationLinks a:focus-visible{outline:3px solid #ffd42d;outline-offset:2px}.navigationLinks a:hover{background:#fff7cf;border-color:#c8b657}.territoryRowActions .navigationLinks{flex-basis:100%;justify-content:flex-end;max-width:180px}.territoryPopup .navigationLinks{margin-top:10px;gap:5px}.territoryPopup .navigationLinks a{font-size:12px;padding:7px 9px}.territoryPopup .navigationLinks .navLabel{flex-basis:100%;font-size:12px}.leaflet-popup-content .row{gap:5px}.territoryPopup{max-width:275px}.territoryRowActions{max-width:200px!important}.territoryRowActions .navigationLinks .navLabel{flex-basis:100%;text-align:right}@media(max-width:650px){.territoryRowActions{max-width:190px!important}.navigationLinks a{padding:7px 8px}}

/* V1.4 — recherche multicritère et sélection géographique */
.advancedFilters{margin-bottom:14px}
.filterHeading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:15px}
.filterHeading h2{margin:0 0 3px}
.filterGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.filterField{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#4e535d;min-width:0}
.filterField input,.filterField select{font-weight:400}
.filterWide{grid-column:span 2}
.filterActions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:14px 0 9px}
.zoneControls{margin-top:14px;margin-bottom:14px}
.zoneControls h2{margin-bottom:3px}
.zoneActions{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-top:12px}
.zoneActions .filterField{width:125px}
.zoneActions .btn{white-space:normal}
@media(max-width:900px){.filterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.filterWide{grid-column:span 2}}
@media(max-width:600px){.filterGrid{grid-template-columns:1fr}.filterWide{grid-column:span 1}.zoneActions{align-items:stretch}.zoneActions .filterField{width:100%}.zoneActions .btn{width:100%}}

/* V1.5 — Historique chronologique, lisible sur mobile. */
.contactHistory{margin:16px 0;padding:15px;background:#f9f9f7;border:1px solid #e6e5e0;border-radius:12px}
.contactHistory h3{font-size:15px;margin:0}.historyHint{font-size:12px;margin:8px 0 16px}
.historyTimeline{list-style:none;padding:0 0 0 4px;margin:0}
.historyEntry{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;position:relative;padding:0 0 19px}
.historyEntry:not(:last-child):before{content:'';position:absolute;left:8px;top:16px;bottom:-1px;width:2px;background:#dbdddc}
.historyMark{display:block;margin-top:4px;width:18px;height:18px;border-radius:50%;border:3px solid white;background:#555;box-shadow:0 0 0 1px #d2d5d7;z-index:1}
.historyEntry.scan .historyMark{background:#d39b00}.historyEntry.meeting .historyMark{background:#247e95}.historyEntry.visit .historyMark{background:#15855d}.historyEntry.created .historyMark{background:#7d7c86}
.historyEntryMain{min-width:0}.historyEntry time{display:block;font-size:11px;color:#6c7177;margin-bottom:3px}.historyEntry strong{font-size:13px;display:block}.historyEntry .itemsub{margin-top:2px}.historyContext{font-size:12px;color:#42464b;margin-top:3px}.historyEmpty{font-size:13px;color:#646a70}
@media(max-width:550px){.contactHistory{padding:12px}.historyEntry{padding-bottom:14px}}

/* V1.5.1 : consultation des contacts et notes dans l'historique */
.privateNoteBox {border:1px solid #e5d6a9;background:#fff9e8;border-radius:12px;padding:14px 16px;margin:14px 0;}
.privateNoteBox strong{display:block;margin-bottom:6px;color:#262626;}
.privateNoteBox p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;}
.privateNoteText{padding:9px 11px;margin:9px 0 0;border-left:3px solid #e5b900;background:#fff9e9;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:0 8px 8px 0;line-height:1.5;}
.infoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;}
.infoGrid>div{background:#f6f7f9;border-radius:9px;padding:11px;min-width:0;overflow-wrap:anywhere;}
.infoGrid span{display:block;color:#737373;font-size:12px;margin-bottom:4px;}
.infoGrid strong{font-size:14px;}
@media(max-width:620px){.infoGrid{grid-template-columns:1fr}}

/* V1.5.2 : partage de notes de rencontres */
.shareNoteOption{display:flex;align-items:flex-start;gap:9px;margin:10px 0;font-weight:600;font-size:13px;line-height:1.4;}
.shareNoteOption input{margin-top:2px;flex:none;}
.shareNoteOption input:disabled{opacity:.5;}

/* V1.5.3 — historique des notes */
.contactNotesJournal{margin:16px 0;padding:15px;background:#fcfbf6;border:1px solid #e6e2d5;border-radius:12px}
.contactNotesJournal h3{font-size:15px;margin:0}
.contactNoteRow{padding:12px 0;border-top:1px solid #e8e6df}
.contactNoteRow:first-of-type{border-top:0}
.contactNoteRow .noteBody{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;line-height:1.5}
.contactNoteRow .itemsub{margin-top:4px}
.legacyNote{background:#f5f4ef;padding:12px;border-radius:8px;margin-top:8px}


/* DIMATEC Connect 1.5.4 — Visites, comptes rendus et suivi, sections lisibles */
.activityTabs {display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.activityTabs .btn {flex:0 1 auto}
.activityFilters{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap;margin:8px 0 14px}
.activityFilters label{min-width:210px;margin:0}
.activityFilters select{margin-top:5px}
.activityStatRow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.activityStatRow span{padding:10px 14px;background:#fff;border:1px solid #e6e7ea;border-radius:12px;font-size:12px;color:#636a72}
.activityStatRow strong{font-size:18px;color:#252525;margin-right:4px}
.activityList{display:flex;flex-direction:column;gap:12px}
.activityCard{display:flex;flex-direction:column;gap:10px}
.activityCard strong{font-size:15px}
.activityText{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:600;font-size:13px;line-height:1.5}
.activityDetail{background:#f7f8f8;border-left:3px solid #ffd42d;border-radius:0 8px 8px 0;padding:10px 13px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.activitySection{border:1px solid #e4e5e9;border-radius:13px;padding:16px;margin:12px 0;display:flex;flex-direction:column;gap:13px;background:#fafafb}
.activitySection>h3{font-size:15px;margin:0 0 5px}
.activitySection .field{margin-bottom:2px}
.activitySection .row.between{gap:12px;align-items:flex-start}
.activityEntry{background:white;border:1px solid #e8e9ee;border-radius:9px;padding:11px;display:flex;flex-direction:column;gap:7px}
.activityEntry p{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.visitSummary{background:#fff6cf;border:1px solid #f3e6ad;padding:14px;border-radius:12px;display:grid;gap:8px}
.visitSummary p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.auditLine{font-size:11px;color:#59626d;border-left:2px solid #d1d5da;padding-left:8px;margin-top:4px}
@media(max-width:550px){.activityTabs .btn{flex:1 1 30%;font-size:11px;padding:7px 9px;white-space:normal}.activityFilters>*{width:100%}.activityFilters label{min-width:100%}.activitySection{padding:12px}.activityStatRow span{flex:1 1 45%}}

/* V1.5.5 — navigation et pagination */
.contactPager{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;margin-top:16px;font-size:12px}.contactPager label{display:flex;align-items:center;gap:8px;margin:0}.contactPager select{width:78px;padding:7px}.contactPager strong{white-space:nowrap}@media(max-width:600px){.contactPager{justify-content:center}.contactPager .btn{flex:1}}


/* V1.5.5.3 — bandeau d'outils : recherche, synchronisation et profil */
.topbar{position:relative;z-index:15;gap:22px;min-height:72px}
.globalSearch{position:relative;width:min(485px,100%);flex:1 1 240px;min-width:0}
.globalSearchIcon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:23px;color:#656c77;pointer-events:none}
#globalSearchInput{width:100%;height:42px;border-radius:11px;padding:10px 67px 10px 43px;background:#f7f8fa;border-color:#e3e6eb;box-shadow:none;font-size:13px}
#globalSearchInput:focus{background:#fff;border-color:#c99f1c;box-shadow:0 0 0 3px #ffd42d44}
.searchShortcut{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#8a9098;border:1px solid #e2e5e8;border-radius:5px;padding:3px 5px;font-size:10px;pointer-events:none}
.globalSearchResults{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;box-shadow:0 14px 42px #12121230;border:1px solid #e2e5e9;border-radius:13px;overflow:hidden;z-index:30;max-height:min(65vh,500px);overflow-y:auto}
.globalSearchResults[hidden],.profileMenu[hidden]{display:none!important}
.globalSearchHeading{padding:11px 13px;background:#f8f8fa;font-size:11px;font-weight:700;color:#707781}
.globalSearchResult{display:flex;width:100%;align-items:center;gap:10px;border:0;background:#fff;padding:10px 12px;text-align:left;color:#252525;cursor:pointer;border-bottom:1px solid #f0f0f2}
.globalSearchResult:hover,.globalSearchResult:focus-visible,.globalSearchAll:hover{background:#fff8dd}
.searchResultAvatar{display:grid;place-items:center;width:32px;height:32px;min-width:32px;background:#fff0b4;border-radius:50%;font-size:11px;font-weight:800;text-transform:uppercase}
.searchResultText{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.searchResultText strong,.searchResultText small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.searchResultText strong{font-size:13px}.searchResultText small{font-size:11px;color:#6b717a}
.globalSearchEmpty{padding:22px 12px;color:#737984;text-align:center;font-size:12px}
.globalSearchAll{width:100%;border:0;background:#f8f9fa;padding:12px;color:#4f3a00;text-align:left;font-weight:750;font-size:12px;cursor:pointer}
.topTools{display:flex;gap:14px;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:0}
.syncTools{display:flex;gap:8px;align-items:center}.syncTools .pill{max-width:170px;overflow:hidden;text-overflow:ellipsis}
.syncButton{white-space:nowrap}.profileWrap{position:relative}
.profileTrigger{display:flex;align-items:center;gap:9px;padding:4px 8px 4px 4px;border:1px solid transparent;border-radius:11px;background:#fff;text-align:left;color:#262626;min-height:43px;max-width:190px}
.profileTrigger:hover,.profileTrigger:focus-visible{border-color:#e3e5e8;background:#fafafa}
.profileAvatar{display:grid;place-items:center;background:#252529;color:#ffd42d;border-radius:50%;width:34px;height:34px;min-width:34px;font-weight:800;font-size:12px}
.profileTitle{display:flex;flex-direction:column;gap:1px;min-width:0}
.profileTitle strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:116px}
.profileTitle small{font-size:10px;color:#747b84}
.profileChevron{font-size:15px;color:#777}
.profileMenu{position:absolute;right:0;top:calc(100% + 9px);width:min(310px,calc(100vw - 28px));background:#fff;border:1px solid #e3e6ea;box-shadow:0 15px 45px #15151535;border-radius:14px;overflow:hidden;z-index:30}
.profileMenuHeader{display:flex;flex-direction:column;gap:4px;padding:15px;background:#f8f9fa;font-size:12px;overflow-wrap:anywhere}
.profileMenuHeader strong{font-size:14px}.profileMenuHeader span{color:#68707a}
.profileMenuInfo{padding:12px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;font-size:11px}
.profileMenuInfo span{color:#717783}.profileMenuInfo strong{text-align:right}
.profileMenuAction{width:100%;border:0;border-top:1px solid #edf0f2;background:white;padding:12px 15px;text-align:left;font-size:12px;font-weight:650}
.profileMenuAction:hover{background:#f8f8f9}.profileMenuAction.logout{color:#a83236}
@media(max-width:1130px){.topbar{gap:10px;padding:0 20px}.syncText{display:none}.syncTools .pill{max-width:122px}.profileTitle{display:none}.profileChevron{display:none}}
@media(max-width:800px){.topbar{padding:0 12px;min-height:62px}.globalSearch{flex:1 1 auto}.syncTools{gap:4px}.syncButton{padding:7px 10px}.profileTrigger{padding:3px}.globalSearchResults{left:0;right:-110px;max-width:calc(100vw - 24px)}}
@media(max-width:520px){#globalSearchInput{height:38px;padding:8px 12px 8px 35px;font-size:12px}.globalSearchIcon{left:10px}.searchShortcut{display:none}.topbar{gap:7px}.topTools{gap:5px}.syncTools .pill{font-size:0;width:24px;min-width:24px;height:25px;padding:8px}.syncTools .pill .dot{width:8px;height:8px;margin:0}.syncButton{min-width:30px;min-height:32px}.profileAvatar{width:31px;height:31px;min-width:31px}.globalSearchResults{right:-95px;max-width:calc(100vw - 24px)}}

/* V1.5.5.4 — choix des invités */
.inviteGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px;margin-top:10px}.inviteChoice{display:flex;align-items:center;gap:9px;border:1px solid #e1e4eb;background:#fff;border-radius:10px;padding:10px;font-weight:600}.inviteChoice input{width:18px;height:18px}.inviteChoice small{color:#667085;font-weight:400}

/* DIMATEC Connect V1.6 — centre de notifications */
.alertWrap{position:relative}.alertTrigger{position:relative;width:41px;height:41px;display:grid;place-items:center;border-radius:11px;border:1px solid #e2e5e9;background:#fff;color:#222;font-size:23px;cursor:pointer}.alertTrigger:hover,.alertTrigger:focus-visible{background:#fff6d3;outline:2px solid transparent;border-color:#d6b24b}.alertCount{position:absolute;right:-5px;top:-5px;border:2px solid #fff;border-radius:12px;background:#d23429;color:#fff;font-size:10px;min-width:19px;padding:2px 4px;line-height:13px;font-weight:800}.alertCount[hidden],.alertMenu[hidden]{display:none!important}.alertMenu{position:absolute;right:-88px;top:calc(100% + 9px);z-index:40;width:min(400px,calc(100vw - 20px));max-height:72vh;display:flex;flex-direction:column;box-shadow:0 15px 45px #15151535;background:#fff;border:1px solid #e3e6ea;border-radius:14px;overflow:hidden}.alertHeader{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #ebedf0}.alertHeader strong{font-size:15px}.alertHeader small{font-size:11px;color:#67707a}.alertList{overflow-y:auto;min-height:0}.alertRow{display:flex;gap:10px;padding:13px 15px;border-bottom:1px solid #eff0f2}.alertUnread{background:#fff9e5}.alertSymbol{display:grid;place-items:center;border-radius:10px;flex-shrink:0;width:32px;height:32px;background:#ffedb1;font-size:15px}.alertBody{min-width:0;flex:1}.alertBody strong{display:block;font-size:13px}.alertBody p{font-size:12px;line-height:1.4;margin:3px 0;color:#515965}.alertBody small{font-size:10px;color:#727a84}.alertActions{display:flex;gap:10px;margin-top:7px}.alertActions button,.alertFooter button{border:0;background:transparent;color:#685000;text-decoration:underline;font-size:11px;font-weight:700;cursor:pointer;padding:3px 0}.alertEmpty{padding:25px;text-align:center;font-size:12px;color:#6b7480}.alertFooter{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f8f9fa;padding:13px 15px}.alertFooter small{font-size:10px;color:#6d737b;text-align:right}@media(max-width:650px){.alertMenu{right:-53px}.alertTrigger{width:34px;height:34px;font-size:19px}.alertHeader{padding:12px}.alertRow{padding:11px}}


/* Notifications V1.6.3.9 : lecture conservée, suppression distincte. */
.alertFilters{display:flex;gap:5px;padding:9px 12px;border-bottom:1px solid #ebedf0;background:#fff}
.alertFilters button{border:1px solid #e4e5e7;background:#f6f7f8;color:#434952;border-radius:8px;padding:6px 9px;font-size:11px;cursor:pointer;white-space:nowrap}
.alertFilters button.selected{border-color:#b48a19;background:#fff2bc;color:#312400;font-weight:800}
.alertRead{background:#fff}
.alertRead .alertSymbol{background:#eceff1;color:#6c7480}
.alertRead .alertBody strong{font-weight:600;color:#525b66}
.alertFooter{align-items:flex-start;flex-direction:column;gap:8px}
.alertFooterActions{width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.alertFooter .alertDelete,.alertActions .alertDelete{color:#aa3030}
.alertFooter button:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}
.alertFooter small{text-align:left;line-height:1.4}


/* V1.6.4 : filtres de notifications DIMATEC, lisibles et adaptés au tactile. */
.alertFilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:5px;margin:12px 14px 7px;border:1px solid #e6e6e2;border-radius:13px;background:#f1f1ed}
.alertFilters button{appearance:none;min-width:0;padding:10px 4px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:11px;font-weight:750;text-align:center;color:#56585f;transition:background .15s,color .15s,box-shadow .15s}
.alertFilters button:hover{background:#fffdf3}
.alertFilters button.selected{background:#ffd42d;border-color:#e6bb13;color:#242424;box-shadow:0 2px 6px #24242418}
.alertFilters button:focus-visible{outline:3px solid #a77600;outline-offset:1px}
.alertHeader{border-bottom:0;padding-bottom:6px}
.alertList{overscroll-behavior:contain}
/* Barre mobile : 4 accès et une rubrique Plus ouvrant le reste des pages. */
.mobileMore[hidden]{display:none!important}.mobileMore{display:none}
@media(max-width:800px){
 .mobilebar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;justify-items:stretch;padding:7px max(7px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid #3b383b;box-shadow:0 -6px 25px #20202020;z-index:26}
 .mobilebar button{min-height:52px;border-radius:11px;padding:5px 2px;font-size:11px;font-weight:700;line-height:1.15;min-width:0;justify-content:center;gap:4px}
 .mobilebar button.on{background:#433b29;color:#ffd42d}
 .mobilebar .ico{font-size:23px;line-height:23px}
 .mobilebar button:focus-visible,.mobileMoreItem:focus-visible{outline:2px solid #ffd42d;outline-offset:1px}
 .mobileMore{display:block;position:fixed;z-index:25;left:10px;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));background:#242225;color:white;border:1px solid #504c46;border-radius:18px;padding:16px;box-shadow:0 15px 45px #0006}
 .mobileMoreTitle{display:block;margin:0 0 12px;color:#ffd42d;font-size:13px}
 .mobileMoreGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .mobileMoreItem{display:flex;align-items:center;gap:9px;text-align:left;min-height:52px;padding:10px 12px;border-radius:10px;border:1px solid #514f4e;background:#353336;color:white;font-weight:700;font-size:12px}
 .mobileMoreItem span{font-size:19px;color:#ffd42d}
 .mobileMoreItem.on{background:#ffd42d;color:#1c1b1b;border-color:#ffd42d}.mobileMoreItem.on span{color:#1c1b1b}
 .content{padding:18px 12px calc(105px + env(safe-area-inset-bottom))}
 .head{gap:11px;margin-bottom:16px}.head h1{font-size:23px;line-height:1.2}
 .head>.row,.head>div.row{width:100%}.head>.row .btn{flex:1 1 auto}
 .btn{white-space:normal;text-align:center;min-height:43px}
 .btn.tiny{min-height:39px}
 .formfoot{flex-wrap:wrap}.formfoot .btn{flex:1 1 auto}
 .alertMenu{position:fixed;top:68px;left:10px;right:10px;width:auto;max-height:calc(100dvh - 170px);border-radius:17px;z-index:41}
 .alertActions button,.alertFooter button{min-height:35px;padding:7px 4px}
 .alertFooterActions{gap:5px}.alertFooterActions button{flex:1 1 auto}
 .modalBackdrop{padding:7px;align-items:end}.modal{border-radius:18px 18px 12px 12px;padding:17px 14px;max-height:calc(100dvh - 16px);width:100%;overscroll-behavior:contain}
 .modal input,.modal select,.modal textarea{font-size:16px}
 .territoryRow{flex-wrap:wrap;gap:9px}.territoryRowBody{flex:1 1 180px}.territoryRowActions{flex:1 1 100%!important;max-width:none!important;justify-content:flex-start}
 .territoryRowActions .navigationLinks{flex-basis:100%;max-width:none;justify-content:flex-start}.territoryRowActions .navigationLinks .navLabel{text-align:left}
}
@media(max-width:700px){
 /* Les tableaux simples deviennent des fiches : aucune navigation horizontale requise. */
 .content .responsiveCards{overflow:visible}
 .content .responsiveCards table.table{display:block;min-width:0;width:100%;border-collapse:separate}
 .content .responsiveCards thead{display:none}
 .content .responsiveCards tbody{display:grid;gap:12px}
 .content .responsiveCards tbody tr{display:block;padding:12px;background:#fff;border:1px solid #e4e7eb;border-radius:12px;box-shadow:0 2px 8px #17171708}
 .content .responsiveCards tbody td{display:block;width:100%;border-bottom:1px solid #eff0f2;padding:9px 3px;overflow-wrap:anywhere}
 .content .responsiveCards tbody td:last-child{border-bottom:0}
 .content .responsiveCards tbody td:before{content:attr(data-label);display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#727781;margin-bottom:5px}
 .content .responsiveCards tbody td.mobileCardActions:before{content:'Actions'}
 .content .responsiveCards tbody td .row{gap:7px}
 .content .responsiveCards tbody td .btn{flex:1 1 125px}
}
@media(max-width:390px){.alertFilters{margin:10px 8px 6px}.alertFilters button{font-size:10px;padding:10px 2px}.mobilebar button{font-size:10px}.content{padding-left:9px;padding-right:9px}}

/* V1.6.5 : filtres de notifications stables et accessibles au toucher. */
.alertFilters{position:relative;z-index:1;flex-shrink:0}
.alertFilters button{touch-action:manipulation;min-height:36px;flex:1 1 0;font-weight:650}
.alertFilters button.selected{box-shadow:inset 0 0 0 1px #dfbd41}
@media(max-width:650px){.alertFilters button{min-height:44px;font-size:12px}}

/* DIMATEC Connect V1.6.6 — journal commercial unifié. */
.commercialTimeline{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.commercialAuditEntry{margin:0;padding:14px 16px;border:1px solid var(--line,#e4e4e4);border-radius:12px;overflow-wrap:anywhere}
.commercialAuditEntry .auditLine{margin-top:9px;line-height:1.6}
.commercialAuditEntry .btn{margin-top:12px}
@media(max-width:600px){.commercialAuditEntry{padding:12px}.commercialAuditEntry .row{align-items:flex-start}}

/* V1.6.6.4 — actions Importer / Exporter compactes pour l’annuaire. */
.contactTransferDropdown{position:relative;display:inline-flex}
.contactTransferMenu[hidden]{display:none!important}
.contactTransferMenu{position:absolute;top:calc(100% + 7px);left:0;z-index:45;min-width:235px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #dee1e5;border-radius:11px;padding:5px;box-shadow:0 12px 30px #1c1c1c22;display:flex;flex-direction:column;gap:2px}
.contactTransferMenu button{display:block;width:100%;padding:11px 12px;text-align:left;border:0;border-radius:7px;background:transparent;color:#303038;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
.contactTransferMenu button:hover,.contactTransferMenu button:focus-visible{background:#fff6d2;outline:2px solid transparent}
.contactTransferDropdown:last-of-type .contactTransferMenu{left:auto;right:0}
@media(max-width:480px){.contactTransferDropdown .btn{min-height:40px;padding:9px 12px}.contactTransferMenu{min-width:220px}}

/* DIMATEC Connect 1.6.7 — comparaison de versions en conflit. */
.syncConflict{padding:15px;margin:14px 0;border:1px solid #dfd8bd;background:#fffdfa;border-radius:12px}
.syncConflict h3{font-size:15px;margin:0 0 12px}
.syncConflict .tableScroll{max-height:300px;overflow:auto;margin-bottom:12px}
.syncConflict td{max-width:280px;overflow-wrap:anywhere;white-space:normal}
.syncConflict .row{justify-content:flex-end;margin-top:12px}
@media(max-width:600px){.syncConflict{padding:10px}.syncConflict .row .btn{flex:1 1 100%}}
#openSyncConflicts[hidden]{display:none!important}

/* Whiteboard V1.7.4 — pense-bêtes personnels et partagés */
.wbTabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.wbGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:16px}
.wbNote{border:1px solid rgba(20,20,20,.1);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px;text-align:left;color:#1c2025;cursor:pointer;min-height:174px;white-space:normal;box-shadow:0 2px 9px rgba(0,0,0,.035);font:inherit}
.wbNote:hover,.wbNote:focus-visible{box-shadow:0 6px 18px rgba(0,0,0,.13);outline-offset:2px}
.wbNote strong{font-size:1.06rem;overflow-wrap:anywhere}
.wbNote small{margin-top:auto;color:#4f5963}
.wbMeta{font-size:.78rem;color:#43505c}
.wbExcerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.91rem}
.wb-yellow{background:#fff1b5}.wb-green{background:#dbf2e3}.wb-blue{background:#e1eafe}.wb-pink{background:#f9dfe9}.wb-white{background:#f7f7f7}
.wbShares{border:1px solid #d7dce3;border-radius:10px;padding:12px;max-height:320px;overflow-y:auto;min-width:0}
.wbShares legend{font-weight:700;padding:0 5px}
.wbPerson{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #e7eaed;padding:9px 0}
.wbPerson label{display:flex;align-items:center;gap:7px;flex:1;min-width:150px}
.wbPerson select{width:auto;max-width:170px}
.wbPin{display:flex;align-items:center;gap:8px;padding-top:19px}
@media(max-width:580px){.wbGrid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px}.wbNote{padding:13px;min-height:160px}.wbPerson select{max-width:100%;flex:1}}

/* V1.7.4.1 — pictogrammes SVG cohérents, sans bibliothèque externe */
.sidebar .navico{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.sidebar .navico svg{display:block;width:21px;height:21px;flex:none}
.mobilebar .ico{display:inline-flex;align-items:center;justify-content:center}
.mobilebar .ico svg{display:block;width:23px;height:23px}
.mobileMoreItem span[aria-hidden="true"]{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;flex:none}
.mobileMoreItem span[aria-hidden="true"] svg{display:block;width:21px;height:21px}

/* V1.7.4.2 — pictogrammes et boutons harmonisés */
.globalSearchIcon .uiIcon svg{width:18px;height:18px;color:#7b8088}.alertTrigger .uiIcon svg{width:20px;height:20px}.alertSymbol .uiIcon svg{width:16px;height:16px}.profileChevron .uiIcon svg{width:15px;height:15px}.wbMeta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.wbInline{margin-right:2px}.wbInline svg{width:14px;height:14px}.contactTransferDropdown .btn{gap:7px}.contactTransferMenu .uiIcon svg{width:15px;height:15px}.contactTransferMenu button{display:flex;align-items:center;gap:8px}.syncButton .uiIcon svg{width:15px;height:15px}.topTools .btn.tiny{gap:6px}.alertTrigger{gap:0}.profileChevron{display:inline-flex;align-items:center;color:#6d727a}.globalSearchIcon{display:inline-flex;align-items:center;justify-content:center}.head .btn .uiIcon svg{width:17px;height:17px}

/* V1.7.4.3 — boutons homogènes, sans modification des actions */
.btn .actionIcon svg,.borderlink .actionIcon svg,.fileButton .actionIcon svg{height:17px;width:17px}
.btn.tiny .actionIcon svg{height:15px;width:15px}
.btn .actionIcon,.borderlink .actionIcon,.fileButton .actionIcon{pointer-events:none;flex-shrink:0}
.btn .actionIcon svg,.borderlink .actionIcon svg,.fileButton .actionIcon svg{pointer-events:none}
.borderlink:has(.actionIcon){display:inline-flex;align-items:center;gap:5px}
.fileButton:has(.actionIcon){display:inline-flex;align-items:center;justify-content:center;gap:8px}
.metric .symbol .uiIcon svg{width:23px;height:23px}
.scanArea #scanPlaceholder .uiIcon svg{height:54px;width:54px;stroke:#ffd42d;stroke-width:1.5}
@media(max-width:650px){.btn .actionIcon svg{width:17px;height:17px}.btn.tiny .actionIcon svg{width:15px;height:15px}}


/* DIMATEC Connect V1.7.4.4 — Page de connexion, en accord avec le design interne */
.loginV1744{display:grid;grid-template-columns:minmax(390px,46%) minmax(380px,1fr);min-height:100vh;min-height:100svh;background:#f5f6f7}
.loginV1744 .loginLeft{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:100svh;background:#222125;color:#fff;padding:clamp(30px,4.5vw,68px);display:flex;flex-direction:column;justify-content:space-between;gap:54px}
.loginV1744 .loginLeft::before{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-310px;bottom:-260px;border-radius:50%;border:95px solid rgba(255,212,45,.055);pointer-events:none}
.loginV1744 .loginBrand{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12);max-width:440px}
.loginV1744 .loginBrand img{display:block;width:clamp(172px,18vw,234px);max-width:100%;height:auto;object-fit:contain}
.loginV1744 .loginBrandConnect{color:#ffd42d;font-style:italic;font-weight:850;font-size:23px;letter-spacing:-.8px;margin-left:26px;margin-top:-7px}
.loginV1744 .loginHero{max-width:510px;padding:16px 0}
.loginV1744 .loginEyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.17em;font-weight:800;color:#d8d8dd;margin-bottom:27px}
.loginV1744 .loginPulse{display:block;flex:none;width:8px;height:8px;background:#ffd42d;border-radius:50%;box-shadow:0 0 0 4px rgba(255,212,45,.12)}
.loginV1744 .loginHero h1{color:white;font-size:clamp(32px,3.6vw,54px);letter-spacing:-.055em;font-weight:850;line-height:1.13;margin:0 0 22px}
.loginV1744 .loginHero h1 em{color:#ffd42d;font-style:normal}
.loginV1744 .loginHero p{color:#b8b8bf;font-size:15px;line-height:1.7;margin:0;max-width:435px}
.loginV1744 .loginFeatures{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap;max-width:500px}
.loginV1744 .loginFeatures>span{border:1px solid rgba(255,255,255,.15);background:#ffffff08;border-radius:9px;padding:9px 10px;display:inline-flex;align-items:center;gap:8px;color:#e5e5e8;font-size:11px;font-weight:700}
.loginV1744 .loginFeatures .uiIcon svg{width:16px;height:16px;color:#ffd42d}
.loginV1744 .loginBrandFooter{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.12);padding-top:19px;color:#83838a;font-size:11px}
.loginV1744 .loginBrandFooter>span:first-child{color:#d3d3d7;font-weight:750}
.loginV1744 .loginRight{background:#f5f6f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:42px clamp(22px,5vw,72px);min-width:0}
.loginV1744 .loginPanel{width:min(480px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 14px 50px rgba(24,29,38,.055);padding:clamp(26px,3.5vw,47px)}
.loginV1744 .loginPanelTop{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.loginV1744 .loginLock{background:#fff3bd;color:#292725;border-radius:12px;display:inline-grid;place-items:center;width:45px;height:45px}
.loginV1744 .loginLock .uiIcon svg{width:22px;height:22px}
.loginV1744 .loginAccessTag{font-size:10px;letter-spacing:.12em;color:#8e741c;font-weight:850}
.loginV1744 .loginPanel h2{font-weight:850;font-size:clamp(25px,2.2vw,33px);letter-spacing:-.055em;color:#242424;line-height:1.22;margin:0 0 9px}
.loginV1744 .loginTitleDot{color:#e3b400}
.loginV1744 .loginSubtitle{font-size:13px;line-height:1.6;color:#727883;margin:0 0 26px}
.loginV1744 .loginFields{display:flex;flex-direction:column;gap:18px}
.loginV1744 .loginFields .field{min-width:0}
.loginV1744 .loginFields label{display:block;font-weight:750;font-size:12px;color:#30333a;margin-bottom:8px}
.loginV1744 .loginFields input{width:100%;height:49px;border-radius:11px;border:1px solid #dfe2e6;background:#fafbfc;padding:0 14px;font-size:13px;color:#242424;transition:border-color .16s,background .16s,box-shadow .16s}
.loginV1744 .loginFields input:focus{background:#fff;border-color:#d6a819;box-shadow:0 0 0 3px rgba(255,212,45,.18)}
.loginV1744 .loginFields input::placeholder{color:#92979f}
.loginV1744 .loginPasswordWrap{position:relative}
.loginV1744 .loginPasswordWrap input{padding-right:52px}
.loginV1744 .loginPasswordToggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:39px;height:39px;border-radius:9px;border:0;background:transparent;display:grid;place-items:center;color:#737b85}
.loginV1744 .loginPasswordToggle:hover{background:#efeff1;color:#292929}
.loginV1744 .loginPasswordToggle:focus-visible{outline:2px solid #c9a013;outline-offset:1px}
.loginV1744 .loginPasswordToggle .uiIcon svg{width:19px;height:19px}
.loginV1744 .loginSubmit{height:51px;width:100%;border-radius:11px;margin-top:4px;background:#ffd42d;border-color:#ffd42d;display:flex;gap:10px;font-size:14px;font-weight:850;transition:background .14s,transform .14s}
.loginV1744 .loginSubmit:hover:not(:disabled){background:#f6ca18;filter:none;transform:translateY(-1px)}
.loginV1744 .loginSubmit .loginSubmitArrow{margin-left:auto}
.loginV1744 .loginSubmit .uiIcon svg{width:17px;height:17px}
.loginV1744 .loginSubmit:disabled{opacity:.6;cursor:progress}
.loginV1744 .loginError{padding:11px 12px;background:#fff1f1;border:1px solid #f2d1d1;border-radius:9px;color:#a62d32;font-size:12px;font-weight:600;line-height:1.5;margin:0}
.loginV1744 .loginError[hidden]{display:none!important}
.loginV1744 .loginSafety{margin-top:26px;padding-top:19px;border-top:1px solid #eeeff1;color:#737983;font-size:11px;line-height:1.75}
.loginV1744 .loginSafety>.uiIcon{margin-right:5px;vertical-align:middle;color:#80868e}
.loginV1744 .loginSafety>.uiIcon svg{width:14px;height:14px}
.loginV1744 .loginSafety>span:not(.uiIcon){margin-left:21px}
.loginV1744 .loginCopyright{text-align:center;color:#8a8e96;font-size:11px}
@media(max-width:980px){.loginV1744{grid-template-columns:minmax(310px,41%) minmax(360px,1fr)}.loginV1744 .loginLeft{padding:34px 28px}.loginV1744 .loginFeatures{gap:7px}.loginV1744 .loginFeatures>span{padding:7px 9px}.loginV1744 .loginPanel{padding:30px}}
@media(max-width:760px){.loginV1744{display:flex;flex-direction:column;min-height:100svh}.loginV1744 .loginLeft{min-height:0;padding:24px 25px 26px;gap:20px}.loginV1744 .loginLeft::before{width:200px;height:200px;border-width:34px;right:-120px;bottom:-105px}.loginV1744 .loginBrand{border:none;padding:0}.loginV1744 .loginBrand img{width:160px}.loginV1744 .loginBrandConnect{font-size:17px;margin-left:19px;margin-top:-5px}.loginV1744 .loginHero{padding:0}.loginV1744 .loginEyebrow{margin:0 0 12px;font-size:9px}.loginV1744 .loginHero h1{font-size:25px;margin:0;letter-spacing:-.035em}.loginV1744 .loginHero p,.loginV1744 .loginFeatures,.loginV1744 .loginBrandFooter{display:none}.loginV1744 .loginRight{flex:1;justify-content:flex-start;padding:22px 16px 28px;gap:17px}.loginV1744 .loginPanel{padding:25px 23px;border-radius:16px;max-width:520px}.loginV1744 .loginPanelTop{margin-bottom:18px}.loginV1744 .loginSubtitle{margin-bottom:23px}.loginV1744 .loginCopyright{margin-top:auto}}
@media(max-width:380px){.loginV1744 .loginLeft{padding:19px}.loginV1744 .loginRight{padding:16px 11px 22px}.loginV1744 .loginPanel{padding:21px 18px}.loginV1744 .loginHero h1{font-size:22px}.loginV1744 .loginPanel h2{font-size:25px}.loginV1744 .loginFeatures{display:none}}
