:root{
  --ink:#161F29; --ink-2:#212D3A; --ink-3:#2C3A49;
  --paper:#F1F0EA; --paper-2:#E8E6DD; --line:#D8D5C9; --line-dark:#3A4756;
  --amber:#B9832E; --amber-soft:#EFDDBB; --teal:#2E6B60; --teal-soft:#D9E7E1;
  --rust:#A6432F; --rust-soft:#EFDAD3; --text:#20262C; --text-dim:#5B6570; --white:#FCFBF8;
  --radius:8px; --radius-sm:5px;
  --shadow-sm:0 1px 2px rgba(22,31,41,.05), 0 1px 1px rgba(22,31,41,.04);
  --shadow-md:0 4px 14px rgba(22,31,41,.08), 0 1px 3px rgba(22,31,41,.06);
  --shadow-lg:0 12px 32px rgba(22,31,41,.14), 0 2px 8px rgba(22,31,41,.08);
}
*{box-sizing:border-box;}
html,body{height:100%;overflow-x:hidden;width:100%;}
body{margin:0;font-family:'Inter',Arial,sans-serif;background:var(--paper);color:var(--text);display:flex;min-height:100vh;-webkit-tap-highlight-color:transparent;position:relative;}
h1,h2,h3,.serif{font-family:'Fraunces','Georgia',serif;}
a{color:inherit;}
button,input,textarea,select{font-family:inherit;color:inherit;}
button{transition:background .15s ease, border-color .15s ease, color .15s ease, transform .1s ease, box-shadow .15s ease;}

/* auth pages */
.auth-wrap{margin:auto;width:100%;max-width:380px;padding:40px 20px;}
.auth-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-md);}
.auth-card h1{font-size:26px;margin:0 0 6px;}
.auth-card p.sub{color:var(--text-dim);font-size:13px;margin:0 0 24px;line-height:1.5;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field label{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);font-weight:600;}
.field input,.field select,.field textarea{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:11px 12px;font-size:15px;background:var(--white);transition:border-color .15s ease, box-shadow .15s ease;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(185,131,46,.14);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-sm);padding:11px 18px;font-size:13.5px;font-weight:600;cursor:pointer;min-height:42px;}
.btn-primary{background:var(--ink);color:var(--white);box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--ink-2);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.btn-primary:active{transform:translateY(0);}
.btn-ghost{background:var(--white);border:1px solid var(--line);color:var(--text);}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber);}
.btn-danger{background:transparent;border:1px solid var(--rust-soft);color:var(--rust);}
.btn-danger:hover{background:var(--rust-soft);}
.btn-block{width:100%;}
.error-msg{background:var(--rust-soft);color:#7A2E1D;padding:11px 13px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:16px;line-height:1.5;}

/* ---------- mobile topbar (hidden on desktop) ---------- */
#mobileTopbar{display:none;}
#sidebarOverlay{display:none;}

/* app shell */
#sidebar{width:280px;flex:none;background:var(--ink);color:#DCE3E9;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;z-index:40;}
#sidebar .brand{padding:26px 22px 18px;border-bottom:1px solid var(--line-dark);}
#sidebar .brand .mark{display:inline-flex;align-items:center;gap:8px;font-family:'Fraunces',serif;font-size:21px;font-weight:600;color:var(--white);}
#sidebar .brand .mark .dot{width:9px;height:9px;border-radius:2px;background:var(--amber);transform:rotate(45deg);}
#sidebar .brand p{margin:6px 0 0;font-size:12.5px;color:#8E9BA8;line-height:1.5;}
#newProjectBtn{margin:16px 18px 8px;background:transparent;border:1px solid #46586A;color:#DCE3E9;padding:11px 14px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:8px;text-decoration:none;transition:border-color .15s ease, background .15s ease;}
#newProjectBtn:hover{border-color:var(--amber);background:#1B2530;}
#viewToggle{display:flex;margin:14px 18px 4px;border:1px solid #384656;border-radius:var(--radius-sm);overflow:hidden;}
#viewToggle a{flex:1;text-align:center;background:transparent;border:none;color:#8E9BA8;font-size:12.5px;font-weight:500;padding:9px 6px;text-decoration:none;transition:background .15s ease, color .15s ease;}
#viewToggle a.active{background:#243140;color:var(--white);}
#viewToggle a:not(:last-child){border-right:1px solid #384656;}
#searchWrap{padding:12px 18px 6px;}
#searchWrap input{width:100%;background:#1C2733;border:1px solid #384656;border-radius:var(--radius-sm);color:#DCE3E9;font-size:13px;padding:9px 10px;}
#searchWrap select{border-radius:var(--radius-sm);}
#projectList{flex:1;overflow-y:auto;padding:8px 10px 16px;-webkit-overflow-scrolling:touch;}
.proj-card{display:block;padding:13px 12px;border-radius:var(--radius-sm);margin-bottom:4px;border:1px solid transparent;border-left:3px solid transparent;text-decoration:none;color:inherit;transition:background .12s ease, border-color .12s ease;}
.proj-card:hover{background:#1C2733;}
.proj-card.active{background:#1C2733;border-color:#3E4F60;border-left-color:var(--amber);}
.pc-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px;}
.pc-name{font-size:14.5px;font-weight:600;color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pc-type{font-size:10.5px;padding:2px 7px;border-radius:20px;flex:none;background:#2C3A49;color:#AEBBC7;}
.pc-sub{font-size:11.5px;color:#8E9BA8;margin-top:4px;}
.proj-bar{height:3px;background:#2C3A49;border-radius:2px;margin-top:10px;overflow:hidden;}
.proj-bar-fill{height:100%;background:var(--amber);border-radius:2px;}
.pc-alerts{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap;}
.pc-statut{color:#C9A15A;font-weight:600;}
.proj-card.is-archived{opacity:.55;}
.proj-card.is-archived:hover{opacity:.85;}
.pc-alert{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;background:#3A241E;color:#E39A85;}
.pc-alert.warn{background:#3A2F1A;color:#E3BE7F;}
#sidebar .foot{padding:14px 20px 16px;border-top:1px solid var(--line-dark);font-size:11px;color:#6C7A88;display:flex;justify-content:space-between;}

#main{flex:1;min-width:0;}
#sheet,#dashboard{max-width:1180px;margin:0 auto;padding:38px 40px 90px;}
.topline{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px;}
.topline .title-input{font-family:'Fraunces',serif;font-size:34px;font-weight:600;color:var(--text);border:none;background:transparent;padding:0;width:100%;border-bottom:2px solid transparent;}
.topline .title-input:focus{outline:none;border-bottom-color:var(--amber);}
.topline .maj{font-size:12px;color:var(--text-dim);margin-top:6px;}
.topline .actions{display:flex;gap:8px;flex:none;padding-top:6px;}
.icon-btn{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);text-decoration:none;transition:border-color .15s ease, color .15s ease, box-shadow .15s ease;}
.icon-btn:hover{border-color:var(--rust);color:var(--rust);box-shadow:var(--shadow-sm);}
.export-btn{color:var(--teal);border-color:var(--teal-soft);background:var(--teal-soft);font-size:13px;padding:9px 14px;}
.export-btn:hover{background:var(--teal);color:var(--white);border-color:var(--teal);}

.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;box-shadow:var(--shadow-sm);}
.card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);gap:10px;}
.card-head h3{margin:0;font-size:14.5px;font-weight:600;letter-spacing:.1px;}
.card-body{padding:18px;}
.field-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 22px;}
.field-grid .field input,.field-grid .field select{border:none;border-bottom:1.5px solid var(--line);border-radius:0;padding:6px 2px;background:transparent;}
.field-grid .field input:focus,.field-grid .field select:focus{box-shadow:none;border-bottom-color:var(--amber);}

.triblock{display:grid;grid-template-columns:1fr 1.6fr 1fr;}
.triblock>div{padding:18px;border-right:1px solid var(--line);}
.triblock>div:last-child{border-right:none;}
.triblock h4{margin:0 0 9px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);font-weight:700;}
.triblock textarea{width:100%;border:none;background:transparent;font-size:13.5px;line-height:1.65;resize:vertical;min-height:110px;padding:0;}
.triblock textarea:focus{outline:none;}

.fourblock{display:grid;grid-template-columns:1fr 1fr 1.6fr;}
.fourblock>div{padding:18px;border-right:1px solid var(--line);}
.fourblock>div:last-child{border-right:none;}
.fourblock h4{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);font-weight:700;}
.fourblock textarea{width:100%;border:none;background:transparent;font-size:13.5px;line-height:1.65;resize:vertical;min-height:96px;padding:0;}

table.dtable{width:100%;border-collapse:collapse;}
table.dtable th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-weight:700;padding:0 8px 9px;border-bottom:1px solid var(--line);}
table.dtable td{padding:8px 8px;border-bottom:1px solid var(--paper-2);vertical-align:middle;}
table.dtable tr:last-child td{border-bottom:none;}
table.dtable input{width:100%;border:none;background:transparent;font-size:13.5px;padding:6px 3px;border-radius:3px;}
table.dtable input:focus{outline:none;background:var(--paper);}
.row-del{background:none;border:none;color:var(--line);width:28px;height:28px;cursor:pointer;border-radius:5px;}
.row-del:hover{color:var(--rust);background:var(--rust-soft);}
.add-row{margin-top:10px;background:transparent;border:1px dashed var(--line);color:var(--text-dim);font-size:12.5px;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;min-height:38px;}
.add-row:hover{border-color:var(--amber);color:var(--amber);}
.progress-cell{display:flex;align-items:center;gap:8px;}
.progress-cell input[type=number]{width:56px;flex:none;text-align:right;}

.twocol{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
footer.dep{padding:18px;}
footer.dep textarea{width:100%;border:none;background:transparent;font-size:13.5px;line-height:1.65;resize:vertical;min-height:50px;}

.save-bar{position:sticky;bottom:0;background:var(--white);border-top:1px solid var(--line);padding:14px 18px;display:flex;justify-content:flex-end;gap:10px;margin:0 -40px;box-shadow:0 -4px 14px rgba(22,31,41,.05);}

/* dashboard */
#dashboard h1{font-size:32px;margin:0 0 26px;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;}
.stat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-sm);}
.stat-card .stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-weight:700;margin-bottom:9px;}
.stat-card .stat-value{font-family:'Fraunces',serif;font-size:32px;font-weight:600;}
.stat-card .stat-sub{font-size:12px;color:var(--text-dim);margin-top:5px;}
.budget-track{height:7px;background:var(--paper-2);border-radius:4px;overflow:hidden;margin-top:12px;}
.budget-fill{height:100%;background:var(--teal);border-radius:4px;}
.budget-fill.over{background:var(--rust);}
.dash-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
.dash-list-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.dash-list{list-style:none;margin:0;padding:6px 0;max-height:320px;overflow-y:auto;}
.dash-list li{padding:11px 18px;border-bottom:1px solid var(--paper-2);font-size:13.5px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.dash-list li:last-child{border-bottom:none;}
.dash-list a{text-decoration:none;color:var(--text);}
.dl-proj{color:var(--text-dim);font-size:12px;}
.dl-date{flex:none;font-size:12px;color:var(--text-dim);white-space:nowrap;}
.dl-date.late{color:var(--rust);font-weight:600;}
.dash-empty{padding:22px 18px;font-size:13px;color:var(--text-dim);text-align:center;}

/* agenda */
.agenda-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:16px;flex-wrap:wrap;}
.agenda-nav{display:flex;gap:8px;}
.agenda-task{display:flex;align-items:center;gap:12px;}
.agenda-task.done .agenda-task-label{color:var(--text-dim);text-decoration:line-through;}
.task-check{width:26px;height:26px;flex:none;border-radius:50%;border:1.5px solid var(--line);background:var(--white);color:var(--white);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease, border-color .15s ease, transform .1s ease;}
.task-check:active{transform:scale(.9);}
.agenda-task.done .task-check{background:var(--teal);border-color:var(--teal);}
.agenda-task-label{flex:1;font-size:13.5px;}
.meeting-dot{background:var(--amber);border-color:var(--amber);cursor:default;}

