:root{
  --blue:#23415a;
  --blue-2:#172f43;
  --pink:#f4989b;
  --pink-soft:#f4cbc2;
  --ink:#243442;
  --muted:#73808b;
  --bg:#f7f7f5;
  --card:#fff;
  --line:#e8e8e5;
  --danger:#b8404b;
  --shadow:0 10px 35px rgba(35,65,90,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--blue);text-decoration:none}a:hover{color:#102b40}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:var(--blue);padding:28px 20px;display:flex;flex-direction:column;color:#fff;z-index:20;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand-plane{width:42px;height:42px;border-radius:14px;background:var(--pink);display:grid;place-items:center;color:var(--blue);font-size:20px;transform:rotate(-7deg)}.brand strong{display:block;font-size:16px}.brand span{display:block;font-size:11px;opacity:.72;margin-top:3px;text-transform:uppercase;letter-spacing:.08em}
.route-line{height:18px;position:relative;margin:0 4px 24px}.route-line:before{content:"";position:absolute;left:6px;right:6px;top:8px;border-top:1px dashed rgba(255,255,255,.3)}.route-line i{position:absolute;top:5px;width:7px;height:7px;border-radius:50%;background:var(--pink)}.route-line i:nth-child(1){left:3px}.route-line i:nth-child(2){left:50%}.route-line i:nth-child(3){right:3px}
.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:rgba(255,255,255,.82);padding:11px 13px;border-radius:11px;font-size:14px}.sidebar nav a:hover{background:rgba(255,255,255,.1);color:#fff}.logout-form{margin-top:auto;padding-top:25px}.logout-button{width:100%;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:10px}.logout-button:hover{border-color:var(--pink);background:rgba(244,152,155,.1)}
.main{margin-left:245px;padding:38px 42px 70px;min-height:100vh}.main-login{margin:0;padding:0}
.page-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.page-header h1{font-size:34px;line-height:1.08;margin:4px 0 9px;color:var(--blue);letter-spacing:-.03em}.hero-header{position:relative}.hero-header:after{content:"✈";position:absolute;right:44%;top:-25px;color:rgba(244,152,155,.18);font-size:78px;transform:rotate(-9deg);pointer-events:none}.subtitle{color:var(--muted);margin:0;max-width:760px;line-height:1.55}.eyebrow{margin:0;color:var(--pink);font-weight:800;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.header-actions,.form-actions,.focus-actions{display:flex;gap:10px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:11px 17px;font-weight:700;font-size:13px;transition:.15s ease}.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-2);color:#fff;transform:translateY(-1px)}.button.ghost{background:#fff;border:1px solid #dfe4e7;color:var(--blue)}.button.ghost:hover{border-color:var(--pink);color:var(--blue)}.button.small{padding:9px 13px}.button.wide{width:100%}.text-link{font-weight:700;font-size:13px}.link-button{background:none;border:0;padding:0;color:var(--blue);font-weight:700;font-size:13px}.inline{display:inline}
.section,.form-card,.table-card,.metric-card,.client-card,.top-banner{background:var(--card);border:1px solid rgba(35,65,90,.07);box-shadow:var(--shadow);border-radius:var(--radius)}.section{padding:24px;margin-bottom:22px}.section h2{margin:0 0 16px;color:var(--blue);font-size:20px}.section h3{color:var(--blue)}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.section-title h2{margin:0}.section-title a{font-size:13px;font-weight:700}
.metric-grid{display:grid;gap:14px;margin:18px 0 24px}.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:19px;min-height:118px}.metric-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:12px}.metric-card strong{display:block;color:var(--blue);font-size:27px;letter-spacing:-.03em}.metric-card small{display:block;color:#9aa4ac;font-size:11px;margin-top:6px}.metric-card.accent{background:linear-gradient(145deg,var(--blue),#315a77);border:0}.metric-card.accent span,.metric-card.accent strong,.metric-card.accent small{color:#fff}.metric-card.accent small{opacity:.72}.metric-card.flat{box-shadow:none;background:#faf9f7;border-color:#efedea;min-height:90px}.metric-grid.compact{margin:12px 0 20px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dashboard-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;border-top:1px solid var(--line);padding-top:20px}.best-content{background:#fff7f5;border:1px solid #f7dbd3;padding:16px;border-radius:14px}.best-content strong{display:block;color:var(--blue);margin:10px 0 4px}.best-content p{margin:0;color:var(--muted);font-size:13px}
.list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}.list-card:last-child{border-bottom:0}.list-card strong{display:block;color:var(--blue);font-size:14px}.list-card span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.list-card time{white-space:nowrap;color:var(--muted);font-size:12px}.list-card.travel:before{content:"✈";color:var(--pink);font-size:14px}.late{color:var(--danger)!important;font-weight:800}
.bar-row{display:grid;grid-template-columns:110px 1fr 65px;gap:10px;align-items:center;margin:10px 0;font-size:12px}.bar{height:8px;border-radius:99px;background:#edf0f2;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--pink-soft));border-radius:99px}.bar-row strong{text-align:right;color:var(--blue)}
.month-filter,.filter-row{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 18px}.month-filter label,.filter-row label{font-size:12px;color:var(--muted)}.month-filter input,.filter-row input,.filter-row select{margin-top:5px}.filter-row input{min-width:250px}
input,select,textarea{width:100%;border:1px solid #dfe4e7;background:#fff;border-radius:10px;padding:10px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(244,152,155,.14)}textarea{resize:vertical}.form-card{padding:28px}.wide-form{max-width:1100px}.stack-form{display:grid;gap:15px}.stack-form label,.form-card label,.inline-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--blue)}.form-grid{display:grid;gap:15px;margin-bottom:15px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid.five{grid-template-columns:repeat(5,1fr)}.form-card>label{display:grid;gap:7px;margin:15px 0}.form-actions{margin-top:22px}.results-box{margin-top:24px;padding:20px;background:#fff8f6;border:1px solid #f6d8d1;border-radius:15px}.results-box h3{margin:3px 0 15px;color:var(--blue)}
.table-card{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:14px 15px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#89949c;background:#fafafa}td{font-size:13px}td strong{color:var(--blue)}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.actions-cell{display:flex;gap:10px;align-items:center}.status{display:inline-flex;padding:5px 8px;border-radius:99px;background:#edf2f5;color:var(--blue);font-size:11px;font-weight:800}.status.pink{background:#fff0ed;color:#b95f68}
/* Couleurs des formats de contenu */
.content-type.type-post{background:#e8f1f8;color:#24577b}.content-type.type-carrousel{background:#fff0d9;color:#9a5c00}.content-type.type-story{background:#f1e8fb;color:#6f3c91}.content-type.type-reel{background:#ffe7ec;color:#b43d61}.content-type.type-newsletter{background:#e8f5ee;color:#2f7551}.content-type.type-autre{background:#edf0f2;color:#60717d}
/* Couleurs des statuts de communication */
.comm-status.comm-idea{background:#edf0f2;color:#60717d}.comm-status.comm-prepare{background:#fff1d8;color:#956116}.comm-status.comm-progress{background:#e4f0fb;color:#27628d}.comm-status.comm-ready{background:#dff5f2;color:#20756e}.comm-status.comm-planned{background:#eee8fb;color:#684a9b}.comm-status.comm-published{background:#e2f4e7;color:#2f7644}.comm-status.comm-abandoned{background:#fde7e8;color:#a23e48}
.empty{color:var(--muted);font-size:13px}.center{text-align:center!important}
.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.client-card{padding:20px;color:var(--ink);transition:.15s}.client-card:hover{transform:translateY(-2px);border-color:rgba(244,152,155,.6);color:var(--ink)}.client-card-top{display:flex;justify-content:space-between;align-items:center}.plane-mini{color:var(--pink);font-size:18px}.client-card h3{color:var(--blue);font-size:19px;margin:16px 0 3px}.destination{margin:0 0 14px;color:#4c5e6a}.client-meta{display:flex;gap:7px;flex-wrap:wrap}.client-meta span{font-size:10px;background:#f3f5f6;padding:5px 7px;border-radius:7px;color:#64717a}
.inline-form.multi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.inline-form .span-2{grid-column:span 2}.inline-form button{height:41px}.detail-list{display:grid;gap:13px}.detail-list div{display:grid;grid-template-columns:110px 1fr;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}.detail-list dt{font-size:11px;text-transform:uppercase;color:var(--muted)}.detail-list dd{margin:0}.top-banner{padding:16px 20px;margin-bottom:18px;background:linear-gradient(90deg,#fff5f1,#fff)}.top-banner span,.top-banner small{display:block;color:var(--muted);font-size:11px}.top-banner strong{display:block;color:var(--blue);margin:4px 0}
.todo-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:start}.quick-add{display:flex;gap:9px}.quick-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}.quick-item{display:flex;align-items:center;gap:10px;padding:12px;background:#fafafa;border:1px solid var(--line);border-radius:11px;transition:.15s ease}.quick-item.sortable-task{cursor:grab}.quick-item.sortable-task:active{cursor:grabbing}.quick-item.dragging{opacity:.45;transform:scale(.99);border-color:var(--pink)}.drag-handle{width:22px;flex:0 0 22px;color:#a8afb4;font-weight:900;letter-spacing:-3px;font-size:18px;user-select:none}.task-title{flex:1;font-size:13px}.task-action-form{margin:0}.task-done-button{border:0;background:#e7f4ea;color:#2f7644;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800;white-space:nowrap}.task-done-button:hover{background:#d7eddd}.todo-count{font-size:11px;color:var(--muted);background:#f1f3f4;border-radius:99px;padding:5px 8px}.todo-help{font-size:11px;color:var(--muted);margin:13px 0 0}.history-list{display:grid;gap:0}.history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item strong{display:block;color:var(--blue);font-size:13px}.history-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.history-item form{margin:0}.history-card{max-height:72vh;overflow:auto}
.login-page{min-height:100vh;background:linear-gradient(135deg,var(--blue),#315d79);display:grid;place-items:center;padding:25px;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";position:absolute;border:1px dashed rgba(255,255,255,.15);width:550px;height:220px;border-radius:50%;transform:rotate(-18deg)}.login-page:before{left:-170px;top:80px}.login-page:after{right:-180px;bottom:70px}.login-card{width:min(440px,100%);background:#fff;padding:37px;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.2);z-index:1}.login-card h1{margin:5px 0 8px;color:var(--blue);font-size:30px}.login-mark{width:50px;height:50px;border-radius:16px;background:var(--pink);display:grid;place-items:center;color:var(--blue);font-size:23px;margin-bottom:20px}.notice{padding:11px 13px;border-radius:10px;margin:14px 0;font-size:12px}.notice.danger{background:#fff1f2;color:#9c3340}.error-card{max-width:650px;margin:60px auto}
@media(max-width:1150px){.metric-grid.five{grid-template-columns:repeat(3,1fr)}.client-grid{grid-template-columns:repeat(2,1fr)}.form-grid.four,.form-grid.five{grid-template-columns:repeat(2,1fr)}.inline-form.multi{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.sidebar{position:relative;width:100%;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.logout-form{margin-top:15px}.main{margin-left:0;padding:26px 18px 55px}.page-header{display:block}.header-actions{margin-top:16px}.metric-grid.five,.metric-grid.four,.dashboard-grid,.dashboard-split,.todo-layout{grid-template-columns:1fr 1fr}.client-grid{grid-template-columns:1fr}.hero-header:after{display:none}}
@media(max-width:600px){.sidebar nav{grid-template-columns:1fr}.metric-grid.five,.metric-grid.four,.dashboard-grid,.dashboard-split,.todo-layout,.form-grid.two,.form-grid.three,.form-grid.four,.form-grid.five,.inline-form.multi{grid-template-columns:1fr}.page-header h1{font-size:29px}.inline-form .span-2{grid-column:span 1}.login-card{padding:28px 22px}.bar-row{grid-template-columns:85px 1fr 50px}}

/* V3 - tâches supprimables */
.task-buttons,.history-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-delete-button{border:0;background:#fff0f1;color:#a23e48;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:800;white-space:nowrap}.task-delete-button:hover{background:#fbe1e4}.danger-link{color:#a23e48}.danger-link:hover{color:#7f2832}

/* V3 - médias communication */
.media-upload-box{margin-top:24px;padding:20px;background:#f8fafb;border:1px solid #e3e9ed;border-radius:15px}.media-upload-box h3{margin:3px 0 4px;color:var(--blue)}.media-help{margin:0 0 16px;color:var(--muted);font-size:11px}.existing-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:14px 0 18px}.existing-media-item{display:block!important;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff}.media-preview{position:relative;overflow:hidden;background:#edf0f2;border:1px solid #e4e8ea;border-radius:9px;display:inline-grid;place-items:center}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover;display:block}.media-preview.large{width:100%;height:96px}.media-preview.small{width:42px;height:42px;flex:0 0 42px}.video-badge{position:absolute;right:3px;bottom:3px;background:rgba(35,65,90,.82);color:#fff;border-radius:5px;padding:2px 4px;font-size:8px;font-weight:800;line-height:1}.media-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted);margin:6px 0}.media-remove{display:flex!important;align-items:center;gap:5px;font-size:10px!important;color:#9a3d48!important;font-weight:700!important}.media-remove input{width:auto;margin:0}.media-thumbs{display:flex;align-items:center;gap:4px;min-width:42px}.media-more{font-size:10px;font-weight:800;color:var(--muted);padding-left:2px}

/* V3 - calendrier du planning communication */
.calendar-section{padding:20px}.calendar-toolbar{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:10px;margin-bottom:14px;text-align:center}.calendar-toolbar h2{margin:2px 0 0;font-size:20px}.calendar-nav{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;font-weight:900;color:var(--blue)}.calendar-nav:hover{border-color:var(--pink);background:#fff8f6}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-head{border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden}.calendar-head>div{padding:8px 6px;text-align:center;background:#f7f8f8;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-right:1px solid var(--line)}.calendar-head>div:last-child{border-right:0}.calendar-body{border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-day{min-height:118px;padding:7px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.calendar-day.empty-day{background:#fafafa}.calendar-day-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.day-number{font-size:11px;font-weight:900;color:var(--blue)}.day-add{width:21px;height:21px;border-radius:7px;display:grid;place-items:center;background:#fff0ef;color:#a44c56;font-size:15px;font-weight:800;line-height:1}.day-add:hover{background:var(--pink);color:#fff}.calendar-items{display:grid;gap:4px}.calendar-item{display:block;padding:5px 6px;border-radius:7px;font-size:9px;line-height:1.15;overflow:hidden}.calendar-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.calendar-item small{display:block;margin-top:2px;opacity:.75;font-size:8px}.calendar-item.type-post{background:#e8f1f8;color:#24577b}.calendar-item.type-carrousel{background:#fff0d9;color:#9a5c00}.calendar-item.type-story{background:#f1e8fb;color:#6f3c91}.calendar-item.type-reel{background:#ffe7ec;color:#b43d61}.calendar-item.type-newsletter{background:#e8f5ee;color:#2f7551}.calendar-item.type-autre{background:#edf0f2;color:#60717d}.calendar-more{font-size:9px;color:var(--muted);font-weight:700;padding:2px 4px}

@media(max-width:850px){.calendar-section{overflow:auto}.calendar-grid{min-width:760px}}
@media(max-width:600px){.quick-item{align-items:flex-start}.task-buttons{justify-content:flex-end}}

/* V4 - suppressions globales et aide upload */
.button.danger{background:#fff0f1;color:#a23e48;border:1px solid #f1c8cd}.button.danger:hover{background:#fbe1e4;color:#7f2832}.delete-form{margin-top:14px;max-width:1100px}.delete-form.compact{margin-top:18px}.upload-help{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:4px}.actions-cell form.inline{margin:0}.actions-cell{flex-wrap:wrap}


/* V5 - glisser-déposer planning */
.calendar-drag-help{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:600}.calendar-item[draggable="true"]{cursor:grab;user-select:none}.calendar-item[draggable="true"]:active{cursor:grabbing}.calendar-item.dragging{opacity:.38;outline:2px dashed var(--pink);outline-offset:1px}.calendar-day[data-date]{transition:background .12s ease,box-shadow .12s ease}.calendar-day.drop-target{background:#fff5f3;box-shadow:inset 0 0 0 2px var(--pink)}

/* V5 - prospects & partenariats */
.partner-quick-form{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr auto;gap:12px;align-items:end}.partner-quick-form label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--blue)}.partner-quick-form .button{height:41px}.partner-table table{min-width:1050px}.status-inline-form{margin:0}.partner-status{width:auto;min-width:118px;padding:7px 30px 7px 9px;border-radius:99px;font-size:11px;font-weight:800;background:#f1f3f4}.partner-status:focus{box-shadow:0 0 0 3px rgba(244,152,155,.14)}.partner-status.status-a-contacter{background:#fff1d8;color:#956116}.partner-status.status-contacte{background:#e4f0fb;color:#27628d}.partner-status.status-relance{background:#eee8fb;color:#684a9b}.partner-status.status-gagne{background:#e2f4e7;color:#2f7644}.partner-status.status-perdu{background:#fde7e8;color:#a23e48}.partner-metrics .metric-card{min-height:82px;padding:15px}.partner-metrics .metric-card span{margin-bottom:5px}.partner-metrics .metric-card strong{font-size:22px}
@media(max-width:1150px){.partner-quick-form{grid-template-columns:repeat(2,1fr)}.partner-quick-form .button{width:max-content}}
@media(max-width:600px){.partner-quick-form{grid-template-columns:1fr}.partner-quick-form .button{width:100%}}

/* V6 - Instagram API & statistiques */
.instagram-notice{background:#eef5f8;color:var(--blue);border:1px solid #d8e7ee}.instagram-connect-card,.instagram-account-strip{display:flex;align-items:center;justify-content:space-between;gap:24px}.instagram-connect-card h2,.instagram-account-strip h2{margin:3px 0 7px}.instagram-connection-meta{display:grid;gap:3px;min-width:230px;padding:12px 15px;border-radius:12px;background:#f7f8f8;border:1px solid var(--line)}.instagram-connection-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.instagram-connection-meta strong{color:var(--blue);font-size:13px}.instagram-connection-meta small{color:var(--muted);font-size:10px}.instagram-metrics .metric-card{min-height:105px}.instagram-metrics .metric-card small{display:block;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.35}.instagram-help{background:linear-gradient(135deg,#fff,#fbf8f7)}.instagram-help h2{margin:3px 0 7px}.instagram-table table{min-width:1180px}.instagram-link-form{display:flex;align-items:center;gap:7px;min-width:340px}.instagram-link-form select{min-width:235px;max-width:310px;padding:8px 32px 8px 9px;border:1px solid #dde3e6;border-radius:9px;background:#fff;color:var(--ink);font-size:11px}.instagram-link-form .button{white-space:nowrap}.instagram-table td:nth-child(2){max-width:390px}.instagram-table td:nth-child(2) strong{display:block;line-height:1.4}.instagram-table .text-link{white-space:nowrap}
@media(max-width:850px){.instagram-connect-card,.instagram-account-strip{align-items:flex-start;flex-direction:column}.instagram-connection-meta{width:100%;min-width:0}.instagram-link-form{min-width:320px}}
