/* COBAT V1.2.04 — Accueil chantier 360 */
:root{
  --v12-blue:#0d4ca3;
  --v12-blue-2:#07508f;
  --v12-blue-dark:#073666;
  --v12-burgundy:#7a1720;
  --v12-burgundy-dark:#5b1017;
  --v12-bg:#f5f8fb;
  --v12-surface:#ffffff;
  --v12-border:#dfe7ef;
  --v12-text:#18324d;
  --v12-muted:#6f8193;
  --v12-green:#179662;
  --v12-orange:#e58b24;
  --v12-red:#c83737;
  --v12-shadow:0 10px 28px rgba(30,58,87,.08);
}
html,body{min-height:100%;}
body.v1200-ready{
  overflow:auto!important;
  background:
    radial-gradient(circle at 82% 8%,rgba(13,76,163,.055),transparent 28%),
    linear-gradient(180deg,#fff 0,#f7f9fc 42%,#f2f6fa 100%)!important;
  color:var(--v12-text)!important;
}
body.v1200-ready>.topbar,
body.v1200-ready>.chantier-topbar,
body.v1200-ready>main,
body.v1200-ready>.hex-background{display:none!important;}
body.v1200-ready>.admin-users-tab{display:none!important;}

#v1200Shell{min-height:100vh;display:grid;grid-template-columns:218px minmax(0,1fr);font-family:Arial,Helvetica,sans-serif;position:relative;z-index:2;}
#v1200Shell *{box-sizing:border-box;}

/* SIDEBAR */
.v12-sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:linear-gradient(180deg,#063d79 0%,#07539e 52%,#064786 100%);color:#fff;display:flex;flex-direction:column;z-index:45;box-shadow:8px 0 30px rgba(22,55,88,.08);}
.v12-side-brand{height:82px;padding:16px 20px 12px;background:#fff;display:flex;align-items:center;justify-content:center;border-right:1px solid #e5eaf0;}
.v12-side-brand img{width:142px;max-height:54px;object-fit:contain;}
.v12-side-nav{padding:12px 10px;display:flex;flex-direction:column;gap:4px;overflow:auto;scrollbar-width:thin;}
.v12-side-link{height:43px;padding:0 12px;border:0;background:transparent;color:rgba(255,255,255,.92);border-radius:10px;display:flex;align-items:center;gap:11px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.12px;text-align:left;cursor:pointer;transition:background .16s ease,transform .16s ease;}
.v12-side-link:hover{background:rgba(255,255,255,.10);transform:translateX(2px);}
.v12-side-link.active{background:linear-gradient(90deg,#082e62,#07498f);box-shadow:inset 3px 0 0 #fff,0 7px 18px rgba(0,0,0,.12);}
.v12-side-icon{width:21px;height:21px;display:grid;place-items:center;flex:0 0 21px;}
.v12-side-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.v12-side-spacer{flex:1;}
.v12-side-bottom{padding:12px 12px 16px;border-top:1px solid rgba(255,255,255,.16);}
.v12-side-user{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;margin-top:10px;padding:8px;border-radius:11px;background:rgba(255,255,255,.06);}
.v12-side-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--v12-burgundy);font-size:10px;font-weight:700;}
.v12-side-user-name{font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v12-side-user-role{font-size:7px;opacity:.72;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v12-side-chevron{font-size:18px;opacity:.7;}

/* PAGE */
.v12-page{grid-column:2;min-width:0;}
.v12-header{height:82px;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e8edf2;display:grid;grid-template-columns:minmax(250px,320px) minmax(300px,560px) 1fr;gap:18px;align-items:center;padding:0 28px;}
.v12-project-select-wrap{height:46px;border:1px solid #dce5ed;border-radius:13px;background:#fff;display:flex;align-items:center;padding:0 14px;box-shadow:0 3px 14px rgba(40,67,94,.04);}
.v12-select-label{font-size:9px;color:var(--v12-burgundy);font-weight:800;margin-right:10px;letter-spacing:.35px;}
#v1200ChantierSelect{border:0;outline:0;background:transparent;color:var(--v12-blue);font-size:12px;font-weight:800;flex:1;min-width:0;cursor:pointer;}
.v12-search-wrap{position:relative;}
.v12-search{height:46px;width:100%;border:1px solid #dbe4ed;border-radius:13px;background:#fff;padding:0 46px 0 42px;font-size:11px;color:var(--v12-text);outline:none;box-shadow:0 3px 14px rgba(40,67,94,.035);transition:border .16s ease,box-shadow .16s ease;}
.v12-search:focus{border-color:rgba(13,76,163,.42);box-shadow:0 0 0 4px rgba(13,76,163,.07);}
.v12-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:#6f8193;fill:none;stroke-width:2;}
.v12-search-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:4px 7px;border:1px solid #e2e8ef;border-radius:7px;color:#8090a0;font-size:8px;background:#f8fafc;}
.v12-search-results{position:absolute;left:0;right:0;top:52px;background:#fff;border:1px solid #dfe7ef;border-radius:13px;box-shadow:0 18px 38px rgba(31,54,77,.16);padding:6px;display:none;max-height:340px;overflow:auto;z-index:100;}
.v12-search-results.open{display:block;}
.v12-search-item{padding:10px 11px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:#26435d;font-size:10px;}
.v12-search-item:hover{background:#f2f7fc;}
.v12-search-item small{font-size:8px;color:#8998a8;}
.v12-header-right{justify-self:end;display:flex;align-items:center;gap:12px;min-width:0;}
.v12-date{text-align:center;min-width:126px;}
.v12-date-main{font-size:10px;font-weight:800;color:var(--v12-burgundy);}
.v12-date-week{font-size:8px;font-weight:800;color:var(--v12-blue);margin-top:3px;}
.v12-icon-btn{width:36px;height:36px;border:1px solid #e1e7ed;border-radius:50%;background:#fff;color:var(--v12-burgundy);display:grid;place-items:center;cursor:pointer;position:relative;}
.v12-icon-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;}
.v12-bell-badge{position:absolute;right:-2px;top:-3px;min-width:16px;height:16px;border-radius:9px;background:var(--v12-burgundy);color:#fff;font-size:8px;font-weight:800;display:grid;place-items:center;padding:0 4px;}
.v12-user-block{display:flex;align-items:center;gap:8px;min-width:0;}
.v12-user-copy{text-align:right;min-width:0;}
.v12-user-name{font-size:9px;font-weight:800;color:#263d54;white-space:nowrap;}
.v12-user-role{font-size:7px;color:#8795a4;margin-top:2px;white-space:nowrap;}
.v12-user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--v12-burgundy);color:#fff;font-size:10px;font-weight:800;}
.v12-notification-pop{position:fixed;right:112px;top:74px;width:360px;max-height:520px;overflow:auto;background:#fff;border:1px solid #dfe7ef;border-radius:16px;box-shadow:0 20px 50px rgba(31,54,77,.18);padding:12px;z-index:90;display:none;}
.v12-notification-pop.open{display:block;}
.v12-notification-head{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 10px;border-bottom:1px solid #edf1f5;color:var(--v12-burgundy);font-size:10px;font-weight:800;}
.v12-mark-read{border:0;background:transparent;color:var(--v12-blue);font-size:8px;font-weight:700;cursor:pointer;}

.v12-content{padding:16px 26px 24px;max-width:1780px;margin:0 auto;}
.v12-card{background:#fff;border:1px solid var(--v12-border);border-radius:16px;box-shadow:var(--v12-shadow);}

/* HERO */
.v12-hero-row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(430px,.95fr);gap:14px;margin-bottom:14px;}
.v12-hero{position:relative;min-height:214px;border-radius:17px;overflow:hidden;color:#fff;background:
 linear-gradient(90deg,rgba(4,28,57,.92),rgba(4,36,72,.58) 52%,rgba(4,42,83,.14)),
 linear-gradient(130deg,#0b4b86,#376a94);box-shadow:0 12px 28px rgba(24,52,79,.16);}
.v12-hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.72;transition:background-image .3s ease;}
.v12-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,60,.94) 0%,rgba(5,39,74,.67) 48%,rgba(5,41,76,.18) 100%);}
.v12-hero-content{position:relative;z-index:2;padding:20px 22px 16px;height:100%;display:flex;flex-direction:column;}
.v12-badge{align-self:flex-start;padding:5px 9px;border-radius:999px;background:#0e5cb4;color:#fff;font-size:7px;font-weight:800;letter-spacing:.4px;}
.v12-hero-title-row{display:flex;align-items:center;gap:10px;margin-top:9px;}
.v12-hero-title{font-size:28px;line-height:1;font-weight:800;letter-spacing:.6px;}
.v12-status{padding:4px 8px;border-radius:999px;background:rgba(46,181,117,.18);border:1px solid rgba(91,218,151,.35);color:#b9f2d3;font-size:8px;font-weight:800;}
.v12-hero-sub{font-size:11px;margin-top:8px;color:rgba(255,255,255,.92);}
.v12-hero-meta{margin-top:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:16px;}
.v12-hero-meta-item{border-left:1px solid rgba(255,255,255,.24);padding-left:10px;min-width:0;}
.v12-hero-meta-item:first-child{border-left:0;padding-left:0;}
.v12-hero-meta-label{font-size:7px;color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.3px;}
.v12-hero-meta-value{font-size:9px;font-weight:800;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v12-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.v12-kpi{min-height:102px;padding:13px 14px;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;}
.v12-kpi-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f0f6fd;color:var(--v12-blue);}
.v12-kpi-icon.red{background:#fff2f2;color:var(--v12-red)}
.v12-kpi-icon.green{background:#effaf5;color:var(--v12-green)}
.v12-kpi-icon svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;}
.v12-kpi-label{font-size:7px;font-weight:800;color:#6f8193;text-transform:uppercase;letter-spacing:.26px;}
.v12-kpi-value{font-size:22px;font-weight:800;color:#18324d;margin-top:3px;}
.v12-kpi-note{font-size:7px;color:#8997a5;margin-top:3px;}

/* WORKSPACE */
.v12-workspace{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(560px,1.32fr) minmax(330px,.94fr);gap:14px;align-items:stretch;}
.v12-leftcol,.v12-rightcol{display:flex;flex-direction:column;gap:12px;min-width:0;}
.v12-section-card{padding:0;overflow:hidden;}
.v12-section-head{height:48px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f5;}
.v12-section-title{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;color:var(--v12-burgundy);letter-spacing:.25px;}
.v12-count-pill{min-width:19px;height:19px;border-radius:10px;background:var(--v12-burgundy);color:#fff;display:grid;place-items:center;padding:0 5px;font-size:8px;font-weight:800;}
.v12-section-action{font-size:8px;color:var(--v12-blue);font-weight:700;text-decoration:none;border:0;background:none;cursor:pointer;}
.v12-list{padding:4px 10px 8px;}
.v12-list-row{min-height:53px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid #eff3f6;padding:7px 1px;}
.v12-list-row:last-child{border-bottom:0;}
.v12-row-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#f3f7fb;color:var(--v12-blue);font-size:13px;font-weight:800;}
.v12-row-icon.red{background:#fff2f2;color:var(--v12-red)}
.v12-row-icon.orange{background:#fff7ec;color:var(--v12-orange)}
.v12-row-title{font-size:9px;font-weight:700;color:#29455f;line-height:1.25;}
.v12-row-sub{font-size:7px;color:#8494a4;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v12-row-time{font-size:7px;color:#8d9aa7;text-align:right;white-space:nowrap;}
.v12-priority{display:block;margin-top:4px;padding:3px 6px;border-radius:7px;background:#fff0f0;color:#c83737;font-size:6px;font-weight:800;}
.v12-priority.orange{background:#fff5e8;color:#d67a13}.v12-priority.blue{background:#edf5ff;color:#0d4ca3}

/* REAL CHAT MOVED */
#v1200Shell .chat-panel{height:282px!important;min-height:282px!important;border-radius:16px!important;border:1px solid var(--v12-border)!important;box-shadow:var(--v12-shadow)!important;background:#fff!important;overflow:hidden!important;backdrop-filter:none!important;}
#v1200Shell .chat-panel .side-panel-header{min-height:48px!important;height:48px!important;padding:8px 14px!important;background:#fff!important;}
#v1200Shell .chat-panel .side-panel-title{font-size:10px!important;color:var(--v12-burgundy)!important;}
#v1200Shell .chat-channel-name{display:none!important;}
#v1200Shell .chat-online{margin-top:2px!important;font-size:7px!important;}
#v1200Shell .chat-messages{padding:8px 10px!important;}
#v1200Shell .chat-message{margin-bottom:8px!important;}
#v1200Shell .chat-author{font-size:7px!important;}
#v1200Shell .chat-role{font-size:6px!important;}
#v1200Shell .chat-bubble{font-size:8px!important;padding:7px 9px!important;border-radius:10px 10px 10px 3px!important;line-height:1.32!important;}
#v1200Shell .chat-time{font-size:6px!important;}
#v1200Shell .chat-composer{padding:8px!important;grid-template-columns:1fr 34px!important;}
#v1200Shell .chat-composer input{height:34px!important;font-size:8px!important;border-radius:9px!important;}
#v1200Shell .chat-composer button{height:34px!important;border-radius:9px!important;font-size:12px!important;}
#v1200Shell .chat-unread-badge{height:16px!important;min-width:16px!important;font-size:7px!important;}

/* HUB */
.v12-center-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;}
.v12-center-head{height:48px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f5;}
.v12-center-title{font-size:10px;font-weight:800;color:#284967;}
#v1200Shell .apps-area{display:block!important;min-width:0!important;flex:1!important;position:relative!important;}
#v1200Shell .hub{position:relative!important;width:100%!important;height:520px!important;min-height:520px!important;margin:0!important;left:auto!important;top:auto!important;transform:none!important;}
#v1200Shell .orbit{animation:none!important;filter:none!important;opacity:1!important;}
#v1200Shell .orbit-1{width:255px!important;height:255px!important;border:1px solid rgba(122,23,32,.08)!important;}
#v1200Shell .orbit-2{width:395px!important;height:395px!important;border:1px solid rgba(13,76,163,.065)!important;}
#v1200Shell .orbit-3{width:500px!important;height:500px!important;border:1px dashed rgba(13,76,163,.06)!important;}
#v1200Shell .connection{display:none!important;}
#v1200Shell .central-card{left:50%!important;top:50%!important;width:190px!important;height:178px!important;transform:translate(-50%,-50%)!important;border-radius:32px!important;box-shadow:0 14px 34px rgba(31,54,77,.10)!important;border:1px solid rgba(122,23,32,.10)!important;background:#fff!important;}
#v1200Shell .central-card::before{width:225px!important;height:225px!important;background:rgba(122,23,32,.027)!important;}
#v1200Shell .central-logo{display:none!important;}
.v12-center-mark{height:76px;display:flex;align-items:center;justify-content:center;position:relative;line-height:1;}
.v12-center-mark .c{font-family:Georgia,serif;font-size:76px;font-weight:700;color:var(--v12-burgundy);letter-spacing:-8px;}
.v12-center-mark .obat{font-family:Georgia,serif;font-size:16px;font-weight:700;color:#163f72;margin-left:-7px;margin-top:3px;}
#v1200Shell .central-title{font-size:10px!important;margin-top:3px!important;color:var(--v12-burgundy)!important;letter-spacing:.35px!important;}
#v1200Shell .portal-access-message{font-size:7px!important;color:#7f8e9e!important;margin-top:5px!important;}
#v1200Shell .central-card .portal-access-message::after{content:" · Système opérationnel";color:#2b9a68;}
#v1200Shell .module{width:128px!important;min-width:128px!important;max-width:128px!important;height:111px!important;min-height:111px!important;padding:5px 7px 7px!important;border-radius:20px!important;background:#fff!important;border:1px solid #e4eaf0!important;box-shadow:0 9px 23px rgba(31,54,77,.09)!important;overflow:visible!important;}
#v1200Shell .module::before{left:24px!important;right:24px!important;height:3px!important;box-shadow:none!important;background:var(--v12-burgundy)!important;}
#v1200Shell .module::after{display:none!important;}
#v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:78px!important;height:78px!important;max-width:78px!important;max-height:78px!important;padding:4px!important;margin:0 auto -2px!important;transform:none!important;filter:none!important;border-radius:13px!important;}
#v1200Shell .module-title{font-size:8px!important;line-height:1.08!important;min-height:auto!important;transform:none!important;color:var(--v12-blue)!important;letter-spacing:.05px!important;}
#v1200Shell .hub .module-plans{left:50%!important;top:9px!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;}
#v1200Shell .hub .module-consultations{left:73.5%!important;top:73px!important;right:auto!important;bottom:auto!important;transform:none!important;}
#v1200Shell .hub .module-commandes{left:80.5%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translateY(-50%)!important;}
#v1200Shell .hub .module-bons-livraison{left:73.5%!important;top:auto!important;right:auto!important;bottom:72px!important;transform:none!important;}
#v1200Shell .hub .module-pte{left:50%!important;top:auto!important;right:auto!important;bottom:8px!important;transform:translateX(-50%)!important;}
#v1200Shell .hub .module-autocontrole{left:8.5%!important;top:auto!important;right:auto!important;bottom:72px!important;transform:none!important;}
#v1200Shell .hub .module-pointage{left:1.5%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translateY(-50%)!important;}
#v1200Shell .hub .module-registre{left:8.5%!important;top:73px!important;right:auto!important;bottom:auto!important;transform:none!important;}
#v1200Shell .hub .module:hover,#v1200Shell .hub .module:focus-visible,#v1200Shell .hub .module.is-hovered{transform:translateY(-4px) scale(1.025)!important;z-index:25!important;border-color:rgba(13,76,163,.26)!important;box-shadow:0 15px 32px rgba(13,76,163,.13)!important;}
#v1200Shell .hub .module-plans:hover,#v1200Shell .hub .module-plans:focus-visible,#v1200Shell .hub .module-plans.is-hovered{transform:translateX(-50%) translateY(-4px) scale(1.025)!important;}
#v1200Shell .hub .module-pte:hover,#v1200Shell .hub .module-pte:focus-visible,#v1200Shell .hub .module-pte.is-hovered{transform:translateX(-50%) translateY(-4px) scale(1.025)!important;}
#v1200Shell .hub .module-pointage:hover,#v1200Shell .hub .module-pointage:focus-visible,#v1200Shell .hub .module-pointage.is-hovered,#v1200Shell .hub .module-commandes:hover,#v1200Shell .hub .module-commandes:focus-visible,#v1200Shell .hub .module-commandes.is-hovered{transform:translateY(-50%) translateY(-4px) scale(1.025)!important;}
#v1200Shell .hub.module-hovering .module:not(.is-hovered){opacity:.82!important;filter:none!important;}
#v1200Shell .hub.module-hovering .central-card{transform:translate(-50%,-50%) scale(.99)!important;}

/* ACTIVITY */
.v12-activity-list{padding:6px 13px 11px;}
.v12-activity-row{display:grid;grid-template-columns:48px 12px minmax(0,1fr);gap:6px;min-height:48px;align-items:start;position:relative;}
.v12-activity-time{font-size:7px;color:#778899;padding-top:4px;text-align:right;}
.v12-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--v12-blue);margin-top:5px;position:relative;}
.v12-activity-dot::after{content:"";position:absolute;top:8px;left:3px;width:1px;height:40px;background:#dbe4ed;}
.v12-activity-row:last-child .v12-activity-dot::after{display:none;}
.v12-activity-title{font-size:8px;font-weight:700;color:#27445f;line-height:1.3;}
.v12-activity-sub{font-size:7px;color:#8493a2;margin-top:3px;}

/* LIBRARY */
.v12-library{padding-bottom:11px;}
.v12-gallery{padding:10px 12px 8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;}
.v12-thumb{height:62px;border-radius:9px;overflow:hidden;background:#edf2f6;border:1px solid #e3e9ef;position:relative;}
.v12-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.v12-thumb-empty{width:100%;height:100%;display:grid;place-items:center;color:#8494a4;font-size:8px;text-align:center;padding:4px;}
.v12-library-folders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0 12px;}
.v12-folder{border:1px solid #e5ebf1;border-radius:9px;padding:8px 7px;min-height:50px;background:#fbfcfe;}
.v12-folder-title{font-size:7px;font-weight:700;color:#304c66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v12-folder-count{font-size:6px;color:#8997a6;margin-top:5px;}
.v12-library-actions{display:flex;gap:7px;padding:9px 12px 0;}
.v12-small-btn{height:30px;border:1px solid #dbe4ed;border-radius:9px;background:#fff;color:var(--v12-blue);font-size:7px;font-weight:700;padding:0 10px;cursor:pointer;}
.v12-small-btn.primary{background:var(--v12-blue);border-color:var(--v12-blue);color:#fff;}

/* BOTTOM */
.v12-bottom{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.65fr) repeat(3,minmax(180px,.52fr));gap:12px;}
.v12-insights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:86px;}
.v12-insight{padding:13px 14px;border-right:1px solid #edf1f5;}
.v12-insight:last-child{border-right:0;}
.v12-insight-label{font-size:7px;color:#738495;font-weight:700;}
.v12-insight-value{font-size:20px;font-weight:800;color:#203d57;margin-top:5px;}
.v12-insight-note{font-size:6px;color:#8997a5;margin-top:3px;}
.v12-quick{padding:13px 14px;display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease;}
.v12-quick:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,54,77,.12);}
.v12-quick-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef6ff;color:var(--v12-blue);}
.v12-quick.red .v12-quick-icon{background:#fff0f1;color:var(--v12-red)}
.v12-quick.green .v12-quick-icon{background:#edf9f3;color:var(--v12-green)}
.v12-quick-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;}
.v12-quick-title{font-size:9px;font-weight:800;color:#285070;}
.v12-quick.red .v12-quick-title{color:#b82531}.v12-quick.green .v12-quick-title{color:#16865a}
.v12-quick-sub{font-size:7px;color:#8997a6;margin-top:4px;}
.v12-footer{height:46px;display:flex;align-items:center;justify-content:space-between;color:#8b98a5;font-size:7px;padding:0 2px;}

/* Mobile/tablet fallback */
@media(max-width:1350px){
  #v1200Shell{grid-template-columns:72px minmax(0,1fr)}.v12-sidebar{width:72px}.v12-side-brand{padding:10px}.v12-side-brand img{width:50px}.v12-side-link{justify-content:center;padding:0}.v12-side-link span:not(.v12-side-icon){display:none}.v12-side-bottom .v12-side-link span:not(.v12-side-icon){display:none}.v12-side-user{grid-template-columns:34px;justify-content:center}.v12-side-user-copy,.v12-side-chevron{display:none}.v12-header{grid-template-columns:minmax(220px,280px) minmax(280px,1fr) auto}.v12-workspace{grid-template-columns:minmax(250px,.75fr) minmax(520px,1.25fr) minmax(310px,.9fr)}
}
@media(max-width:1100px){
  .v12-header{grid-template-columns:1fr auto}.v12-search-wrap{grid-row:2;grid-column:1/-1}.v12-header{height:auto;padding:10px 18px}.v12-content{padding:14px 16px}.v12-hero-row{grid-template-columns:1fr}.v12-workspace{grid-template-columns:1fr}.v12-center-card{order:-1}.v12-bottom{grid-template-columns:1fr 1fr}.v12-insights{grid-column:1/-1}.v12-rightcol,.v12-leftcol{display:grid;grid-template-columns:1fr 1fr}.v12-hero{min-height:190px}
}
@media(max-width:760px){
 #v1200Shell{grid-template-columns:1fr}.v12-sidebar{display:none}.v12-page{grid-column:1}.v12-header-right .v12-user-copy,.v12-date{display:none}.v12-kpi-grid{grid-template-columns:1fr 1fr}.v12-hero-meta{grid-template-columns:1fr 1fr}.v12-rightcol,.v12-leftcol{grid-template-columns:1fr}.v12-bottom{grid-template-columns:1fr}.v12-insights{grid-template-columns:1fr 1fr}.v12-insight{border-bottom:1px solid #edf1f5}.v12-search-kbd{display:none}.v12-workspace{display:block}.v12-leftcol,.v12-rightcol,.v12-center-card{margin-bottom:12px}.v12-gallery{grid-template-columns:repeat(3,1fr)}
}
/* V1.2.01 compatibility overrides against legacy portal layout */
body.v1200-ready>.cobatCreditsLegal,
body.v1200-ready>#cobatV35Shell,
body.v1200-ready>.cobatDemoBadgeV55{display:none!important;}
#v1200Shell{margin:0!important;}
#v1200Shell .v12-content{display:block!important;min-height:0!important;align-items:initial!important;justify-content:initial!important;position:relative!important;z-index:1!important;}
/* Compact desktop fit — keeps the entire dashboard close to one screen */
@media(min-width:1101px){
  .v12-side-brand{height:72px!important;padding:12px 18px!important}
  .v12-header{height:72px!important;padding:0 26px!important}
  .v12-content{padding:12px 22px 16px!important}
  .v12-hero-row{gap:12px!important;margin-bottom:12px!important}
  .v12-hero{min-height:185px!important}
  .v12-hero-content{padding:16px 20px 13px!important}
  .v12-hero-title{font-size:25px!important}
  .v12-kpi-grid{gap:8px!important}
  .v12-kpi{min-height:88px!important;padding:10px 12px!important}
  .v12-kpi-value{font-size:19px!important}
  .v12-workspace{gap:12px!important}
  .v12-leftcol,.v12-rightcol{gap:10px!important}
  .v12-section-head,.v12-center-head{height:44px!important}
  #v1200Shell .chat-panel{height:220px!important;min-height:220px!important}
  #v1200Shell .chat-panel .side-panel-header{height:44px!important;min-height:44px!important}
  #v1200Shell .hub{height:442px!important;min-height:442px!important}
  #v1200Shell .orbit-1{width:235px!important;height:235px!important}
  #v1200Shell .orbit-2{width:360px!important;height:360px!important}
  #v1200Shell .orbit-3{width:430px!important;height:430px!important}
  #v1200Shell .central-card{width:178px!important;height:164px!important}
  .v12-center-mark{height:68px!important}.v12-center-mark .c{font-size:68px!important}
  #v1200Shell .module{width:118px!important;min-width:118px!important;max-width:118px!important;height:101px!important;min-height:101px!important}
  #v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:70px!important;height:70px!important;max-width:70px!important;max-height:70px!important}
  #v1200Shell .module-title{font-size:7.4px!important}
  #v1200Shell .hub .module-consultations,#v1200Shell .hub .module-registre{top:60px!important}
  #v1200Shell .hub .module-bons-livraison,#v1200Shell .hub .module-autocontrole{bottom:60px!important}
  .v12-activity-row{min-height:43px!important}
  .v12-activity-dot::after{height:35px!important}
  .v12-gallery{padding-top:8px!important}.v12-thumb{height:52px!important}
  .v12-folder{min-height:43px!important;padding:6px!important}
  .v12-library-actions{padding-top:7px!important}.v12-small-btn{height:27px!important}
  .v12-bottom{margin-top:12px!important;gap:10px!important}
  .v12-insights{min-height:76px!important}.v12-insight{padding:10px 12px!important}.v12-insight-value{font-size:18px!important}
  .v12-quick{padding:10px 12px!important}.v12-quick-icon{width:36px!important;height:36px!important}
  .v12-footer{height:34px!important}
}

/* V1.2.01 — responsive desktop scaling
   The dashboard now uses the available viewport instead of staying capped at 1780px.
   Width and vertical density grow progressively on large/high-resolution displays. */
.v12-content{
  width:100%;
  max-width:none;
}

/* Large desktop / QHD: use the full canvas and increase the interface proportionally. */
@media (min-width:1800px){
  #v1200Shell{grid-template-columns:238px minmax(0,1fr)}
  .v12-sidebar{width:238px}
  .v12-side-brand{height:82px!important;padding:14px 20px!important}
  .v12-side-brand img{width:154px}
  .v12-side-nav{padding:14px 11px;gap:5px}
  .v12-side-link{height:46px;padding:0 14px;font-size:12px;gap:12px}
  .v12-side-icon{width:23px;height:23px;flex-basis:23px}
  .v12-side-icon svg{width:21px;height:21px}
  .v12-side-bottom{padding:14px 13px 18px}
  .v12-side-user{grid-template-columns:38px 1fr auto;padding:9px;gap:10px}
  .v12-side-avatar{width:38px;height:38px;font-size:11px}
  .v12-side-user-name{font-size:10px}.v12-side-user-role{font-size:8px}

  .v12-header{height:82px!important;grid-template-columns:minmax(285px,360px) minmax(430px,700px) 1fr;gap:22px;padding:0 32px!important}
  .v12-project-select-wrap,.v12-search{height:50px}
  .v12-select-label{font-size:10px}.v12-search{font-size:12px;padding-left:44px}
  .v12-search-icon{width:19px;height:19px}.v12-search-kbd{font-size:9px}
  .v12-date{min-width:138px}.v12-date-main{font-size:11px}.v12-date-week{font-size:9px}
  .v12-icon-btn,.v12-user-avatar{width:40px;height:40px}.v12-user-name{font-size:10px}.v12-user-role{font-size:8px}

  .v12-content{padding:18px 30px 24px!important;margin:0!important}
  .v12-hero-row{gap:16px!important;margin-bottom:16px!important;grid-template-columns:minmax(0,1.62fr) minmax(540px,.98fr)}
  .v12-hero{min-height:220px!important}
  .v12-hero-content{padding:20px 24px 17px!important}
  .v12-badge{font-size:8px;padding:6px 10px}.v12-hero-title{font-size:30px!important}.v12-status{font-size:9px}.v12-hero-sub{font-size:12px}
  .v12-hero-meta{gap:12px;padding-top:18px}.v12-hero-meta-label{font-size:8px}.v12-hero-meta-value{font-size:10px}
  .v12-kpi-grid{gap:10px!important}
  .v12-kpi{min-height:104px!important;padding:13px 15px!important;grid-template-columns:42px 1fr;gap:11px}
  .v12-kpi-icon{width:42px;height:42px}.v12-kpi-icon svg{width:23px;height:23px}
  .v12-kpi-label{font-size:8px}.v12-kpi-value{font-size:22px!important}.v12-kpi-note{font-size:8px}

  .v12-workspace{grid-template-columns:minmax(330px,.82fr) minmax(690px,1.38fr) minmax(400px,.98fr);gap:16px!important}
  .v12-leftcol,.v12-rightcol{gap:13px!important}
  .v12-section-head,.v12-center-head{height:50px!important;padding:0 17px}
  .v12-section-title{font-size:11px}.v12-head-link{font-size:8px}
  .v12-list{padding:0 15px 9px}.v12-list-row{min-height:58px;padding:8px 1px;grid-template-columns:31px minmax(0,1fr) auto;gap:9px}
  .v12-row-icon{width:31px;height:31px}.v12-row-title{font-size:10px}.v12-row-sub{font-size:8px}.v12-row-meta{font-size:8px}
  #v1200Shell .chat-panel{height:292px!important;min-height:292px!important}
  #v1200Shell .chat-panel .side-panel-header{height:50px!important;min-height:50px!important;padding:9px 16px!important}
  #v1200Shell .chat-messages{padding:10px 13px!important}
  #v1200Shell .chat-bubble{font-size:9px!important;padding:8px 10px!important}
  #v1200Shell .chat-composer input,#v1200Shell .chat-composer button{height:38px!important}

  #v1200Shell .hub{height:545px!important;min-height:545px!important}
  #v1200Shell .orbit-1{width:278px!important;height:278px!important}
  #v1200Shell .orbit-2{width:430px!important;height:430px!important}
  #v1200Shell .orbit-3{width:530px!important;height:530px!important}
  #v1200Shell .central-card{width:205px!important;height:190px!important}
  #v1200Shell .central-card::before{width:250px!important;height:250px!important}
  .v12-center-mark{height:79px!important}.v12-center-mark .c{font-size:79px!important}
  #v1200Shell .central-title{font-size:11px!important}.portal-access-message{font-size:8px!important}
  #v1200Shell .module{width:138px!important;min-width:138px!important;max-width:138px!important;height:119px!important;min-height:119px!important;padding:6px 8px 8px!important}
  #v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:84px!important;height:84px!important;max-width:84px!important;max-height:84px!important}
  #v1200Shell .module-title{font-size:8.6px!important}
  #v1200Shell .hub .module-consultations,#v1200Shell .hub .module-registre{top:75px!important}
  #v1200Shell .hub .module-bons-livraison,#v1200Shell .hub .module-autocontrole{bottom:74px!important}

  .v12-activity-list{padding:8px 15px 13px}.v12-activity-row{grid-template-columns:54px 13px minmax(0,1fr);min-height:52px!important;gap:7px}
  .v12-activity-time,.v12-activity-sub{font-size:8px}.v12-activity-title{font-size:9px}.v12-activity-dot::after{height:44px!important}
  .v12-gallery{padding:11px 14px 9px;gap:8px}.v12-thumb{height:68px!important}.v12-library-folders{padding:0 14px;gap:8px}.v12-folder{min-height:52px!important;padding:8px!important}.v12-folder-title{font-size:8px}.v12-folder-count{font-size:7px}
  .v12-library-actions{padding:10px 14px 0}.v12-small-btn{height:31px!important;font-size:8px}

  .v12-bottom{margin-top:16px!important;gap:13px!important;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(210px,.55fr))}
  .v12-insights{min-height:94px!important}.v12-insight{padding:14px 15px!important}.v12-insight-label{font-size:8px}.v12-insight-value{font-size:22px!important}.v12-insight-note{font-size:7px}
  .v12-quick{padding:14px 15px!important}.v12-quick-icon{width:43px!important;height:43px!important}.v12-quick-title{font-size:10px}.v12-quick-sub{font-size:8px}
  .v12-footer{height:42px!important;font-size:8px}
}

/* 2K / large office displays: also grow vertically when the screen has enough height. */
@media (min-width:1800px) and (min-height:1050px){
  .v12-hero{min-height:242px!important}
  #v1200Shell .hub{height:590px!important;min-height:590px!important}
  #v1200Shell .orbit-1{width:292px!important;height:292px!important}
  #v1200Shell .orbit-2{width:455px!important;height:455px!important}
  #v1200Shell .orbit-3{width:570px!important;height:570px!important}
  #v1200Shell .central-card{width:216px!important;height:200px!important}
  #v1200Shell .module{width:144px!important;min-width:144px!important;max-width:144px!important;height:124px!important;min-height:124px!important}
  #v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:88px!important;height:88px!important;max-width:88px!important;max-height:88px!important}
  #v1200Shell .hub .module-consultations,#v1200Shell .hub .module-registre{top:81px!important}
  #v1200Shell .hub .module-bons-livraison,#v1200Shell .hub .module-autocontrole{bottom:80px!important}
  #v1200Shell .chat-panel{height:326px!important;min-height:326px!important}
  .v12-thumb{height:76px!important}
  .v12-activity-row{min-height:56px!important}.v12-activity-dot::after{height:48px!important}
}

/* QHD / 4K: scale again without creating giant empty margins. */
@media (min-width:2300px) and (min-height:1200px){
  #v1200Shell{grid-template-columns:260px minmax(0,1fr)}
  .v12-sidebar{width:260px}
  .v12-side-brand{height:94px!important}.v12-side-brand img{width:170px}
  .v12-side-link{height:51px;font-size:13px}.v12-side-icon svg{width:23px;height:23px}
  .v12-header{height:94px!important;grid-template-columns:minmax(320px,410px) minmax(520px,820px) 1fr;padding:0 40px!important}
  .v12-project-select-wrap,.v12-search{height:56px}.v12-search{font-size:13px}.v12-date-main{font-size:12px}.v12-date-week{font-size:10px}.v12-icon-btn,.v12-user-avatar{width:44px;height:44px}
  .v12-content{padding:24px 38px 30px!important}
  .v12-hero-row{gap:20px!important;margin-bottom:20px!important;grid-template-columns:minmax(0,1.65fr) minmax(640px,1fr)}
  .v12-hero{min-height:285px!important}.v12-hero-content{padding:26px 30px 21px!important}.v12-hero-title{font-size:36px!important}.v12-hero-sub{font-size:14px}.v12-hero-meta-label{font-size:9px}.v12-hero-meta-value{font-size:12px}
  .v12-kpi-grid{gap:13px!important}.v12-kpi{min-height:128px!important;padding:17px 18px!important;grid-template-columns:50px 1fr}.v12-kpi-icon{width:50px;height:50px}.v12-kpi-value{font-size:27px!important}.v12-kpi-label{font-size:9px}.v12-kpi-note{font-size:9px}
  .v12-workspace{grid-template-columns:minmax(390px,.84fr) minmax(820px,1.42fr) minmax(470px,1fr);gap:20px!important}.v12-leftcol,.v12-rightcol{gap:16px!important}
  .v12-section-head,.v12-center-head{height:58px!important;padding:0 20px}.v12-section-title{font-size:13px}.v12-head-link{font-size:9px}
  .v12-list{padding:0 18px 11px}.v12-list-row{min-height:66px;grid-template-columns:36px minmax(0,1fr) auto}.v12-row-icon{width:36px;height:36px}.v12-row-title{font-size:11px}.v12-row-sub,.v12-row-meta{font-size:9px}
  #v1200Shell .chat-panel{height:372px!important;min-height:372px!important}#v1200Shell .chat-panel .side-panel-header{height:58px!important;min-height:58px!important}#v1200Shell .chat-bubble{font-size:10px!important}
  #v1200Shell .hub{height:690px!important;min-height:690px!important}
  #v1200Shell .orbit-1{width:335px!important;height:335px!important}#v1200Shell .orbit-2{width:520px!important;height:520px!important}#v1200Shell .orbit-3{width:665px!important;height:665px!important}
  #v1200Shell .central-card{width:245px!important;height:226px!important}#v1200Shell .central-card::before{width:292px!important;height:292px!important}.v12-center-mark{height:90px!important}.v12-center-mark .c{font-size:90px!important}
  #v1200Shell .central-title{font-size:13px!important}#v1200Shell .portal-access-message{font-size:9px!important}
  #v1200Shell .module{width:162px!important;min-width:162px!important;max-width:162px!important;height:139px!important;min-height:139px!important;border-radius:23px!important}
  #v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:99px!important;height:99px!important;max-width:99px!important;max-height:99px!important}.v12-center-mark .c{font-size:90px!important}#v1200Shell .module-title{font-size:9.6px!important}
  #v1200Shell .hub .module-consultations,#v1200Shell .hub .module-registre{top:92px!important}#v1200Shell .hub .module-bons-livraison,#v1200Shell .hub .module-autocontrole{bottom:91px!important}
  .v12-activity-row{min-height:64px!important;grid-template-columns:62px 14px minmax(0,1fr)}.v12-activity-title{font-size:10px}.v12-activity-time,.v12-activity-sub{font-size:9px}.v12-activity-dot::after{height:56px!important}
  .v12-thumb{height:88px!important}.v12-folder{min-height:61px!important}.v12-folder-title{font-size:9px}.v12-folder-count{font-size:8px}.v12-small-btn{height:36px!important;font-size:9px}
  .v12-bottom{margin-top:20px!important;gap:16px!important;grid-template-columns:minmax(0,1.75fr) repeat(3,minmax(250px,.58fr))}.v12-insights{min-height:112px!important}.v12-insight{padding:18px!important}.v12-insight-label{font-size:9px}.v12-insight-value{font-size:26px!important}.v12-insight-note{font-size:8px}.v12-quick{padding:17px 18px!important}.v12-quick-icon{width:50px!important;height:50px!important}.v12-quick-title{font-size:11px}.v12-quick-sub{font-size:9px}.v12-footer{height:50px!important;font-size:9px}
}


/* =========================================================
   V1.2.02 — chantier hero, KPI métier, photo carousel, planning
   ========================================================= */
.v12-hero-row{gap:0!important;background:#fff;border:1px solid var(--v12-border);border-radius:18px;box-shadow:var(--v12-shadow);overflow:hidden;margin-bottom:18px!important;grid-template-columns:minmax(0,1.55fr) minmax(470px,1fr)!important}
.v12-hero{border-radius:17px 0 0 17px!important;box-shadow:none!important;min-height:220px!important}
.v12-hero-photo{opacity:.94!important;background-position:center!important}
.v12-hero-overlay{background:linear-gradient(90deg,rgba(4,31,60,.96) 0%,rgba(5,39,74,.78) 42%,rgba(255,255,255,.12) 72%,#fff 100%)!important}
.v12-hero-content{max-width:75%;padding:20px 24px 17px!important}
.v12-hero-sub{max-width:620px;color:rgba(255,255,255,.91)!important}
.v12-hero-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important;padding-top:18px!important;gap:14px!important}
.v12-hero-meta-value{white-space:normal!important;line-height:1.25!important;max-height:2.55em!important}
.v12-hero-edit{position:absolute;z-index:5;right:20px;top:18px;height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.6);border-radius:10px;background:rgba(255,255,255,.92);color:var(--v12-blue);display:flex;align-items:center;gap:7px;font-size:8px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(20,47,74,.12)}
.v12-hero-edit[hidden]{display:none!important}.v12-hero-edit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
.v12-kpi-grid{padding:12px;background:#fff;align-content:stretch;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.v12-kpi{box-shadow:none!important;border-color:#e4ebf2!important;border-radius:14px!important;min-height:92px!important;padding:10px 11px!important;grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important}
.v12-kpi-icon{width:34px!important;height:34px!important;border-radius:10px!important}.v12-kpi-icon svg{width:19px!important;height:19px!important}.v12-kpi-value{font-size:19px!important}.v12-kpi-label{font-size:7px!important}.v12-kpi-note{font-size:7px!important;line-height:1.25}

.v12-workspace{grid-template-columns:minmax(300px,.8fr) minmax(610px,1.34fr) minmax(350px,.96fr)!important;gap:16px!important;align-items:stretch!important}
.v12-leftcol,.v12-rightcol{display:grid!important;gap:14px!important;min-height:0}
.v12-leftcol{grid-template-rows:minmax(290px,.46fr) minmax(355px,.54fr)}
.v12-rightcol{grid-template-rows:minmax(330px,.52fr) minmax(315px,.48fr)}
.v12-leftcol>.v12-section-card,.v12-rightcol>.v12-section-card,.v12-rightcol>.v12-library{height:100%;min-height:0}
#v1200Shell .v12-leftcol .chat-panel{height:100%!important;min-height:355px!important;display:flex!important;flex-direction:column!important}
#v1200Shell .v12-leftcol .chat-messages{flex:1!important;min-height:0!important;overflow:auto!important}
#v1200Shell .v12-leftcol .chat-composer{margin-top:auto!important}
#v1200Shell .v12-leftcol #v12Alerts{min-height:290px}
.v12-list{height:calc(100% - 48px);overflow:auto;padding:5px 12px 10px!important}.v12-list-row{min-height:50px!important}
.v12-center-card{height:100%;min-height:659px}.v12-center-card #v12AppsSlot{flex:1;min-height:0}
#v1200Shell .hub{height:610px!important;min-height:610px!important}

.v12-library{padding-bottom:10px!important;overflow:hidden}
.v12-library-head-actions{display:flex;align-items:center;gap:12px}
.v12-gallery{display:block!important;padding:10px 12px 12px!important;height:calc(100% - 48px);min-height:0}
.v12-carousel-main{height:calc(100% - 98px);min-height:170px;border-radius:12px;overflow:hidden;position:relative;background:#e9f0f6;border:1px solid #e1e8ef}
.v12-carousel-main>img{width:100%;height:100%;object-fit:cover;display:block}
.v12-carousel-main::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(5,31,56,.54));pointer-events:none}
.v12-carousel-caption{position:absolute;left:13px;right:52px;bottom:9px;z-index:2;color:#fff;font-size:8px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v12-carousel-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.92);color:#174c80;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}.v12-carousel-arrow.prev{left:8px}.v12-carousel-arrow.next{right:8px}
.v12-carousel-thumbs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px;height:54px}
.v12-carousel-thumb{border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0;background:#eef3f7;cursor:pointer}.v12-carousel-thumb.active{border-color:var(--v12-blue)}.v12-carousel-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.v12-carousel-dots{height:20px;display:flex;justify-content:center;align-items:end;gap:6px}.v12-carousel-dot{width:6px;height:6px;border-radius:50%;border:0;padding:0;background:#cad5df;cursor:pointer}.v12-carousel-dot.active{background:var(--v12-blue)}
.v12-carousel-empty{height:100%;min-height:225px;border:1px dashed #cbd7e2;border-radius:12px;background:#f3f7fa;display:grid;place-items:center;text-align:center;color:#8292a1;font-size:9px;padding:18px}
.v12-library-folders,.v12-library-actions{display:none!important}

.v12-bottom-v2{margin-top:30px;display:grid;grid-template-columns:minmax(0,2fr) minmax(360px,1fr);gap:15px;align-items:stretch}
.v12-planning-card,.v12-quick-panel{overflow:hidden;min-height:205px}.v12-planning{padding:0 14px 13px}.v12-plan-head,.v12-plan-row{display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(4,minmax(80px,1fr)) 74px;align-items:center}.v12-plan-head{height:37px;color:#778899;font-size:7px;font-weight:800;border-bottom:1px solid #e9eef3}.v12-plan-head>div:not(:first-child){text-align:center}.v12-plan-row{min-height:31px;border-bottom:1px solid #eef2f5}.v12-plan-row:last-child{border-bottom:0}.v12-plan-label{padding-right:8px;min-width:0}.v12-plan-label strong{display:block;font-size:8px;color:#29455f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v12-plan-label span{display:block;font-size:6px;color:#91a0ae;margin-top:2px}.v12-plan-cell{height:100%;border-left:1px solid #edf1f4;display:flex;align-items:center;padding:0 7px}.v12-plan-bar{display:block;width:100%;height:7px;border-radius:999px;background:linear-gradient(90deg,#3b82f6,#6aa7ff);box-shadow:0 2px 5px rgba(59,130,246,.18)}.v12-plan-hours{text-align:center;font-size:8px;font-weight:800;color:#37546d}.v12-plan-empty{height:115px;display:grid;place-items:center;text-align:center;color:#8292a1;font-size:9px;padding:15px}
.v12-quick-panel{display:flex;flex-direction:column}.v12-quick-grid{padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1}.v12-quick-grid .v12-quick{border:1px solid #e5ebf1;border-radius:13px;box-shadow:none!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:10px!important;padding:13px!important}.v12-quick-grid .v12-quick-icon{width:40px!important;height:40px!important}.v12-quick-grid .v12-quick-title{font-size:8px}.v12-quick-grid .v12-quick-sub{font-size:7px}
.v12-footer{margin-top:2px}
.v12-empty{padding:18px;font-size:8px;color:#8795a4}

/* Global chantier settings / hero photo selector */
.v12-settings-overlay[hidden]{display:none!important}.v12-settings-overlay{position:fixed;inset:0;background:rgba(10,30,51,.48);z-index:120;display:grid;place-items:center;padding:24px}.v12-settings-modal{width:min(880px,92vw);max-height:86vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(8,28,48,.28);border:1px solid #dfe7ef;padding:18px}.v12-settings-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf1f5;padding-bottom:13px}.v12-settings-title{font-size:12px;font-weight:800;color:var(--v12-burgundy)}.v12-settings-sub{font-size:8px;color:#8392a0;margin-top:4px}.v12-settings-close{width:32px;height:32px;border:1px solid #dce5ed;border-radius:9px;background:#fff;color:#64788b;font-size:20px;cursor:pointer}.v12-settings-section{padding:16px 0}.v12-settings-label{font-size:10px;font-weight:800;color:#2b4a65}.v12-settings-help{font-size:8px;color:#8393a2;margin-top:5px}.v12-hero-photo-choices{margin-top:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.v12-photo-choice{position:relative;border:2px solid #e4eaf0;border-radius:12px;overflow:hidden;background:#f9fbfd;cursor:pointer;min-height:105px}.v12-photo-choice:has(input:checked){border-color:var(--v12-blue);box-shadow:0 0 0 3px rgba(13,76,163,.08)}.v12-photo-choice input{position:absolute;top:7px;left:7px;z-index:2}.v12-photo-choice img{width:100%;height:82px;object-fit:cover;display:block}.v12-photo-choice span{display:block;padding:7px 8px;font-size:7px;font-weight:700;color:#34516b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v12-photo-choice.none{display:flex;align-items:center;padding:12px}.v12-photo-choice.none span{white-space:normal}.v12-photo-choice.none small{font-weight:400;color:#8291a0}.v12-settings-empty{grid-column:1/-1;padding:24px;text-align:center;background:#f5f8fb;border-radius:12px;color:#7d8f9e;font-size:9px}.v12-settings-project{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:13px 0;border-top:1px solid #edf1f5}.v12-settings-project>div{padding:11px;border:1px solid #e5ebf1;border-radius:11px}.v12-settings-project span{display:block;font-size:7px;color:#8897a5}.v12-settings-project strong{display:block;font-size:9px;color:#284864;margin-top:5px}.v12-settings-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:13px}.v12-settings-secondary,.v12-settings-primary{height:37px;border-radius:10px;padding:0 14px;font-size:9px;font-weight:800;cursor:pointer}.v12-settings-secondary{background:#fff;border:1px solid #dce5ed;color:#61778a}.v12-settings-primary{border:1px solid var(--v12-blue);background:var(--v12-blue);color:#fff}.v12-settings-status{text-align:right;min-height:18px;color:#667c90;font-size:8px;padding-top:7px}

@media(min-width:1800px){
  .v12-hero-row{grid-template-columns:minmax(0,1.62fr) minmax(600px,1fr)!important}
  .v12-hero{min-height:245px!important}.v12-kpi{min-height:105px!important}.v12-workspace{grid-template-columns:minmax(350px,.82fr) minmax(730px,1.38fr) minmax(430px,1fr)!important}.v12-leftcol{grid-template-rows:minmax(320px,.46fr) minmax(390px,.54fr)}.v12-rightcol{grid-template-rows:minmax(365px,.52fr) minmax(345px,.48fr)}#v1200Shell .v12-leftcol .chat-panel{min-height:390px!important}#v1200Shell .hub{height:660px!important;min-height:660px!important}.v12-center-card{min-height:710px}.v12-carousel-main{min-height:205px}.v12-bottom-v2{margin-top:36px;grid-template-columns:minmax(0,2.05fr) minmax(430px,1fr)}.v12-planning-card,.v12-quick-panel{min-height:225px}
}
@media(min-width:2300px) and (min-height:1200px){
  .v12-hero{min-height:300px!important}.v12-hero-content{padding:28px 32px 23px!important}.v12-hero-title{font-size:38px!important}.v12-kpi-grid{padding:17px}.v12-kpi{min-height:128px!important}.v12-workspace{grid-template-columns:minmax(420px,.85fr) minmax(880px,1.42fr) minmax(500px,1fr)!important}.v12-leftcol{grid-template-rows:minmax(365px,.46fr) minmax(455px,.54fr)}.v12-rightcol{grid-template-rows:minmax(420px,.52fr) minmax(400px,.48fr)}#v1200Shell .v12-leftcol .chat-panel{min-height:455px!important}#v1200Shell .hub{height:765px!important;min-height:765px!important}.v12-center-card{min-height:820px}.v12-carousel-main{min-height:250px}.v12-bottom-v2{margin-top:44px;grid-template-columns:minmax(0,2.1fr) minmax(520px,1fr);gap:20px}.v12-planning-card,.v12-quick-panel{min-height:265px}.v12-plan-head,.v12-plan-row{grid-template-columns:minmax(240px,1.7fr) repeat(4,minmax(110px,1fr)) 90px}.v12-plan-label strong{font-size:10px}.v12-plan-label span{font-size:8px}.v12-plan-hours{font-size:10px}.v12-quick-grid .v12-quick-title{font-size:10px}.v12-quick-grid .v12-quick-sub{font-size:8px}
}
@media(max-width:1100px){
  .v12-hero-row{grid-template-columns:1fr!important}.v12-hero{border-radius:17px!important}.v12-hero-content{max-width:100%}.v12-kpi-grid{padding:10px}.v12-leftcol,.v12-rightcol{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important}.v12-center-card{min-height:auto}.v12-bottom-v2{grid-template-columns:1fr;margin-top:18px}.v12-quick-grid{grid-template-columns:1fr 1fr 1fr}.v12-hero-photo-choices{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){.v12-kpi-grid{grid-template-columns:1fr 1fr!important}.v12-quick-grid{grid-template-columns:1fr}.v12-plan-head,.v12-plan-row{grid-template-columns:minmax(150px,1fr) repeat(4,55px) 50px}.v12-hero-photo-choices{grid-template-columns:1fr}}


/* =========================================================
   V1.2.03 — FIT VIEWPORT DESKTOP
   Objectif : conserver l'accueil chantier complet dans le viewport
   sur les écrans desktop usuels (notamment 1600x900 / 1920x1080),
   sans réduire artificiellement la largeur de l'interface.
   ========================================================= */
@media (min-width:1101px) and (min-height:720px) and (max-height:1050px){
  html,body{height:100%!important;min-height:0!important}
  body.v1200-ready{overflow:hidden!important}
  #v1200Shell{height:100vh!important;min-height:0!important;overflow:hidden!important}
  .v12-page{height:100vh!important;min-height:0!important;overflow:hidden!important}

  .v12-header{
    height:56px!important;
    min-height:56px!important;
    padding:0 18px!important;
    gap:12px!important;
    grid-template-columns:minmax(235px,310px) minmax(320px,590px) 1fr!important;
  }
  .v12-project-select-wrap,.v12-search{height:38px!important;border-radius:11px!important}
  .v12-select-label{font-size:8px!important}.v12-search{font-size:9px!important;padding-left:38px!important}
  .v12-search-icon{left:13px!important;width:15px!important;height:15px!important}.v12-search-kbd{font-size:7px!important;padding:3px 5px!important}
  .v12-date{min-width:108px!important}.v12-date-main{font-size:8px!important}.v12-date-week{font-size:7px!important;margin-top:1px!important}
  .v12-header-right{gap:8px!important}.v12-icon-btn,.v12-user-avatar{width:31px!important;height:31px!important}.v12-user-name{font-size:8px!important}.v12-user-role{font-size:6px!important}

  .v12-content{
    height:calc(100vh - 56px)!important;
    min-height:0!important;
    padding:7px 14px 5px!important;
    margin:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:112px minmax(0,1fr) 192px 14px!important;
    gap:7px!important;
  }

  .v12-hero-row{
    height:112px!important;
    min-height:112px!important;
    margin:0!important;
    gap:0!important;
    grid-template-columns:minmax(0,1.55fr) minmax(430px,1fr)!important;
  }
  .v12-hero{height:112px!important;min-height:112px!important}
  .v12-hero-content{padding:9px 14px 8px!important;max-width:77%!important}
  .v12-badge{font-size:6px!important;padding:3px 7px!important}
  .v12-hero-title-row{margin-top:5px!important;gap:7px!important}.v12-hero-title{font-size:19px!important}.v12-status{font-size:6px!important;padding:3px 6px!important}
  .v12-hero-sub{font-size:8px!important;margin-top:4px!important;line-height:1.15!important}
  .v12-hero-meta{padding-top:7px!important;gap:7px!important;margin-top:auto!important}.v12-hero-meta-item{padding-left:7px!important}.v12-hero-meta-label{font-size:5.5px!important}.v12-hero-meta-value{font-size:7px!important;margin-top:2px!important;line-height:1.1!important;max-height:2.2em!important}
  .v12-hero-edit{right:11px!important;top:8px!important;height:26px!important;padding:0 8px!important;font-size:6px!important;border-radius:8px!important}.v12-hero-edit svg{width:12px!important;height:12px!important}

  .v12-kpi-grid{height:112px!important;padding:5px!important;gap:5px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v12-kpi{min-height:0!important;height:auto!important;padding:4px 6px!important;grid-template-columns:25px minmax(0,1fr)!important;gap:5px!important;border-radius:10px!important}
  .v12-kpi-icon{width:25px!important;height:25px!important;border-radius:8px!important}.v12-kpi-icon svg{width:14px!important;height:14px!important}
  .v12-kpi-label{font-size:5.6px!important;line-height:1.05!important}.v12-kpi-value{font-size:14px!important;margin-top:1px!important;line-height:1!important}.v12-kpi-note{font-size:5.6px!important;margin-top:2px!important;line-height:1.05!important}

  .v12-workspace{
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    gap:8px!important;
    grid-template-columns:minmax(250px,.76fr) minmax(520px,1.34fr) minmax(300px,.94fr)!important;
    overflow:hidden!important;
  }
  .v12-leftcol,.v12-rightcol{height:100%!important;min-height:0!important;gap:8px!important}
  .v12-leftcol{grid-template-rows:minmax(0,.42fr) minmax(0,.58fr)!important}
  .v12-rightcol{grid-template-rows:minmax(0,.56fr) minmax(0,.44fr)!important}
  .v12-leftcol>.v12-section-card,.v12-rightcol>.v12-section-card,.v12-rightcol>.v12-library{min-height:0!important;height:100%!important}
  .v12-section-head,.v12-center-head{height:34px!important;min-height:34px!important;padding:0 11px!important}.v12-section-title{font-size:8px!important}.v12-head-link,.v12-section-action{font-size:6px!important}
  .v12-list{height:calc(100% - 34px)!important;padding:2px 8px 5px!important}.v12-list-row{min-height:38px!important;padding:4px 0!important;grid-template-columns:23px minmax(0,1fr) auto!important;gap:5px!important}.v12-row-icon{width:23px!important;height:23px!important}.v12-row-title{font-size:7px!important}.v12-row-sub,.v12-row-meta{font-size:5.6px!important}

  #v1200Shell .v12-leftcol #v12Alerts{min-height:0!important}
  #v1200Shell .v12-leftcol .chat-panel{height:100%!important;min-height:0!important}
  #v1200Shell .v12-leftcol .chat-panel .side-panel-header{height:34px!important;min-height:34px!important;padding:5px 10px!important}
  #v1200Shell .v12-leftcol .chat-messages{padding:5px 8px!important;min-height:0!important;overflow:auto!important}
  #v1200Shell .v12-leftcol .chat-message{margin-bottom:5px!important}
  #v1200Shell .v12-leftcol .chat-bubble{font-size:6.5px!important;line-height:1.15!important;padding:5px 7px!important;border-radius:8px!important}
  #v1200Shell .v12-leftcol .chat-time{font-size:5px!important}
  #v1200Shell .v12-leftcol .chat-composer{padding:6px!important;gap:5px!important}
  #v1200Shell .v12-leftcol .chat-composer input,#v1200Shell .v12-leftcol .chat-composer button{height:28px!important;font-size:6.5px!important}

  .v12-center-card{height:100%!important;min-height:0!important;overflow:hidden!important}.v12-center-card #v12AppsSlot{flex:1!important;min-height:0!important;overflow:hidden!important}
  #v1200Shell .hub{height:100%!important;min-height:0!important;max-height:none!important}
  #v1200Shell .orbit-1{width:205px!important;height:205px!important}
  #v1200Shell .orbit-2{width:322px!important;height:322px!important}
  #v1200Shell .orbit-3{width:400px!important;height:400px!important}
  #v1200Shell .central-card{width:148px!important;height:136px!important}
  #v1200Shell .central-card::before{width:184px!important;height:184px!important}
  .v12-center-mark{height:54px!important}.v12-center-mark .c{font-size:54px!important}.v12-center-mark .obat{font-size:13px!important;margin-left:-5px!important}
  #v1200Shell .central-title{font-size:7.5px!important}.portal-access-message{font-size:5.6px!important}
  #v1200Shell .module{width:96px!important;min-width:96px!important;max-width:96px!important;height:83px!important;min-height:83px!important;border-radius:15px!important;padding:4px 5px 5px!important}
  #v1200Shell .module::before{left:19px!important;right:19px!important;height:2px!important}
  #v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important;padding:2px!important;border-radius:10px!important}
  #v1200Shell .module-title{font-size:6px!important;line-height:1.02!important}
  #v1200Shell .hub .module-plans{top:4px!important}
  #v1200Shell .hub .module-registre,#v1200Shell .hub .module-consultations{top:42px!important}
  #v1200Shell .hub .module-autocontrole,#v1200Shell .hub .module-bons-livraison{bottom:40px!important}
  #v1200Shell .hub .module-pte{bottom:3px!important}
  #v1200Shell .hub .module-registre{left:10.5%!important}#v1200Shell .hub .module-consultations{left:72%!important}
  #v1200Shell .hub .module-pointage{left:2.8%!important}#v1200Shell .hub .module-commandes{left:78.8%!important}
  #v1200Shell .hub .module-autocontrole{left:10.5%!important}#v1200Shell .hub .module-bons-livraison{left:72%!important}

  .v12-activity-list{height:calc(100% - 34px)!important;overflow:auto!important;padding:3px 9px 6px!important}.v12-activity-row{grid-template-columns:37px 9px minmax(0,1fr)!important;gap:4px!important;min-height:35px!important}.v12-activity-time,.v12-activity-sub{font-size:5.6px!important}.v12-activity-title{font-size:6.5px!important}.v12-activity-dot{width:6px!important;height:6px!important}.v12-activity-dot::after{height:29px!important;top:6px!important;left:2px!important}
  .v12-library{padding-bottom:4px!important}.v12-gallery{height:calc(100% - 34px)!important;padding:6px 8px 7px!important}.v12-carousel-main{height:calc(100% - 68px)!important;min-height:74px!important;border-radius:9px!important}.v12-carousel-caption{font-size:6px!important;bottom:6px!important}.v12-carousel-arrow{width:23px!important;height:23px!important;font-size:16px!important}.v12-carousel-thumbs{height:37px!important;margin-top:5px!important;gap:4px!important}.v12-carousel-dots{height:14px!important;gap:4px!important}.v12-carousel-dot{width:5px!important;height:5px!important}.v12-carousel-empty{min-height:0!important;height:100%!important;font-size:6.5px!important;padding:8px!important}

  .v12-bottom-v2{
    height:192px!important;
    min-height:192px!important;
    margin:0!important;
    gap:8px!important;
    grid-template-columns:minmax(0,2fr) minmax(320px,1fr)!important;
  }
  .v12-planning-card,.v12-quick-panel{height:192px!important;min-height:192px!important}
  .v12-planning{padding:0 9px 6px!important;height:calc(100% - 34px)!important;overflow:hidden!important}.v12-plan-head,.v12-plan-row{grid-template-columns:minmax(160px,1.55fr) repeat(4,minmax(68px,1fr)) 58px!important}.v12-plan-head{height:27px!important;font-size:5.5px!important}.v12-plan-row{min-height:24px!important}.v12-plan-label{padding-right:5px!important}.v12-plan-label strong{font-size:6.3px!important}.v12-plan-label span{font-size:5px!important;margin-top:1px!important}.v12-plan-cell{padding:0 4px!important}.v12-plan-bar{height:5px!important}.v12-plan-hours{font-size:6px!important}.v12-plan-empty{height:100%!important;font-size:6.5px!important;padding:8px!important}
  .v12-quick-grid{padding:8px!important;gap:6px!important}.v12-quick-grid .v12-quick{gap:6px!important;padding:8px!important;border-radius:10px!important}.v12-quick-grid .v12-quick-icon{width:30px!important;height:30px!important}.v12-quick-grid .v12-quick-icon svg{width:17px!important;height:17px!important}.v12-quick-grid .v12-quick-title{font-size:6.5px!important}.v12-quick-grid .v12-quick-sub{font-size:5.5px!important}
  .v12-footer{height:14px!important;min-height:14px!important;margin:0!important;padding:0 2px!important;font-size:5.5px!important}
}

/* Extra compact mode for short laptop viewports. */
@media (min-width:1101px) and (min-height:660px) and (max-height:819px){
  .v12-header{height:50px!important;min-height:50px!important}
  .v12-content{height:calc(100vh - 50px)!important;grid-template-rows:96px minmax(0,1fr) 164px 12px!important;gap:5px!important;padding:5px 10px 3px!important}
  .v12-hero-row,.v12-hero{height:96px!important;min-height:96px!important}.v12-hero-title{font-size:17px!important}.v12-hero-sub{display:none!important}.v12-hero-meta{padding-top:5px!important}.v12-kpi-grid{height:96px!important;padding:4px!important;gap:4px!important}.v12-kpi{grid-template-columns:21px minmax(0,1fr)!important;padding:3px 5px!important}.v12-kpi-icon{width:21px!important;height:21px!important}.v12-kpi-value{font-size:12px!important}.v12-kpi-label,.v12-kpi-note{font-size:5px!important}
  .v12-workspace{gap:5px!important}.v12-leftcol,.v12-rightcol{gap:5px!important}.v12-section-head,.v12-center-head{height:29px!important;min-height:29px!important}.v12-list{height:calc(100% - 29px)!important}.v12-center-card{min-height:0!important}#v1200Shell .hub{height:100%!important}.v12-activity-list,.v12-gallery{height:calc(100% - 29px)!important}
  #v1200Shell .orbit-3{width:340px!important;height:340px!important}#v1200Shell .orbit-2{width:275px!important;height:275px!important}#v1200Shell .orbit-1{width:180px!important;height:180px!important}#v1200Shell .module{width:82px!important;min-width:82px!important;max-width:82px!important;height:71px!important;min-height:71px!important}#v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:47px!important;height:47px!important;max-width:47px!important;max-height:47px!important}.v12-bottom-v2,.v12-planning-card,.v12-quick-panel{height:164px!important;min-height:164px!important}.v12-planning{height:calc(100% - 29px)!important}.v12-quick-grid{padding:6px!important}.v12-footer{height:12px!important;min-height:12px!important}
}


/* =========================================================
   V1.2.04 — FIT ÉCRAN 100% / VIEWPORT RÉEL
   Le portail tient dans la hauteur visible du navigateur sans
   nécessiter de zoom navigateur ni de scroll pour atteindre le planning.
   ========================================================= */
@media (min-width:1101px) and (max-height:1150px){
  html,body{height:100%!important;min-height:0!important}
  body.v1200-ready{overflow:hidden!important}
  #v1200Shell{height:100dvh!important;min-height:0!important;overflow:hidden!important}
  .v12-page{height:100dvh!important;min-height:0!important;overflow:hidden!important}

  .v12-header{
    height:52px!important;
    min-height:52px!important;
    padding:0 16px!important;
    gap:11px!important;
    grid-template-columns:minmax(225px,300px) minmax(310px,560px) 1fr!important;
  }
  .v12-project-select-wrap,.v12-search{height:36px!important;border-radius:10px!important}
  .v12-select-label{font-size:7.5px!important}.v12-search{font-size:8.5px!important;padding-left:36px!important}
  .v12-search-icon{left:12px!important;width:14px!important;height:14px!important}.v12-search-kbd{font-size:6.5px!important;padding:2px 5px!important}
  .v12-date{min-width:102px!important}.v12-date-main{font-size:7.5px!important}.v12-date-week{font-size:6.5px!important;margin-top:1px!important}
  .v12-header-right{gap:7px!important}.v12-icon-btn,.v12-user-avatar{width:29px!important;height:29px!important}.v12-user-name{font-size:7.5px!important}.v12-user-role{font-size:5.8px!important}

  .v12-content{
    height:calc(100dvh - 52px)!important;
    min-height:0!important;
    padding:6px 10px 4px!important;
    margin:0!important;
    overflow:hidden!important;
    display:grid!important;
    grid-template-rows:clamp(94px,11dvh,112px) minmax(0,1fr) clamp(128px,15.5dvh,154px)!important;
    gap:6px!important;
  }
  .v12-footer{display:none!important}

  .v12-hero-row,.v12-hero{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
  }
  .v12-hero-row{grid-template-columns:minmax(0,1.58fr) minmax(420px,1fr)!important}
  .v12-hero-content{padding:8px 13px 7px!important;max-width:77%!important}
  .v12-badge{font-size:5.7px!important;padding:3px 6px!important}
  .v12-hero-title-row{margin-top:4px!important;gap:6px!important}.v12-hero-title{font-size:18px!important}.v12-status{font-size:5.8px!important;padding:2px 6px!important}
  .v12-hero-sub{font-size:7.3px!important;margin-top:3px!important;line-height:1.08!important}
  .v12-hero-meta{padding-top:5px!important;gap:6px!important;margin-top:auto!important}.v12-hero-meta-item{padding-left:6px!important}.v12-hero-meta-label{font-size:5px!important}.v12-hero-meta-value{font-size:6.5px!important;margin-top:1px!important;line-height:1.05!important;max-height:2.1em!important}
  .v12-hero-edit{right:9px!important;top:7px!important;height:24px!important;padding:0 7px!important;font-size:5.7px!important;border-radius:7px!important}.v12-hero-edit svg{width:11px!important;height:11px!important}

  .v12-kpi-grid{height:100%!important;padding:4px!important;gap:4px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v12-kpi{min-height:0!important;height:auto!important;padding:3px 5px!important;grid-template-columns:22px minmax(0,1fr)!important;gap:4px!important;border-radius:9px!important}
  .v12-kpi-icon{width:22px!important;height:22px!important;border-radius:7px!important}.v12-kpi-icon svg{width:12px!important;height:12px!important}
  .v12-kpi-label{font-size:4.9px!important;line-height:1!important}.v12-kpi-value{font-size:12.5px!important;margin-top:1px!important;line-height:1!important}.v12-kpi-note{font-size:4.9px!important;margin-top:1px!important;line-height:1.03!important}

  .v12-workspace{
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    gap:6px!important;
    overflow:hidden!important;
    grid-template-columns:minmax(245px,.76fr) minmax(500px,1.34fr) minmax(295px,.94fr)!important;
  }
  .v12-leftcol,.v12-rightcol{height:100%!important;min-height:0!important;gap:6px!important}
  .v12-leftcol{grid-template-rows:minmax(0,.43fr) minmax(0,.57fr)!important}
  .v12-rightcol{grid-template-rows:minmax(0,.55fr) minmax(0,.45fr)!important}
  .v12-leftcol>.v12-section-card,.v12-rightcol>.v12-section-card,.v12-rightcol>.v12-library{height:100%!important;min-height:0!important}
  .v12-section-head,.v12-center-head{height:29px!important;min-height:29px!important;padding:0 9px!important}.v12-section-title,.v12-center-title{font-size:7px!important}.v12-head-link,.v12-section-action{font-size:5.5px!important}
  .v12-list{height:calc(100% - 29px)!important;padding:2px 7px 4px!important;overflow:auto!important}.v12-list-row{min-height:32px!important;padding:3px 0!important;grid-template-columns:20px minmax(0,1fr) auto!important;gap:4px!important}.v12-row-icon{width:20px!important;height:20px!important}.v12-row-title{font-size:6.2px!important}.v12-row-sub,.v12-row-meta{font-size:4.9px!important}

  #v1200Shell .v12-leftcol #v12Alerts{min-height:0!important}
  #v1200Shell .v12-leftcol .chat-panel{height:100%!important;min-height:0!important}
  #v1200Shell .v12-leftcol .chat-panel .side-panel-header{height:29px!important;min-height:29px!important;padding:4px 8px!important}
  #v1200Shell .v12-leftcol .chat-messages{padding:4px 7px!important;min-height:0!important;overflow:auto!important}
  #v1200Shell .v12-leftcol .chat-message{margin-bottom:4px!important}
  #v1200Shell .v12-leftcol .chat-bubble{font-size:5.8px!important;line-height:1.12!important;padding:4px 6px!important;border-radius:7px!important}
  #v1200Shell .v12-leftcol .chat-author{font-size:5.3px!important}#v1200Shell .v12-leftcol .chat-role,#v1200Shell .v12-leftcol .chat-time{font-size:4.5px!important}
  #v1200Shell .v12-leftcol .chat-composer{padding:5px!important;gap:4px!important;grid-template-columns:1fr 27px!important}
  #v1200Shell .v12-leftcol .chat-composer input,#v1200Shell .v12-leftcol .chat-composer button{height:25px!important;font-size:5.8px!important;border-radius:7px!important}

  .v12-center-card{height:100%!important;min-height:0!important;overflow:hidden!important}.v12-center-card #v12AppsSlot{flex:1!important;min-height:0!important;overflow:hidden!important}
  #v1200Shell .hub{height:100%!important;min-height:0!important;max-height:none!important}
  #v1200Shell .orbit-3{width:min(410px,43dvh)!important;height:min(410px,43dvh)!important}
  #v1200Shell .orbit-2{width:min(326px,34dvh)!important;height:min(326px,34dvh)!important}
  #v1200Shell .orbit-1{width:min(205px,22dvh)!important;height:min(205px,22dvh)!important}
  #v1200Shell .central-card{width:138px!important;height:126px!important}
  #v1200Shell .central-card::before{width:172px!important;height:172px!important}
  .v12-center-mark{height:50px!important}.v12-center-mark .c{font-size:50px!important}.v12-center-mark .obat{font-size:12px!important;margin-left:-5px!important}
  #v1200Shell .central-title{font-size:7px!important}.portal-access-message{font-size:5px!important}
  #v1200Shell .module{width:88px!important;min-width:88px!important;max-width:88px!important;height:76px!important;min-height:76px!important;border-radius:13px!important;padding:3px 4px 4px!important}
  #v1200Shell .module::before{left:18px!important;right:18px!important;height:2px!important}
  #v1200Shell .module-logo,#v1200Shell .module-consultations .module-logo,#v1200Shell .module-pointage .module-logo,#v1200Shell .module-autocontrole .module-logo,#v1200Shell .module-bons-livraison .module-logo{width:51px!important;height:51px!important;max-width:51px!important;max-height:51px!important;padding:2px!important;border-radius:9px!important}
  #v1200Shell .module-title{font-size:5.5px!important;line-height:1!important}
  #v1200Shell .hub .module-plans{top:3px!important}
  #v1200Shell .hub .module-registre,#v1200Shell .hub .module-consultations{top:35px!important}
  #v1200Shell .hub .module-autocontrole,#v1200Shell .hub .module-bons-livraison{bottom:34px!important}
  #v1200Shell .hub .module-pte{bottom:2px!important}
  #v1200Shell .hub .module-registre{left:10%!important}#v1200Shell .hub .module-consultations{left:72.5%!important}
  #v1200Shell .hub .module-pointage{left:2.5%!important}#v1200Shell .hub .module-commandes{left:79%!important}
  #v1200Shell .hub .module-autocontrole{left:10%!important}#v1200Shell .hub .module-bons-livraison{left:72.5%!important}

  .v12-activity-list{height:calc(100% - 29px)!important;overflow:auto!important;padding:2px 8px 4px!important}.v12-activity-row{grid-template-columns:34px 8px minmax(0,1fr)!important;gap:4px!important;min-height:29px!important}.v12-activity-time,.v12-activity-sub{font-size:4.9px!important}.v12-activity-title{font-size:5.8px!important}.v12-activity-dot{width:5px!important;height:5px!important}.v12-activity-dot::after{height:24px!important;top:5px!important;left:2px!important}
  .v12-library{padding-bottom:3px!important}.v12-gallery{height:calc(100% - 29px)!important;padding:5px 7px 5px!important}.v12-carousel-main{height:calc(100% - 55px)!important;min-height:55px!important;border-radius:8px!important}.v12-carousel-caption{font-size:5.2px!important;bottom:5px!important}.v12-carousel-arrow{width:21px!important;height:21px!important;font-size:14px!important}.v12-carousel-thumbs{height:31px!important;margin-top:4px!important;gap:3px!important}.v12-carousel-dots{height:11px!important;gap:3px!important}.v12-carousel-dot{width:4px!important;height:4px!important}.v12-carousel-empty{min-height:0!important;height:100%!important;font-size:5.8px!important;padding:6px!important}

  .v12-bottom-v2{
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    gap:6px!important;
    grid-template-columns:minmax(0,2.05fr) minmax(300px,1fr)!important;
  }
  .v12-planning-card,.v12-quick-panel{height:100%!important;min-height:0!important}
  .v12-planning{padding:0 7px 4px!important;height:calc(100% - 29px)!important;overflow:hidden!important}
  .v12-plan-head,.v12-plan-row{grid-template-columns:minmax(145px,1.5fr) repeat(4,minmax(58px,1fr)) 50px!important}.v12-plan-head{height:21px!important;font-size:4.8px!important}.v12-plan-row{min-height:18px!important}.v12-plan-label{padding-right:4px!important}.v12-plan-label strong{font-size:5.5px!important}.v12-plan-label span{font-size:4.3px!important;margin-top:0!important}.v12-plan-cell{padding:0 3px!important}.v12-plan-bar{height:4px!important}.v12-plan-hours{font-size:5px!important}.v12-plan-empty{height:100%!important;font-size:5.5px!important;padding:6px!important}
  .v12-quick-grid{padding:6px!important;gap:5px!important}.v12-quick-grid .v12-quick{gap:4px!important;padding:6px!important;border-radius:9px!important}.v12-quick-grid .v12-quick-icon{width:26px!important;height:26px!important}.v12-quick-grid .v12-quick-icon svg{width:14px!important;height:14px!important}.v12-quick-grid .v12-quick-title{font-size:5.8px!important}.v12-quick-grid .v12-quick-sub{font-size:4.8px!important}
}


/* =========================================================
   V1.2.05 — ACCÈS APPLICATIONS + ACCÈS RAPIDES
   Les tuiles centrales redeviennent de vrais boutons visibles,
   et les raccourcis du bas sont hiérarchisés sans agrandir la page.
   ========================================================= */
#v1200Shell .hub .module[data-app]{
  cursor:pointer!important;
  pointer-events:auto!important;
  text-decoration:none!important;
  isolation:isolate;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,filter .16s ease!important;
}
#v1200Shell .hub .module[data-app]::after{
  content:"OUVRIR";
  position:absolute;
  right:7px;
  bottom:5px;
  min-width:31px;
  height:14px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef5ff;
  border:1px solid #d5e5f8;
  color:#0d4ca3;
  font-size:5.2px;
  font-weight:900;
  letter-spacing:.035em;
  opacity:.92;
  box-sizing:border-box;
}
#v1200Shell .hub .module[data-app]:hover,
#v1200Shell .hub .module[data-app]:focus-visible{
  transform:translateY(-4px) scale(1.025)!important;
  box-shadow:0 13px 28px rgba(20,62,102,.18)!important;
  border-color:#c7d8e8!important;
  filter:saturate(1.05);
  outline:none!important;
  z-index:20!important;
}
#v1200Shell .hub .module[data-app]:hover::after,
#v1200Shell .hub .module[data-app]:focus-visible::after{
  background:#0d4ca3;
  border-color:#0d4ca3;
  color:#fff;
}
#v1200Shell .hub .module[data-app]:active{transform:translateY(-1px) scale(.985)!important;}

.v12-quick-grid{align-items:stretch!important;}
.v12-quick-grid .v12-quick{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:9px!important;
  overflow:hidden!important;
  text-decoration:none!important;
  cursor:pointer!important;
  background:linear-gradient(135deg,#fff 0%,#f6faff 100%)!important;
  border:1px solid #dce8f4!important;
  border-top:3px solid #2467b5!important;
  box-shadow:0 7px 18px rgba(30,73,111,.08)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.v12-quick-grid .v12-quick.red{
  background:linear-gradient(135deg,#fff 0%,#fff7f7 100%)!important;
  border-color:#f0dfe1!important;
  border-top-color:#b4323d!important;
}
.v12-quick-grid .v12-quick.green{
  background:linear-gradient(135deg,#fff 0%,#f5fcf8 100%)!important;
  border-color:#dceee4!important;
  border-top-color:#24925d!important;
}
.v12-quick-grid .v12-quick:hover,
.v12-quick-grid .v12-quick:focus-visible{
  transform:translateY(-3px)!important;
  box-shadow:0 12px 24px rgba(30,73,111,.14)!important;
  outline:none!important;
}
.v12-quick-grid .v12-quick:active{transform:translateY(0)!important;}
.v12-quick-copy{min-width:0;}
.v12-quick-grid .v12-quick-title{line-height:1.08!important;letter-spacing:.02em!important;}
.v12-quick-grid .v12-quick-sub{margin-top:3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v12-quick-arrow{
  width:24px;
  height:24px;
  flex:0 0 auto;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid #d7e4f0;
  background:#fff;
  color:#1c5da5;
  font-size:13px;
  font-weight:800;
}
.v12-quick.red .v12-quick-arrow{color:#a92936;border-color:#efd9dc;}
.v12-quick.green .v12-quick-arrow{color:#1f8755;border-color:#d6eadf;}

@media (min-width:1101px) and (max-height:1150px){
  #v1200Shell .hub .module[data-app]::after{right:4px;bottom:3px;height:11px;min-width:25px;padding:0 3px;font-size:4px;}
  .v12-quick-grid .v12-quick{grid-template-columns:auto minmax(0,1fr) auto!important;gap:5px!important;padding:7px!important;}
  .v12-quick-grid .v12-quick-icon{width:29px!important;height:29px!important;}
  .v12-quick-grid .v12-quick-title{font-size:6.2px!important;}
  .v12-quick-grid .v12-quick-sub{font-size:5px!important;}
  .v12-quick-arrow{width:18px;height:18px;font-size:10px;}
}
@media (min-width:1101px) and (max-height:819px){
  #v1200Shell .hub .module[data-app]::after{display:none;}
  .v12-quick-grid .v12-quick{grid-template-columns:auto minmax(0,1fr) auto!important;border-top-width:2px!important;}
  .v12-quick-arrow{width:16px;height:16px;font-size:9px;}
}

/* V1.2.06 — restore internal application shell above the redesigned dashboard.
   V1.2.01 hid the legacy shell globally; this override only exposes it when opened. */
body.v1200-ready > #cobatV35Shell.open{
  display:grid!important;
  z-index:60000!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.cobat-v34-shell-open > #v1200Shell{
  visibility:hidden!important;
  pointer-events:none!important;
}
body:not(.cobat-v34-shell-open) > #v1200Shell{
  visibility:visible!important;
}


/* =========================================================
   V1.2.07 — Photothèque à format fixe
   Toutes les photos sont cadrées dans le même viewport et
   rognées avec object-fit:cover afin que le panneau ne change
   jamais de hauteur lors du défilement automatique.
   ========================================================= */
#v1200Shell .v12-gallery{
  min-height:0!important;
  overflow:hidden!important;
}
#v1200Shell .v12-carousel-main{
  width:100%!important;
  aspect-ratio:16 / 9!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100% - 58px)!important;
  flex:none!important;
  overflow:hidden!important;
  background:#e9f0f6!important;
}
#v1200Shell .v12-carousel-main>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
#v1200Shell .v12-carousel-thumbs{
  grid-auto-rows:1fr!important;
  overflow:hidden!important;
}
#v1200Shell .v12-carousel-thumb{
  min-width:0!important;
  min-height:0!important;
  aspect-ratio:16 / 9!important;
  height:auto!important;
  overflow:hidden!important;
}
#v1200Shell .v12-carousel-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Le format reste fixe également dans les modes desktop compacts. */
@media (min-width:1101px) and (max-height:1050px){
  #v1200Shell .v12-carousel-main{
    aspect-ratio:auto!important;
    height:calc(100% - 54px)!important;
    max-height:none!important;
  }
  #v1200Shell .v12-carousel-thumb{aspect-ratio:auto!important;height:100%!important}
}


/* =========================================================
   V1.2.08 — Paramètres chantier complets + météo géolocalisée
   ========================================================= */
.v12-settings-modal{width:min(980px,94vw)!important}
.v12-settings-section+.v12-settings-section{border-top:1px solid #edf1f5}
.v12-settings-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.v12-settings-form-grid label,.v12-weather-row label{display:flex;flex-direction:column;gap:6px;font-size:7px;font-weight:800;color:#61778a}
.v12-settings-form-grid input,.v12-weather-row input{height:38px;border:1px solid #dce5ed;border-radius:10px;background:#fff;padding:0 11px;color:#23435f;font-size:9px;outline:none}
.v12-settings-form-grid input:focus,.v12-weather-row input:focus{border-color:var(--v12-blue);box-shadow:0 0 0 3px rgba(13,76,163,.08)}
.v12-settings-form-grid input[readonly]{background:#f5f8fb;color:#718497}
.v12-weather-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.v12-weather-row .v12-settings-secondary{height:38px}
.v12-settings-form-grid.weather{grid-template-columns:1fr 1fr 1.45fr;align-items:end}
.v12-weather-result{min-height:38px;border:1px dashed #dce5ed;border-radius:10px;background:#f8fafc;padding:10px 12px;font-size:8px;color:#60778b;display:flex;align-items:center}
@media(max-width:760px){.v12-settings-form-grid,.v12-settings-form-grid.weather{grid-template-columns:1fr}.v12-weather-row{grid-template-columns:1fr}.v12-weather-row .v12-settings-secondary{width:100%}}


/* V1.2.09 — recadrage photo menu + photothèque */
.v12-photo-tool-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.v12-settings-help.compact{margin-top:0}
.v12-crop-overlay[hidden]{display:none!important}
.v12-crop-overlay{position:fixed;inset:0;background:rgba(10,30,51,.52);z-index:140;display:grid;place-items:center;padding:24px}
.v12-crop-modal{width:min(760px,92vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #dde6ee;border-radius:18px;box-shadow:0 28px 80px rgba(8,28,48,.28);padding:18px}
.v12-crop-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf1f5;padding-bottom:12px}
.v12-crop-preview-shell{padding:18px 0 10px}
.v12-crop-preview-label{margin:0 0 7px;font-size:7px;font-weight:900;letter-spacing:.08em;color:#6e8193}
.v12-crop-source-stage{width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid #dbe5ee;background:#152433;position:relative}
.v12-crop-source-stage img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain}
.v12-crop-selection{position:absolute;box-sizing:border-box;border:3px dashed #aab4c0;border-radius:4px;box-shadow:0 0 0 9999px rgba(4,20,36,.48),0 0 0 1px rgba(59,72,89,.45) inset;pointer-events:none;z-index:3}.v12-crop-selection::before{content:'ZONE CONSERVÉE';position:absolute;left:8px;top:8px;padding:4px 7px;border-radius:5px;background:rgba(59,72,89,.9);color:#fff;font-size:8px;font-weight:900;letter-spacing:.06em;line-height:1;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,.22)}
.v12-crop-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px}
.v12-crop-grid label{display:flex;flex-direction:column;gap:7px;font-size:9px;font-weight:800;color:#5d7388}
.v12-crop-grid input[type=range]{width:100%}
.v12-crop-values{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.v12-crop-values span{display:flex;justify-content:center;align-items:center;height:34px;border-radius:10px;background:#f5f8fb;border:1px solid #e4ebf2;font-size:8px;font-weight:800;color:#25405a}
#v1200Shell .v12-library-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:820px){.v12-photo-tool-row{flex-direction:column;align-items:flex-start}.v12-crop-values{grid-template-columns:1fr}}


/* =========================================================
   V1.2.10 — correction application réelle du recadrage
   Les règles V1.2.07 imposaient object-position:center avec
   !important. Les variables ci-dessous donnent la priorité au
   recadrage choisi dans le slide, les miniatures et le hero.
   ========================================================= */
#v1200Shell .v12-carousel-main>img,
#v1200Shell .v12-carousel-thumb img{
  object-position:var(--crop-x,50%) var(--crop-y,50%)!important;
  transform:scale(var(--crop-zoom,1))!important;
  transform-origin:var(--crop-x,50%) var(--crop-y,50%)!important;
}

#v1200Shell .v12-hero-photo{
  background-position:var(--hero-crop-x,50%) var(--hero-crop-y,50%)!important;
  background-size:cover!important;
  transform:scale(var(--hero-crop-zoom,1))!important;
  transform-origin:var(--hero-crop-x,50%) var(--hero-crop-y,50%)!important;
}


/* =========================================================
   V1.2.11 — Paramètres chantier centralisés
   ========================================================= */
.v1211-settings-overlay[hidden]{display:none!important}
.v1211-settings-overlay{position:fixed;inset:0;z-index:170;background:rgba(7,27,48,.56);display:grid;place-items:center;padding:18px}
.v1211-settings-modal{width:min(1180px,96vw);height:min(860px,94vh);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#fff;border:1px solid #dfe7ef;border-radius:20px;box-shadow:0 30px 90px rgba(8,28,48,.32);overflow:hidden}
.v1211-settings-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #e9eff4}
.v1211-settings-title{font-size:14px;font-weight:900;letter-spacing:.025em;color:#123c63}.v1211-settings-sub{font-size:8px;color:#81919f;margin-top:4px}.v1211-settings-close{width:34px;height:34px;border:1px solid #dce5ed;border-radius:10px;background:#fff;color:#60778b;font-size:21px;cursor:pointer}
.v1211-tabs{display:flex;gap:6px;align-items:center;padding:10px 16px;border-bottom:1px solid #eaf0f5;background:#f8fafc;overflow:auto}.v1211-tab{height:34px;border:1px solid #dce5ed;border-radius:9px;background:#fff;color:#61778a;padding:0 13px;font-size:8px;font-weight:900;white-space:nowrap;cursor:pointer}.v1211-tab.active{background:#0d4ca3;color:#fff;border-color:#0d4ca3}
.v1211-settings-body{min-height:0;overflow:auto;padding:18px 20px;background:#fbfcfd}.v1211-pane[hidden]{display:none!important}
.v1211-section{background:#fff;border:1px solid #e3eaf0;border-radius:14px;padding:15px;margin-bottom:14px;box-shadow:0 4px 16px rgba(20,47,74,.035)}.v1211-section-title{font-size:10px;font-weight:900;color:#274966}.v1211-section-help{font-size:7.5px;color:#8494a2;margin-top:4px;line-height:1.45}
.v1211-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.v1211-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.v1211-field{display:flex;flex-direction:column;gap:6px}.v1211-field.wide{grid-column:1/-1}.v1211-field span{font-size:7px;font-weight:900;color:#687d90}.v1211-field input,.v1211-field select{height:38px;border:1px solid #dce5ed;border-radius:10px;background:#fff;padding:0 11px;color:#203f5b;font-size:9px;outline:none}.v1211-field input:focus,.v1211-field select:focus{border-color:#0d4ca3;box-shadow:0 0 0 3px rgba(13,76,163,.08)}.v1211-field input[readonly]{background:#f4f7fa;color:#748698}
.v1211-role-block{border:1px solid #e4ebf1;border-radius:12px;padding:12px;margin-top:10px}.v1211-role-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.v1211-role-head strong{font-size:9px;color:#244761}.v1211-role-badge{font-size:6px;font-weight:900;color:#0d4ca3;background:#edf4ff;border-radius:999px;padding:4px 7px}.v1211-contact-grid{display:grid;grid-template-columns:1.2fr 1fr 1.15fr .85fr 1.3fr;gap:8px;margin-top:9px}.v1211-contact-grid .v1211-field input{height:35px;font-size:8px}
.v1211-team-add{display:grid;grid-template-columns:minmax(220px,1fr) 210px auto;gap:9px;align-items:end;margin-top:12px}.v1211-team-list{margin-top:12px;border:1px solid #e4eaf0;border-radius:11px;overflow:hidden}.v1211-team-row{display:grid;grid-template-columns:minmax(220px,1fr) 180px 90px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf1f5;background:#fff}.v1211-team-row:last-child{border-bottom:0}.v1211-team-name{font-size:8.5px;font-weight:900;color:#274963}.v1211-team-email{font-size:7px;color:#8594a2;margin-top:2px}.v1211-team-role{font-size:7px;font-weight:800;color:#526b80}.v1211-team-remove{height:29px;border:1px solid #e7cbd0;border-radius:8px;background:#fff8f9;color:#8b2335;font-size:7px;font-weight:900;cursor:pointer}.v1211-team-locked{font-size:6.5px;font-weight:900;color:#38765b;background:#edf8f2;border-radius:999px;padding:5px 7px;text-align:center}
.v1211-lot-card{border:1px solid #dfe7ee;border-radius:13px;background:#fff;margin-top:12px;overflow:hidden}.v1211-lot-head{display:flex;align-items:center;justify-content:space-between;background:#f6f9fc;padding:10px 12px;border-bottom:1px solid #e5ebf1}.v1211-lot-title{font-size:9px;font-weight:900;color:#173f64}.v1211-add-zone{height:30px;border:1px solid #bfd0e2;background:#fff;border-radius:8px;color:#0d4ca3;font-size:7px;font-weight:900;padding:0 10px;cursor:pointer}.v1211-zones{padding:10px}.v1211-zone{border:1px solid #e5ebf1;border-radius:11px;padding:10px;margin-bottom:9px}.v1211-zone:last-child{margin-bottom:0}.v1211-zone-top{display:grid;grid-template-columns:minmax(160px,260px) 1fr auto;gap:9px;align-items:center}.v1211-zone-name{height:34px;border:1px solid #dce5ed;border-radius:9px;padding:0 10px;font-size:8px;font-weight:900;color:#244761}.v1211-zone-remove,.v1211-level-remove{border:0;background:transparent;color:#9a3041;font-size:15px;cursor:pointer}.v1211-levels{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.v1211-level{display:flex;align-items:center;gap:3px;border:1px solid #dce6ef;border-radius:8px;background:#f8fafc;padding:3px 5px 3px 7px}.v1211-level input{width:76px;border:0;background:transparent;outline:none;font-size:7.5px;font-weight:800;color:#476176}.v1211-add-level{height:29px;border:1px dashed #b9cad9;border-radius:8px;background:#fff;color:#476b8a;font-size:7px;font-weight:900;padding:0 9px;cursor:pointer}.v1211-empty{padding:20px;border:1px dashed #ced9e3;border-radius:10px;background:#f8fafc;text-align:center;color:#7d8e9d;font-size:8px}
.v1211-settings-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #e8eef4;background:#fff}.v1211-status{font-size:8px;color:#61778a}.v1211-foot-actions{display:flex;gap:8px}.v1211-btn{height:36px;border-radius:9px;padding:0 13px;font-size:8px;font-weight:900;cursor:pointer}.v1211-btn.secondary{background:#fff;border:1px solid #dce5ed;color:#62798d}.v1211-btn.primary{background:#0d4ca3;border:1px solid #0d4ca3;color:#fff}.v1211-btn:disabled{opacity:.5;cursor:not-allowed}.v1211-photo-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px;border:1px solid #dce7ef;border-radius:10px;background:#f8fbfd}.v1211-photo-note span{font-size:8px;color:#627b90}.v1211-photo-open{height:31px;border:1px solid #0d4ca3;border-radius:8px;background:#fff;color:#0d4ca3;padding:0 10px;font-size:7px;font-weight:900;cursor:pointer}
@media(max-width:900px){.v1211-grid,.v1211-grid.two{grid-template-columns:1fr}.v1211-contact-grid{grid-template-columns:1fr 1fr}.v1211-team-add,.v1211-team-row{grid-template-columns:1fr}.v1211-settings-modal{height:96vh;width:98vw}.v1211-zone-top{grid-template-columns:1fr auto}.v1211-zone-top .v1211-section-help{display:none}}


/* =========================================================
   V1.2.12 — administration utilisateurs / nouveau chantier
   ========================================================= */
.v12-admin-chantier-overlay[hidden]{display:none!important}
.v12-admin-chantier-overlay{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:24px;background:rgba(10,30,51,.52)}
.v12-admin-chantier-modal{width:min(620px,92vw);background:#fff;border:1px solid #dde6ee;border-radius:18px;box-shadow:0 28px 80px rgba(8,28,48,.28);padding:18px}
.v12-admin-chantier-body{display:grid;gap:14px;padding:18px 0 8px}
.v12-admin-field{display:flex;flex-direction:column;gap:7px;font-size:8px;font-weight:800;color:#5e7488}
.v12-admin-field input,.v12-admin-field select{height:42px;border:1px solid #dbe5ed;border-radius:10px;background:#fff;padding:0 12px;color:#23435f;font-size:10px;outline:none}
.v12-admin-field input:focus,.v12-admin-field select:focus{border-color:#0d4ca3;box-shadow:0 0 0 3px rgba(13,76,163,.08)}
.v12-admin-chantier-note{padding:11px 12px;border:1px solid #e3eaf1;border-radius:10px;background:#f7f9fb;color:#748797;font-size:8px;line-height:1.45}
#v12AdminChantiers .v12-side-icon svg{stroke:currentColor;fill:none}


/* =========================================================
   V1.2.13 — paramétrage rapide du découpage chantier
   ========================================================= */
.v1213-lot-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.v1213-quick-open{height:30px;border:1px solid #0d4ca3;background:#0d4ca3;border-radius:8px;color:#fff;font-size:7px;font-weight:900;padding:0 11px;cursor:pointer;letter-spacing:.02em}
.v1213-quick-open:hover{background:#0a3f88}
.v1213-quick[hidden]{display:none!important}
.v1213-quick{margin:10px 10px 0;border:1px solid #bcd1e6;border-radius:12px;background:linear-gradient(180deg,#f7fbff 0%,#fff 100%);padding:12px;box-shadow:0 8px 24px rgba(22,67,106,.06)}
.v1213-quick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e2ebf3}
.v1213-quick-title{font-size:9px;font-weight:950;color:#103f70}.v1213-quick-help{font-size:7px;color:#74889a;margin-top:4px;line-height:1.45}
.v1213-quick-close{width:28px;height:28px;border:1px solid #d9e4ee;border-radius:8px;background:#fff;color:#71869a;font-size:17px;cursor:pointer}
.v1213-quick-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10px;margin-top:10px}
.v1213-quick-card{border:1px solid #e1e9f1;border-radius:10px;background:#fff;padding:10px}.v1213-quick-label{font-size:7px;font-weight:950;color:#244e73;margin-bottom:8px}
.v1213-quick-input{width:100%;height:36px;border:1px solid #cfdae5;border-radius:9px;padding:0 10px;font-size:8px;color:#243f58;outline:none}.v1213-quick-input:focus{border-color:#0d4ca3;box-shadow:0 0 0 3px rgba(13,76,163,.08)}
.v1213-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.v1213-presets button{height:27px;border:1px solid #d4e0ea;border-radius:7px;background:#f8fbfd;color:#456984;font-size:6.5px;font-weight:900;padding:0 9px;cursor:pointer}
.v1213-level-generator{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v1213-level-generator label{display:flex;flex-direction:column;gap:5px;font-size:6.5px;font-weight:850;color:#668096}.v1213-level-generator select{height:33px;border:1px solid #d6e0e9;border-radius:8px;background:#fff;padding:0 8px;color:#29485f;font-size:8px}
.v1213-checks{display:flex;gap:9px;flex-wrap:wrap;margin-top:9px}.v1213-checks label{display:flex;align-items:center;gap:4px;font-size:6.5px;font-weight:850;color:#4d6a81}.v1213-checks input{accent-color:#0d4ca3}.v1213-rdc-note{font-size:6.5px;color:#8a99a7;margin-top:7px}
.v1213-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.v1213-quick-result{font-size:7px;color:#657c90;line-height:1.4}.v1213-quick-apply{height:34px;border:1px solid #0d4ca3;border-radius:9px;background:#0d4ca3;color:#fff;font-size:7px;font-weight:950;padding:0 14px;cursor:pointer;white-space:nowrap}
.v1213-paste{margin-top:10px;border-top:1px solid #e4ebf2;padding-top:9px}.v1213-paste summary{cursor:pointer;font-size:7px;font-weight:950;color:#335f82;user-select:none}.v1213-paste-help{font-size:6.5px;color:#7c8e9e;margin:8px 0 6px}.v1213-paste-help code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef4f8;padding:2px 4px;border-radius:4px;color:#315772}.v1213-paste textarea{width:100%;min-height:86px;resize:vertical;border:1px solid #d3dee8;border-radius:9px;padding:9px 10px;font:7.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:#304e65;outline:none}.v1213-paste textarea:focus{border-color:#0d4ca3;box-shadow:0 0 0 3px rgba(13,76,163,.07)}
.v1213-paste-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.v1213-paste-actions span{font-size:6.5px;color:#7d8e9c}.v1213-paste-actions button{height:30px;border:1px solid #98b6d1;border-radius:8px;background:#fff;color:#0d4ca3;font-size:6.5px;font-weight:950;padding:0 11px;cursor:pointer}
@media(max-width:900px){.v1213-quick-grid{grid-template-columns:1fr}.v1213-quick-actions,.v1213-paste-actions{align-items:stretch;flex-direction:column}.v1213-quick-apply,.v1213-paste-actions button{width:100%}}

/* V1.2.14 — découpage chantier centralisé dans Gestion de plans. */


/* V1.2.16 — logo central COBAT image */
.v12-center-mark{height:92px;display:flex;align-items:center;justify-content:center;position:relative;line-height:1;}
.v12-center-logo{display:block;width:126px;max-width:78%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(24,43,70,.06));}
@media (max-width: 1400px){.v12-center-logo{width:112px;max-width:76%;}}
@media (max-width: 1100px){.v12-center-logo{width:98px;max-width:74%;}}
@media (max-width: 900px){.v12-center-logo{width:88px;max-width:72%;}}


/* =========================================================
   V1.2.18 — animation menu central affinée
   Base : V1.2.16 complète, sans retour arrière.
   ========================================================= */
@media (min-width:901px){

  #v1200Shell .hub .module{
    transition:
      transform .22s cubic-bezier(.22,.74,.22,1),
      box-shadow .22s ease,
      border-color .22s ease,
      opacity .20s ease !important;
    will-change:transform;
  }

  #v1200Shell .hub .module-logo{
    transition:
      transform .22s cubic-bezier(.22,.74,.22,1),
      filter .22s ease !important;
    transform-origin:50% 55% !important;
  }

  #v1200Shell .hub .module-title{
    transition:
      transform .22s cubic-bezier(.22,.74,.22,1),
      color .22s ease,
      letter-spacing .22s ease !important;
  }

  /* Au survol : petite élévation, sans déplacement brutal */
  #v1200Shell .hub .module:hover,
  #v1200Shell .hub .module:focus-visible,
  #v1200Shell .hub .module.is-hovered{
    z-index:25 !important;
    border-color:rgba(13,76,163,.24) !important;
    box-shadow:
      0 13px 28px rgba(22,62,103,.12),
      0 3px 8px rgba(23,45,67,.05) !important;
  }

  #v1200Shell .hub .module:hover .module-logo,
  #v1200Shell .hub .module:focus-visible .module-logo,
  #v1200Shell .hub .module.is-hovered .module-logo{
    transform:translateY(-2px) scale(1.035) !important;
    filter:drop-shadow(0 6px 8px rgba(21,62,103,.13)) !important;
  }

  #v1200Shell .hub .module:hover .module-title,
  #v1200Shell .hub .module:focus-visible .module-title,
  #v1200Shell .hub .module.is-hovered .module-title{
    transform:translateY(-1px) !important;
    color:#0b4a98 !important;
    letter-spacing:.16px !important;
  }

  /* Barre supérieure : légère extension au survol */
  #v1200Shell .hub .module::before{
    transition:
      left .22s cubic-bezier(.22,.74,.22,1),
      right .22s cubic-bezier(.22,.74,.22,1),
      background-color .22s ease,
      box-shadow .22s ease !important;
  }

  #v1200Shell .hub .module:hover::before,
  #v1200Shell .hub .module:focus-visible::before,
  #v1200Shell .hub .module.is-hovered::before{
    left:17px !important;
    right:17px !important;
    background:#0d4ca3 !important;
    box-shadow:0 2px 7px rgba(13,76,163,.12) !important;
  }

  /* Les autres cartes restent présentes et lisibles */
  #v1200Shell .hub.module-hovering .module:not(.is-hovered){
    opacity:.90 !important;
    filter:saturate(.94) !important;
  }

  /* Logo central : simple respiration visuelle, sans pulsation */
  #v1200Shell .hub .central-card,
  #v1200Shell .v12-center-logo{
    transition:
      transform .28s cubic-bezier(.22,.74,.22,1),
      box-shadow .28s ease,
      border-color .28s ease !important;
  }

  #v1200Shell .hub.module-hovering .central-card{
    transform:translate(-50%,-50%) scale(.995) !important;
    border-color:rgba(122,23,32,.12) !important;
    box-shadow:
      0 14px 30px rgba(31,54,77,.09),
      0 0 0 7px rgba(122,23,32,.012) !important;
  }

  #v1200Shell .hub.module-hovering .v12-center-logo{
    transform:scale(1.012) !important;
  }

  /* Léger feedback au clic */
  #v1200Shell .hub .module:active{
    transition-duration:.08s !important;
  }
}

/* Respect du réglage système */
@media (prefers-reduced-motion:reduce){
  #v1200Shell .hub .module,
  #v1200Shell .hub .module-logo,
  #v1200Shell .hub .module-title,
  #v1200Shell .hub .central-card,
  #v1200Shell .v12-center-logo{
    transition:none !important;
  }
}


/* V1.2.61 — La colonne gauche devient un panneau chantier contextuel, plus un second menu d'applications. */
.v12-context-panel{padding:12px 11px 4px;overflow:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:9px;}
.v12-context-section{border-top:1px solid rgba(255,255,255,.14);padding:13px 5px 2px;}
.v12-context-section:first-child{border-top:0;padding-top:3px;}
.v12-context-eyebrow,.v12-context-heading{font-size:9px;line-height:1.2;letter-spacing:1.15px;color:rgba(255,255,255,.58);margin-bottom:8px;}
.v12-context-project-name{font-size:13px;line-height:1.25;color:#fff;min-height:32px;}
.v12-context-status{display:flex;align-items:center;gap:7px;font-size:10px;color:rgba(255,255,255,.82);margin:7px 0 10px;}
.v12-context-dot{width:7px;height:7px;border-radius:50%;background:#4ee09b;box-shadow:0 0 0 3px rgba(78,224,155,.12);}
.v12-context-lot{display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 9px;font-size:9px;color:rgba(255,255,255,.6);}
.v12-context-lot span:last-child{font-size:10px;color:#fff;text-align:right;}
.v12-context-action{width:100%;min-height:36px;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;padding:3px 5px;border-radius:8px;text-decoration:none;font:inherit;font-size:10.5px;text-align:left;cursor:pointer;}
.v12-context-action:hover{background:rgba(255,255,255,.09);}
.v12-context-action-icon{display:grid;place-items:center}.v12-context-action-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;}
.v12-context-action b{min-width:22px;height:20px;border-radius:10px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:9px;font-weight:600;}
.v12-context-action i{font-style:normal;font-size:18px;color:rgba(255,255,255,.55);}
.v12-context-today{display:flex;flex-direction:column;gap:5px;}
.v12-context-empty{font-size:9.5px;line-height:1.35;color:rgba(255,255,255,.55);padding:4px 5px 7px;}
.v12-context-event{display:grid;grid-template-columns:31px 1fr;gap:7px;align-items:start;padding:6px 5px;border-radius:8px;color:#fff;text-decoration:none;}
.v12-context-event:hover{background:rgba(255,255,255,.08);}.v12-context-event-time{font-size:8px;color:#7fd0ff;padding-top:2px;}.v12-context-event em{display:block;font-style:normal;font-size:9.5px;line-height:1.25}.v12-context-event small{display:block;font-size:8.5px;color:rgba(255,255,255,.55);margin-top:2px;}
.v12-context-kpis a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 5px;border-radius:7px;color:rgba(255,255,255,.78);text-decoration:none;font-size:9.5px;}.v12-context-kpis a:hover{background:rgba(255,255,255,.08);color:#fff}.v12-context-kpis strong{font-size:13px;font-weight:600;color:#fff;}
@media (max-width:1450px) and (min-width:901px){.v12-context-panel{display:none!important;}.v12-side-spacer{display:block!important;}}


/* COBAT V1.2.62 — sélecteur de chantier déplacé dans la barre chantier bleue */
#v1200Shell .v12-project-select-wrap{display:none!important;}
#v1200Shell .v12-context-project-switch{position:relative;margin:1px 0 9px;}
#v1200Shell .v12-context-project-switch select{
  width:100%;height:42px;padding:0 34px 0 10px;border:1px solid rgba(255,255,255,.16);border-radius:10px;
  appearance:none;-webkit-appearance:none;outline:none;cursor:pointer;
  background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:12px;font-weight:700;line-height:1.2;
  text-overflow:ellipsis;white-space:nowrap;overflow:hidden;transition:.18s ease;
}
#v1200Shell .v12-context-project-switch select:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.28);}
#v1200Shell .v12-context-project-switch select:focus{background:#fff;color:#0a4f9d;border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.12);}
#v1200Shell .v12-context-project-switch select option{color:#143a63;background:#fff;font-weight:600;}
#v1200Shell .v12-context-project-chevron{position:absolute;right:11px;top:50%;transform:translateY(-55%);color:rgba(255,255,255,.78);font-size:17px;pointer-events:none;}
#v1200Shell .v12-context-project-switch:focus-within .v12-context-project-chevron{color:#0a4f9d;}
#v1200Shell .v12-context-project-name{display:none!important;}


/* COBAT V1.2.63 — profil et informations utilisateur replacés à l'extrémité droite du bandeau. */
#v1200Shell .v12-header{
  grid-template-columns:minmax(360px,1fr) auto!important;
  column-gap:24px!important;
}
#v1200Shell .v12-search-wrap{
  grid-column:1!important;
  width:min(100%,560px)!important;
}
#v1200Shell .v12-header-right{
  grid-column:2!important;
  justify-self:end!important;
  margin-left:auto!important;
}
@media (min-width:1700px){
  #v1200Shell .v12-search-wrap{width:min(100%,620px)!important;}
}
@media (max-width:1100px){
  #v1200Shell .v12-header{grid-template-columns:1fr auto!important;}
  #v1200Shell .v12-search-wrap{grid-column:1!important;width:100%!important;}
  #v1200Shell .v12-header-right{grid-column:2!important;}
}


/* COBAT V1.2.65 — gestion du cycle de vie des chantiers */
.v12-admin-chantier-modal-wide{width:min(980px,95vw)!important;max-height:min(820px,92vh);display:flex;flex-direction:column;overflow:hidden}
.v12-admin-life-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0 12px;border-bottom:1px solid #e7edf3}
.v12-admin-life-tabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.v12-admin-life-tabs button{height:34px;padding:0 12px;border:1px solid #dce5ee;border-radius:10px;background:#fff;color:#60778d;font-size:8px;font-weight:800;letter-spacing:.25px;cursor:pointer}
.v12-admin-life-tabs button span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;background:#edf3f8;color:#315c85;font-size:7px}
.v12-admin-life-tabs button.active{border-color:#0c5bab;background:#0c5bab;color:#fff;box-shadow:0 5px 14px rgba(12,91,171,.18)}
.v12-admin-life-tabs button.active span{background:rgba(255,255,255,.2);color:#fff}
.v12-admin-create-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:14px 0 0;padding:14px;border:1px solid #dce7f0;border-radius:13px;background:#f7fafc}
.v12-admin-create-panel[hidden]{display:none!important}
.v12-admin-create-actions{display:flex;gap:7px;align-items:center;padding-bottom:1px}
.v12-admin-life-help{margin:12px 0 8px;padding:9px 11px;border-radius:10px;background:#f4f7fa;color:#687e90;font-size:8px;line-height:1.45}
.v12-admin-life-list{flex:1;min-height:180px;overflow:auto;display:grid;align-content:start;gap:9px;padding:4px 2px 12px}
.v12-admin-life-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid #e0e8ef;border-radius:13px;background:#fff;box-shadow:0 3px 10px rgba(34,61,86,.04)}
.v12-admin-life-card.archived{background:#fbfcfd}
.v12-admin-life-card.deleted{border-color:#edd4d7;background:#fffafa}
.v12-admin-life-title{display:flex;align-items:center;gap:8px;min-width:0;color:#233d55;font-size:10px}
.v12-admin-life-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v12-admin-life-badge{padding:4px 7px;border-radius:999px;font-size:6.5px;font-weight:900;letter-spacing:.35px;background:#e9f6ef;color:#218055}
.v12-admin-life-badge.archived{background:#edf1f5;color:#6a7987}
.v12-admin-life-badge.deleted{background:#fbeaec;color:#9d2630}
.v12-admin-life-meta{margin-top:5px;color:#627789;font-size:8px}
.v12-admin-life-date{margin-top:3px;color:#94a2ae;font-size:7px}
.v12-admin-life-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.v12-life-action{height:30px;padding:0 10px;border:1px solid #dbe5ed;border-radius:9px;background:#fff;color:#47657e;font-size:7px;font-weight:800;cursor:pointer}
.v12-life-action.archive:hover{border-color:#c8a453;background:#fffbef;color:#8e6c17}
.v12-life-action.restore{border-color:#b8dbc8;color:#287a4b;background:#f5fbf7}
.v12-life-action.delete{border-color:#e1b5ba;color:#9d2630;background:#fff7f8}
.v12-life-action.delete:hover{background:#9d2630;color:#fff;border-color:#9d2630}
.v12-admin-life-empty{padding:34px 16px;text-align:center;color:#8a9aa8;font-size:9px;border:1px dashed #dce5ec;border-radius:12px;background:#fafcfd}
@media(max-width:760px){.v12-admin-life-toolbar{align-items:stretch;flex-direction:column}.v12-admin-create-panel{grid-template-columns:1fr}.v12-admin-create-actions{justify-content:flex-end}.v12-admin-life-card{grid-template-columns:1fr}.v12-admin-life-actions{justify-content:flex-start}}

/* COBAT V2.0.0 — confort, performances, hors connexion, actions et recherche globale */
#v1200Shell .v12-context-action{width:100%;font:inherit;text-align:left;cursor:pointer;border:0;}
#v1200Shell .v12-context-action .v12-context-action-icon{font-size:18px;line-height:1;color:#fff;}
#v1200Shell .v2-network-state{display:flex;align-items:center;gap:8px;margin:4px 14px 10px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.86);font-size:9px;}
#v1200Shell .v2-network-state span{width:7px;height:7px;border-radius:50%;background:#3ee38d;box-shadow:0 0 0 3px rgba(62,227,141,.12);}
#v1200Shell .v2-network-state em{font-style:normal;}
#v1200Shell .v2-network-state.offline{background:rgba(179,33,43,.24);border-color:rgba(255,255,255,.2);}
#v1200Shell .v2-network-state.offline span{background:#ffb2b8;box-shadow:0 0 0 3px rgba(255,178,184,.12);}
#v1200Shell .v2-install-btn{margin-top:2px!important;color:#fff!important;background:rgba(255,255,255,.08)!important;}

#v1200Shell .cobat-appcard,#v1200Shell .appmenu49-card{position:relative!important;}
#v1200Shell .v2-favorite-star{position:absolute;top:9px;right:10px;z-index:7;width:29px;height:29px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(4,48,103,.2);color:rgba(255,255,255,.76);display:grid;place-items:center;font-size:17px;line-height:1;cursor:pointer;opacity:.45;transition:opacity .16s ease,transform .16s ease,background .16s ease;}
#v1200Shell .cobat-appcard:hover .v2-favorite-star,#v1200Shell .appmenu49-card:hover .v2-favorite-star,#v1200Shell .v2-favorite-star:focus-visible,#v1200Shell .v2-favorite-star.active{opacity:1;}
#v1200Shell .v2-favorite-star.active{background:rgba(255,255,255,.18);color:#fff;}
#v1200Shell .v2-favorite-star:hover{transform:scale(1.08);}

.v2-comfort-overlay{position:fixed;inset:0;z-index:12050;background:rgba(5,21,39,.34);backdrop-filter:blur(2px);}
.v2-comfort-panel{position:absolute;top:0;bottom:0;left:262px;width:min(470px,calc(100vw - 282px));background:#f8fbfe;border-left:1px solid #dbe6f0;border-right:1px solid #dbe6f0;box-shadow:20px 0 50px rgba(16,42,68,.18);display:flex;flex-direction:column;animation:v2PanelIn .18s ease both;}
@keyframes v2PanelIn{from{transform:translateX(-18px);opacity:.65}to{transform:translateX(0);opacity:1}}
.v2-comfort-head{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#fff;border-bottom:1px solid #e2eaf2;}
.v2-comfort-head strong{display:block;font-size:14px;color:#123e6c;letter-spacing:.2px;}
.v2-comfort-head small{display:block;margin-top:5px;font-size:9px;color:#7b8da0;}
.v2-comfort-head button{width:34px;height:34px;border:1px solid #dbe5ef;border-radius:10px;background:#fff;color:#52667a;font-size:22px;cursor:pointer;}
.v2-comfort-body,.v2-fav-body{flex:1;overflow:auto;padding:16px 18px 28px;}
.v2-action-group{margin-bottom:19px;}
.v2-action-group-title{display:flex;align-items:center;justify-content:space-between;margin:0 4px 7px;font-size:9px;letter-spacing:.65px;color:#7e8fa1;}
.v2-action-group-title span{min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#e9f1fa;color:#0c5bae;display:grid;place-items:center;}
.v2-action-row,.v2-quick-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:7px;padding:12px 12px;border:1px solid #e0e8f0;border-radius:12px;background:#fff;text-decoration:none;color:#173753;box-shadow:0 2px 8px rgba(37,67,93,.04);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;}
.v2-action-row:hover,.v2-quick-row:hover{border-color:#b9d4ee;box-shadow:0 6px 15px rgba(33,80,126,.09);transform:translateY(-1px);}
.v2-action-dot{width:8px;height:8px;border-radius:50%;background:#4a91d6;}
.v2-action-row.priority-high .v2-action-dot{background:#e78d18;}
.v2-action-row.priority-critical .v2-action-dot{background:#b3212b;box-shadow:0 0 0 4px rgba(179,33,43,.09);}
.v2-action-copy{min-width:0;display:flex;flex-direction:column;gap:4px;}
.v2-action-copy strong,.v2-quick-row strong{font-size:10px;color:#173d66;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v2-action-copy small,.v2-quick-row small{font-size:8px;color:#788a9c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v2-action-due{font-size:8px;color:#687c90;white-space:nowrap;padding-left:6px;}
.v2-action-row.priority-high .v2-action-due,.v2-action-row.priority-critical .v2-action-due{color:#9a2027;}
.v2-quick-row{grid-template-columns:28px minmax(0,1fr);}
.v2-quick-row>span{width:28px;height:28px;border-radius:8px;background:#eaf3fd;color:#0a5bb7;display:grid;place-items:center;font-size:15px;}
.v2-quick-row>div{min-width:0;display:flex;flex-direction:column;gap:4px;}
.v2-panel-empty{padding:30px 18px;border:1px dashed #cbd9e7;border-radius:13px;background:#fff;color:#78899a;text-align:center;font-size:9px;line-height:1.55;}
.v2-panel-empty.compact{padding:16px;}

.v2-toast-stack{position:fixed;z-index:14000;right:22px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;}
.v2-toast{min-width:280px;max-width:430px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #d7e3ef;border-radius:12px;background:#fff;color:#284158;box-shadow:0 12px 34px rgba(19,52,83,.18);font-size:9px;pointer-events:auto;animation:v2ToastIn .18s ease both;}
.v2-toast button{border:0;border-radius:8px;background:#0b5db8;color:#fff;padding:7px 10px;font-size:8px;cursor:pointer;}
.v2-toast.out{opacity:0;transform:translateY(8px);transition:.2s ease;}
@keyframes v2ToastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

#v1200Shell .v12-search-results{max-height:520px;overflow:auto;}
#v1200Shell .v2-search-item{display:grid!important;grid-template-columns:76px minmax(0,1fr) 22px!important;gap:10px!important;align-items:center!important;padding:10px 12px!important;}
#v1200Shell .v2-search-item.active{background:#edf6ff!important;outline:1px solid #c9def3;outline-offset:-1px;}
#v1200Shell .v2-search-kind{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:22px!important;padding:0 7px!important;border-radius:999px!important;background:#eef3f8!important;color:#698097!important;font-size:7px!important;text-transform:uppercase!important;letter-spacing:.3px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#v1200Shell .v2-search-copy{min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;}
#v1200Shell .v2-search-copy strong{font-size:9.5px!important;color:#173f69!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#v1200Shell .v2-search-copy small{font-size:8px!important;color:#7b8c9e!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
#v1200Shell .v2-search-open{color:#7e91a4;font-size:12px;}
#v1200Shell .v2-search-loading,#v1200Shell .v2-search-empty{padding:16px;color:#7d8fa1;font-size:9px;display:flex;align-items:center;gap:9px;}
#v1200Shell .v2-search-loading span{width:13px;height:13px;border:2px solid #d6e4f2;border-top-color:#0b5db8;border-radius:50%;animation:v2Spin .7s linear infinite;}
@keyframes v2Spin{to{transform:rotate(360deg)}}

#v1200Shell.v2-dashboard-loading #v12KpiGrid .v12-kpi-value,#v1200Shell.v2-dashboard-loading #v12ActivityList,#v1200Shell.v2-dashboard-loading #v12AlertList{position:relative;overflow:hidden;opacity:.58;}
#v1200Shell.v2-dashboard-loading #v12KpiGrid .v12-kpi-value::after,#v1200Shell.v2-dashboard-loading #v12ActivityList::after,#v1200Shell.v2-dashboard-loading #v12AlertList::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.75) 48%,transparent 76%);transform:translateX(-100%);animation:v2Shimmer 1.25s infinite;pointer-events:none;}
@keyframes v2Shimmer{to{transform:translateX(100%)}}

@media(max-width:760px){
  .v2-comfort-panel{left:0;width:100vw;}
  .v2-toast-stack{left:10px;right:10px;bottom:12px;align-items:stretch}.v2-toast{min-width:0;max-width:none;width:100%;}
  #v1200Shell .v2-favorite-star{opacity:.9;}
}
@media(prefers-reduced-motion:reduce){.v2-comfort-panel,.v2-toast,#v1200Shell .v2-search-loading span,#v1200Shell.v2-dashboard-loading *::after{animation:none!important;transition:none!important;}}


/* =========================================================
   V2.0.1 — CORRECTIFS PORTAIL
   - viewport fiable à 100 % de zoom navigateur
   - aucun masquage du contenu sous le bandeau chantier
   - bouton de déconnexion visible dans la barre latérale
   ========================================================= */
.v12-side-logout{
  margin-top:7px!important;
  min-height:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.055)!important;
}
.v12-side-logout:hover{background:rgba(255,255,255,.13)!important;}
.v12-side-logout-icon{font-size:17px!important;font-weight:700!important;line-height:1!important;}

@media (min-width:1101px) and (max-height:1150px){
  html,body{height:auto!important;min-height:100%!important;}
  body.v1200-ready{overflow-y:auto!important;overflow-x:hidden!important;}
  #v1200Shell{height:auto!important;min-height:100dvh!important;overflow:visible!important;}
  .v12-page{height:auto!important;min-height:100dvh!important;overflow:visible!important;}
  .v12-content{
    display:block!important;
    height:auto!important;
    min-height:calc(100dvh - 52px)!important;
    overflow:visible!important;
    padding:7px 12px 8px!important;
  }
  .v12-hero-row{
    display:grid!important;
    height:148px!important;
    min-height:148px!important;
    max-height:148px!important;
    margin:0 0 7px!important;
    grid-template-columns:minmax(0,1.58fr) minmax(420px,1fr)!important;
  }
  .v12-hero{height:148px!important;min-height:148px!important;max-height:148px!important;}
  .v12-hero-content{padding:10px 15px 9px!important;}
  .v12-hero-title{font-size:21px!important;}
  .v12-hero-sub{display:block!important;font-size:7.8px!important;}
  .v12-kpi-grid{height:148px!important;min-height:148px!important;max-height:148px!important;padding:5px!important;}
  .v12-kpi{min-height:0!important;height:auto!important;padding:5px 7px!important;}
  .v12-kpi-value{font-size:14px!important;}
  .v12-kpi-label,.v12-kpi-note{font-size:5.5px!important;}

  .v12-workspace{
    display:grid!important;
    height:clamp(380px,calc(100dvh - 380px),520px)!important;
    min-height:380px!important;
    overflow:hidden!important;
    margin:0!important;
    gap:7px!important;
    grid-template-columns:minmax(250px,.76fr) minmax(500px,1.34fr) minmax(295px,.94fr)!important;
  }
  .v12-leftcol,.v12-rightcol,.v12-center-card{min-height:0!important;height:100%!important;}
  .v12-center-card{overflow:hidden!important;}
  .v12-bottom-v2{
    display:grid!important;
    height:150px!important;
    min-height:150px!important;
    margin:7px 0 0!important;
    gap:7px!important;
    grid-template-columns:minmax(0,2.05fr) minmax(300px,1fr)!important;
  }
  .v12-planning-card,.v12-quick-panel{height:150px!important;min-height:150px!important;}
  .v12-footer{display:none!important;}
}

@media (min-width:1101px) and (max-height:720px){
  .v12-hero-row,.v12-hero,.v12-kpi-grid{height:112px!important;min-height:112px!important;max-height:112px!important;}
  .v12-workspace{height:390px!important;min-height:390px!important;}
  .v12-bottom-v2,.v12-planning-card,.v12-quick-panel{height:138px!important;min-height:138px!important;}
}

/* =========================================================
   V2.0.2 — BASE NAVIGATEUR 100 % : BARRE LATÉRALE COMPLÈTE
   Le zoom 100 % est la référence. La barre latérale forme un seul
   flux vertical : aucun sous-panneau ne peut masquer la suite du menu.
   ========================================================= */
@media (min-width:1451px){
  #v1200Shell .v12-sidebar{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.28) transparent;
  }
  #v1200Shell .v12-context-panel{
    flex:0 0 auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  #v1200Shell .v12-side-spacer{
    flex:1 0 0!important;
    min-height:0!important;
  }
  #v1200Shell .v12-side-bottom{
    flex:0 0 auto!important;
    margin-top:auto!important;
  }
}

/* Compactage vertical uniquement quand la hauteur disponible l'exige.
   On conserve la largeur et l'échelle 100 % du navigateur. */
@media (min-width:1451px) and (max-height:1000px){
  #v1200Shell .v12-side-brand{height:58px!important;padding:8px 16px!important;}
  #v1200Shell .v12-side-brand img{max-height:42px!important;width:118px!important;}
  #v1200Shell .v12-context-panel{padding:7px 9px 2px!important;gap:4px!important;}
  #v1200Shell .v12-context-section{padding:8px 4px 1px!important;}
  #v1200Shell .v12-context-section:first-child{padding-top:1px!important;}
  #v1200Shell .v12-context-eyebrow,
  #v1200Shell .v12-context-heading{font-size:7.5px!important;letter-spacing:.85px!important;margin-bottom:5px!important;}
  #v1200Shell .v12-context-project-switch{margin:0 0 5px!important;}
  #v1200Shell .v12-context-project-switch select{height:35px!important;font-size:10.5px!important;border-radius:8px!important;}
  #v1200Shell .v12-context-status{font-size:8.5px!important;margin:4px 0 6px!important;}
  #v1200Shell .v12-context-lot{padding:6px 8px!important;font-size:8px!important;border-radius:7px!important;}
  #v1200Shell .v12-context-lot span:last-child{font-size:8.5px!important;}
  #v1200Shell .v12-context-action{min-height:29px!important;font-size:9.4px!important;grid-template-columns:21px 1fr auto!important;gap:5px!important;padding:1px 4px!important;}
  #v1200Shell .v12-context-action-icon svg{width:15px!important;height:15px!important;}
  #v1200Shell .v12-context-action b{min-width:19px!important;height:17px!important;font-size:7.5px!important;}
  #v1200Shell .v12-context-empty{font-size:8px!important;padding:2px 4px 4px!important;}
  #v1200Shell .v12-context-event{padding:4px!important;}
  #v1200Shell .v12-context-event-time{font-size:7px!important;}
  #v1200Shell .v12-context-event em{font-size:8px!important;}
  #v1200Shell .v12-context-event small{font-size:7px!important;}
  #v1200Shell .v12-context-kpis a{padding:4px!important;font-size:8px!important;}
  #v1200Shell .v12-context-kpis strong{font-size:10.5px!important;}
  #v1200Shell .v12-side-bottom{padding:7px 9px 9px!important;}
  #v1200Shell .v12-side-bottom .v12-side-link{height:32px!important;min-height:32px!important;font-size:9.5px!important;}
  #v1200Shell .v12-side-user{margin-top:5px!important;padding:5px!important;grid-template-columns:29px 1fr auto!important;gap:6px!important;}
  #v1200Shell .v12-side-avatar{width:29px!important;height:29px!important;font-size:8px!important;}
  #v1200Shell .v12-side-user-name{font-size:7.5px!important;}
  #v1200Shell .v12-side-user-role{font-size:6px!important;}
  #v1200Shell .v2-network-state{margin:3px 5px 5px!important;padding:5px 7px!important;font-size:7.5px!important;border-radius:8px!important;}
  #v1200Shell .v12-side-logout{height:30px!important;min-height:30px!important;margin-top:5px!important;}
}

@media (min-width:1451px) and (max-height:780px){
  #v1200Shell .v12-side-brand{height:50px!important;}
  #v1200Shell .v12-context-panel{padding-top:4px!important;gap:2px!important;}
  #v1200Shell .v12-context-section{padding-top:6px!important;}
  #v1200Shell .v12-context-action{min-height:27px!important;}
  #v1200Shell .v12-context-kpis a{padding:3px 4px!important;}
  #v1200Shell .v12-side-bottom{padding-top:5px!important;padding-bottom:6px!important;}
  #v1200Shell .v12-side-bottom .v12-side-link{height:29px!important;min-height:29px!important;}
  #v1200Shell .v12-side-user{margin-top:3px!important;}
  #v1200Shell .v2-network-state{margin-bottom:3px!important;}
}


/* V2.0.3 — KPI chantier synchronisés */
.v12-kpi-progress .v12-progress-content{min-width:0}
.v12-progress-lots{display:grid;gap:2px;margin-top:3px}
.v12-progress-lot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;line-height:1.05}
.v12-progress-lot span{font-size:8px;font-weight:800;color:#405e79;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v12-progress-lot strong{font-size:13px;font-weight:900;color:#18324d;white-space:nowrap}
@media (min-width:1101px) and (min-height:720px) and (max-height:1050px){
  .v12-progress-lots{gap:1px!important;margin-top:2px!important}
  .v12-progress-lot span{font-size:5.8px!important}
  .v12-progress-lot strong{font-size:10px!important}
}
@media (max-width:760px){.v12-progress-lot span{font-size:7px}.v12-progress-lot strong{font-size:11px}}

/* =========================================================
   V2.0.13 — FAVORIS DANS LA BARRE LATÉRALE
   Les applications marquées en favori sont accessibles directement
   depuis MON ESPACE, sans dupliquer le système de favoris Supabase.
   ========================================================= */
#v1200Shell .v12-context-favorites[hidden]{display:none!important;}
#v1200Shell .v12-sidebar-favorites{display:flex;flex-direction:column;gap:4px;}
#v1200Shell .v12-sidebar-favorite{
  min-height:32px;
  display:grid;
  grid-template-columns:21px minmax(0,1fr) 12px;
  align-items:center;
  gap:7px;
  padding:3px 6px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
  font-size:9.8px;
  font-weight:700;
  line-height:1.15;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
#v1200Shell .v12-sidebar-favorite:hover,
#v1200Shell .v12-sidebar-favorite:focus-visible{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.22);
  transform:translateX(2px);
  outline:none;
}
#v1200Shell .v12-sidebar-favorite-icon{width:21px;height:21px;display:grid;place-items:center;color:rgba(255,255,255,.94);}
#v1200Shell .v12-sidebar-favorite-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
#v1200Shell .v12-sidebar-favorite-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#v1200Shell .v12-sidebar-favorite-arrow{font-size:16px;line-height:1;color:rgba(255,255,255,.55);text-align:right;}

@media (min-width:1451px) and (max-height:1000px){
  #v1200Shell .v12-sidebar-favorites{gap:3px!important;}
  #v1200Shell .v12-sidebar-favorite{min-height:27px!important;padding:2px 4px!important;grid-template-columns:18px minmax(0,1fr) 10px!important;gap:5px!important;font-size:8.7px!important;border-radius:7px!important;}
  #v1200Shell .v12-sidebar-favorite-icon{width:18px!important;height:18px!important;}
  #v1200Shell .v12-sidebar-favorite-icon svg{width:14px!important;height:14px!important;}
  #v1200Shell .v12-sidebar-favorite-arrow{font-size:14px!important;}
}
@media (min-width:1451px) and (max-height:780px){
  #v1200Shell .v12-sidebar-favorite{min-height:25px!important;font-size:8.2px!important;}
}


/* COBAT V2.0.19 — suppression du badge réseau flottant historique.
   Le statut réseau officiel reste .v2-network-state dans le menu principal. */
#cobatV2Net{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}

/* =========================================================
   COBAT V2.0.23 — MODE ÉCRAN SCINDÉ / FENÊTRE DESKTOP ÉTROITE
   Le menu principal ne passe plus en barre d'icônes lorsque la
   fenêtre desktop est simplement réduite. Entre 761 px et 1450 px,
   il reste complet, légèrement compact et utilise un défilement
   vertical unique si la hauteur disponible est insuffisante.
   ========================================================= */
@media (min-width:761px) and (max-width:1450px){
  #v1200Shell{
    grid-template-columns:190px minmax(0,1fr)!important;
  }
  #v1200Shell .v12-sidebar{
    width:190px!important;
    display:flex!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(255,255,255,.26) transparent!important;
  }
  #v1200Shell .v12-side-brand{
    height:66px!important;
    padding:10px 14px!important;
  }
  #v1200Shell .v12-side-brand img{
    width:118px!important;
    max-height:44px!important;
  }
  #v1200Shell .v12-context-panel{
    display:flex!important;
    flex:0 0 auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding:8px 8px 3px!important;
    gap:5px!important;
  }
  #v1200Shell .v12-context-section{
    padding:8px 4px 2px!important;
  }
  #v1200Shell .v12-context-section:first-child{
    padding-top:2px!important;
  }
  #v1200Shell .v12-context-eyebrow,
  #v1200Shell .v12-context-heading{
    margin-bottom:5px!important;
    font-size:7.5px!important;
    letter-spacing:.8px!important;
  }
  #v1200Shell .v12-context-project-switch{
    margin:0 0 5px!important;
  }
  #v1200Shell .v12-context-project-switch select{
    height:34px!important;
    padding-left:8px!important;
    font-size:9.5px!important;
    border-radius:8px!important;
  }
  #v1200Shell .v12-context-status{
    margin:4px 0 6px!important;
    gap:5px!important;
    font-size:8px!important;
  }
  #v1200Shell .v12-context-lot{
    padding:5px 7px!important;
    font-size:7.5px!important;
    border-radius:7px!important;
  }
  #v1200Shell .v12-context-lot span:last-child{
    font-size:8px!important;
  }
  #v1200Shell .v12-context-action{
    min-height:29px!important;
    grid-template-columns:19px minmax(0,1fr) auto!important;
    gap:5px!important;
    padding:2px 4px!important;
    justify-content:initial!important;
    font-size:8.7px!important;
  }
  #v1200Shell .v12-context-action-icon{
    width:19px!important;
    min-width:19px!important;
  }
  #v1200Shell .v12-context-action-icon svg{
    width:14px!important;
    height:14px!important;
  }
  #v1200Shell .v12-context-action b{
    min-width:18px!important;
    height:17px!important;
    font-size:7px!important;
  }
  #v1200Shell .v12-context-action i{
    font-size:14px!important;
  }
  #v1200Shell .v12-context-empty{
    padding:2px 4px 4px!important;
    font-size:7.5px!important;
  }
  #v1200Shell .v12-context-event{
    grid-template-columns:27px 1fr!important;
    gap:5px!important;
    padding:4px!important;
  }
  #v1200Shell .v12-context-event-time{font-size:6.7px!important;}
  #v1200Shell .v12-context-event em{font-size:7.8px!important;}
  #v1200Shell .v12-context-event small{font-size:6.7px!important;}
  #v1200Shell .v12-context-kpis a{
    padding:4px!important;
    font-size:7.7px!important;
  }
  #v1200Shell .v12-context-kpis strong{
    font-size:10px!important;
  }
  #v1200Shell .v12-sidebar-favorites{
    gap:3px!important;
  }
  #v1200Shell .v12-sidebar-favorite{
    min-height:27px!important;
    grid-template-columns:17px minmax(0,1fr) 9px!important;
    gap:5px!important;
    padding:2px 4px!important;
    border-radius:7px!important;
    font-size:8px!important;
  }
  #v1200Shell .v12-sidebar-favorite-icon{
    width:17px!important;
    height:17px!important;
  }
  #v1200Shell .v12-sidebar-favorite-icon svg{
    width:13px!important;
    height:13px!important;
  }
  #v1200Shell .v12-sidebar-favorite-arrow{
    font-size:13px!important;
  }
  #v1200Shell .v12-side-spacer{
    display:block!important;
    flex:1 0 0!important;
    min-height:5px!important;
  }
  #v1200Shell .v12-side-bottom{
    flex:0 0 auto!important;
    margin-top:auto!important;
    padding:7px 8px 9px!important;
  }
  #v1200Shell .v12-side-link{
    min-height:31px!important;
    height:31px!important;
    justify-content:flex-start!important;
    gap:7px!important;
    padding:0 7px!important;
    font-size:8.5px!important;
    white-space:nowrap!important;
  }
  #v1200Shell .v12-side-link span:not(.v12-side-icon){
    display:inline!important;
  }
  #v1200Shell .v12-side-icon{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
  }
  #v1200Shell .v12-side-icon svg{
    width:15px!important;
    height:15px!important;
  }
  #v1200Shell .v12-side-user{
    grid-template-columns:28px minmax(0,1fr) auto!important;
    justify-content:initial!important;
    gap:6px!important;
    margin-top:5px!important;
    padding:5px!important;
  }
  #v1200Shell .v12-side-avatar{
    width:28px!important;
    height:28px!important;
    font-size:7.5px!important;
  }
  #v1200Shell .v12-side-user-copy,
  #v1200Shell .v12-side-chevron{
    display:block!important;
  }
  #v1200Shell .v12-side-user-name{font-size:7.2px!important;}
  #v1200Shell .v12-side-user-role{font-size:5.8px!important;}
  #v1200Shell .v2-network-state{
    margin:3px 3px 5px!important;
    padding:5px 6px!important;
    font-size:7px!important;
  }
  #v1200Shell .v12-side-logout{
    min-height:29px!important;
    height:29px!important;
    margin-top:4px!important;
  }
  #v1200Shell .v12-page{
    grid-column:2!important;
  }
}

/* Sur une fenêtre desktop étroite, le bandeau supérieur est lui aussi
   légèrement simplifié afin de laisser la priorité au contenu. */
@media (min-width:761px) and (max-width:1100px){
  #v1200Shell .v12-header{
    grid-template-columns:minmax(0,1fr) auto!important;
    padding-left:14px!important;
    padding-right:14px!important;
    column-gap:10px!important;
  }
  #v1200Shell .v12-search-wrap{
    min-width:0!important;
  }
  #v1200Shell .v12-date,
  #v1200Shell .v12-header-right .v12-user-copy{
    display:none!important;
  }
  #v1200Shell .v12-header-right{
    gap:7px!important;
  }
}

/* =========================================================
   V2.0.32 — ACCUEIL : PLANNING PLEINE LARGEUR
   Les accès rapides redondants sont retirés de l'accueil.
   L'extrait Planning occupe désormais toute la largeur disponible.
   ========================================================= */
.v12-bottom-v2.v12-bottom-planning-only{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
}
.v12-bottom-v2.v12-bottom-planning-only .v12-planning-card{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
}
.v12-bottom-v2.v12-bottom-planning-only .v12-plan-head,
.v12-bottom-v2.v12-bottom-planning-only .v12-plan-row{
  grid-template-columns:minmax(260px,1.9fr) repeat(4,minmax(120px,1fr)) 90px!important;
}
@media(max-width:1100px){
  .v12-bottom-v2.v12-bottom-planning-only .v12-plan-head,
  .v12-bottom-v2.v12-bottom-planning-only .v12-plan-row{
    grid-template-columns:minmax(190px,1.7fr) repeat(4,minmax(80px,1fr)) 70px!important;
  }
}
@media(max-width:760px){
  .v12-bottom-v2.v12-bottom-planning-only .v12-plan-head,
  .v12-bottom-v2.v12-bottom-planning-only .v12-plan-row{
    grid-template-columns:minmax(150px,1fr) repeat(4,55px) 50px!important;
  }
}


/* =========================================================
   V2.0.33 — GARDE-FOU SUPPRESSION ACCÈS RAPIDES
   Le bloc ne doit jamais réapparaître sur l'accueil, même si un ancien
   gabarit JS est momentanément réutilisé par le navigateur.
   ========================================================= */
#v12Insights > .v12-quick-panel{display:none!important;}
#v12Insights{grid-template-columns:minmax(0,1fr)!important;width:100%!important;}
#v12Insights > .v12-planning-card{grid-column:1 / -1!important;width:100%!important;max-width:none!important;}


/* COBAT V2.1.0 — contacts entreprises centralisés */
.v2049-contact-subtitle{margin:14px 0 4px;font-size:8px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;color:#163f60}.v2049-contact-subtitle.companies{margin-top:18px}.v2049-company-list{display:grid;gap:8px;margin-top:9px}.v2049-company-row{border:1px solid #e3ebf2;border-radius:10px;padding:9px;background:#fbfdff}.v2049-company-grid{display:grid;grid-template-columns:.48fr .58fr 1fr 1.15fr 1fr 1.12fr .82fr 32px;gap:8px;align-items:end}.v2049-company-grid .v1211-field input{height:35px;font-size:8px}.v2049-company-remove{height:35px;width:32px;border:1px solid #e4c8c8;border-radius:8px;background:#fff;color:#a23b3b;font-size:16px;cursor:pointer}.v2049-company-remove:hover{background:#fff5f5}.v2049-company-add{margin-top:10px}.v2049-company-empty{padding:10px;border:1px dashed #d7e2eb;border-radius:9px;font-size:8px;color:#6d8192;background:#fafcfe}
@media(max-width:1180px){.v2049-company-grid{grid-template-columns:1fr 1fr 1fr 1fr}.v2049-company-remove{width:100%}}
@media(max-width:700px){.v2049-company-grid{grid-template-columns:1fr}.v2049-company-remove{width:100%}}

/* COBAT V2.4.16 — Intégrations Outlook */
.v2416-integration-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:16px;border:1px solid #d7e0e8;border-left:4px solid #0B5CAD;border-radius:12px;background:#fff}
.v2416-integration-copy{min-width:0;flex:1}.v2416-integration-name{font-size:12px;font-weight:900;color:#073763}.v2416-integration-status{font-size:9px;color:#0B5CAD;margin-top:5px}.v2416-integration-url{font-size:8px;color:#6f7f8d;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2416-integration-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.v2416-integration-btn{min-height:36px;border:1px solid #cfd9e2;border-radius:9px;background:#fff;color:#073763;padding:0 12px;font-size:8px;font-weight:900;cursor:pointer}.v2416-integration-btn.primary{background:#0B5CAD;border-color:#0B5CAD;color:#fff}.v2416-integration-btn:hover{border-color:#4EA3FF}.v2416-integration-btn.primary:hover{background:#073763;border-color:#073763}
@media(max-width:760px){.v2416-integration-card{align-items:stretch;flex-direction:column}.v2416-integration-actions{justify-content:stretch}.v2416-integration-btn{width:100%}}

/* COBAT V2.4.19 — parcours installation Outlook */
.v2419-install-card{display:block}.v2419-install-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.v2419-install-step{display:flex;gap:10px;min-width:0;padding:12px;border:1px solid #d7e0e8;border-radius:10px;background:#f8fafc}.v2419-install-number{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0B5CAD;color:#fff;font-size:9px;font-weight:900}.v2419-install-content{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.v2419-install-title{font-size:9px;font-weight:900;color:#073763}.v2419-install-help{font-size:8px;line-height:1.4;color:#6f7f8d;margin:4px 0 10px}.v2419-secondary-actions{display:flex;justify-content:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid #e2e8ee}@media(max-width:920px){.v2419-install-steps{grid-template-columns:1fr}.v2419-secondary-actions{justify-content:stretch}.v2419-secondary-actions .v2416-integration-btn{width:100%}}


/* COBAT V2.4.31 — Documents reçus en fenêtre COBAT */
html.v2431-modal-open{overflow:hidden!important;}
#v1200Shell .v2431-docs-overlay{position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(7,37,67,.46);backdrop-filter:blur(2px);opacity:0;transition:opacity .18s ease;}
#v1200Shell .v2431-docs-overlay[hidden]{display:none!important;}
#v1200Shell .v2431-docs-overlay.open{opacity:1;}
#v1200Shell .v2431-docs-modal{width:min(1500px,94vw);height:min(900px,90vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#f4f6f8;border:1px solid rgba(7,55,99,.16);border-radius:16px;box-shadow:0 28px 80px rgba(7,37,67,.30);transform:translateY(8px) scale(.99);transition:transform .18s ease;}
#v1200Shell .v2431-docs-overlay.open .v2431-docs-modal{transform:none;}
#v1200Shell .v2431-docs-head{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px 12px 20px;background:#fff;border-bottom:1px solid #dbe3e9;}
#v1200Shell .v2431-docs-kicker{font-size:8px;letter-spacing:.09em;color:#6f7f8d;margin-bottom:3px;}
#v1200Shell .v2431-docs-title{font-size:15px;font-weight:700;letter-spacing:.02em;color:#183349;}
#v1200Shell .v2431-docs-close{width:36px;height:36px;border:1px solid #d5dee5;border-radius:9px;background:#fff;color:#334754;font-size:23px;line-height:1;display:grid;place-items:center;}
#v1200Shell .v2431-docs-close:hover{background:#f3f7fa;border-color:#bfcdd7;}
#v1200Shell .v2431-docs-frame-wrap{min-height:0;background:#f4f6f8;}
#v1200Shell .v2431-docs-frame-wrap iframe{display:block;width:100%;height:100%;border:0;background:#f4f6f8;}
@media(max-width:760px){#v1200Shell .v2431-docs-overlay{padding:8px;}#v1200Shell .v2431-docs-modal{width:100%;height:96vh;border-radius:12px;}#v1200Shell .v2431-docs-head{min-height:56px;padding:9px 10px 9px 14px;}}