/* tâches (dans la fiche) */
.tache-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--paper-2);}
.tache-row:last-child{border-bottom:none;}
.tache-row .t-title{flex:1;font-size:13.5px;}
.tache-row .t-meta{font-size:11.5px;color:var(--text-dim);line-height:1.5;}
.tache-add-form{display:grid;grid-template-columns:1.6fr 1fr 1fr 0.8fr auto auto;gap:10px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);}
.tache-add-form .field{margin:0;}
.tache-add-form label{font-size:10px;}
.tache-add-form input,.tache-add-form select{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:8px 9px;font-size:12.5px;background:var(--white);}

@media print{
  #sidebar,#mobileTopbar,#bottomNav,.topline .actions,.add-row,.row-del,.save-bar{display:none !important;}
  body{display:block;background:#fff;}
  #sheet{max-width:100%;padding:0;}
  .card{break-inside:avoid;border:1px solid #ccc;box-shadow:none;}
}

/* ================= MOBILE ================= */
@media (max-width: 900px){
  body{flex-direction:column;}

  /* topbar */
  #mobileTopbar{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    position:sticky;top:0;z-index:60;background:var(--ink);color:var(--white);
    padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 12px;box-shadow:var(--shadow-md);
  }
  #hamburgerBtn{background:transparent;border:none;color:var(--white);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;}
  #hamburgerBtn:active{background:rgba(255,255,255,.08);}
  .mobileTopbar-title{flex:1;text-align:center;font-family:'Fraunces',serif;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mobileTopbar-add{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--white);text-decoration:none;border-radius:8px;}
  .mobileTopbar-add:active{background:rgba(255,255,255,.08);}

  /* sidebar becomes an off-canvas drawer */
  #sidebar{
    position:fixed;top:0;left:0;height:100dvh;width:82%;max-width:320px;
    transform:translateX(-100%);transition:transform .22s ease;z-index:100;
    box-shadow:var(--shadow-lg);
  }
  #sidebar.open{transform:translateX(0);}
  #sidebarOverlay{
    display:block;position:fixed;inset:0;background:rgba(10,14,18,.5);
    opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:90;
  }
  #sidebarOverlay.open{opacity:1;pointer-events:auto;}

  #main{padding-bottom:0;}
  #projectList{max-height:none;}
  .field-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .triblock,.fourblock{grid-template-columns:1fr;}
  .triblock>div,.fourblock>div{border-right:none;border-bottom:1px solid var(--line);}
  #sheet,#dashboard{padding:18px 14px calc(84px + env(safe-area-inset-bottom,0px));}
  .topline{flex-direction:column;gap:12px;}
  .topline .title-input{font-size:26px;}
  .topline .actions{padding-top:0;flex-wrap:wrap;}
  .export-btn{order:-1;flex:1 1 100%;justify-content:center;}
  .icon-btn{width:40px;height:40px;}
  .save-bar{margin:0;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));padding:12px 16px;z-index:30;justify-content:stretch;}
  .save-bar .btn{flex:1;}
  .twocol{grid-template-columns:1fr;}
  .dash-grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr;}
  #dashboard h1{font-size:26px;}

  /* tables -> stacked cards */
  table.dtable thead{display:none;}
  table.dtable, table.dtable tbody, table.dtable tr, table.dtable td{display:block;width:100%;}
  table.dtable tr{border:1px solid var(--paper-2);border-radius:var(--radius-sm);margin-bottom:10px;padding:6px 10px;background:var(--paper);}
  table.dtable td{border-bottom:none;padding:7px 0;display:flex;align-items:center;gap:10px;}
  table.dtable td::before{
    content:attr(data-label);flex:none;width:104px;font-size:10.5px;text-transform:uppercase;
    letter-spacing:.4px;color:var(--text-dim);font-weight:700;
  }
  table.dtable td:has(> button.row-del){justify-content:flex-end;padding-top:2px;}
  table.dtable td:has(> button.row-del)::before{display:none;}
  table.dtable input{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:8px 9px;}
  .progress-cell{width:100%;}

  /* tâche add form stacks */
  .tache-add-form{grid-template-columns:1fr;gap:12px;}
  .tache-row{flex-wrap:wrap;}

  /* bigger touch targets */
  .task-check{width:30px;height:30px;}
  .row-del{width:34px;height:34px;}
  .btn{min-height:44px;}

  /* bottom tab bar */
  #bottomNav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:var(--white);border-top:1px solid var(--line);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));
    box-shadow:0 -4px 14px rgba(22,31,41,.06);
  }
  #bottomNav a{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    color:var(--text-dim);text-decoration:none;font-size:10.5px;font-weight:600;padding:5px 2px;border-radius:8px;
  }
  #bottomNav a.active{color:var(--ink);}
  #bottomNav a.active svg{color:var(--amber);}
  .bottomNav-fab{
    background:var(--ink);color:var(--white) !important;border-radius:50%;width:46px;height:46px;
    margin-top:-22px;box-shadow:var(--shadow-md);flex:none !important;
  }
}

@media (min-width: 901px){
  #bottomNav{display:none;}
}

/* ========================================================================== */
/* V2 — raccordage fonctionnel + responsive PC / tablette / mobile            */
/* ========================================================================== */
.inline-form{display:inline;margin:0;padding:0;}
.inline-form button{font:inherit;}
.sidebar-new-form{margin:16px 18px 8px;}
.sidebar-new-form #newProjectBtn{margin:0;width:100%;cursor:pointer;}
.sidebar-filter-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px;}
#searchWrap select{margin:0!important;width:100%!important;background:#1C2733!important;border:1px solid #384656!important;color:#AEBBC7!important;font-size:12px!important;padding:7px 8px!important;}
#viewToggle{display:grid;grid-template-columns:repeat(4,1fr);}
#viewToggle a{min-width:0;font-size:11.5px;}
#sidebar .foot a{color:#8E9BA8;text-decoration:none;}
.sidebar-empty{color:#8E9BA8;}
.meteo-dot{width:9px;height:9px;border-radius:50%;flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.06);}
.meteo-ras{background:#5EA98F;}
.meteo-vigilance{background:#D7A13D;}
.meteo-problematique{background:#D2644C;}

#sheet,#dashboard,.page-shell{max-width:1440px;padding:30px 34px 96px;}
.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;}
.project-title-block{min-width:0;flex:1;}
.project-eyebrow,.eyebrow{font-size:10.5px;line-height:1.4;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);font-weight:700;margin-bottom:5px;}
.project-header .title-input{font-family:'Fraunces',serif;font-size:34px;font-weight:600;color:var(--text);border:0;border-bottom:2px solid transparent;background:transparent;padding:1px 0 4px;width:100%;min-width:0;}
.project-header .title-input:focus{outline:none;border-bottom-color:var(--amber);}
.project-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.btn-export{background:var(--teal-soft);border:1px solid #BDD8CE;color:#23564D;text-decoration:none;}
.btn-export:hover{background:var(--teal);color:#fff;border-color:var(--teal);}

.project-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.mini-kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;min-height:76px;box-shadow:var(--shadow-sm);}
.mini-kpi>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.55px;color:var(--text-dim);font-weight:700;margin-bottom:6px;}
.mini-kpi strong{font-size:15px;line-height:1.3;}
.mini-kpi strong.is-alert{color:var(--rust);}
.mini-track{height:5px;background:var(--paper-2);border-radius:8px;overflow:hidden;margin-top:10px;}
.mini-track i{display:block;height:100%;background:var(--teal);border-radius:8px;}
.mini-track i.over{background:var(--rust);}

.project-tabs{display:flex;gap:4px;position:sticky;top:0;z-index:25;background:rgba(241,240,234,.96);backdrop-filter:blur(8px);padding:8px 0 10px;margin:0 0 10px;overflow-x:auto;scrollbar-width:none;}
.project-tabs::-webkit-scrollbar{display:none;}
.project-tab{border:1px solid transparent;background:transparent;color:var(--text-dim);border-radius:999px;padding:9px 15px;white-space:nowrap;font-size:12.5px;font-weight:700;cursor:pointer;}
.project-tab:hover{background:var(--white);border-color:var(--line);}
.project-tab.active{background:var(--ink);border-color:var(--ink);color:var(--white);box-shadow:var(--shadow-sm);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.card-head>div>p{font-size:11.5px;color:var(--text-dim);margin:3px 0 0;line-height:1.45;}
.field-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.content-grid-3{display:grid;grid-template-columns:1.4fr 1fr 1fr;}
.content-grid-2{display:grid;grid-template-columns:1fr 1fr;}
.content-grid-3>.text-field,.content-grid-2>.text-field{padding:18px;border-right:1px solid var(--line);}
.content-grid-3>.text-field:last-child,.content-grid-2>.text-field:last-child{border-right:0;}
.text-field label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.55px;color:var(--text-dim);font-weight:700;margin-bottom:8px;}
.text-field textarea{display:block;width:100%;min-height:110px;border:0;background:transparent;resize:vertical;font-size:13.5px;line-height:1.6;padding:0;}
.text-field textarea:focus{outline:none;}
.text-field.attention{background:#FFF9ED;}
.pilotage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.table-scroll{overflow-x:auto;}
.dtable-wide{min-width:900px;}
table.dtable input,table.dtable select{width:100%;border:none;background:transparent;font-size:13px;padding:7px 5px;border-radius:4px;min-height:36px;}
table.dtable select{cursor:pointer;}
table.dtable input:focus,table.dtable select:focus{outline:none;background:var(--paper);box-shadow:0 0 0 1px var(--line);}
table.dtable .center{text-align:center;}
table.dtable td.center select{width:auto;min-width:72px;}
.progress-cell span{font-size:12px;color:var(--text-dim);}

.save-bar{position:sticky;bottom:0;margin:16px 0 0;border:1px solid var(--line);border-radius:var(--radius);padding:11px 12px;background:rgba(252,251,248,.96);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:flex-end;gap:9px;box-shadow:0 -4px 18px rgba(22,31,41,.06);z-index:28;}
.save-state{margin-right:auto;font-size:11.5px;color:var(--text-dim);}
.save-bar.is-dirty .save-state{color:var(--amber);font-weight:700;}

.suivi-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.empty-line{font-size:13px;color:var(--text-dim);padding:8px 0;}
.follow-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--paper-2);}
.follow-item:last-of-type{border-bottom:0;}
.follow-main{display:flex;flex-direction:column;gap:3px;min-width:0;}
.follow-main strong{font-size:13.5px;}
.follow-main span{font-size:11.5px;color:var(--text-dim);line-height:1.45;}
.follow-main p{font-size:12px;color:var(--text-dim);line-height:1.5;margin:5px 0 0;white-space:normal;}
.follow-actions{display:flex;gap:6px;align-items:flex-start;flex:none;}
.follow-actions .icon-btn{width:auto;height:32px;padding:0 9px;font-size:11px;}
.icon-btn.danger{color:var(--rust);}
.inline-editor{position:relative;}
.inline-editor>summary{list-style:none;cursor:pointer;}
.inline-editor>summary::-webkit-details-marker{display:none;}
.inline-editor[open] .edit-form{display:grid;}
.edit-form{position:absolute;right:0;top:38px;width:min(680px,82vw);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:16px;z-index:55;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.edit-form .field{margin:0;}
.edit-form .field.full{grid-column:1/-1;}
.edit-form textarea{min-height:90px;}
.edit-form>.btn{grid-column:1/-1;justify-self:end;}
.add-panel{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px;}
.add-panel>summary{cursor:pointer;color:var(--teal);font-size:12.5px;font-weight:700;list-style:none;padding:6px 0;}
.add-panel>.edit-form{display:grid;position:static;width:100%;box-shadow:none;border:0;padding:14px 0 0;}

.export-callout .card-body{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;}
.export-callout h2{font-family:'Fraunces',serif;margin:2px 0 8px;font-size:24px;}
.export-callout p{margin:0;color:var(--text-dim);font-size:13px;line-height:1.55;max-width:760px;}
.empty-state{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;max-width:620px;margin:40px auto;}
.empty-state h1{margin-top:0;}

.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;}
.page-title-row h1{margin:0;}
.project-attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.attention-card{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--radius);padding:15px 16px;text-decoration:none;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;gap:16px;}
.attention-card.problem{border-left-color:var(--rust);}
.attention-card strong{display:block;font-size:14px;margin-bottom:3px;}
.attention-card span{display:block;font-size:11.5px;color:var(--text-dim);}
.attention-meta{text-align:right;flex:none;}

