
:root{
  --vcd-blue:#0088C6;--vcd-coral:#F07F64;--vcd-dark:#231F20;--vcd-light:#F1F1F2;
  --vcd-white:#fff;--vcd-muted:#6B7280;--vcd-border:#E3E7EA;--vcd-bg:#F7F8FA;
  --vcd-shadow:0 8px 28px rgba(35,31,32,.07);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--vcd-dark);background:var(--vcd-bg)}
a{color:var(--vcd-blue);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
.vcd-app{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.vcd-sidebar{position:sticky;top:0;height:100vh;background:var(--vcd-dark);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:30}
.vcd-logo{display:flex;flex-direction:column;color:#fff;text-decoration:none;padding:5px 10px 24px}
.vcd-logo:hover{text-decoration:none}.vcd-logo strong{font-size:17px;letter-spacing:.09em;color:#fff}.vcd-logo span{font-size:26px;font-weight:700;margin-top:2px}
.vcd-nav{display:flex;flex-direction:column;gap:4px}.vcd-nav a{color:#d7d7d7;padding:10px 12px;border-radius:9px;display:flex;gap:11px;align-items:center;font-weight:600}
.vcd-nav a:hover,.vcd-nav a.is-active{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}.vcd-nav a.is-active{background:var(--vcd-blue)}
.vcd-nav a span{width:20px;text-align:center}
.vcd-sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;display:flex;flex-direction:column}
.vcd-sidebar-foot a{color:#bfc3c7;padding:6px 10px;font-size:13px}.vcd-sidebar-foot a:hover{color:#fff}
.vcd-main{min-width:0}.vcd-topbar{height:66px;background:#fff;border-bottom:1px solid var(--vcd-border);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20}
.vcd-menu-toggle{display:none;background:none;border:0;font-size:24px}.vcd-topbar__spacer{flex:1}.vcd-user{display:flex;align-items:center;gap:16px;font-size:13px}.vcd-user span{font-weight:600}.vcd-user a{color:var(--vcd-muted)}
.vcd-content{max-width:1480px;margin:0 auto;padding:32px}
.vcd-pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.vcd-pagehead h1{margin:0 0 5px;font-size:30px;line-height:1.15}.vcd-pagehead p{margin:0;color:var(--vcd-muted)}
.vcd-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:22px}.vcd-kpi{background:#fff;border:1px solid var(--vcd-border);border-radius:14px;padding:18px;box-shadow:var(--vcd-shadow)}
.vcd-kpi span{display:block;color:var(--vcd-muted);font-size:13px;margin-bottom:8px}.vcd-kpi strong{font-size:30px}
.vcd-grid{display:grid;gap:20px}.vcd-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.vcd-grid--sidebar{grid-template-columns:minmax(0,1fr) 300px}
.vcd-card{background:#fff;border:1px solid var(--vcd-border);border-radius:14px;padding:20px;box-shadow:var(--vcd-shadow);margin-bottom:20px}.vcd-card--flush{padding:0;overflow:hidden}
.vcd-card h2{font-size:18px;margin:0 0 14px}.vcd-card-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--vcd-border);padding-bottom:12px;margin-bottom:4px}
.vcd-card-head h2{margin:0}.vcd-muted{color:var(--vcd-muted)}
.vcd-list{display:flex;flex-direction:column}.vcd-list-row,.vcd-listline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid #EFF1F3;color:var(--vcd-dark)}
.vcd-list-row:last-child,.vcd-listline:last-child{border-bottom:0}.vcd-list-row:hover{text-decoration:none;background:#fbfcfd}.vcd-list-row strong{display:block}.vcd-list-row small{display:block;color:var(--vcd-muted);margin-top:3px}
.vcd-table-wrap{overflow:auto}.vcd-table{width:100%;border-collapse:collapse}.vcd-table th,.vcd-table td{padding:13px 16px;border-bottom:1px solid #edf0f2;text-align:left;vertical-align:middle}.vcd-table th{background:#fafbfc;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--vcd-muted)}
.vcd-table small{color:var(--vcd-muted)}
.vcd-form{max-width:1050px}.vcd-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.vcd-field label{font-size:13px;font-weight:700}
.vcd-field input[type=text],.vcd-field input[type=email],.vcd-field input[type=password],.vcd-field input[type=date],.vcd-field input[type=datetime-local],.vcd-field input[type=number],.vcd-field input[type=url],.vcd-field select,.vcd-field textarea{width:100%;border:1px solid #CDD5DB;border-radius:9px;padding:10px 12px;background:#fff;color:var(--vcd-dark);outline:none;min-height:43px}
.vcd-field textarea{min-height:130px;resize:vertical}.vcd-field input:focus,.vcd-field select:focus,.vcd-field textarea:focus{border-color:var(--vcd-blue);box-shadow:0 0 0 3px rgba(0,136,198,.10)}
.vcd-field input[type=file]{padding:10px;border:1px dashed #cbd3d8;border-radius:9px}
.vcd-actions{display:flex;gap:10px;align-items:center;padding-top:6px}
.vcd-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #CBD2D7;background:#fff;color:var(--vcd-dark);border-radius:9px;padding:9px 14px;font-weight:700;cursor:pointer;text-decoration:none}
.vcd-btn:hover{text-decoration:none;background:#f8fafb}.vcd-btn--primary{background:var(--vcd-blue);border-color:var(--vcd-blue);color:#fff}.vcd-btn--primary:hover{background:#0076ad;color:#fff}
.vcd-checkbox,.vcd-check{display:flex;align-items:center;gap:8px;font-size:13px}.vcd-checkbox{padding-top:29px}
.vcd-badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap;background:#eef2f4;color:#4B5563}
.vcd-badge--active,.vcd-badge--deployed,.vcd-badge--done,.vcd-badge--resolved{background:#e6f7ef;color:#18744f}
.vcd-badge--new,.vcd-badge--doing,.vcd-badge--in_progress,.vcd-badge--client_reply,.vcd-badge--prospect{background:#e8f5fb;color:#006f9f}
.vcd-badge--waiting,.vcd-badge--waiting_client,.vcd-badge--draft{background:#fff3d5;color:#825f00}
.vcd-badge--closed,.vcd-badge--inactive{background:#f4e8e7;color:#7b3e39}
.vcd-alert{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-weight:600}.vcd-alert--success{background:#e9f8f1;color:#166844}.vcd-alert--error{background:#fdecec;color:#973b3b}
.vcd-ticket-origin{padding:4px 0 18px;border-bottom:1px solid var(--vcd-border)}.vcd-ticket-origin p{line-height:1.55}
.vcd-conversation{display:flex;flex-direction:column;gap:14px;margin-top:18px}.vcd-message{padding:14px 16px;border-radius:12px;border:1px solid var(--vcd-border);max-width:82%}.vcd-message--staff{margin-left:auto;background:#eef8fc;border-color:#d0eaf5}.vcd-message--client{background:#fafafa}
.vcd-message header{display:flex;gap:10px;align-items:center}.vcd-message header small{color:var(--vcd-muted)}.vcd-message p{line-height:1.55;margin-bottom:6px}.vcd-private{font-size:10px;font-weight:800;background:#fff0d7;color:#845b00;border-radius:999px;padding:3px 6px}
.vcd-attachment{display:inline-block;margin-top:7px;font-size:13px}.vcd-simple{max-width:600px;margin:80px auto;background:#fff;padding:30px;border-radius:14px}
.vcd-login-body{min-height:100vh;background:linear-gradient(135deg,#231F20 0%,#302a2b 45%,#0088C6 150%);display:grid;place-items:center;padding:24px}
.vcd-login{width:min(900px,100%);display:grid;grid-template-columns:1fr 420px;align-items:center;gap:60px}.vcd-login-brand{color:#fff}.vcd-login-brand span{font-weight:800;letter-spacing:.12em;color:#69c7ed}.vcd-login-brand h1{font-size:56px;margin:5px 0 8px}.vcd-login-brand p{font-size:18px;color:#d6d6d6}
.vcd-login-card{background:#fff;border-radius:18px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:8px}.vcd-login-card label{font-size:13px;font-weight:700;margin-top:7px}.vcd-login-card input[type=email],.vcd-login-card input[type=password]{border:1px solid #cfd6db;border-radius:9px;padding:11px 12px}.vcd-login-card .vcd-btn{margin-top:12px}.vcd-login-help{text-align:center;font-size:13px;margin-top:8px}
@media(max-width:1100px){.vcd-kpis{grid-template-columns:repeat(3,1fr)}.vcd-grid--sidebar{grid-template-columns:1fr}}
@media(max-width:820px){
 .vcd-app{grid-template-columns:1fr}.vcd-sidebar{position:fixed;left:-270px;width:250px;transition:left .2s}.vcd-nav-open .vcd-sidebar{left:0}.vcd-menu-toggle{display:block}.vcd-content{padding:22px}.vcd-grid--2{grid-template-columns:1fr}.vcd-kpis{grid-template-columns:repeat(2,1fr)}
 .vcd-login{grid-template-columns:1fr;max-width:440px}.vcd-login-brand{display:none}.vcd-message{max-width:94%}
}
@media(max-width:520px){.vcd-content{padding:16px}.vcd-pagehead{flex-direction:column}.vcd-kpis{grid-template-columns:1fr}.vcd-user span{display:none}.vcd-login-card{padding:22px}}


/* === V0.3 — Application métier front === */
:root{
  --vcd-blue:#0088C6;
  --vcd-coral:#F07F64;
  --vcd-dark:#231F20;
  --vcd-light:#F1F1F2;
  --vcd-red:#B42318;
  --vcd-green:#18744F;
  --vcd-amber:#9A6700;
}
.vcd-logo{flex-direction:row;align-items:center;gap:11px;padding:4px 8px 22px}
.vcd-logo img{width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid rgba(255,255,255,.18)}
.vcd-logo span{font-size:22px;margin:0}
.vcd-login-logo{width:124px;height:114px;object-fit:contain;background:#fff;border-radius:18px;padding:9px;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.vcd-topbar{gap:22px}
.vcd-global-search{flex:1;max-width:720px;position:relative;display:flex;align-items:center;background:#F7F9FA;border:1px solid var(--vcd-border);border-radius:11px;overflow:hidden}
.vcd-global-search>span{padding-left:13px;color:var(--vcd-muted);font-size:20px}
.vcd-global-search input{flex:1;border:0;background:transparent;padding:10px 12px;outline:0;min-width:120px}
.vcd-global-search button{border:0;background:transparent;color:var(--vcd-blue);font-weight:800;padding:10px 14px;cursor:pointer}
.vcd-filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--vcd-border);border-radius:13px;padding:12px;margin-bottom:18px;box-shadow:var(--vcd-shadow)}
.vcd-filterbar input[type=search]{flex:1;min-width:250px;border:1px solid #CDD5DB;border-radius:9px;padding:10px 12px;min-height:42px}
.vcd-filterbar select{border:1px solid #CDD5DB;border-radius:9px;padding:9px 34px 9px 11px;background:#fff;min-height:42px}
.vcd-link-reset{font-size:13px;font-weight:700;color:var(--vcd-muted)}
.vcd-link-action{font-weight:800}
.vcd-empty-cell{text-align:center!important;color:var(--vcd-muted);padding:30px!important}
.vcd-btn.is-active{border-color:var(--vcd-blue);background:#EAF7FC;color:#006D9E}
.vcd-btn--danger{background:#B42318;border-color:#B42318;color:#fff}
.vcd-btn--danger:hover{background:#8E1B12;color:#fff}
.vcd-btn--danger-outline{border-color:#E3A6A0;color:#9E2C23;background:#fff}
.vcd-btn--danger-outline:hover{background:#FFF3F2;border-color:#D86F64}
.vcd-inline-form{display:inline-flex;margin:0}
.vcd-secondary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.vcd-help{font-size:12px;color:var(--vcd-muted);margin:10px 0 0}
.vcd-view-switch{display:flex;gap:8px}

/* Modale de confirmation */
.vcd-modal-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(35,31,32,.58);display:grid;place-items:center;padding:20px;backdrop-filter:blur(2px)}
.vcd-modal-backdrop[hidden]{display:none}
.vcd-modal{width:min(460px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 30px 90px rgba(0,0,0,.28);text-align:center}
.vcd-modal-icon{width:48px;height:48px;border-radius:50%;background:#FFF0EC;color:#B42318;display:grid;place-items:center;font-size:26px;font-weight:900;margin:0 auto 13px}
.vcd-modal h2{margin:0 0 8px}.vcd-modal p{color:var(--vcd-muted);line-height:1.55;margin:0 0 20px}
.vcd-modal-actions{display:flex;justify-content:center;gap:10px}

/* Autocomplétion */
.vcd-autocomplete{position:relative}
.vcd-autocomplete-list{position:absolute;left:0;right:0;top:calc(100% - 4px);z-index:80;background:#fff;border:1px solid #C9D3D9;border-radius:10px;box-shadow:0 16px 45px rgba(35,31,32,.15);max-height:300px;overflow:auto;padding:5px}
.vcd-autocomplete-list[hidden]{display:none}
.vcd-autocomplete-option{width:100%;border:0;background:#fff;border-radius:7px;text-align:left;padding:9px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.vcd-autocomplete-option:hover,.vcd-autocomplete-option:focus{background:#EEF8FC;outline:0}
.vcd-autocomplete-option small,.vcd-autocomplete-empty{color:var(--vcd-muted);font-size:11px}
.vcd-autocomplete-empty{padding:11px}

/* Priorités et métadonnées */
.vcd-priority{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900;background:#EDF0F2;color:#53606A}
.vcd-priority--high{background:#FFF3D8;color:#855F00}
.vcd-priority--urgent{background:#FFE8E4;color:#A12A20}
.vcd-priority--low{background:#EAF7FC;color:#006F9F}
.vcd-due-inline{display:inline-block;margin-top:4px;font-size:11px;font-weight:800;color:#A12A20}
.vcd-ticket-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:13px}.vcd-ticket-meta>span:not(.vcd-badge):not(.vcd-priority){font-size:11px;color:var(--vcd-muted)}
.vcd-sticky-card{position:sticky;top:86px}.vcd-sticky-card hr{border:0;border-top:1px solid var(--vcd-border);margin:20px 0}

/* Kanban */
.vcd-kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(265px,1fr);gap:14px;overflow-x:auto;padding-bottom:12px;align-items:start}
.vcd-kanban-col{min-height:530px;background:#EEF1F3;border:1px solid #E0E5E8;border-radius:14px;padding:10px;transition:.15s ease}
.vcd-kanban-col.is-over{background:#E5F6FD;border-color:var(--vcd-blue);box-shadow:inset 0 0 0 2px rgba(0,136,198,.08)}
.vcd-kanban-col>header{display:flex;align-items:center;justify-content:space-between;padding:5px 5px 10px;font-size:13px}
.vcd-kanban-col>header span{background:#fff;border-radius:999px;min-width:25px;height:25px;display:grid;place-items:center;font-size:11px;color:var(--vcd-muted)}
.vcd-kanban-dropzone{min-height:460px;display:flex;flex-direction:column;gap:9px}
.vcd-ticket-card{background:#fff;border:1px solid #E1E6E9;border-radius:11px;box-shadow:0 3px 10px rgba(35,31,32,.05);cursor:grab;transition:transform .15s,box-shadow .15s}
.vcd-ticket-card:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(35,31,32,.09)}
.vcd-ticket-card.is-dragging{cursor:grabbing}
.vcd-ticket-card a{display:flex;flex-direction:column;gap:7px;padding:12px;color:var(--vcd-dark);text-decoration:none}
.vcd-ticket-card__top{display:flex;justify-content:space-between;align-items:center}.vcd-ticket-card__top>span:first-child{font-size:11px;color:var(--vcd-muted);font-weight:800}
.vcd-ticket-card small,.vcd-ticket-card time{color:var(--vcd-muted);font-size:11px}.vcd-ticket-card time{padding-top:4px;border-top:1px solid #EFF1F2}

/* Échéances très visuelles */
.vcd-deadline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.vcd-deadline-card{background:#fff;border:1px solid var(--vcd-border);border-left:5px solid #B8C2C8;border-radius:14px;box-shadow:var(--vcd-shadow);overflow:hidden}
.vcd-deadline-card--soon{border-left-color:var(--vcd-blue)}
.vcd-deadline-card--urgent{border-left-color:#E8A900}
.vcd-deadline-card--late{border-left-color:#C43D32;background:#FFFDFC}
.vcd-deadline-card>a{display:grid;grid-template-columns:76px 1fr;gap:4px;color:var(--vcd-dark);text-decoration:none;padding:13px}
.vcd-deadline-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #EEF0F2;text-transform:uppercase}
.vcd-deadline-date strong{font-size:28px;line-height:1}.vcd-deadline-date span{font-size:11px;color:var(--vcd-muted);margin-top:5px}
.vcd-deadline-body{padding-left:11px}.vcd-deadline-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.vcd-deadline-top b{font-size:11px;color:var(--vcd-muted)}.vcd-deadline-card--urgent .vcd-deadline-top b{color:#946500}.vcd-deadline-card--late .vcd-deadline-top b{color:#A12A20}
.vcd-deadline-body h3{font-size:16px;margin:8px 0 4px}.vcd-deadline-body p{margin:0 0 5px;color:#4D565C;font-size:13px}.vcd-deadline-body small{color:var(--vcd-muted)}
.vcd-type-chip{font-size:10px;font-weight:900;background:#F0F4F6;border-radius:999px;padding:4px 7px;color:#56636A}

/* Calendrier */
.vcd-calendar-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 16px}.vcd-calendar-toolbar h2{margin:0 4px;min-width:180px;text-align:center;font-size:19px}
.vcd-calendar{background:#fff;border:1px solid var(--vcd-border);border-radius:15px;overflow:hidden;box-shadow:var(--vcd-shadow)}
.vcd-calendar-weekdays,.vcd-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.vcd-calendar-weekdays{background:#F7F9FA;border-bottom:1px solid var(--vcd-border)}
.vcd-calendar-weekdays div{text-align:center;padding:10px;font-size:11px;font-weight:900;color:var(--vcd-muted);text-transform:uppercase}
.vcd-calendar-day{min-height:145px;border-right:1px solid #ECEFF1;border-bottom:1px solid #ECEFF1;padding:7px;background:#fff;min-width:0}
.vcd-calendar-day:nth-child(7n){border-right:0}.vcd-calendar-day.is-empty{background:#FAFBFC}.vcd-calendar-day.is-weekend{background:#FCFCFD}
.vcd-calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--vcd-blue);background:#F7FCFE}
.vcd-calendar-number{font-size:12px;font-weight:900;color:#626C72;margin-bottom:6px}.vcd-calendar-day.is-today .vcd-calendar-number{color:var(--vcd-blue)}
.vcd-calendar-events{display:flex;flex-direction:column;gap:4px}
.vcd-calendar-event{display:block;border-radius:6px;padding:5px 6px;font-size:10px;line-height:1.25;color:#28434F;background:#EAF7FC;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vcd-calendar-event span{display:block;font-size:8px;text-transform:uppercase;font-weight:900;opacity:.7}
.vcd-calendar-event--due{background:#FFF4DA;color:#6F5100}.vcd-calendar-event--deadline{background:#FFEDEA;color:#842D25}

/* Rétroplanning */
.vcd-retro-wrap{overflow:auto;background:#fff;border:1px solid var(--vcd-border);border-radius:15px;box-shadow:var(--vcd-shadow)}
.vcd-retro{min-width:1100px}
.vcd-retro-header,.vcd-retro-row{display:grid;grid-template-columns:270px minmax(0,1fr);border-bottom:1px solid #EDF0F2}
.vcd-retro-header{position:sticky;top:0;background:#F8FAFB;z-index:4}
.vcd-retro-label{padding:10px 12px;border-right:1px solid #EDF0F2;min-width:0}
.vcd-retro-label a{display:flex;flex-direction:column;color:var(--vcd-dark);text-decoration:none}.vcd-retro-label small{color:var(--vcd-muted);font-size:10px;margin-top:2px}
.vcd-retro-days{display:grid;grid-template-columns:repeat(var(--vcd-days),minmax(28px,1fr))}
.vcd-retro-header .vcd-retro-days span{text-align:center;padding:10px 0;font-size:10px;color:var(--vcd-muted);border-right:1px solid #EFF1F3}
.vcd-retro-header .vcd-retro-days span.is-weekend{background:#F2F4F5}
.vcd-retro-track{position:relative;align-items:center;background:repeating-linear-gradient(to right,transparent 0,transparent calc((100% / var(--vcd-days)) - 1px),#EFF1F3 calc((100% / var(--vcd-days)) - 1px),#EFF1F3 calc(100% / var(--vcd-days)));padding:6px 0;min-height:44px}
.vcd-retro-bar{align-self:center;z-index:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--vcd-blue);color:#fff;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:800;text-decoration:none;margin:0 2px}
.vcd-retro-bar--urgent{background:#C43D32}.vcd-retro-bar--high{background:#D89B00}.vcd-retro-bar--low{background:#72B9D6}
.vcd-retro-milestone{align-self:center;justify-self:center;color:var(--vcd-coral);font-size:19px;text-decoration:none;z-index:3}

/* Recherche globale */
.vcd-search-summary{background:#EAF7FC;color:#135F7E;border-radius:11px;padding:11px 14px;margin-bottom:18px}
.vcd-search-result{display:flex;flex-direction:column;gap:2px;padding:10px 2px;border-bottom:1px solid #EEF0F2;color:var(--vcd-dark)}
.vcd-search-result:last-child{border-bottom:0}.vcd-search-result small{color:var(--vcd-muted)}
.vcd-count{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#EFF3F5;color:#66727A;font-size:11px;margin-left:5px}

/* Toasts */
.vcd-toast-stack{position:fixed;right:20px;bottom:20px;z-index:10000;display:flex;flex-direction:column;gap:8px}
.vcd-toast{background:#1F2930;color:#fff;padding:11px 14px;border-radius:9px;box-shadow:0 12px 35px rgba(0,0,0,.2);transform:translateY(10px);opacity:0;transition:.2s;max-width:360px;font-size:13px}
.vcd-toast.is-visible{transform:translateY(0);opacity:1}.vcd-toast--error{background:#A12A20}

@media(max-width:1100px){
  .vcd-deadline-grid{grid-template-columns:1fr}
  .vcd-global-search{max-width:none}
}
@media(max-width:820px){
  .vcd-topbar{padding:0 14px}.vcd-global-search button{display:none}.vcd-user{gap:8px}
  .vcd-kanban{grid-auto-columns:82vw}
  .vcd-calendar{overflow:auto}.vcd-calendar-weekdays,.vcd-calendar-grid{min-width:760px}.vcd-calendar-day{min-height:120px}
}
@media(max-width:560px){
  .vcd-filterbar{align-items:stretch}.vcd-filterbar>*{width:100%}.vcd-filterbar input[type=search]{min-width:0}
  .vcd-deadline-card>a{grid-template-columns:60px 1fr}.vcd-deadline-date strong{font-size:23px}
  .vcd-global-search{display:none}
}

.vcd-row-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.vcd-list-row.is-overdue{border-left:4px solid #C43D32;padding-left:10px;background:#FFF9F8}
.vcd-list-row.is-overdue small{color:#9E2C23;font-weight:700}

.vcd-kpi--attention{border-top:4px solid var(--vcd-blue)}.vcd-kpi--danger{border-top:4px solid #C43D32;background:#FFFDFC}.vcd-kpi--danger strong{color:#A12A20}
.vcd-dashboard-priority{margin-bottom:22px}.vcd-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 11px}.vcd-section-title h2{margin:0 0 3px;font-size:18px}.vcd-section-title p{margin:0;color:var(--vcd-muted);font-size:12px}.vcd-section-title>a{font-size:12px;font-weight:800}
.vcd-deadline-grid--dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}.vcd-deadline-grid--dashboard .vcd-deadline-card>a{grid-template-columns:58px 1fr}.vcd-deadline-grid--dashboard .vcd-deadline-date strong{font-size:22px}.vcd-deadline-grid--dashboard .vcd-deadline-body h3{font-size:14px}
@media(max-width:1300px){.vcd-deadline-grid--dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vcd-deadline-grid--dashboard{grid-template-columns:1fr}.vcd-section-title{align-items:flex-start;flex-direction:column}}

.vcd-inline-audit{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.vcd-inline-audit .vcd-field{margin:0;min-width:300px;flex:1}.vcd-score{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;background:#EEF2F4}.vcd-score--good{background:#E5F7EE;color:#18744F}.vcd-score--medium{background:#FFF2D5;color:#825F00}.vcd-score--bad{background:#FFE9E6;color:#A12A20}

.vcd-planning-filters{align-items:end}.vcd-planning-filters .vcd-field{margin:0;min-width:240px;flex:1}

.vcd-filterbar .vcd-field{margin:0;min-width:210px;flex:0 1 260px}


/* === V0.4 — Prospection, maintenance prioritaire et historique === */
.vcd-maintenance-banner,.vcd-prospect-alert,.vcd-lost-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:13px;margin-bottom:18px;border:1px solid var(--vcd-border);box-shadow:var(--vcd-shadow)}
.vcd-maintenance-banner{background:#EAF7FC;border-color:#B9E3F4;color:#075E82}
.vcd-maintenance-banner strong{font-size:15px}.vcd-maintenance-banner span{font-size:13px}
.vcd-prospect-alert{background:#FFF7E8;border-color:#F4D898;color:#805A00}
.vcd-lost-banner{background:#FFF2F0;border-color:#F1C3BC;color:#8E2D22}
.vcd-maintenance-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#E7F6FC;color:#006D9E;font-size:11px;font-weight:900;white-space:nowrap}
.vcd-row--maintenance{background:linear-gradient(90deg,rgba(0,136,198,.075),transparent 48%)}
.vcd-row--lost{opacity:.68;background:#FBF6F5}
.vcd-row--followup{background:#FFF9EC}
.vcd-text-danger{color:#B42318;font-size:11px;margin-left:6px}
.vcd-quicklinks{display:flex;gap:8px;flex-wrap:wrap}.vcd-quicklinks a{display:inline-flex;padding:5px 8px;border:1px solid #CFE7F1;border-radius:7px;background:#F2FAFD;font-size:12px;font-weight:800}
.vcd-ticket-card--maintenance{border-color:#8FD1EA!important;box-shadow:0 0 0 2px rgba(0,136,198,.08),var(--vcd-shadow)!important}
.vcd-ticket-card--maintenance>a{background:linear-gradient(180deg,#F4FBFE 0%,#fff 55%)}
.vcd-stage-chip{display:inline-flex;border-radius:999px;padding:5px 8px;background:#EEF2F4;color:#48515A;font-size:11px;font-weight:900}
.vcd-stage-chip--followup{background:#FFF2CB;color:#765600}.vcd-stage-chip--lost{background:#FBE9E6;color:#8E2D22}.vcd-stage-chip--won{background:#E7F7EF;color:#176C4B}

/* Pipeline horizontal : volontairement dense et scrollable comme un vrai CRM. */
.vcd-prospect-kanban{display:grid;grid-template-columns:repeat(9,minmax(245px,1fr));gap:13px;overflow-x:auto;padding:2px 2px 16px;align-items:start}
.vcd-prospect-col{background:#EEF1F3;border:1px solid #DDE3E7;border-radius:14px;min-height:320px;overflow:hidden}
.vcd-prospect-col>header{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-bottom:1px solid #DDE3E7;background:#F8FAFB}
.vcd-prospect-col>header strong{font-size:13px}.vcd-prospect-col>header span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#fff;color:var(--vcd-muted);font-size:11px;font-weight:900}
.vcd-prospect-col.is-over{outline:2px solid var(--vcd-blue);outline-offset:-2px}
.vcd-prospect-dropzone{min-height:265px;padding:9px;display:flex;flex-direction:column;gap:9px}
.vcd-prospect-card{background:#fff;border:1px solid #D9E0E4;border-radius:11px;box-shadow:0 4px 14px rgba(35,31,32,.06);cursor:grab}
.vcd-prospect-card.is-followup{border-color:#E9C45F;box-shadow:0 0 0 2px rgba(233,196,95,.13)}
.vcd-prospect-card a{display:flex;flex-direction:column;gap:7px;padding:12px;color:var(--vcd-dark);text-decoration:none}
.vcd-prospect-card strong{font-size:13px;line-height:1.35}.vcd-prospect-card small,.vcd-prospect-card time{font-size:11px;color:var(--vcd-muted)}
.vcd-prospect-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.vcd-prospect-card__top span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--vcd-muted);font-weight:800}.vcd-prospect-card__top b{font-size:10px;border-radius:999px;padding:3px 6px;background:#FFF0C2;color:#745600}

/* Historique */
.vcd-filterbar--history input[type=date]{border:1px solid #CDD5DB;border-radius:9px;padding:9px 10px;min-height:42px;background:#fff}
.vcd-timeline{display:flex;flex-direction:column}
.vcd-timeline-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid #EEF1F3;position:relative}
.vcd-timeline-item:last-child{border-bottom:0}.vcd-timeline-item>time{font-size:12px;color:var(--vcd-muted);font-variant-numeric:tabular-nums}
.vcd-timeline-item strong{font-size:14px}.vcd-timeline-item p{margin:4px 0 4px;line-height:1.45}.vcd-timeline-item small{color:var(--vcd-muted)}
.vcd-timeline-item details{margin-top:8px}.vcd-timeline-item summary{cursor:pointer;color:var(--vcd-blue);font-size:12px;font-weight:800}.vcd-timeline-item pre{white-space:pre-wrap;overflow:auto;background:#F6F8F9;border:1px solid #E5E9EC;border-radius:9px;padding:10px;font-size:11px;line-height:1.45}
.vcd-history-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.vcd-type-chip{display:inline-flex;border-radius:999px;padding:4px 8px;background:#EEF4F6;color:#4C5960;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}

/* Zone clients prioritaires du tableau de bord */
.vcd-maintenance-priority{margin-bottom:24px}.vcd-maintenance-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vcd-maintenance-client-card{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid #BDE3F1;border-left:5px solid var(--vcd-blue);border-radius:13px;background:#F5FBFE;color:var(--vcd-dark);box-shadow:var(--vcd-shadow)}
.vcd-maintenance-client-card:hover{text-decoration:none;background:#EFF9FD}.vcd-maintenance-client-card>strong{font-size:15px}.vcd-maintenance-client-card>span{font-size:12px;color:var(--vcd-muted)}
.vcd-maintenance-client-card footer{display:flex;gap:8px;margin-top:3px}.vcd-maintenance-client-card footer b{font-size:11px;padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #D4EAF3}

@media(max-width:1100px){.vcd-maintenance-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.vcd-maintenance-priority-grid{grid-template-columns:1fr}.vcd-timeline-item{grid-template-columns:1fr;gap:6px}.vcd-maintenance-banner,.vcd-prospect-alert,.vcd-lost-banner{align-items:flex-start;flex-direction:column}}

.vcd-kpi--maintenance{border-color:#A8DDF1;background:linear-gradient(145deg,#F4FBFE,#fff)}.vcd-kpi--maintenance strong{color:var(--vcd-blue)}
