:root{
  --bg:#fbf9ff; --surface:#ffffff; --surface-2:#f5f4fb;
  --line: rgba(35,25,70,0.10); --line-strong: rgba(35,25,70,0.20);
  --text:#211f2c; --text-dim: rgba(33,31,44,0.58);
  --violet:#7c3aed; --violet-bright:#8b5cf6; --blue:#38bdf8;
  --blue-pale:#e0f2fe; --violet-pale:#efe9fd;
  --grad: linear-gradient(120deg,#7c3aed,#38bdf8);
  --logo-blue:#34bce6; --logo-yellow:#f9b511;
}
*{box-sizing:border-box;}
body{margin:0;color:var(--text);background:var(--bg);
  font-family:'Inter','SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background-image:
    radial-gradient(circle at 12% 8%, rgba(124,58,237,0.13), transparent 42%),
    radial-gradient(circle at 88% 92%, rgba(56,189,248,0.08), transparent 42%);
  background-attachment:fixed;
}
.mono{font-family:'JetBrains Mono','SF Mono','Consolas',monospace;}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
a{color:inherit;}

.brand-lockup{display:flex;align-items:center;gap:10px;}
.brand-lockup img{height:30px;width:auto;display:block;}
.brand-lockup .wordname{font-size:18px;font-weight:800;letter-spacing:-0.02em;}

#view-login{display:flex;min-height:100vh;}
.login-left{flex:1.1;padding:64px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border-right:1px solid var(--line);
  --text: #f3f0ff; --text-dim: rgba(238,233,255,0.60); --line: rgba(255,255,255,0.12); --line-strong: rgba(255,255,255,0.22);
  color:var(--text);
  background:linear-gradient(160deg, #1c1033 0%, #2b1653 55%, #170b29 100%);
}
.login-left::before{content:"";position:absolute;inset:0;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image: radial-gradient(circle at 30% 30%, black, transparent 65%);
          mask-image: radial-gradient(circle at 30% 30%, black, transparent 65%);
  opacity:0.6;pointer-events:none;
}
.login-right{flex:0.9;display:flex;align-items:center;justify-content:center;padding:48px;}
.login-logo{height:88px;width:auto;position:relative;z-index:1;margin-bottom:22px;}
.wordmark{font-size:56px;font-weight:800;letter-spacing:-0.02em;text-transform:uppercase;position:relative;z-index:1;color:var(--logo-blue);}
.tagline{color:#fff;font-weight:700;font-size:14px;margin-top:8px;position:relative;z-index:1;}
.login-foot{font-size:12px;color:var(--text-dim);position:relative;z-index:1;}

/* Panneau gauche — fond animé */
.bg-blobs{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;}
.bg-blob{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform;}
.bg-blob.b1{width:420px;height:420px;top:-140px;left:-120px;background:radial-gradient(circle, var(--violet-bright), transparent 70%);opacity:0.45;animation:blob-drift-1 20s ease-in-out infinite;}
.bg-blob.b2{width:380px;height:380px;bottom:-160px;right:-100px;background:radial-gradient(circle, var(--blue), transparent 70%);opacity:0.32;animation:blob-drift-2 24s ease-in-out infinite;}
.bg-blob.b3{width:280px;height:280px;top:42%;left:28%;background:radial-gradient(circle, var(--violet), transparent 70%);opacity:0.30;animation:blob-drift-3 28s ease-in-out infinite;}
@keyframes blob-drift-1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,36px) scale(1.12);}}
@keyframes blob-drift-2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-26px,-30px) scale(1.08);}}
@keyframes blob-drift-3{0%,100%{transform:translate(0,0) scale(1);opacity:0.16;}50%{transform:translate(22px,-18px) scale(1.16);opacity:0.28;}}

/* Panneau gauche — citations empilées, révélées une par une en boucle */
.quote-sequence{flex:1;min-height:0;margin-top:28px;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:20px;}
.quote-item{margin:0;font-size:20px;font-weight:600;line-height:1.45;padding-right:20px;opacity:0;
  transform:translateY(14px);
  animation-duration:15s;animation-iteration-count:infinite;animation-timing-function:ease;will-change:opacity,transform;
}
.quote-item.qs-1{animation-name:quote-seq-1;background-image:linear-gradient(120deg,var(--logo-yellow),var(--logo-blue));}
.quote-item.qs-2{animation-name:quote-seq-2;background-image:linear-gradient(105deg,var(--logo-blue),var(--logo-yellow));}
.quote-item.qs-3{animation-name:quote-seq-3;background-image:linear-gradient(140deg,var(--logo-yellow),var(--logo-blue));}
.quote-item.qs-4{animation-name:quote-seq-4;background-image:linear-gradient(110deg,var(--logo-blue),var(--logo-yellow));}
.quote-item.qs-5{animation-name:quote-seq-5;background-image:linear-gradient(130deg,var(--logo-yellow),var(--logo-blue));}
.quote-item.qs-6{animation-name:quote-seq-6;background-image:linear-gradient(105deg,var(--logo-blue),var(--logo-yellow));}

/* Chaque citation apparaît (fondu + léger glissement), reste affichée, puis toutes
   disparaissent ensemble (75%→80% du cycle de 20s) avant une pause et un nouveau tour. */