/* Medium desktop / tablet landscape: sidebar narrower and forms no longer 4-up. */
@media (max-width:1279px) and (min-width:769px){
  #sidebar{width:232px;}
  #sidebar .brand{padding:20px 16px 15px;}
  .sidebar-new-form,#viewToggle{margin-left:12px;margin-right:12px;}
  #searchWrap{padding-left:12px;padding-right:12px;}
  #sheet,#dashboard,.page-shell{padding:26px 24px 90px;}
  .project-header{flex-direction:column;gap:12px;}
  .project-actions{justify-content:flex-start;}
  .project-kpis{grid-template-columns:repeat(2,1fr);}
  .field-grid,.field-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .content-grid-3{grid-template-columns:1fr 1fr;}
  .content-grid-3>.text-field:nth-child(2){border-right:0;}
  .content-grid-3>.text-field:last-child{grid-column:1/-1;border-top:1px solid var(--line);}
  .pilotage-grid,.suivi-grid{grid-template-columns:1fr;}
  .dash-grid{grid-template-columns:1fr 1fr;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
}

/* Mobile: one column, drawer nav, only one fixed bottom zone at a time. */
@media (max-width:768px){
  #sheet,#dashboard,.page-shell{padding:14px 12px calc(78px + env(safe-area-inset-bottom,0px));}
  .project-header{flex-direction:column;gap:12px;margin-bottom:12px;}
  .project-eyebrow{margin-top:2px;}
  .project-header .title-input{font-size:26px;line-height:1.15;}
  .project-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px;}
  .project-actions .btn{width:100%;padding:9px 10px;font-size:12px;min-height:40px;}
  .project-kpis{grid-template-columns:1fr 1fr;gap:8px;}
  .mini-kpi{min-height:70px;padding:11px 12px;}
  .mini-kpi strong{font-size:13px;}
  .project-tabs{top:calc(62px + env(safe-area-inset-top,0px));margin-left:-12px;margin-right:-12px;padding:8px 12px;background:rgba(241,240,234,.98);}
  .project-tab{padding:8px 12px;font-size:11.5px;}
  .field-grid,.field-grid-3{grid-template-columns:1fr!important;gap:0;}
  .field-grid .field{margin-bottom:14px;}
  .content-grid-3,.content-grid-2,.pilotage-grid,.suivi-grid{grid-template-columns:1fr;}
  .content-grid-3>.text-field,.content-grid-2>.text-field{border-right:0;border-bottom:1px solid var(--line);padding:15px;}
  .content-grid-3>.text-field:last-child,.content-grid-2>.text-field:last-child{border-bottom:0;}
  .card-head{padding:13px 14px;align-items:flex-start;}
  .card-body{padding:14px;}
  .card-head h3{font-size:15px;}
  .card-head .add-row{margin:0;min-height:34px;padding:6px 9px;flex:none;}

  /* Tables keep row/card semantics but controls are full-width and readable. */
  .table-scroll{overflow:visible;}
  .dtable-wide{min-width:0;}
  table.dtable thead{display:none;}
  table.dtable,table.dtable tbody,table.dtable tr,table.dtable td{display:block;width:100%;}
  table.dtable tr{background:var(--paper);border:1px solid var(--paper-2);border-radius:8px;margin-bottom:10px;padding:8px 10px;}
  table.dtable td{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px;border:0;padding:5px 0;}
  table.dtable td::before{content:attr(data-label);width:auto;min-width:0;font-size:9.5px;text-transform:uppercase;letter-spacing:.45px;color:var(--text-dim);font-weight:700;}
  table.dtable td:last-child{display:flex;justify-content:flex-end;}
  table.dtable td:last-child::before{display:none;}
  table.dtable input,table.dtable select{background:var(--white);border:1px solid var(--line);padding:8px;min-height:39px;}
  table.dtable td.center{text-align:left;}
  table.dtable td.center select{width:100%;}

  .save-bar{position:fixed;left:0;right:0;bottom:0;margin:0;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .2s ease;z-index:95;}
  .save-bar.is-dirty{transform:translateY(0);}
  .save-state{display:none;}
  .save-bar .btn{flex:1;}
  #bottomNav{transition:transform .2s ease;}
  body.sheet-dirty #bottomNav{transform:translateY(110%);}

  .follow-item{flex-direction:column;gap:10px;}
  .follow-actions{width:100%;flex-wrap:wrap;}
  .follow-actions .icon-btn{height:38px;}
  .inline-editor{position:static;}
  .edit-form{position:fixed;left:10px;right:10px;top:calc(72px + env(safe-area-inset-top,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));width:auto;overflow:auto;grid-template-columns:1fr;z-index:120;padding:16px;}
  .edit-form .field.full,.edit-form>.btn{grid-column:auto;}
  .add-panel>.edit-form{position:static;display:grid;grid-template-columns:1fr;width:100%;overflow:visible;}
  .export-callout .card-body{flex-direction:column;align-items:flex-start;padding:20px;}
  .export-callout .btn{width:100%;}
  .export-callout h2{font-size:21px;}
  .project-attention-list{grid-template-columns:1fr;}
  .attention-card{flex-direction:column;gap:8px;}
  .attention-meta{text-align:left;}

  /* override legacy 900px rules */
  .save-bar{justify-content:stretch;}
  .twocol{grid-template-columns:1fr;}
  .dash-grid,.stat-row{grid-template-columns:1fr;}
}

@media (min-width:769px){
  #bottomNav{display:none!important;}
}

@media print{
  .project-tabs,.project-kpis{display:none!important;}
  .tab-panel{display:block!important;}
  .suivi-grid{grid-template-columns:1fr 1fr;}
  .inline-editor,.add-panel,.follow-actions{display:none!important;}
}
.success-msg{background:var(--teal-soft);color:#1E4A40;padding:11px 13px;border-radius:var(--radius-sm);font-size:13px;}
.warning-list{margin:0;padding-left:20px;color:var(--text-dim);font-size:13px;line-height:1.6;}
.export-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px;align-items:start;}
.export-projects-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-weight:700;}
.export-project-list{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:16px;max-height:420px;overflow-y:auto;}
.export-project-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--paper-2);cursor:pointer;background:var(--white);}
.export-project-item:last-child{border-bottom:0;}
.export-project-item:hover{background:var(--paper);}
.export-project-item input{width:18px;height:18px;}
.export-project-item strong{display:block;font-size:13px;}
.export-project-item small{display:block;color:var(--text-dim);font-size:11px;margin-top:2px;}
.settings-form .field{margin-bottom:14px;}
.standalone-head{background:transparent;border:0;padding:8px 0 10px;}
.bottom-fab-form{display:flex;align-items:center;justify-content:center;flex:none;margin:0;padding:0;}
.bottom-fab-form .bottomNav-fab{border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;}
@media(max-width:1050px){.export-layout{grid-template-columns:1fr;}}
.mobileTopbar-add{background:transparent;border:0;cursor:pointer;}
@media(max-width:768px){.bottom-fab-form{width:52px;}.bottom-fab-form .bottomNav-fab{width:46px;height:46px;margin-top:-22px;background:var(--ink);color:var(--white);border-radius:50%;box-shadow:var(--shadow-md);}}

/* V2.1 — cohérence de pilotage */
.field small{display:block;margin-top:5px;color:var(--text-dim);font-size:10.5px;line-height:1.35;}
.coherence-card{margin:0 0 14px;border:1px solid #E2B86A;background:#FFF9ED;border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.coherence-card summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;padding:12px 14px;color:#6B4A12;font-size:12px;}
.coherence-card summary::-webkit-details-marker{display:none;}
.coherence-card summary span{color:#8A6A32;font-weight:500;}
.coherence-card ul{margin:0;padding:0 34px 14px 34px;color:#6B4A12;font-size:12px;line-height:1.55;}
@media(max-width:768px){.coherence-card summary{align-items:flex-start;flex-direction:column;gap:3px;}}
.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;}
.import-summary>div{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-sm);padding:14px;}
.import-summary strong{display:block;font-size:23px;}
.import-summary span{display:block;color:var(--text-dim);font-size:11px;margin-top:3px;}
.import-note{font-size:12.5px;line-height:1.6;color:var(--text-dim);max-width:900px;margin:0 0 16px;}
@media(max-width:768px){.import-summary{grid-template-columns:1fr 1fr;}}
.check-line{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-dim);line-height:1.4;margin:8px 0 16px;}
.check-line input{width:17px;height:17px;margin-top:1px;flex:none;}

/* V2.2 — aperçu planning raccordé au moteur PowerPoint */
.planning-preview-card .card-head{align-items:center;}
.planning-period{font-size:11px;font-weight:700;color:var(--text-dim);white-space:nowrap;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 10px;}
.planning-preview-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.planning-preview{min-width:760px;position:relative;border:1px solid var(--line);border-radius:10px;background:var(--white);overflow:hidden;}
.planning-months{display:grid;grid-template-columns:repeat(var(--planning-cols),minmax(0,1fr));background:var(--paper);border-bottom:1px solid var(--line);}
.planning-months>div{text-align:center;padding:8px 4px;font-size:10px;font-weight:800;color:var(--text-dim);border-right:1px solid var(--line);}
.planning-months>div:last-child{border-right:0;}
.planning-phase-grid{display:grid;grid-template-columns:repeat(var(--planning-cols),minmax(0,1fr));grid-auto-rows:34px;gap:5px 0;padding:10px 0 8px;background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--paper-2) 0);background-size:calc(100% / var(--planning-cols)) 100%;}
.planning-phase{margin:0 3px;border-radius:7px;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 8px;font-size:10.5px;font-weight:800;overflow:hidden;}
.planning-phase span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.planning-phase.phase-r{background:#dff2d5;color:#315d22;border:1px solid #b8dda7;}
.planning-phase.phase-c{background:#fbe6cf;color:#8a4a0e;border:1px solid #efc38f;}
.planning-phase.phase-a{background:#e5e7eb;color:#4b5563;border:1px solid #cfd3d8;}
.planning-milestones{height:86px;position:relative;border-top:1px dashed var(--line);background:linear-gradient(180deg,var(--paper) 0,var(--white) 100%);}
.planning-milestone{position:absolute;top:8px;transform:translateX(-8px);display:grid;grid-template-columns:10px auto;grid-template-rows:auto auto;column-gap:5px;max-width:145px;z-index:2;}
.planning-milestone.lane-1{top:31px;}.planning-milestone.lane-2{top:54px;}
.planning-milestone strong{font-size:9px;line-height:12px;color:var(--text);white-space:nowrap;}
.planning-milestone span{grid-column:2;font-size:9px;line-height:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;}
.milestone-pin{width:9px;height:9px;border-radius:2px;transform:rotate(45deg);display:inline-block;margin-top:1px;flex:0 0 auto;}
.milestone-pin.done{background:#00a650;}.milestone-pin.risk{background:#d80000;}.milestone-pin.future{background:#9ca3af;}
.planning-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:10px;color:var(--text-dim);}
.planning-legend>span{display:inline-flex;align-items:center;gap:5px;}
.legend-phase{width:18px;height:7px;border-radius:3px;display:inline-block;}.legend-phase.r{background:#92d050}.legend-phase.c{background:#ed7d31}.legend-phase.a{background:#595959}
.planning-preview-note{font-size:10px;color:var(--text-dim);margin:8px 0 0;}
@media(max-width:767px){.planning-preview-card .card-head{align-items:flex-start}.planning-period{font-size:10px}.planning-preview{min-width:820px}.planning-preview-scroll{margin:0 -2px;padding-bottom:4px}.planning-legend{min-width:760px}}

/* =========================================================
   V2.3 — cockpit portefeuille consolidé
   ========================================================= */
.stat-row-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.stat-row-5 .stat-card{padding:16px 17px;min-width:0;}
.stat-row-5 .stat-value{font-size:29px;line-height:1.05;}
.stat-row-5 .stat-value.date-value{font-size:21px;}
.stat-row-5 .budget-value{font-size:21px;white-space:nowrap;}
.stat-row-5 .budget-value span{font-family:'Inter',Arial,sans-serif;font-size:11px;color:var(--text-dim);font-weight:600;}
.stat-alert{color:var(--rust);}
.next-deadline-link{display:block;text-decoration:none;}
.next-deadline-link:hover .stat-sub{color:var(--teal);}
.btn-small{min-height:34px;padding:7px 11px;font-size:11.5px;}
.display-contents{display:contents;}.no-border{border:none!important;}
.today-card{margin-bottom:16px;}

.portfolio-planning-card{overflow:hidden;}
.portfolio-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.portfolio-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.portfolio-timeline{min-width:max(980px,calc(250px + var(--portfolio-months) * 78px));background:var(--white);}
.portfolio-header-row,.portfolio-row{display:grid;grid-template-columns:250px minmax(0,1fr);}
.portfolio-header-row{position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line);background:var(--paper);}
.portfolio-project-head{padding:9px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.55px;color:var(--text-dim);font-weight:800;border-right:1px solid var(--line);}
.portfolio-month-head{display:grid;grid-template-columns:repeat(var(--portfolio-months),minmax(0,1fr));}
.portfolio-month-head span{padding:9px 3px;text-align:center;font-size:9.5px;font-weight:800;color:var(--text-dim);border-right:1px solid var(--line);white-space:nowrap;}
.portfolio-row{border-bottom:1px solid var(--paper-2);min-height:72px;}
.portfolio-row:last-child{border-bottom:0;}
.portfolio-project-cell{padding:11px 13px;text-decoration:none;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;min-width:0;background:var(--white);position:sticky;left:0;z-index:4;}
.portfolio-project-cell:hover{background:var(--paper);}
.portfolio-project-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:750;line-height:1.25;min-width:0;}
.portfolio-project-title .meteo-dot{box-shadow:none;}
.portfolio-project-meta{font-size:10.5px;color:var(--text-dim);margin:4px 0 0 17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.portfolio-track{position:relative;min-height:72px;background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--paper-2) 0);background-size:calc(100% / var(--portfolio-months)) 100%;overflow:visible;}
.portfolio-phase{position:absolute;top:10px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;padding:0 5px;overflow:hidden;border:1px solid transparent;min-width:8px;}
.portfolio-phase b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800;}
.portfolio-phase.phase-r{background:#dff2d5;color:#315d22;border-color:#b8dda7;}
.portfolio-phase.phase-c{background:#fbe6cf;color:#8a4a0e;border-color:#efc38f;}
.portfolio-phase.phase-a{background:#e5e7eb;color:#4b5563;border-color:#cfd3d8;}
.portfolio-jalon{position:absolute;top:39px;transform:translateX(-50%);display:flex;align-items:center;gap:3px;white-space:nowrap;z-index:3;}
.portfolio-jalon.lane-1{top:54px;}
.portfolio-jalon em{font-style:normal;font-size:8.5px;line-height:1;font-weight:800;color:var(--text);background:rgba(252,251,248,.92);padding:2px 3px;border-radius:3px;}
.portfolio-jalon .milestone-pin{width:8px;height:8px;}
.portfolio-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px 11px;border-top:1px solid var(--line);background:var(--paper);}
.portfolio-footer .planning-legend{margin:0;}
.portfolio-window-note{font-size:9.5px;color:var(--text-dim);text-align:right;}

.priority-head{margin-top:4px;}
.priority-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:var(--rust-soft);color:var(--rust);font-size:12px;font-weight:800;}
.attention-card{align-items:stretch;}
.attention-card.warning{border-left-color:var(--amber);}
.attention-card.info{border-left-color:var(--teal);}
.attention-main{min-width:0;flex:1;}
.attention-reasons{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;}
.reason-chip{font-style:normal;font-size:9.5px;font-weight:750;border-radius:999px;padding:3px 7px;background:var(--paper);color:var(--text-dim);}
.reason-chip.danger{background:var(--rust-soft);color:#7A2E1D;}
.reason-chip.warn{background:#F8EACB;color:#7A5617;}
.reason-chip.info{background:var(--teal-soft);color:#23564D;}
.attention-meta{min-width:128px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;border-left:1px solid var(--paper-2);padding-left:12px;}
.attention-meta small{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-weight:800;}
.attention-meta b{font-size:13px;margin:3px 0 1px;}.attention-meta b.late{color:var(--rust);}
.attention-meta span{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

@media (max-width:1279px) and (min-width:768px){
  .stat-row-5{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stat-row-5 .stat-card:last-child{grid-column:1/-1;}
  .portfolio-header-row,.portfolio-row{grid-template-columns:220px minmax(0,1fr);}
  .portfolio-timeline{min-width:max(900px,calc(220px + var(--portfolio-months) * 72px));}
}
@media (max-width:767px){
  .page-title-row{align-items:flex-start;}
  .page-title-row .btn{min-height:38px;padding:8px 11px;font-size:11.5px;}
  .stat-row-5{grid-template-columns:1fr 1fr;gap:8px;}
  .stat-row-5 .stat-card{padding:12px;min-height:92px;}
  .stat-row-5 .stat-card:last-child{grid-column:1/-1;min-height:auto;}
  .stat-row-5 .stat-value{font-size:24px;}
  .stat-row-5 .stat-value.date-value,.stat-row-5 .budget-value{font-size:18px;}
  .stat-row-5 .stat-sub{font-size:10.5px;line-height:1.3;}
  .portfolio-planning-card .card-head{align-items:flex-start;}
  .portfolio-head-actions{width:100%;justify-content:space-between;}
  .portfolio-timeline{min-width:max(940px,calc(200px + var(--portfolio-months) * 68px));}
  .portfolio-header-row,.portfolio-row{grid-template-columns:200px minmax(0,1fr);}
  .portfolio-project-cell{padding:9px 10px;}
  .portfolio-project-title{font-size:11.5px;}
  .portfolio-project-meta{font-size:9.5px;}
  .portfolio-footer{align-items:flex-start;flex-direction:column;}
  .portfolio-window-note{text-align:left;}
  .attention-card{flex-direction:column;gap:10px;}
  .attention-meta{min-width:0;align-items:flex-start;text-align:left;border-left:0;border-top:1px solid var(--paper-2);padding:9px 0 0;}
  .attention-meta span{max-width:100%;}
}

/* =========================================================
   V2.4 — multi-pilotage, priorités et administration
   ========================================================= */
.priority-stars,.project-stars{color:#B97712;font-weight:900;letter-spacing:1px;white-space:nowrap;}
.meteo-symbol{font-style:normal;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.meteo-symbol.small{font-size:15px;}
.owner-filter select{min-width:210px;height:40px;}
.page-subtitle{margin:4px 0 0;color:var(--text-dim);font-size:12px;}
.export-quick-actions{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 9px;}
.export-weather{font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center;width:24px;}
.export-project-copy{min-width:0;}.export-project-copy strong{white-space:normal;}
.export-project-item[hidden]{display:none!important;}
.settings-readonly{display:grid;gap:12px;}
.settings-readonly>div{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-sm);padding:12px;}
.settings-readonly span{display:block;color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;margin-bottom:4px;}
.settings-readonly strong{font-size:12px;line-height:1.45;}

.admin-users-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:16px;align-items:start;}
.admin-users-list{display:grid;gap:10px;}
.admin-user-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(140px,.8fr) 150px minmax(150px,.8fr) auto auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);}
.admin-user-row .field{margin:0;}
.admin-user-row .check-line{margin:0 0 8px;align-self:end;white-space:nowrap;}
.admin-user-ident{align-self:center;min-width:0;}
.admin-user-ident strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;}
.admin-user-ident span{display:block;color:var(--text-dim);font-size:10.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:1180px){.admin-users-layout{grid-template-columns:1fr}.admin-user-row{grid-template-columns:1fr 1fr 1fr}.admin-user-ident{grid-column:1/-1}.admin-user-row .btn{align-self:end}.admin-user-row .check-line{align-self:center}}
@media(max-width:767px){
  .owner-filter{width:100%;}.owner-filter select{width:100%;min-width:0;}
  .page-title-actions{width:100%;flex-wrap:wrap;}
  .export-quick-actions .btn{flex:1 1 calc(50% - 7px);}
  .admin-user-row{grid-template-columns:1fr;}.admin-user-ident{grid-column:auto}.admin-user-row .check-line{margin:2px 0;}
}
.owner-chip{font-weight:700;color:var(--teal);}

/* =========================================================
   V2.5 — finalisation / qualité / recherche / charge
   ========================================================= */
.sidebar-global-search{display:block;margin:8px 14px 10px;padding:8px 10px;border:1px dashed var(--line);border-radius:8px;text-decoration:none;font-size:10.5px;font-weight:700;color:var(--teal);text-align:center;background:rgba(255,255,255,.45)}
.sidebar-global-search:hover{background:var(--teal-soft);border-color:var(--teal)}

.cockpit-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:10px;align-items:end;padding:12px 14px;margin-bottom:16px}
.cockpit-filters .field{margin:0}.cockpit-filters .field label{font-size:9px}.cockpit-filters select{height:38px}
.cockpit-filter-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cockpit-filter-actions small{flex-basis:100%;font-size:9px;color:var(--text-dim)}

.pm-workload-card{margin-bottom:16px;overflow:hidden}.pm-workload-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pm-workload-table{width:100%;border-collapse:collapse;min-width:760px}.pm-workload-table th,.pm-workload-table td{padding:10px 12px;border-top:1px solid var(--paper-2);text-align:center;font-size:11px;white-space:nowrap}
.pm-workload-table th{font-size:9px;text-transform:uppercase;letter-spacing:.45px;color:var(--text-dim);background:var(--paper)}.pm-workload-table th:first-child,.pm-workload-table td:first-child{text-align:left;position:sticky;left:0;background:var(--white);z-index:2}.pm-workload-table th:first-child{background:var(--paper);z-index:3}.pm-workload-table td:first-child a{font-weight:750;text-decoration:none;color:var(--text)}.pm-workload-table td:first-child a:hover{color:var(--teal)}

.global-search-card{margin-bottom:16px}.global-search-form{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.35fr) auto;gap:12px;align-items:end}.global-search-form .field{margin:0}.search-main-field input{font-size:15px}
.search-summary{font-size:12px;color:var(--text-dim);margin:2px 0 14px}.search-group{margin-bottom:18px}.search-results{display:grid;gap:8px}.search-result{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);text-decoration:none;color:var(--text);box-shadow:var(--shadow-sm)}.search-result:hover{border-color:var(--teal);transform:translateY(-1px)}
.search-type{font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:850;color:var(--teal)}.search-result-copy{min-width:0}.search-result-copy strong{display:block;font-size:13px}.search-result-copy small{display:block;color:var(--text-dim);font-size:10.5px;margin-top:2px}.search-result-copy p{margin:5px 0 0;color:var(--text-dim);font-size:11px;line-height:1.4}.search-open{font-size:10px;font-weight:800;color:var(--teal)}.empty-state.compact{padding:36px 20px}