@keyframes quote-seq-1{
  0%,80%,100%{opacity:0;transform:translateY(14px);}
  3%,75%{opacity:1;transform:translateY(0);}
}
@keyframes quote-seq-2{
  0%,11%,80%,100%{opacity:0;transform:translateY(14px);}
  14%,75%{opacity:1;transform:translateY(0);}
}
@keyframes quote-seq-3{
  0%,22%,80%,100%{opacity:0;transform:translateY(14px);}
  25%,75%{opacity:1;transform:translateY(0);}
}
@keyframes quote-seq-4{
  0%,33%,80%,100%{opacity:0;transform:translateY(14px);}
  36%,75%{opacity:1;transform:translateY(0);}
}
@keyframes quote-seq-5{
  0%,44%,80%,100%{opacity:0;transform:translateY(14px);}
  47%,75%{opacity:1;transform:translateY(0);}
}
@keyframes quote-seq-6{
  0%,55%,80%,100%{opacity:0;transform:translateY(14px);}
  58%,75%{opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion: reduce){
  .quote-item{animation:none;opacity:1;transform:none;}
  .bg-blob{animation:none;}
}

.login-form{width:100%;max-width:360px;background:#fff;border:1px solid var(--line);padding:40px 36px;border-radius:16px;box-shadow:0 30px 70px -35px rgba(124,58,237,0.25);}
.login-form h1{font-size:22px;margin:0 0 6px 0;font-weight:700;}
.login-form p.sub{font-size:14px;color:var(--text-dim);margin:0 0 30px 0;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;margin-bottom:7px;color:var(--text-dim);}
.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:14px;outline:none;}
.field input:focus{border-color:var(--violet-bright);box-shadow:0 0 0 3px rgba(124,58,237,0.14);}
.btn-primary{padding:12px 20px;background:var(--grad);color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;}
.btn-primary:hover{filter:brightness(1.06);}
.error-msg{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:10px 14px;border-radius:9px;font-size:13px;margin-bottom:18px;}

/* ===== Navigation (menu horizontal moderne) ===== */
.topnav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.78);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line);}
.topnav-inner{max-width:1360px;margin:0 auto;height:66px;padding:0 28px;display:flex;align-items:center;gap:26px;}
.brand-lockup{text-decoration:none;flex-shrink:0;}
.mainnav{display:flex;align-items:center;gap:4px;flex:1;}
.nav-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 14px;border-radius:11px;font-size:14px;font-weight:600;color:var(--text-dim);text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease;}
.nav-link:hover,.nav-dd:hover>.nav-link,.nav-dd.open>.nav-link{background:rgba(124,58,237,0.07);color:var(--text);}
.nav-link.active{color:var(--violet);background:var(--violet-pale);}
.nav-dot{width:8px;height:8px;border-radius:50%;background:var(--accent,var(--violet));box-shadow:0 0 0 3px var(--accent-pale,var(--violet-pale));}
.nav-accent-orange{--accent:#f97316;--accent-pale:#ffedd5;}
.nav-accent-blue{--accent:#0ea5e9;--accent-pale:#e0f2fe;}
.nav-accent-green{--accent:#16a34a;--accent-pale:#dcfce7;}
.nav-accent-dark{--accent:#211f2c;--accent-pale:#ececf1;}
.nav-dd{position:relative;}
.nav-chev{width:14px;height:14px;opacity:.55;transition:transform .2s ease;}
.nav-dd:hover .nav-chev,.nav-dd.open .nav-chev{transform:rotate(180deg);}
.nav-menu{position:absolute;top:100%;left:0;padding-top:10px;min-width:310px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:110;}
.nav-menu-right{left:auto;right:0;min-width:250px;}
.nav-menu-inner{background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 28px 64px -20px rgba(20,10,50,0.32),0 2px 8px rgba(20,10,50,0.06);}
@media (hover:hover){.nav-dd:hover>.nav-menu{opacity:1;visibility:visible;transform:none;}}
.nav-dd.open>.nav-menu{opacity:1;visibility:visible;transform:none;}
.nav-menu-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--text);transition:background .12s ease;}
.nav-menu-item:hover{background:var(--surface-2);}
.nav-menu-item.active{background:var(--accent-pale,var(--violet-pale));}
.nmi-ico{width:38px;height:38px;border-radius:11px;background:var(--accent-pale,var(--violet-pale));display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.nmi-text{display:flex;flex-direction:column;min-width:0;}
.nmi-label{font-size:13.5px;font-weight:700;}
.nmi-desc{font-size:12px;color:var(--text-dim);margin-top:1px;}

.topnav-right{display:flex;align-items:center;gap:10px;margin-left:auto;}
.user-btn{display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--text);transition:box-shadow .15s ease,border-color .15s ease;}
.user-btn:hover,.user-dd.open .user-btn{border-color:var(--violet-bright);box-shadow:0 0 0 3px rgba(124,58,237,0.1);}
.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.user-info{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px;}
.user-info-name{font-size:14px;font-weight:700;}
.user-info-mail{font-size:12px;color:var(--text-dim);margin-top:2px;}
.nav-burger{display:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--text);align-items:center;justify-content:center;}
.nav-burger svg{width:20px;height:20px;}

.shell{min-height:calc(100vh - 66px);}
.main{max-width:1280px;margin:0 auto;padding:38px 32px 96px;}
.main h2{font-size:28px;margin:0 0 6px 0;font-weight:800;letter-spacing:-0.02em;}
.main p.lede{font-size:14.5px;color:var(--text-dim);margin:0 0 28px 0;}

@media (max-width:980px){
  .topnav-inner{padding:0 18px;gap:14px;}
  .nav-burger{display:inline-flex;}
  .user-name,.user-dd .nav-chev{display:none;}
  .user-btn{padding:4px;}
  .mainnav{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;background:#fff;border-bottom:1px solid var(--line);padding:12px 16px 18px;max-height:calc(100vh - 66px);overflow-y:auto;box-shadow:0 24px 40px -24px rgba(20,10,50,0.3);}
  .mainnav.mobile-open{display:flex;}
  .mainnav .nav-chev{display:none;}
  .mainnav .nav-menu{position:static;opacity:1;visibility:visible;transform:none;padding:0 0 6px 14px;min-width:0;}
  .mainnav .nav-menu-inner{box-shadow:none;border:none;padding:0;border-radius:0;}
  .main{padding:26px 18px 80px;}
}


table{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(20,10,50,0.03);}
thead th{text-align:left;font-weight:600;color:var(--text-dim);font-size:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap;}
tbody td{padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap;}
tbody tr:hover{background:var(--violet-pale);}
.count-line{font-size:12px;color:var(--text-dim);margin-bottom:12px;}

.import-log{font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px 16px;margin-top:20px;}
.import-log .row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);}
.import-log .row:last-child{border-bottom:none;}