.export-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.export-filter-row .field{margin:0}.export-project-item{grid-template-columns:auto auto minmax(0,1fr) auto}.export-project-item.is-archived{opacity:.72;background:#f8f8f7}.quality-badge{font-size:9px;font-weight:850;border-radius:999px;padding:4px 7px;white-space:nowrap;border:1px solid transparent}.quality-ok{background:#e7f3df;color:#315d22;border-color:#c4dfb5}.quality-warn{background:#f8eacb;color:#7a5617;border-color:#ead3a0}.quality-error{background:var(--rust-soft);color:#7a2e1d;border-color:#e9b9ac}
.export-preflight{margin-bottom:16px;border-left:4px solid #d29b36}.export-preflight.has-errors{border-left-color:var(--rust)}.preflight-projects{display:grid;gap:10px}.preflight-project{border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--paper)}.preflight-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.preflight-title a{font-size:10px;font-weight:800;color:var(--teal)}.preflight-errors,.preflight-warnings{margin:8px 0 0;padding-left:20px;font-size:11px;line-height:1.45}.preflight-errors{color:var(--rust)}.preflight-warnings{color:#715018}.preflight-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

@media(max-width:1279px){
  .cockpit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-filter-actions{grid-column:1/-1}
  .global-search-form{grid-template-columns:minmax(0,1fr) minmax(180px,.4fr) auto}
}
@media(max-width:767px){
  .cockpit-filters{grid-template-columns:1fr;padding:11px}.cockpit-filter-actions{grid-column:auto}.cockpit-filter-actions .btn{flex:1 1 calc(50% - 4px)}
  .pm-workload-card .card-head{align-items:flex-start}.global-search-form{grid-template-columns:1fr}.global-search-form .btn{width:100%}
  .search-result{grid-template-columns:1fr;gap:5px}.search-type{order:-1}.search-open{display:none}
  .export-filter-row{grid-template-columns:1fr}.export-project-item{grid-template-columns:auto auto minmax(0,1fr)}.quality-badge{grid-column:3;justify-self:start;margin-top:2px}.preflight-title{align-items:flex-start;flex-direction:column;gap:4px}.preflight-actions .btn{width:100%}
}

/* =========================================================
   V2.6 — DA pastel claire / cockpit chaleureux
   Référence validée : cartes douces, vert/bleu, sidebar claire
   ========================================================= */
:root{
  --ink:#17365f;
  --ink-2:#214b77;
  --ink-3:#365f86;
  --paper:#f5f9fc;
  --paper-2:#edf3f8;
  --line:#dfe8f0;
  --line-dark:#d6e1eb;
  --amber:#f5ad24;
  --amber-soft:#fff1cc;
  --teal:#1f9a72;
  --teal-soft:#dff5ea;
  --rust:#e65757;
  --rust-soft:#ffe6e3;
  --blue:#5b9dea;
  --blue-soft:#e8f2ff;
  --violet:#747bd9;
  --violet-soft:#efefff;
  --peach:#f29a73;
  --peach-soft:#fff0e8;
  --gold:#d6a630;
  --gold-soft:#fff5d8;
  --text:#19345a;
  --text-dim:#71839a;
  --white:#ffffff;
  --radius:18px;
  --radius-sm:12px;
  --shadow-sm:0 6px 18px rgba(53,88,122,.065),0 1px 4px rgba(53,88,122,.04);
  --shadow-md:0 12px 30px rgba(53,88,122,.09),0 2px 8px rgba(53,88,122,.045);
  --shadow-lg:0 22px 50px rgba(53,88,122,.14),0 4px 14px rgba(53,88,122,.07);
}
html{background:#f5f9fc;}
body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 78% 0%,rgba(202,229,251,.55),transparent 30%),
    radial-gradient(circle at 42% 12%,rgba(223,245,234,.42),transparent 26%),
    linear-gradient(180deg,#f8fbfd 0%,#f3f8fb 100%);
  color:var(--text);
}
h1,h2,h3,.serif,.topline .title-input,.project-header .title-input,.export-callout h2,.stat-card .stat-value{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
}
h1,h2,h3{letter-spacing:-.025em;}

/* shell */
#sidebar{
  width:244px;
  background:rgba(255,255,255,.9);
  color:#607896;
  border-right:1px solid #e6edf4;
  box-shadow:6px 0 28px rgba(83,115,145,.035);
  backdrop-filter:blur(18px);
}
#sidebar .brand.brand-v26{padding:22px 18px 14px;border-bottom:0;}
.brand-lockup{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);}
.brand-lockup>span:last-child{display:flex;flex-direction:column;min-width:0;}
.brand-lockup strong{font-size:18px;line-height:1.15;font-weight:800;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-lockup small{font-size:10.5px;color:#8a9aad;margin-top:3px;white-space:nowrap;}
.brand-symbol{position:relative;width:30px;height:30px;display:inline-block;flex:0 0 30px;}
.brand-symbol i{position:absolute;left:3px;width:24px;height:8px;border-radius:3px 3px 8px 8px;transform:rotate(0deg) skewY(-8deg);box-shadow:0 2px 6px rgba(40,120,120,.08);}
.brand-symbol i:nth-child(1){top:2px;background:#65c9a2;}
.brand-symbol i:nth-child(2){top:10px;background:#49b7ac;}
.brand-symbol i:nth-child(3){top:18px;background:#4f8ed8;}

#viewToggle.sidebar-main-nav{
  display:flex!important;flex-direction:column;gap:5px;
  margin:6px 12px 10px;border:0;border-radius:0;overflow:visible;
}
#viewToggle.sidebar-main-nav a{
  display:flex;align-items:center;gap:12px;flex:none;text-align:left;
  min-height:44px;padding:10px 12px;border:0!important;border-radius:13px;
  color:#6b7e98;background:transparent;font-size:13px;font-weight:600;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
#viewToggle.sidebar-main-nav a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none;}
#viewToggle.sidebar-main-nav a:hover{background:#f0f7f5;color:#227d68;transform:translateX(1px);}
#viewToggle.sidebar-main-nav a.active{background:linear-gradient(135deg,#e7f7ef,#dff3ed);color:#17795d;box-shadow:none;}

.sidebar-new-form{margin:4px 12px 10px;}
.sidebar-new-form #newProjectBtn{
  margin:0;width:100%;border:1px solid #cfe9df;background:#effaf5;color:#16805f;
  min-height:42px;border-radius:13px;font-weight:700;justify-content:center;
}
.sidebar-new-form #newProjectBtn:hover{background:#def4e9;border-color:#b6dece;color:#106b50;}

#searchWrap{padding:4px 12px 8px;}
.sidebar-search-box{position:relative;}
.sidebar-search-box svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;fill:none;stroke:#93a3b5;stroke-width:1.8;stroke-linecap:round;pointer-events:none;}
#searchWrap .sidebar-search-box input{
  width:100%;height:38px;padding:8px 10px 8px 34px!important;
  background:#f6f9fc!important;color:var(--text)!important;border:1px solid #e3ebf2!important;
  border-radius:11px!important;font-size:11.5px!important;
}
#searchWrap .sidebar-search-box input:focus{outline:none;border-color:#a9d9c9!important;box-shadow:0 0 0 3px rgba(31,154,114,.08);}
.sidebar-filter-row{grid-template-columns:1fr 1fr;gap:6px;margin-top:7px;}
#searchWrap select{
  width:100%!important;height:32px!important;padding:5px 7px!important;
  background:#fff!important;color:#71839a!important;border:1px solid #e3ebf2!important;
  border-radius:9px!important;font-size:9.5px!important;
}

.sidebar-projects{margin:2px 9px 8px;min-height:0;display:flex;flex-direction:column;flex:1;}
.sidebar-projects>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:7px 8px;color:#8091a5;font-size:10px;text-transform:uppercase;letter-spacing:.55px;font-weight:800;cursor:pointer;}
.sidebar-projects>summary::-webkit-details-marker{display:none;}
.sidebar-project-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#eef4f8;color:#688099;font-size:9px;}
#projectList{padding:2px 3px 10px;overflow-y:auto;}
.proj-card{padding:10px 10px;margin-bottom:5px;border:1px solid transparent;border-left:0;border-radius:12px;color:var(--text);}
.proj-card:hover{background:#f5f9fc;border-color:#e7eef4;}
.proj-card.active{background:#edf8f3;border-color:#d6eee4;border-left:0;box-shadow:inset 3px 0 0 #31a47b;}
.pc-name{font-size:11.5px;color:#27496d;font-weight:700;}
.pc-sub{font-size:9.5px;color:#8999aa;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.proj-bar{height:4px;background:#e8eff5;margin-top:8px;}
.proj-bar-fill{background:linear-gradient(90deg,#3fb58a,#72cdaa);}
.pc-alert{background:#fff0ed;color:#cf5b50;}
.pc-alert.warn{background:#fff5da;color:#a67d1b;}
.sidebar-shortcut{margin:0 12px 8px;}
.sidebar-shortcut a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:#8091a5;font-size:9.5px;padding:8px 9px;border-radius:10px;}
.sidebar-shortcut a:hover{background:#f4f8fb;color:#1c8a68;}
.sidebar-global-search{display:none!important;}
#sidebar .foot{
  margin:0 10px 12px;padding:10px;border:1px solid #e8eef4;border-radius:14px;background:#f8fbfd;
  display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:8px;color:var(--text-dim);
}
.user-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ccefe4;color:#176f58;font-size:12px;font-weight:800;}
.foot-copy{display:flex;flex-direction:column;min-width:0;}
#sidebar .foot .foot-copy strong{font-size:10.5px;color:#38536f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#sidebar .foot .foot-copy small{font-size:8.5px;color:#90a0b1;margin-top:2px;}
#sidebar .foot .logout-link{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#97a6b6;font-size:14px;}
#sidebar .foot .logout-link:hover{color:#e35f5f;}

#main{background:transparent;}
#sheet,#dashboard,.page-shell{max-width:1540px;padding:26px 28px 92px;}

/* general cards / inputs */
.card,.dash-list-card,.stat-card,.mini-kpi,.attention-card,.empty-state,.search-result{
  border:1px solid rgba(222,232,241,.9);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
}
.card,.dash-list-card,.stat-card,.mini-kpi,.attention-card,.empty-state{background:rgba(255,255,255,.92);}
.card{margin-bottom:14px;}
.card-head{padding:15px 18px;border-bottom:1px solid #edf2f6;}
.card-head h3{font-size:14px;color:#193c64;}
.card-head>div>p{color:#8b9aac;font-size:10.5px;}
.card-body{padding:18px;}
.field label,.text-field label{color:#8293a8;}
.field input,.field select,.field textarea,
table.dtable input,table.dtable select{
  background:#fbfdff;border:1px solid #e2eaf1;border-radius:10px;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#78c4ab;box-shadow:0 0 0 3px rgba(31,154,114,.09);}
.field-grid .field input,.field-grid .field select{border:1px solid #e2eaf1;border-radius:10px;padding:9px 10px;background:#fbfdff;}
.field-grid .field input:focus,.field-grid .field select:focus{box-shadow:0 0 0 3px rgba(31,154,114,.08);border-color:#78c4ab;}

.btn{border-radius:11px;font-weight:700;}
.btn-primary{background:linear-gradient(135deg,#2ba77e,#258f70);box-shadow:0 7px 16px rgba(31,154,114,.18);}
.btn-primary:hover{background:linear-gradient(135deg,#249c75,#1d8062);}
.btn-ghost{background:#fff;border-color:#dfe8f0;color:#627892;}
.btn-ghost:hover{border-color:#9dd5c2;color:#18805f;background:#f1faf6;}
.btn-export{background:#e6f7ef;border-color:#c7eadc;color:#147a5c;}
.btn-danger{border-color:#ffd8d3;color:#d95c52;background:#fffafa;}
.icon-btn{border-color:#e1e9f0;background:#fff;border-radius:11px;color:#70839a;}

/* headings */
.page-title-row{align-items:center;margin-bottom:16px;}
.page-title-row .eyebrow,.project-eyebrow,.eyebrow{color:#6b85a2;text-transform:none;letter-spacing:0;font-size:11px;font-weight:600;margin-bottom:4px;}
.page-title-row h1{font-size:31px;color:#153961;font-weight:800;letter-spacing:-.04em;}
.page-title-actions{display:flex;gap:8px;align-items:center;}
.page-subtitle{color:#899aab;}

/* dashboard filters: light toolbar */
.cockpit-filters{
  background:rgba(255,255,255,.76);border:1px solid #e4ecf3;box-shadow:none;
  border-radius:15px;padding:10px 12px;gap:8px;
}
.cockpit-filters .field label{display:none;}
.cockpit-filters select{height:36px;background:#f9fbfd;border-color:#e3eaf1;color:#617790;font-size:10.5px;}
.cockpit-filter-actions{flex-wrap:nowrap;}
.cockpit-filter-actions small{display:none;}
.cockpit-filter-actions .btn{min-height:36px;padding:7px 10px;font-size:10.5px;}

/* dashboard KPI cards inspired by selected DA */
.stat-row-5{gap:12px;margin-bottom:14px;}
.stat-row-5 .stat-card{position:relative;overflow:hidden;padding:16px 17px 15px;min-height:122px;border:0;box-shadow:0 8px 22px rgba(63,94,125,.065);}
.stat-row-5 .stat-card::after{content:"";position:absolute;right:-28px;bottom:-45px;width:110px;height:110px;border-radius:50%;opacity:.5;}
.stat-row-5 .stat-card:nth-child(1){background:linear-gradient(145deg,#f0fbf6,#e7f8f0);}
.stat-row-5 .stat-card:nth-child(1)::after{background:#ccefe0;}
.stat-row-5 .stat-card:nth-child(2){background:linear-gradient(145deg,#f1f7ff,#e8f2ff);}
.stat-row-5 .stat-card:nth-child(2)::after{background:#cfe3fb;}
.stat-row-5 .stat-card:nth-child(3){background:linear-gradient(145deg,#fff7f1,#ffede5);}
.stat-row-5 .stat-card:nth-child(3)::after{background:#ffd7c8;}
.stat-row-5 .stat-card:nth-child(4){background:linear-gradient(145deg,#f6f6ff,#eceeff);}
.stat-row-5 .stat-card:nth-child(4)::after{background:#dfe2fb;}
.stat-row-5 .stat-card:nth-child(5){background:linear-gradient(145deg,#fffaf0,#fff3d8);}
.stat-row-5 .stat-card:nth-child(5)::after{background:#ffe5a8;}
.stat-card .stat-label{position:relative;z-index:1;font-size:10px;text-transform:none;letter-spacing:0;color:#58728f;font-weight:700;margin-bottom:10px;}
.stat-row-5 .stat-value{position:relative;z-index:1;font-size:30px;color:#163b64;font-weight:800;letter-spacing:-.04em;}
.stat-card .stat-sub{position:relative;z-index:1;color:#7f91a5;font-size:10.5px;line-height:1.35;}
.stat-row-5 .budget-value span{color:#8496a8;}
.budget-track{position:relative;z-index:1;height:7px;background:rgba(160,178,195,.24);border-radius:99px;overflow:hidden;margin-top:11px;}
.budget-fill{height:100%;background:linear-gradient(90deg,#d2aa3d,#e0bd5a);border-radius:99px;}
.budget-fill.over{background:linear-gradient(90deg,#e76b68,#f08b76);}

/* portfolio planning */
.portfolio-planning-card{border:0;box-shadow:0 10px 28px rgba(60,95,125,.075);}
.portfolio-planning-card .card-head{background:#fff;border-bottom:1px solid #edf2f6;}
.portfolio-planning-card .card-head h3{font-size:16px;}
.planning-period{background:#f4f8fb;border:1px solid #e3eaf1;border-radius:10px;padding:7px 10px;color:#6c8198;font-size:10px;}
.portfolio-timeline{background:#fff;}
.portfolio-header-row{background:#f7fafc;border-bottom-color:#e6edf3;}
.portfolio-project-head,.portfolio-month-head span{color:#698098;text-transform:none;letter-spacing:0;font-size:9.5px;background:#f7fafc;border-color:#e9eff4;}
.portfolio-row{border-bottom-color:#edf2f6;min-height:66px;}
.portfolio-project-cell{background:#fff;border-color:#edf2f6;padding:10px 13px;}
.portfolio-project-cell:hover{background:#f8fcfa;}
.portfolio-project-title{color:#23496d;font-size:11.5px;}
.portfolio-project-meta{color:#8c9aab;font-size:9.5px;}
.portfolio-track{min-height:66px;background-image:linear-gradient(to right,transparent calc(100% - 1px),#edf2f6 0);}
.portfolio-phase{top:12px;height:15px;border:0;border-radius:999px;box-shadow:none;}
.portfolio-phase b{display:none;}
.portfolio-phase.phase-r{background:linear-gradient(90deg,#5abf91,#81d2ad);}
.portfolio-phase.phase-c{background:linear-gradient(90deg,#76adef,#a6caf6);}
.portfolio-phase.phase-a{background:linear-gradient(90deg,#d7e6f4,#e9f1f8);}
.portfolio-jalon{top:38px;}
.portfolio-jalon.lane-1{top:51px;}
.portfolio-jalon em{background:#fff;color:#58708b;border:1px solid #dce7f0;border-radius:6px;padding:2px 4px;font-size:8px;box-shadow:0 2px 5px rgba(58,89,119,.07);}
.milestone-pin{transform:rotate(45deg);border-radius:2px!important;}
.milestone-pin.done{background:#2da87d!important;border-color:#fff!important;box-shadow:0 0 0 1px #2da87d;}
.milestone-pin.risk{background:#ef6d67!important;border-color:#fff!important;box-shadow:0 0 0 1px #ef6d67;}
.milestone-pin.future{background:#5b9dea!important;border-color:#fff!important;box-shadow:0 0 0 1px #5b9dea;}
.portfolio-footer{background:#fbfdff;border-top-color:#edf2f6;}

/* attention / lists */
.standalone-head{padding:16px 2px 10px;}
.priority-head{border:0;background:transparent;}
.priority-head h3{font-size:16px;color:#173c64;}
.priority-count{background:#ff7770!important;color:#fff!important;border-radius:999px!important;padding:4px 9px!important;}
.project-attention-list{gap:10px;}
.attention-card{border-left:0!important;padding:14px 15px;box-shadow:var(--shadow-sm);}
.attention-card.problem{background:linear-gradient(145deg,#fff,#fff5f4);}
.attention-card.warning{background:linear-gradient(145deg,#fff,#fffaf0);}
.attention-card.info{background:linear-gradient(145deg,#fff,#f2fbf7);}
.reason-chip{border-radius:999px!important;}
.attention-meta{border-left-color:#edf2f6;}

.dash-list-card{overflow:hidden;}
.dash-list li{border-bottom-color:#edf2f6;}
.dash-list a{color:#274d70;}
.dl-proj{color:#8c9aaa!important;}
.dl-date{border-radius:8px;background:#eef6ff;color:#4e84bf;padding:4px 7px;font-size:9px!important;}
.dl-date.late{background:#fff0ee;color:#d65d54;}

.pm-workload-card{border:0;}
.pm-workload-table th{background:#f7fafc;color:#74889f;text-transform:none;letter-spacing:0;}
.pm-workload-table th:first-child{background:#f7fafc;}
.pm-workload-table td:first-child{background:#fff;}

/* project detail pages */
.project-header .title-input{font-size:30px;color:#173b63;font-weight:800;letter-spacing:-.04em;}
.project-kpis{gap:10px;}
.mini-kpi{border:0;box-shadow:var(--shadow-sm);padding:14px 15px;background:linear-gradient(145deg,#fff,#f8fbfd);}
.mini-kpi:nth-child(1){background:linear-gradient(145deg,#effaf5,#e6f7ef);}
.mini-kpi:nth-child(2){background:linear-gradient(145deg,#f1f7ff,#eaf3ff);}
.mini-kpi:nth-child(3){background:linear-gradient(145deg,#fff8f1,#fff0e7);}
.mini-kpi:nth-child(4){background:linear-gradient(145deg,#f6f6ff,#eeefff);}
.project-tabs{background:rgba(245,249,252,.92);gap:18px;padding:7px 4px 8px;border-bottom:1px solid #e7eef4;}
.project-tab{border:0;border-radius:0;padding:9px 2px;color:#72859d;background:transparent;position:relative;font-size:11.5px;}
.project-tab:hover{background:transparent;color:#268c6c;}
.project-tab.active{background:transparent;border:0;color:#18815f;box-shadow:none;}
.project-tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:3px;border-radius:3px;background:#1c9a70;}
.content-grid-3>.text-field,.content-grid-2>.text-field{border-color:#edf2f6;}
.text-field.attention{background:#fffaf0;}
table.dtable th{color:#7890a6;border-bottom-color:#e6edf3;text-transform:none;letter-spacing:0;background:#f8fbfd;padding-top:9px;}
table.dtable td{border-bottom-color:#edf2f6;}
.save-bar{border-color:#dfe8ef;background:rgba(255,255,255,.92);border-radius:16px;box-shadow:0 -8px 26px rgba(70,100,130,.06);}

/* auth */
.auth-card{border:0;border-radius:22px;box-shadow:0 20px 50px rgba(49,84,118,.12);}
.auth-card h1{color:#173b63;font-weight:800;}

/* bottom mobile nav */
#bottomNav{background:rgba(255,255,255,.94)!important;border-top:1px solid #e5edf3!important;box-shadow:0 -8px 24px rgba(60,90,120,.08)!important;}
#bottomNav a{color:#8393a6!important;}
#bottomNav a.active{color:#17805f!important;}
.bottomNav-fab{background:linear-gradient(135deg,#2aa77e,#238d6e)!important;box-shadow:0 8px 20px rgba(31,154,114,.25)!important;}

@media (max-width:1279px) and (min-width:769px){
  #sidebar{width:218px;}
  #sidebar .brand.brand-v26{padding:18px 14px 12px;}
  #viewToggle.sidebar-main-nav{margin-left:9px;margin-right:9px;}
  #sheet,#dashboard,.page-shell{padding:22px 20px 88px;}
}
@media (max-width:768px){
  #sidebar{width:min(86vw,310px);background:#fff;}
  #mobileTopbar{background:rgba(255,255,255,.94)!important;border-bottom:1px solid #e5edf3!important;color:#244a6d!important;backdrop-filter:blur(15px);}
  #hamburgerBtn,.mobileTopbar-add{color:#237f65!important;background:#eef8f4!important;border-radius:10px!important;}
  #sheet,#dashboard,.page-shell{padding:14px 11px calc(78px + env(safe-area-inset-bottom,0px));}
  .page-title-row{align-items:flex-start;}
  .page-title-row h1{font-size:25px;}
  .cockpit-filters{grid-template-columns:1fr 1fr!important;gap:7px;}
  .cockpit-filter-actions{grid-column:1/-1!important;}
  .stat-row-5{grid-template-columns:1fr 1fr!important;}
  .stat-row-5 .stat-card{min-height:104px!important;border-radius:16px;}
  .stat-row-5 .stat-card:last-child{grid-column:1/-1!important;}
  .project-tabs{margin-left:-2px;margin-right:-2px;gap:14px;}
  .portfolio-planning-card{border-radius:16px;}
  .portfolio-timeline{min-width:max(900px,calc(190px + var(--portfolio-months) * 66px));}
  .portfolio-header-row,.portfolio-row{grid-template-columns:190px minmax(0,1fr);}
  .project-attention-list{grid-template-columns:1fr;}
  .dash-grid{grid-template-columns:1fr!important;}
}

/* V2.6 dashboard composition */
.dashboard-title-row{margin-bottom:14px;}
.dashboard-title-actions{gap:10px;flex-wrap:nowrap;}
.dashboard-search{position:relative;display:flex;align-items:center;width:min(360px,32vw);}
.dashboard-search svg{position:absolute;left:13px;width:17px;height:17px;fill:none;stroke:#7f91a5;stroke-width:1.8;stroke-linecap:round;pointer-events:none;}
.dashboard-search input{width:100%;height:42px;padding:9px 13px 9px 40px;border:1px solid #e2eaf1;border-radius:14px;background:rgba(255,255,255,.82);color:var(--text);font-size:11.5px;outline:none;box-shadow:0 4px 14px rgba(66,96,126,.04);}
.dashboard-search input:focus{border-color:#9bd5c1;box-shadow:0 0 0 3px rgba(31,154,114,.08);}
.dashboard-user-pill{display:flex;align-items:center;gap:8px;padding:4px 9px 4px 4px;border-radius:14px;background:rgba(255,255,255,.7);border:1px solid #e5ecf2;min-width:0;}
.dashboard-user-pill>b{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ccefe4;color:#176f58;font-size:12px;flex:none;}
.dashboard-user-pill>span{display:flex;flex-direction:column;min-width:0;font-size:10px;font-weight:700;color:#36536f;white-space:nowrap;}
.dashboard-user-pill small{font-size:8.5px;color:#8d9bad;font-weight:500;margin-top:1px;}

.dashboard-core-grid{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:14px;align-items:start;margin-bottom:14px;}
.dashboard-core-grid .portfolio-planning-card{margin-bottom:0;min-width:0;}
.dashboard-right-rail{display:grid;gap:12px;}
.rail-card{background:rgba(255,255,255,.93);border:1px solid #e1e9f0;border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;}
.rail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 10px;}
.rail-head h3{margin:0;font-size:14px;color:#183c64;}
.rail-head>span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:#ff716b;color:#fff;font-size:9px;font-weight:800;}
.rail-list{padding:0 10px 5px;}
.rail-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px 4px;text-decoration:none;border-bottom:1px solid #edf2f6;color:var(--text);}
.rail-item:last-child{border-bottom:0;}
.rail-item:hover span b{color:#1c8767;}
.rail-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;}
.rail-dot.green{background:#50bc8e;}.rail-dot.blue{background:#5d9de9;}.rail-dot.amber{background:#efad32;}.rail-dot.red{background:#ef625f;}
.rail-item span{min-width:0;}
.rail-item span b{display:block;font-size:10px;line-height:1.25;color:#36536f;transition:color .15s ease;}
.rail-item span small{display:block;margin-top:2px;font-size:8.5px;color:#93a0af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rail-item em{font-style:normal;font-size:8.5px;color:#d46a5d;white-space:nowrap;padding-top:1px;}
.rail-item em.late{color:#df514c;font-weight:800;}
.rail-more{display:block;text-align:right;padding:7px 14px 12px;text-decoration:none;font-size:9px;font-weight:700;color:#4287cc;}
.rail-empty{padding:10px 5px 14px;color:#8999aa;font-size:9.5px;}
.rail-alerts .rail-head>span{background:#ff7b70;}
.rail-export{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;padding:14px;background:linear-gradient(145deg,#effbf5,#e4f8ef);border-color:#d2eee2;}
.rail-export-icon{width:42px;height:42px;border-radius:13px;background:#d2f1e3;color:#19805f;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;}
.rail-export h3{margin:0 0 5px;font-size:14px;color:#183f65;}.rail-export p{margin:0 0 10px;font-size:9.5px;line-height:1.4;color:#6f8599;}.rail-export .btn{min-height:34px;padding:7px 13px;font-size:10px;text-decoration:none;}

.dashboard-summary-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px;}
.summary-soft-card{background:rgba(255,255,255,.92);border:1px solid #e1e9f0;border-radius:18px;box-shadow:var(--shadow-sm);padding:14px 15px;min-height:130px;}
.summary-title{font-size:12px;font-weight:800;color:#23486c;margin-bottom:11px;}
.weather-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.weather-summary span{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;border-radius:13px;background:#f8fbfd;}
.weather-summary b{font-size:24px;line-height:1.1;}.weather-summary strong{font-size:16px;color:#274c70;margin-top:4px;}.weather-summary small{font-size:8px;color:#8f9dab;margin-top:2px;text-align:center;}
.summary-progress{display:flex;align-items:center;gap:14px;}.summary-progress p{font-size:9.5px;line-height:1.45;color:#7e90a4;margin:0;max-width:150px;}
.progress-ring{--pct:0;position:relative;width:78px;height:78px;border-radius:50%;background:conic-gradient(#34a77b calc(var(--pct)*1%),#e7eef3 0);display:grid;place-items:center;flex:none;}
.progress-ring::before{content:"";position:absolute;width:58px;height:58px;border-radius:50%;background:#fff;}.progress-ring span{position:relative;z-index:1;font-size:16px;font-weight:800;color:#24496c;}
.portfolio-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:stretch;}
.portfolio-mini-stats span{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#f7fafc;border-radius:13px;padding:11px 5px;}.portfolio-mini-stats strong{font-size:20px;color:#234a6e;}.portfolio-mini-stats small{font-size:8px;line-height:1.25;color:#8d9baa;margin-top:3px;}

@media(max-width:1180px){
  .dashboard-title-actions .dashboard-user-pill{display:none;}
  .dashboard-core-grid{grid-template-columns:1fr;}
  .dashboard-right-rail{grid-template-columns:1fr 1fr 1fr;}
  .rail-export{align-content:start;}
  .dashboard-summary-row{grid-template-columns:1fr 1fr;}.dashboard-summary-row .summary-soft-card:last-child{grid-column:1/-1;}
}
@media(max-width:768px){
  .dashboard-title-row{flex-direction:column;gap:10px;}
  .dashboard-title-actions{width:100%;flex-wrap:wrap;}
  .dashboard-search{width:100%;order:3;}
  .dashboard-title-actions>form:not(.dashboard-search){flex:1;}.dashboard-title-actions>form:not(.dashboard-search) .btn{width:100%;}
  .dashboard-right-rail{grid-template-columns:1fr;}
  .dashboard-summary-row{grid-template-columns:1fr;}
  .dashboard-summary-row .summary-soft-card:last-child{grid-column:auto;}
}


/* V2.6.1 — sélection de projet fiable par liste déroulante */
.sidebar-project-picker{margin:2px 12px 9px;padding:10px;border:1px solid #e5edf3;border-radius:14px;background:linear-gradient(135deg,#f7fbfd,#f0faf6);}
.sidebar-project-picker label{display:block;margin:0 0 6px;font-size:9.5px;line-height:1.2;font-weight:800;letter-spacing:.45px;text-transform:uppercase;color:#70869c;}
.project-picker-shell{position:relative;}
.global-project-picker{appearance:none;-webkit-appearance:none;width:100%;height:40px;padding:7px 31px 7px 10px;border:1px solid #dce8ef;border-radius:11px;background:#fff;color:#27496d;font:600 10.5px/1.2 Inter,sans-serif;outline:none;cursor:pointer;box-shadow:0 3px 10px rgba(54,91,126,.04);}
.global-project-picker:hover,.global-project-picker:focus{border-color:#9fd5c2;box-shadow:0 0 0 3px rgba(31,154,114,.08);}
.global-project-picker:disabled{cursor:not-allowed;opacity:.6;}
.project-picker-chevron{position:absolute;right:11px;top:50%;transform:translateY(-56%);pointer-events:none;color:#6d8498;font-size:16px;}
.sidebar-project-picker small{display:block;margin-top:5px;font-size:8.5px;color:#94a2b0;}
.sidebar-projects-hint{margin:0 14px 8px;padding:0 2px;font-size:8.5px;color:#98a6b3;}
.header-project-picker{display:flex;align-items:center;gap:7px;padding:4px 7px 4px 9px;border:1px solid #e2eaf1;border-radius:12px;background:#fff;min-width:250px;max-width:360px;}
.header-project-picker label{font-size:9px;color:#8091a5;font-weight:700;white-space:nowrap;}
.header-project-picker select{min-width:0;flex:1;height:32px;border:0;background:#f6f9fc;color:#31516f;border-radius:8px;padding:5px 27px 5px 8px;font:600 10.5px Inter,sans-serif;outline:none;cursor:pointer;}
.header-project-picker select:focus{box-shadow:0 0 0 3px rgba(31,154,114,.08);}
@media (max-width:1100px){.header-project-picker{order:-1;width:100%;max-width:none;}.project-actions{flex-wrap:wrap;}.header-project-picker select{font-size:10px;}}
@media (max-width:768px){.sidebar-project-picker{margin:4px 12px 10px}.global-project-picker{height:44px;font-size:12px}.header-project-picker{display:none}}

/* ================= V2.6.2 — DRAWER MOBILE ROBUSTE ================= */
.mobile-drawer-head,#mobileDrawerFallback{display:none;}
@media (max-width:900px){
  html.drawer-open,html.drawer-open body{overflow:hidden;}
  #mobileTopbar{
    display:flex!important;
    min-height:58px;
    padding:calc(env(safe-area-inset-top,0px) + 9px) 12px 9px!important;
    background:rgba(255,255,255,.97)!important;
    color:#244a6d!important;
    border-bottom:1px solid #e5edf3!important;
    box-shadow:0 7px 22px rgba(55,87,120,.08)!important;
    backdrop-filter:blur(16px);
  }
  #hamburgerBtn,.mobileTopbar-add{
    flex:none;width:40px!important;height:40px!important;border:1px solid #dcebe5!important;
    color:#187c5e!important;background:#eef8f4!important;border-radius:12px!important;
  }
  #hamburgerBtn{cursor:pointer;}
  .mobileTopbar-title{font-family:Inter,sans-serif!important;font-size:14px!important;font-weight:800!important;color:#244a6d!important;}
  #sidebar{
    overflow-y:auto!important;overscroll-behavior:contain;
    border-right:1px solid #e4edf2;background:#fff!important;
    box-shadow:18px 0 44px rgba(32,64,95,.20)!important;
    padding-top:env(safe-area-inset-top,0px);
  }
  #sidebarOverlay{background:rgba(18,38,57,.44)!important;backdrop-filter:blur(1.5px);}
  .mobile-drawer-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    position:sticky;top:0;z-index:3;padding:10px 12px 8px;background:rgba(255,255,255,.97);
    border-bottom:1px solid #edf2f6;
  }
  .mobile-drawer-head strong{font-size:12px;color:#6e8398;text-transform:uppercase;letter-spacing:.55px;}
  #drawerCloseBtn{
    width:38px;height:38px;display:flex;align-items:center;justify-content:center;
    border:1px solid #e0e9ef;border-radius:11px;background:#f7fafc;color:#31516f;
    font-size:26px;line-height:1;cursor:pointer;
  }
  .sidebar-project-picker{position:relative;z-index:1;}
  #mobileDrawerFallback{
    position:fixed;left:12px;top:calc(env(safe-area-inset-top,0px) + 10px);z-index:1200;
    width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #dcebe5;
    border-radius:12px;background:#eef8f4;color:#187c5e;box-shadow:0 7px 20px rgba(45,85,115,.14);
  }
  #mobileDrawerFallback.is-visible{display:flex!important;}
}

/* ================= V2.6.3 — PROJECT PICKER + INITIALES ================= */
.sidebar-project-picker{position:relative;overflow:visible;}
.project-picker-label{display:block;margin:0 0 6px;font-size:9.5px;line-height:1.2;font-weight:800;letter-spacing:.45px;text-transform:uppercase;color:#70869c;}
.project-picker-trigger{
  width:100%;min-height:52px;display:grid;grid-template-columns:36px minmax(0,1fr) 22px;align-items:center;gap:9px;
  padding:7px 8px;border:1px solid #dce8ef;border-radius:13px;background:#fff;color:#27496d;text-align:left;cursor:pointer;
  box-shadow:0 4px 14px rgba(54,91,126,.045);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.project-picker-trigger:hover,.project-picker-trigger:focus{outline:none;border-color:#9fd5c2;box-shadow:0 0 0 3px rgba(31,154,114,.08);background:#fcfffe;}
.project-picker-trigger:disabled{opacity:.55;cursor:not-allowed;}
.project-owner-avatar{
  width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;
  background:linear-gradient(135deg,#dff5ec,#d9ebfb);color:#1b785f;font:800 11px/1 Inter,sans-serif;letter-spacing:.2px;border:1px solid #cfe8df;
}
.project-picker-trigger-copy,.project-picker-option-copy{display:flex;flex-direction:column;min-width:0;gap:3px;}
.project-picker-trigger-copy strong{font-size:10.8px;line-height:1.2;color:#244a6d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.project-picker-trigger-copy small{font-size:8.8px;line-height:1.2;color:#8a9aac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.project-picker-trigger-chevron{width:20px;height:20px;fill:none;stroke:#7c90a5;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease;}
.sidebar-project-picker.is-open .project-picker-trigger-chevron{transform:rotate(180deg);}
.project-picker-popover{
  position:absolute;left:0;right:0;top:78px;z-index:150;width:320px;max-width:min(78vw,360px);
  padding:8px;border:1px solid #dfe9ef;border-radius:15px;background:rgba(255,255,255,.985);
  box-shadow:0 18px 44px rgba(37,70,102,.18);backdrop-filter:blur(14px);
}
.project-picker-popover[hidden]{display:none!important;}
.project-picker-search{position:relative;margin-bottom:7px;}
.project-picker-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;fill:none;stroke:#91a2b3;stroke-width:1.8;stroke-linecap:round;pointer-events:none;}
.project-picker-search input{
  width:100%;height:38px;padding:7px 10px 7px 32px!important;border:1px solid #e2ebf1!important;border-radius:10px!important;
  background:#f7fafc!important;color:#27496d!important;font:500 11px/1.2 Inter,sans-serif!important;outline:none;
}
.project-picker-search input:focus{border-color:#9fd5c2!important;box-shadow:0 0 0 3px rgba(31,154,114,.08)!important;}
.project-picker-options{display:grid;gap:4px;max-height:48vh;overflow:auto;overscroll-behavior:contain;padding:1px;}
.project-picker-option{
  display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:52px;padding:7px 8px;
  border:1px solid transparent;border-radius:11px;text-decoration:none;color:#27496d;background:#fff;transition:background .14s ease,border-color .14s ease;
}
.project-picker-option:hover{background:#f4faf7;border-color:#dbeee6;}
.project-picker-option.is-current{background:#edf8f3;border-color:#d3ebe1;}
.project-picker-option-copy strong{font-size:10.8px;line-height:1.22;color:#244a6d;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.project-picker-option-copy small{font-size:8.8px;line-height:1.2;color:#8a9aac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.project-picker-stars{color:#e4a326;font-size:10px;white-space:nowrap;letter-spacing:-.5px;}
.project-picker-check{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#2fa77d;color:white;font-size:11px;font-weight:800;}
.project-picker-empty{padding:16px 10px;text-align:center;color:#8a9aac;font-size:10.5px;}
.header-project-picker-button{
  min-width:160px;height:32px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 9px;border:0;border-radius:8px;
  background:#f6f9fc;color:#31516f;font:700 10.5px/1 Inter,sans-serif;cursor:pointer;
}
.header-project-picker-button:hover{background:#eef8f4;color:#187c5e;}
.admin-user-ident{display:flex;align-items:center;gap:10px;}
.admin-user-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;background:linear-gradient(135deg,#dff5ec,#dcecff);color:#1a765e;font-size:12px;font-weight:800;border:1px solid #cfe7df;}
.admin-user-copy{min-width:0;display:flex;flex-direction:column;}
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.page-subtitle{margin-top:5px;color:#8a9aac;font-size:12px;}
@media(max-width:1180px){
  .admin-user-row{grid-template-columns:minmax(220px,1.2fr) 1fr 1fr;}
  .admin-user-ident{grid-column:1/-1;}
}
@media(max-width:900px){
  .project-picker-popover{position:static;width:100%;max-width:none;margin-top:8px;padding:7px;box-shadow:none;border-color:#dce9ef;background:#fbfdfd;}
  .project-picker-options{max-height:50vh;}
  .project-picker-option{grid-template-columns:38px minmax(0,1fr) auto auto;min-height:58px;padding:8px;}
  .project-owner-avatar{width:36px;height:36px;font-size:11.5px;}
  .project-picker-trigger{min-height:56px;grid-template-columns:38px minmax(0,1fr) 22px;}
  .project-picker-trigger-copy strong,.project-picker-option-copy strong{font-size:12px;}
  .project-picker-trigger-copy small,.project-picker-option-copy small{font-size:9.5px;}
  .sidebar-project-picker>small{margin-top:7px;}
}
@media(max-width:640px){.two-fields{grid-template-columns:1fr}.admin-user-row{grid-template-columns:1fr}.admin-user-ident{grid-column:auto}}
@media(min-width:1181px){
  .admin-user-row{grid-template-columns:minmax(190px,1.25fr) minmax(105px,.6fr) minmax(115px,.65fr) 145px minmax(145px,.8fr) auto auto;}
}

/* ================= V2.7 — PERSONNEL / ÉPINGLÉS / COMITÉ ================= */
.cockpit-scope-bar{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}
.scope-switch{display:inline-flex;align-items:center;padding:4px;border:1px solid #dfe9ef;border-radius:14px;background:#f7fafc;box-shadow:0 4px 14px rgba(45,78,108,.04)}
.scope-switch a{padding:8px 13px;border-radius:10px;color:#73889c;text-decoration:none;font-size:10.5px;font-weight:800;transition:.15s ease}
.scope-switch a.active{background:#fff;color:#16795c;box-shadow:0 4px 12px rgba(42,91,118,.10)}
.scope-help{font-size:9.5px;color:#91a1b0}
.personal-scope-badge{padding:8px 12px;border-radius:11px;background:#eaf8f2;color:#17795c;font-size:10.5px;font-weight:800}
.cockpit-scope-bar>.btn{margin-left:auto}

.pinned-section{margin:0 0 14px}
.pinned-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 8px}
.pinned-head h3{margin:0;color:#27496d;font-size:13px}.pinned-head p{margin:3px 0 0;color:#91a1b0;font-size:9.5px}.pinned-head>span{min-width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eaf8f2;color:#197a5d;font-size:10px;font-weight:800}
.pinned-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.pinned-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;border:1px solid #e2ebf0;border-radius:14px;background:linear-gradient(135deg,#fff,#f5fbf8);box-shadow:0 7px 18px rgba(55,88,116,.055);overflow:hidden}
.pinned-card>a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;text-decoration:none;color:#27496d;min-width:0}
.pinned-icon{width:27px;height:27px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#e6f7f0;color:#198060;font-size:15px;font-weight:800}
.pinned-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.pinned-copy strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pinned-copy small{font-size:8.5px;color:#889bad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pinned-card form{display:flex;align-items:center;padding-right:6px}.pinned-card form button{width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:#a0acb7;cursor:pointer;font-size:17px}.pinned-card form button:hover{background:#fff0f0;color:#c45c5c}
.portfolio-pin{font-style:normal;color:#1a8765;margin-right:3px;font-size:12px}

.btn-pin{display:inline-flex;align-items:center;gap:6px;background:#f6f9fc;border-color:#e1e9ef;color:#71859a}.btn-pin span{font-size:16px}.btn-pin.is-pinned{background:#e8f8f1;border-color:#ccebdd;color:#197a5d}.btn-pin:disabled{opacity:.6;cursor:wait}
.project-picker-option{grid-template-columns:36px minmax(0,1fr) auto auto auto}
.project-picker-pin{padding:4px 6px;border-radius:7px;background:#e8f8f1;color:#1b7c5f;font-size:7.8px;font-weight:800;white-space:nowrap}

.committee-title-row{align-items:flex-end}
.committee-scope-bar{margin-top:-2px}.committee-filters{grid-template-columns:repeat(3,minmax(140px,1fr)) auto}.committee-count{padding:7px 10px;border-radius:10px;background:#eef7fb;color:#5d7990;font-size:9.5px;font-weight:800}
.committee-board{display:grid;gap:7px;margin-top:12px}
.committee-board-head,.committee-row{display:grid;grid-template-columns:minmax(190px,1.2fr) 125px 125px minmax(150px,.9fr) minmax(210px,1.3fr) minmax(210px,1.3fr);gap:0;align-items:stretch}
.committee-board-head{padding:0 12px;color:#8396a8;font-size:8.7px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.committee-board-head span{padding:0 10px 7px}
.committee-row{position:relative;border:1px solid #e3ebf0;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(50,82,111,.05);overflow:hidden}
.committee-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#52bd91}.committee-row.health-warning:before{background:#efb85e}.committee-row.health-problem:before{background:#ed7474}
.committee-row>div{min-width:0;padding:12px 11px;border-right:1px solid #eef2f5}.committee-row>div:last-child{border-right:0}
.committee-project{display:flex;flex-direction:column;justify-content:center}.committee-project-top{display:flex;align-items:center;gap:6px;min-width:0}.committee-project-top a{min-width:0;text-decoration:none;color:#27496d}.committee-project-top strong{font-size:11.5px}.committee-project small{margin-top:4px;color:#91a1b0;font-size:8.6px}.committee-pin{color:#17815f;font-size:14px}
.committee-health{display:flex;align-items:center;gap:7px}.committee-weather{font-size:19px}.committee-health strong{font-size:9.5px;color:#506c84}
.committee-progress{display:flex;flex-direction:column;justify-content:center;gap:6px}.committee-progress>strong{font-size:13px;color:#284b6d}.committee-progress-track{height:6px;border-radius:99px;background:#eaf0f4;overflow:hidden}.committee-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38a77d,#70c7a5)}
.committee-milestone,.committee-point,.committee-decision{display:flex;flex-direction:column;justify-content:center;gap:5px}.committee-milestone a{display:flex;flex-direction:column;gap:3px;text-decoration:none}.committee-milestone strong{font-size:10px;color:#2c5f86}.committee-milestone strong.late{color:#d95e5e}.committee-milestone span{font-size:9.2px;color:#70869a}
.committee-point p,.committee-decision p{margin:0;color:#405f79;font-size:9.4px;line-height:1.4}.committee-type{align-self:flex-start;padding:3px 6px;border-radius:7px;background:#edf6fb;color:#4c789b;font-size:7.6px;font-weight:800;text-transform:uppercase}.committee-type.type-risque{background:#fff0ec;color:#ba6d55}.committee-type.type-vigilance{background:#fff7e8;color:#a97928}.committee-type.type-prevision{background:#eef7ff;color:#527fa5}.committee-type.type-decision{background:#f2efff;color:#7063a7}
.committee-empty{color:#9caab6;font-size:9px;font-style:italic}.committee-open{margin-top:3px;align-self:flex-end;text-decoration:none;color:#238568;font-size:8.5px;font-weight:800}

@media(max-width:1200px){
  .pinned-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .committee-board{overflow-x:auto;padding-bottom:6px}.committee-board-head,.committee-row{min-width:1120px}
}
@media(max-width:900px){
  .cockpit-scope-bar{margin-top:6px}.cockpit-scope-bar>.btn{margin-left:0}.scope-switch{width:100%}.scope-switch a{flex:1;text-align:center}
  .pinned-grid{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scroll-snap-type:x proximity}.pinned-card{min-width:255px;scroll-snap-align:start}
  .project-picker-option{grid-template-columns:38px minmax(0,1fr) auto auto auto}
  .committee-title-row{align-items:flex-start}.committee-filters{grid-template-columns:1fr 1fr}.committee-filters .cockpit-filter-actions{grid-column:1/-1}
  .committee-board{overflow:visible}.committee-board-head{display:none}.committee-row{display:grid;grid-template-columns:1fr 1fr;min-width:0}.committee-row>div{border-right:0;border-bottom:1px solid #eef2f5}.committee-project{grid-column:1/-1}.committee-point,.committee-decision{grid-column:1/-1}.committee-row>div:last-child{border-bottom:0}
}
@media(max-width:560px){
  .pinned-grid{margin-right:-10px}.committee-filters{grid-template-columns:1fr}.committee-filters .cockpit-filter-actions{grid-column:auto}.committee-row{grid-template-columns:1fr}.committee-project,.committee-point,.committee-decision{grid-column:auto}.committee-row>div{padding:11px 12px}.btn-pin b{display:none}
}
@media print{
  body.view-comite #sidebar,body.view-comite #mobileTopbar,body.view-comite #bottomNav,body.view-comite .committee-scope-bar,body.view-comite .committee-filters,body.view-comite .page-title-actions{display:none!important}
  body.view-comite #main{margin:0!important;padding:8mm!important;max-width:none!important}.committee-row{break-inside:avoid;box-shadow:none}.committee-board-head,.committee-row{grid-template-columns:1.1fr .7fr .65fr .9fr 1.25fr 1.25fr}.committee-board{gap:4px}
}