/* Notifications */
.notif-wrap{position:relative;}
.notif-bell{position:relative;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:12px;cursor:pointer;color:var(--text-dim);transition:background .15s ease,color .15s ease;}
.notif-bell:hover{background:rgba(124,58,237,0.07);color:var(--text);}
.notif-bell svg{width:21px;height:21px;}
.notif-badge{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 5px;display:flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;font-size:10px;font-weight:800;border-radius:999px;border:2px solid #fff;line-height:1;}
.notif-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:360px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 64px -20px rgba(20,10,50,0.32),0 2px 8px rgba(20,10,50,0.06);overflow:hidden;z-index:120;}
.notif-dropdown-head{padding:14px 18px;font-size:13px;font-weight:800;border-bottom:1px solid var(--line);}
.notif-dropdown.open{display:block;}
.notif-item{display:block;padding:12px 16px;font-size:13px;color:var(--text-dim);border-bottom:1px solid var(--line);text-decoration:none;cursor:pointer;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--surface-2);color:var(--text);}
.notif-item .n-type{font-size:10.5px;font-weight:700;color:var(--violet);display:block;margin-bottom:2px;}
.notif-empty{color:var(--text-dim);cursor:default;}

.notif-popup{display:none;position:fixed;top:78px;right:28px;width:320px;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -20px rgba(20,10,50,0.35);z-index:150;}
.notif-popup.show{display:block;}
.notif-popup-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:700;font-size:13.5px;}
.notif-popup-close{background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-dim);padding:2px;}
.notif-popup-close:hover{color:var(--text);}
.notif-popup-item{padding:12px 16px;font-size:13px;color:var(--text-dim);border-bottom:1px solid var(--line);cursor:pointer;}
.notif-popup-item:last-child{border-bottom:none;}
.notif-popup-item:hover{background:var(--surface-2);color:var(--text);}
.notif-popup-item .n-type{font-size:10.5px;font-weight:700;color:var(--violet);display:block;margin-bottom:2px;}
.notif-empty:hover{background:none;color:var(--text-dim);}

/* LinkedIn (calendrier) */
.cal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:28px;}
.cal-dow{font-size:11px;color:var(--text-dim);text-align:center;padding-bottom:6px;}
.cal-cell{min-height:150px;border:1px solid var(--line);border-radius:9px;padding:8px;font-size:12px;color:var(--text-dim);background:var(--surface);position:relative;display:flex;flex-direction:column;gap:6px;}
.cal-cell.empty{background:transparent;border-color:transparent;min-height:0;}
.cal-cell.has-post{background:var(--violet-pale);border-color:var(--violet-bright);}
.cal-cell.complete{background:#e7f9ee;border-color:#34c471;}
.cal-cell-head{display:flex;align-items:center;justify-content:space-between;}
.cal-cell .d{font-weight:700;font-size:13px;color:var(--text);}
.cal-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.cal-dot.brouillon{background:#c9c5db;}
.cal-dot.pret{background:var(--blue);}
.cal-dot.publie{background:var(--grad);}

.cal-plan-btn{align-self:flex-start;margin-top:auto;padding:5px 13px;border-radius:7px;border:1px solid var(--violet-bright);background:#fff;color:var(--violet);font-size:11.5px;font-weight:700;cursor:pointer;}
.cal-plan-btn:hover{background:var(--violet);color:#fff;}
.cal-post-preview{flex:1;min-height:0;display:flex;flex-direction:column;gap:3px;overflow:hidden;}
.cal-post-theme{font-size:11.5px;font-weight:700;color:var(--violet);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-post-text{font-size:11px;color:var(--text-dim);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cal-post-crea{font-size:10.5px;color:var(--text-dim);font-style:italic;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cal-open-btn{align-self:flex-start;margin-top:auto;padding:4px 11px;border-radius:7px;border:1px solid var(--line-strong);background:#fff;color:var(--text);font-size:10.5px;font-weight:700;cursor:pointer;}
.cal-open-btn:hover{background:var(--surface-2);}
.cal-cell-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;}
.cal-cell-actions .cal-open-btn{margin-top:0;align-self:auto;}
.cal-canva-btn{display:inline-flex;align-items:center;padding:4px 11px;border-radius:7px;background:#16a34a;color:#fff;font-size:10.5px;font-weight:700;text-decoration:none;}
.cal-canva-btn:hover{background:#15803d;}

.cal-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--grad);color:#fff;padding:13px 26px;border-radius:12px;font-weight:700;font-size:15px;box-shadow:0 20px 50px -20px rgba(124,58,237,0.5);opacity:0;pointer-events:none;transition:opacity 0.3s ease, transform 0.3s ease;z-index:200;}
.cal-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* Modale de planification d'un post */
.cal-modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,10,40,0.45);align-items:center;justify-content:center;z-index:100;padding:20px;}
.cal-modal-overlay.open{display:flex;}
.cal-modal{width:100%;max-width:440px;max-height:88vh;overflow-y:auto;background:#fff;border-radius:16px;padding:28px 26px;box-shadow:0 30px 70px -35px rgba(124,58,237,0.35);}
.cal-modal h3{margin:0 0 4px 0;font-size:18px;font-weight:700;}
.cal-modal .modal-date{font-size:12.5px;color:var(--text-dim);margin-bottom:18px;}
.cal-modal .field{margin-bottom:16px;}
.cal-modal .field label{display:block;font-size:12.5px;font-weight:600;color:var(--text-dim);margin-bottom:6px;}
.cal-modal input[type=text],.cal-modal input[type=url],.cal-modal textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:13.5px;font-family:inherit;}
.cal-modal textarea{min-height:80px;resize:vertical;}
.cal-modal .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px;}
.cal-modal .btn-cancel{padding:10px 16px;border-radius:9px;border:1px solid var(--line-strong);background:#fff;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;}
.cal-modal .btn-cancel:hover{background:var(--surface-2);}

/* Workboard */
.task-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:24px;box-shadow:0 1px 2px rgba(20,10,50,0.03);}
.task-form .row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.task-form .field{margin:0;}
.task-form input[type=text]{width:260px;}

.done-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.btn-link{background:none;border:none;padding:0;font-size:13px;color:var(--violet);cursor:pointer;text-decoration:underline;font-weight:600;}
.btn-link:hover{color:var(--violet-bright);}
.done-total{font-size:12.5px;color:var(--text-dim);}
.done-panel{display:none;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:24px;}
.done-panel.open{display:grid;}
.task-card.done{opacity:0.7;}
.task-card.done .done-title{text-decoration:line-through;}

.task-board{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
.task-col h4{font-size:12.5px;font-weight:700;margin:0 0 12px 0;color:var(--text-dim);}
.task-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;box-shadow:0 1px 2px rgba(20,10,50,0.03);}
.task-card form{margin:0;}
.task-card .t-title{font-size:13.5px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:8px;}
.task-card .t-meta{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--text-dim);}
.prio-pill{font-size:10.5px;padding:2px 8px;border-radius:20px;font-weight:700;}
.prio-haute{background:#fee2e2;color:#dc2626;}
.prio-moyenne{background:var(--blue-pale);color:#0284c7;}
.prio-basse{background:var(--surface-2);color:var(--text-dim);}

/* Demandes d'accès (admin) */
.access-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:10px;box-shadow:0 1px 2px rgba(20,10,50,0.03);}
.access-card-done{opacity:0.75;}
.access-name{font-size:14px;font-weight:700;}
.access-email{font-size:12.5px;color:var(--text-dim);margin-top:2px;}
.access-date{font-size:11.5px;color:var(--text-dim);margin-top:4px;}
.access-actions{display:flex;gap:8px;flex-shrink:0;}
.access-actions form{margin:0;}
.btn-reject{padding:12px 20px;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;border:1px solid var(--line-strong);background:#fff;color:#dc2626;}
.btn-reject:hover{background:#fee2e2;}
.status-tag{font-size:11px;padding:3px 10px;border-radius:20px;font-weight:700;flex-shrink:0;}
.status-tag-approved{background:var(--violet-pale);color:var(--violet);}
.status-tag-rejected{background:#fee2e2;color:#dc2626;}

/* Boxe d'idées (brainstorming) */
.idea-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:24px;box-shadow:0 1px 2px rgba(20,10,50,0.03);}
.idea-form form{display:flex;gap:12px;align-items:flex-end;}
.idea-form textarea{flex:1;min-height:52px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:13.5px;font-family:inherit;resize:vertical;}

.idea-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;align-items:start;}

.idea-card{
  border-radius:16px;
  border:2px solid hsl(var(--idea-hue,250),55%,72%);
  background:hsl(var(--idea-hue,250),70%,96%);
  padding:calc(16px * var(--idea-size,1));
  box-shadow:0 4px 16px -8px rgba(20,10,50,0.15);
  transition:transform 0.15s ease, box-shadow 0.15s ease;
  display:flex;flex-direction:column;gap:10px;
}
.idea-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px -12px rgba(20,10,50,0.3);}
.idea-card.exclue{background:var(--surface-2);border-color:var(--line-strong);opacity:0.6;}
.idea-card.exclue .idea-content{text-decoration:line-through;}
.idea-card.validee{box-shadow:0 0 0 3px rgba(22,163,74,0.28), 0 4px 16px -8px rgba(20,10,50,0.15);}
.idea-card.validee:hover{box-shadow:0 0 0 3px rgba(22,163,74,0.28), 0 12px 28px -12px rgba(20,10,50,0.3);}

.idea-head{display:flex;align-items:center;gap:8px;}
.idea-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;flex-shrink:0;}
.idea-author{font-weight:700;font-size:13px;color:var(--text);}
.idea-date{margin-left:auto;font-size:11px;color:var(--text-dim);}

.idea-content{font-size:calc(13.5px * var(--idea-size,1));line-height:1.45;color:var(--text);white-space:pre-wrap;}

.idea-status-badge{align-self:flex-start;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.idea-status-badge.idea-status-validee{background:#dcfce7;color:#16a34a;}
.idea-status-badge.idea-status-exclue{background:#fee2e2;color:#dc2626;}

.idea-score{display:flex;align-items:baseline;gap:6px;}
.idea-score-num{font-size:15px;font-weight:800;color:hsl(var(--idea-hue,250),60%,38%);}
.idea-score-count{font-size:11px;color:var(--text-dim);}

.idea-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid rgba(0,0,0,0.06);}
.idea-note-form{display:flex;align-items:center;gap:6px;margin:0;}
.idea-note-form label{font-size:11.5px;color:var(--text-dim);}
.idea-note-form select{padding:5px 8px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--text);font-size:12.5px;}

.idea-status-actions{display:flex;gap:6px;}
.idea-status-actions form{margin:0;}
.idea-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line-strong);background:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;}
.idea-btn:hover{background:var(--surface-2);}
.idea-btn-validee:hover{background:#dcfce7;border-color:#16a34a;}
.idea-btn-exclue:hover{background:#fee2e2;border-color:#dc2626;}

.idea-comments{margin-top:2px;}
.idea-comment-toggle{font-size:12px;}
.idea-comment-panel{display:none;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,0.06);max-height:200px;overflow-y:auto;}
.idea-comment-panel.open{display:block;}
.idea-comment{font-size:12px;margin-bottom:8px;line-height:1.4;}
.idea-comment-author{font-weight:700;color:var(--text);}
.idea-comment-text{color:var(--text-dim);}
.idea-comment-form{display:flex;gap:6px;margin-top:8px;}
.idea-comment-form input{flex:1;padding:7px 10px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;font-size:12.5px;font-family:inherit;}
.idea-comment-form button{padding:7px 12px;border-radius:7px;border:none;background:var(--grad);color:#fff;font-size:12px;font-weight:700;cursor:pointer;}

/* Meeting Notes */
.meeting-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.meeting-frame{background:linear-gradient(180deg,#fffefb 0%,#fdfbf6 100%);border:1px solid var(--line);border-radius:18px;padding:26px 28px;box-shadow:0 8px 28px -14px rgba(20,10,50,0.18);margin-bottom:20px;position:relative;overflow:hidden;}
.meeting-frame::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--grad);}
.meeting-frame-head{margin-bottom:16px;padding-top:4px;}
.meeting-frame-head h3{margin:0 0 4px 0;font-size:18px;font-weight:800;}
.meeting-frame-meta{font-size:12px;color:var(--text-dim);}

.meeting-notes-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;}
.meeting-note{background:hsl(var(--note-hue,250),75%,96%);border-left:4px solid hsl(var(--note-hue,250),60%,55%);border-radius:10px;padding:10px 14px;}
.meeting-note-head{display:flex;align-items:center;justify-content:flex-end;margin-bottom:4px;}
.meeting-note-time{font-size:11px;color:var(--text-dim);}
.meeting-note-text{font-size:13.5px;line-height:1.5;color:var(--text);white-space:pre-wrap;}
.meeting-note-editable{margin:0;}
.meeting-note-edit-text{width:100%;margin-top:2px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--text);font-size:13.5px;font-family:inherit;line-height:1.5;resize:vertical;min-height:44px;}

.meeting-add-form{display:flex;gap:10px;align-items:flex-end;padding-top:14px;border-top:1px dashed var(--line-strong);}
.meeting-add-form textarea{flex:1;min-height:52px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--text);font-size:13.5px;font-family:inherit;resize:vertical;}

.meeting-save-form{margin:16px 0 0 0;text-align:right;}
.meeting-save-btn{font-size:14px;}

.meeting-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
.meeting-thumb{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(20,10,50,0.03);transition:transform 0.15s ease, box-shadow 0.15s ease;overflow:hidden;}
.meeting-thumb:hover{transform:translateY(-3px);box-shadow:0 12px 24px -12px rgba(20,10,50,0.25);border-color:var(--violet-bright);}
.meeting-thumb-link{display:block;padding:18px;text-decoration:none;color:var(--text);}
.meeting-thumb-lines{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.meeting-thumb-lines span{display:block;height:4px;border-radius:2px;background:var(--surface-2);}
.meeting-thumb-lines span:nth-child(1){width:90%;}
.meeting-thumb-lines span:nth-child(2){width:70%;}
.meeting-thumb-lines span:nth-child(3){width:80%;}
.meeting-thumb-title{font-weight:700;font-size:13.5px;margin-bottom:4px;}
.meeting-thumb-meta{font-size:11px;color:var(--text-dim);margin-bottom:12px;}
.meeting-thumb-avatars{display:flex;}
.meeting-thumb-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:10.5px;border:2px solid var(--surface);margin-left:-6px;}
.meeting-thumb-avatar:first-child{margin-left:0;}
.meeting-thumb-actions{display:flex;border-top:1px solid var(--line);}
.meeting-thumb-actions > a,.meeting-thumb-actions > form{flex:1;margin:0;display:flex;border-right:1px solid var(--line);}
.meeting-thumb-actions > a:last-child,.meeting-thumb-actions > form:last-child{border-right:none;}
.meeting-thumb-action{flex:1;text-align:center;padding:9px 6px;font-size:11.5px;font-weight:700;color:var(--text-dim);text-decoration:none;background:none;border:none;cursor:pointer;}
.meeting-thumb-action:hover{background:var(--surface-2);color:var(--text);}
.meeting-thumb-action-delete:hover{background:#fee2e2;color:#dc2626;}

/* Neologism (podcast) */
.neo-platform-checks{display:flex;gap:12px;align-items:center;height:41px;font-size:13px;color:var(--text-dim);}
.neo-platform-checks label{display:flex;align-items:center;gap:5px;cursor:pointer;}

.neo-post-list{display:flex;flex-direction:column;gap:10px;}
.neo-post-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;box-shadow:0 1px 2px rgba(20,10,50,0.03);}
.neo-post-row.posted{opacity:0.55;}
.neo-post-row.posted .neo-post-content{text-decoration:line-through;}
.neo-post-row form{margin:0;}
.neo-post-date{font-size:12.5px;font-weight:700;color:var(--text-dim);flex-shrink:0;width:78px;}
.neo-post-content{flex:1;font-size:13.5px;color:var(--text);}
.neo-platform-badges{display:flex;gap:6px;flex-shrink:0;}
.neo-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;}
.neo-badge-youtube{background:#fee2e2;color:#dc2626;}
.neo-badge-instagram{background:linear-gradient(135deg,#fdf2f8,#ede9fe);color:#a21caf;}


/* Events */
.event-prep-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:16px;box-shadow:0 1px 2px rgba(20,10,50,0.03);}
.event-prep-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;}
.event-prep-title{font-size:15px;font-weight:700;margin-bottom:4px;}
.event-prep-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-dim);}
.event-prep-count{font-size:13px;font-weight:700;color:#16a34a;flex-shrink:0;white-space:nowrap;}
.event-prep-tasks{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.event-prep-done-text{text-decoration:line-through;color:var(--text-dim);}
.event-prep-add-form{display:flex;gap:10px;}
.event-prep-add-form input[type=text]{flex:1;padding:9px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:13.5px;font-family:inherit;}

/* Fenêtre d'accueil à la connexion */
.welcome-overlay{display:none;position:fixed;inset:0;background:rgba(20,10,40,0.55);align-items:center;justify-content:center;z-index:200;padding:20px;}
.welcome-card{width:100%;max-width:480px;background:#fff;border-radius:22px;padding:48px 40px 40px;text-align:center;box-shadow:0 40px 90px -30px rgba(124,58,237,0.5);}
.welcome-phrase{font-size:28px;font-weight:800;line-height:1.3;margin-bottom:32px;}


/* En-têtes de colonnes triables (Contacts) */
.th-sort{color:inherit;text-decoration:none;cursor:pointer;white-space:nowrap;}
.th-sort:hover,.th-sort.active{color:var(--violet);}
.th-arrow{display:inline-block;min-width:12px;margin-left:4px;font-size:9px;}

/* Invités Neologism (CRM de suivi) */
.inv-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px;}
.inv-stat{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;font-family:inherit;box-shadow:0 1px 2px rgba(20,10,50,0.03);transition:transform .12s ease,box-shadow .12s ease;}
.inv-stat:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(20,10,50,0.25);}
.inv-stat-num{font-size:24px;font-weight:800;color:var(--text);line-height:1;}
.inv-stat-label{font-size:11.5px;color:var(--text-dim);font-weight:600;}
.inv-stat-todo .inv-stat-num{color:#f97316;}
.inv-stat-contacted .inv-stat-num{color:var(--violet);}
.inv-stat-pending .inv-stat-num{color:#d97706;}
.inv-stat-oui .inv-stat-num{color:#16a34a;}
.inv-stat-non .inv-stat-num{color:#dc2626;}

.inv-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px;}
.inv-search{flex:1;min-width:220px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font-size:13.5px;font-family:inherit;outline:none;}
.inv-search:focus,.inv-filter:focus{border-color:var(--violet-bright);box-shadow:0 0 0 3px rgba(124,58,237,0.12);}
.inv-filter{padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font-size:13px;font-family:inherit;}
.inv-add-btn{margin-left:auto;font-size:13px;padding:10px 16px;}

.inv-table-wrap{overflow-x:auto;}
.inv-table{min-width:1040px;}
.inv-table td{white-space:normal;vertical-align:middle;}
.inv-table tbody.inv-group:hover .inv-row{background:var(--violet-pale);}
.inv-table tbody tr:hover{background:transparent;}
.inv-name-cell{display:flex;align-items:flex-start;gap:8px;min-width:250px;}
.inv-expand{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:12px;padding:3px 2px;line-height:1.4;}
.inv-expand:hover{color:var(--violet);}
.inv-name{font-weight:700;font-size:13.5px;}
.inv-role{font-size:12px;color:var(--text-dim);margin-top:2px;max-width:300px;}

.inv-prio{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap;}
.inv-prio-1{background:var(--violet);color:#fff;}
.inv-prio-2{background:var(--blue-pale);color:#0284c7;}
.inv-prio-3{background:var(--surface-2);color:var(--text-dim);}

.inv-links{display:flex;gap:5px;}
.inv-link{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 6px;border-radius:7px;font-size:11px;font-weight:800;text-decoration:none;border:1px solid transparent;}
.inv-link-in{background:#e0f2fe;color:#0369a1;}
.inv-link-ig{background:#fce7f3;color:#be185d;}
.inv-link-yt{background:#fee2e2;color:#dc2626;}
.inv-link-other{background:var(--surface-2);color:var(--text-dim);}
.inv-link-search{background:#fff;border:1px dashed #0369a1;}
.inv-link:hover{filter:brightness(0.95);}

.inv-status-pill{padding:6px 12px;border-radius:20px;font-size:11.5px;font-weight:700;cursor:pointer;border:1px solid #fdba74;background:#fff7ed;color:#c2410c;white-space:nowrap;font-family:inherit;}
.inv-status-pill.contacted{border-color:#86efac;background:#dcfce7;color:#15803d;}
.inv-select{padding:6px 8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:12px;font-family:inherit;max-width:130px;}
.inv-reponse-oui{background:#dcfce7;border-color:#86efac;color:#15803d;font-weight:700;}
.inv-reponse-non{background:#fee2e2;border-color:#fca5a5;color:#b91c1c;font-weight:700;}
.inv-reponse-pending{background:#fef3c7;border-color:#fcd34d;color:#b45309;font-weight:700;}
.inv-select.inv-dim{opacity:.45;}
.inv-date{width:132px;max-width:none;}
.inv-actions{display:flex;gap:6px;}
.inv-actions form{margin:0;}
.inv-icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line-strong);background:#fff;cursor:pointer;font-size:13px;}
.inv-icon-btn:hover{background:var(--surface-2);}
.inv-icon-btn-danger:hover{background:#fee2e2;border-color:#dc2626;}

.inv-detail{display:none;}
.inv-group.open .inv-detail{display:table-row;}
.inv-detail td{background:var(--surface-2);}
.inv-detail-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:18px;font-size:12.5px;line-height:1.5;padding:2px 4px;}
.inv-detail-label{display:block;font-size:10.5px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px;}
.inv-detail a{color:var(--violet);}
.inv-empty{padding:28px;text-align:center;color:var(--text-dim);font-size:13px;}

.inv-modal{max-width:640px;}
.inv-msg-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.inv-msg-label label{margin-bottom:0 !important;}
.cal-modal textarea.inv-msg-body{min-height:340px;line-height:1.5;}
.inv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
.inv-span-2{grid-column:span 2;}
.inv-check{display:flex;align-items:flex-end;}
.inv-check label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);}
.cal-modal select,.cal-modal input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2);color:var(--text);font-size:13.5px;font-family:inherit;}
@media (max-width:900px){.inv-stats{grid-template-columns:repeat(3,1fr);}}

/* ===== Finitions globales (look SaaS moderne) ===== */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'cv11','ss01';}
::selection{background:rgba(124,58,237,0.22);}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--violet-bright);box-shadow:0 0 0 3px rgba(124,58,237,0.14);}
input[type=checkbox]{accent-color:var(--violet);}
.btn-primary{border-radius:11px;box-shadow:0 8px 18px -8px rgba(124,58,237,0.6);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 22px -8px rgba(124,58,237,0.65);}
.btn-primary:active{transform:translateY(0);}
.task-form,.task-card,.access-card,.event-prep-card,.idea-form,.meeting-frame,.neo-post-row{border-radius:16px;}
.task-card,.neo-post-row{transition:box-shadow .15s ease,border-color .15s ease;}
.task-card:hover,.neo-post-row:hover{box-shadow:0 10px 24px -14px rgba(20,10,50,0.22);border-color:var(--line-strong);}
table{border-radius:16px;box-shadow:0 1px 3px rgba(20,10,50,0.05);}
thead th{font-size:11px;text-transform:uppercase;letter-spacing:0.05em;font-weight:700;}
.cal-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.cal-modal{border-radius:20px;}

@keyframes pageIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.main>*{animation:pageIn .4s cubic-bezier(.2,.7,.3,1) both;}
.main>*:nth-child(2){animation-delay:.04s;}
.main>*:nth-child(3){animation-delay:.08s;}
.main>*:nth-child(4){animation-delay:.12s;}
.main>*:nth-child(n+5){animation-delay:.16s;}
@media (prefers-reduced-motion:reduce){.main>*{animation:none;}.nav-menu,.nav-chev{transition:none;}}

/* Page d'accueil (même décor que la connexion, menu de navigation à droite) */
.nav-accent-violet{--accent:var(--violet);--accent-pale:var(--violet-pale);}
.home-card{width:100%;max-width:500px;}
.home-hello{font-size:13px;font-weight:600;color:var(--text-dim);margin-bottom:6px;}
.home-card h1{font-size:30px;font-weight:800;letter-spacing:-0.02em;margin:0 0 24px 0;}
.home-group{margin-bottom:20px;}
.home-group-title{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:0.07em;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px 4px;}
.home-group .nav-menu-item{background:#fff;border:1px solid var(--line);margin-bottom:7px;padding:11px 14px;box-shadow:0 1px 2px rgba(20,10,50,0.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;}
.home-group .nav-menu-item:hover{background:#fff;border-color:var(--accent,var(--violet-bright));transform:translateX(4px);box-shadow:0 12px 26px -16px rgba(20,10,50,0.35);}
.home-logout{display:inline-block;margin-top:6px;font-size:13px;font-weight:600;color:var(--text-dim);text-decoration:none;}
.home-logout:hover{color:var(--violet);}

/* Workboard : actions sur les tâches */
.task-card .t-text{flex:1;min-width:0;}
.task-card .task-actions{display:flex;gap:4px;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity .15s ease;}
.task-card:hover .task-actions,.task-card .task-actions:focus-within,.task-card .task-actions-visible{opacity:1;}
.task-card .done-title{flex:1;}
.task-icon-btn{width:26px;height:26px;border-radius:7px;border:1px solid var(--line-strong);background:#fff;cursor:pointer;font-size:12px;line-height:1;}
.task-icon-btn:hover{background:var(--surface-2);}
.task-icon-danger:hover{background:#fee2e2;border-color:#dc2626;}
@media (hover:none){.task-card .task-actions{opacity:1;}}

/* Workboard : tâche en cours (WIP) */
.task-card .t-meta-right{display:flex;align-items:center;gap:8px;}
.wip-btn{padding:2px 9px;border-radius:20px;border:1px solid #fdba74;background:#fff;color:#ea580c;font-size:10.5px;font-weight:800;letter-spacing:0.04em;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease;}
.wip-btn:hover{background:#fff7ed;}
.wip-btn.on{background:#ea580c;border-color:#ea580c;color:#fff;}
.task-card.wip{background:#fff1e0;border-color:#fb923c;box-shadow:0 8px 20px -12px rgba(234,88,12,0.45);}
.task-card.wip .t-meta{color:#9a3412;}

/* Calendrier LinkedIn : mise en page + mémo */
.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start;}
.cal-memo{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 3px rgba(20,10,50,0.05);}
.cal-memo-title{font-size:13.5px;font-weight:800;margin-bottom:14px;}
.cal-memo-item{padding:12px 0;border-top:1px solid var(--line);}
.cal-memo-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:0.05em;text-transform:uppercase;padding:2px 8px;border-radius:20px;margin-bottom:6px;}
.cal-memo-badge.must{background:#fee2e2;color:#b91c1c;}
.cal-memo-badge.bonus{background:var(--blue-pale);color:#0369a1;}
.cal-memo-text{font-size:13.5px;line-height:1.4;color:var(--text);}
@media (max-width:1100px){.cal-layout{grid-template-columns:1fr;}.cal-memo{position:static;order:-1;}}

/* ===== Partenaires (CRM) ===== */
.pt-stat-qualif .inv-stat-num{color:#64748b;}
.pt-stat-relance .inv-stat-num{color:#d97706;}
.pt-stat-disc .inv-stat-num{color:var(--violet);}
.pt-stat-actif .inv-stat-num{color:#16a34a;}
.pt-stat-late .inv-stat-num{color:#dc2626;}
.pt-table{min-width:1100px;}
.pt-omaina{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;background:#fef3c7;color:#b45309;vertical-align:middle;}
.pt-type{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--violet-pale);color:var(--violet);white-space:nowrap;}
.pt-statut{min-width:128px;font-weight:700;}
.pt-st-a_qualifier{background:#f1f5f9;border-color:#cbd5e1;color:#475569;}
.pt-st-contacte{background:#e0f2fe;border-color:#7dd3fc;color:#0369a1;}
.pt-st-relance{background:#fef3c7;border-color:#fcd34d;color:#b45309;}
.pt-st-en_discussion{background:var(--violet-pale);border-color:#c4b5fd;color:var(--violet);}
.pt-st-actif{background:#dcfce7;border-color:#86efac;color:#15803d;}
.pt-st-pause{background:#fee2e2;border-color:#fca5a5;color:#b91c1c;}
.pt-tags{display:flex;flex-wrap:wrap;gap:4px;}
.pt-tag{display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text-dim);}
.pt-tag-more{background:transparent;border-style:dashed;}
.pt-badges{display:flex;gap:5px;}
.pt-role{display:inline-block;font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:6px;white-space:nowrap;}
.pt-role-marketing{background:#fce7f3;color:#be185d;}
.pt-role-sales{background:#e0f2fe;color:#0369a1;}
.pt-role-autre{background:var(--surface-2);color:var(--text-dim);}
.pt-none{color:var(--text-dim);opacity:.6;}
.pt-last{font-size:12.5px;white-space:nowrap;}
.pt-late{border-color:#fca5a5;background:#fee2e2;color:#b91c1c;font-weight:700;}
.pt-detail-grid{display:grid;grid-template-columns:1.4fr 1.4fr 1fr;gap:22px;font-size:12.5px;line-height:1.5;padding:2px 4px;}
.pt-sec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.pt-sec-head .inv-detail-label{margin-bottom:0;}
.pt-empty{color:var(--text-dim);font-size:12px;margin:0;}
.pt-text{margin:0 0 14px 0;white-space:normal;}
.pt-contact{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:8px;}
.pt-contact-top{display:flex;align-items:center;gap:8px;}
.pt-contact-actions{margin-left:auto;display:flex;gap:4px;}
.pt-contact-actions form{margin:0;}
.pt-contact-actions .inv-icon-btn{width:24px;height:24px;font-size:11px;}
.pt-contact-line{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-top:3px;color:var(--text-dim);}
.pt-contact-line a{color:var(--violet);word-break:break-all;}
.pt-contact .pt-tags{margin-top:6px;}
.pt-log{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--violet-bright);border-radius:8px;padding:8px 10px;margin-bottom:8px;}
.pt-log-head{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-dim);}
.pt-log-head form{margin:0 0 0 auto;}
.pt-canal{font-weight:700;font-size:10.5px;padding:1px 7px;border-radius:6px;background:var(--surface-2);}
.pt-x{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:12px;}
.pt-x:hover{color:#dc2626;}
.pt-log-text{margin-top:4px;white-space:normal;}
@media (max-width:900px){.pt-detail-grid{grid-template-columns:1fr;}}
.pt-omaina{white-space:nowrap;}
.pt-table td .pt-tags{min-width:110px;}
