/* Affectation commerciale — démonstration locale TimeTrack. */
.ca-dialog,.ca-registry-dialog{
  --ca-ink:#49315f;--ca-muted:#897498;--ca-line:#e8dff0;
  --ca-iris:#7751ca;--ca-pale:#f7f3fd;--ca-green:#4a8b75;
  width:min(1150px,calc(100vw - 40px));max-width:none;
  padding:25px;color:var(--ca-ink);font:450 13px/1.65 Manrope,Arial,sans-serif;
  scrollbar-width:thin;scrollbar-color:#d5c4e8 transparent;
}
.ca-dialog::backdrop,.ca-registry-dialog::backdrop{background:#28163d75;backdrop-filter:blur(8px)}
.ca-dialog .dialog-head,.ca-registry-dialog .dialog-head{margin-bottom:18px}
.ca-dialog .dialog-head h2,.ca-registry-dialog .dialog-head h2{font-size:23px;color:#513665;letter-spacing:-.65px;line-height:1.35}
.ca-dialog .dialog-body,.ca-registry-dialog .dialog-body{font-size:12px;min-width:0}
.ca-dialog .dialog-foot,.ca-registry-dialog .dialog-foot{position:relative;background:#fff;border-color:var(--ca-line);margin-top:20px;padding-top:17px}
.ca-dialog h3,.ca-registry-dialog h3{color:#614278;font-size:14px;line-height:1.45;letter-spacing:-.2px;margin:0}
.ca-dialog h4,.ca-registry-dialog h4{color:#6b4c80;font-size:12px;line-height:1.5;margin:0 0 6px}
.ca-dialog p,.ca-registry-dialog p{margin:7px 0;color:var(--ca-muted);font-size:12px;line-height:1.75}
.ca-dialog label,.ca-registry-dialog label{display:block;min-width:0;color:#80618f;font-size:12px}
.ca-dialog label>span:first-child,.ca-registry-dialog label>span:first-child{display:block;margin-bottom:5px}
.ca-dialog input,.ca-dialog select,.ca-registry-dialog input,.ca-registry-dialog select{font:inherit;color:#755487;border-color:#e4d9ed;min-height:38px}
.ca-dialog input:focus-visible,.ca-dialog select:focus-visible,.ca-registry-dialog input:focus-visible,.ca-registry-dialog select:focus-visible{outline:2px solid #af8ee1;outline-offset:2px}
.ca-dialog input:disabled,.ca-dialog select:disabled{background-color:#f8f5fa;color:#a18bac;opacity:1}
.ca-dialog .button,.ca-registry-dialog .button{font-size:12px;line-height:1.4}
.ca-dialog .button:disabled,.ca-registry-dialog .button:disabled{opacity:.45;cursor:not-allowed}
.ca-dialog [hidden],.ca-registry-dialog [hidden]{display:none!important}
.ca-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start;min-width:0}
.ca-main{min-width:0;display:grid;gap:18px}
.ca-section{min-width:0;border:1px solid var(--ca-line);background:#fff;border-radius:12px;padding:18px}
.ca-step{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}
.ca-step>span:first-child{display:grid;place-items:center;flex:none;width:28px;height:29px;border:1px solid #e4d8f4;border-radius:8px;background:#f3ecfc;color:#9972bd;font-size:12px;font-weight:750}
.ca-step>div{min-width:0;flex:1}
.ca-step h3{font-size:14px;margin:2px 0 0}
.ca-step p{font-size:11px;margin:3px 0 0;color:#a08bac;line-height:1.65}
.ca-contract{padding:17px 18px;background:linear-gradient(130deg,#fbf8ff,#fff);border:1px solid #e2d5f1;border-radius:12px;margin-bottom:18px;min-width:0}
.ca-contract-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.ca-contract-head h3{font-size:14px}
.ca-contract-head .badge{flex:none;font-size:10px}
.ca-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 24px;margin:0}
.ca-facts>div{display:block;min-width:0}
.ca-facts dt{color:#a18aad;font-size:10px;font-weight:550;line-height:1.5;margin-bottom:3px}
.ca-facts dd{font-size:12px;font-weight:650;line-height:1.6;color:#755487;margin:0;overflow-wrap:anywhere}
.ca-facts dl{margin:0}
.ca-notice,.ca-demo,.ca-error,.ca-save-note{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:11px 13px;border:1px solid #e9e0f3;border-radius:9px;font-size:11px;line-height:1.75;color:#9273a7;background:#faf6ff;margin:12px 0}
.ca-notice>svg,.ca-demo>svg,.ca-error>svg,.ca-save-note>svg{width:15px;height:15px;flex:none;margin-top:2px}
.ca-notice>div,.ca-demo>div,.ca-error>div,.ca-save-note>div{min-width:0}
.ca-notice p,.ca-demo p,.ca-error p,.ca-save-note p{font-size:11px;margin:0;color:inherit}
.ca-demo{color:#a18bac;background:#fcfaff;border-color:#eee6f4;font-size:10px;margin:0 0 17px}
.ca-save-note{color:#638d7a;border-color:#dcece3;background:#f5faf7}
.ca-error{color:#af5d70;border-color:#edd5dd;background:#fff6f8;font-weight:550}
.ca-tasks-wrap{max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#d7c5e8 #faf7fd;border:1px solid #e9e0f2;border-radius:9px}
.ca-tasks{table-layout:fixed;width:100%;min-width:620px;border-collapse:collapse}
.ca-tasks th{font-size:10px;color:#a18bb0;font-weight:650;white-space:nowrap;background:#fbf8fe;padding:11px 10px;border-color:#ece3f3}
.ca-tasks td{padding:12px 10px;border-color:#efe8f5;font-size:11px;color:#896b9a;vertical-align:middle}
.ca-tasks th:first-child,.ca-tasks td:first-child{padding-left:12px;width:33%}
.ca-tasks th:nth-child(2),.ca-tasks td:nth-child(2){width:14%}
.ca-tasks th:nth-child(3),.ca-tasks td:nth-child(3){width:19%}
.ca-tasks th:last-child,.ca-tasks td:last-child{width:34%}
.ca-tasks tr:last-child td{border-bottom:0}
.ca-tasks input[type=number]{width:70px;padding:7px 8px;min-height:35px;max-width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.ca-tasks select{min-height:35px;padding:8px 28px 8px 9px!important;background-position:right 6px center;font-size:11px}
.ca-row-label strong{display:block;color:#79588d;font-size:12px;line-height:1.5}
.ca-row-label small{display:block;color:#b09abf;font-size:10px;margin-top:3px;line-height:1.5}
.ca-frequency{display:inline-flex;align-items:center;gap:4px;color:#9a7fb1;background:#f5effb;border:1px solid #eadef4;border-radius:5px;padding:2px 6px;font-size:9px;font-weight:600;line-height:1.5;white-space:normal}
.ca-months{display:flex;gap:6px;flex-wrap:wrap;padding:4px;background:#f8f5fc;border:1px solid #eee5f5;border-radius:9px;margin:0 0 14px}
.ca-months button{flex:1;min-height:33px;padding:7px 10px;border:1px solid transparent;border-radius:6px;background:none;color:#a18ab0;font:600 11px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
.ca-months button.selected,.ca-months button[aria-pressed=true]{border-color:#e3d6f3;background:#fff;color:#8860ad;box-shadow:0 2px 7px #69439509}
.ca-capacity-card{padding:14px 15px;border:1px solid #e8dff0;border-radius:10px;background:#fff;min-width:0;margin-top:10px}
.ca-capacity-card:first-of-type{margin-top:0}
.ca-capacity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.ca-capacity-head>span{min-width:0;color:#836295;font-size:12px;font-weight:650;line-height:1.55}
.ca-capacity-head small{display:block;font-size:10px;color:#b09bc0;font-weight:450;margin-top:2px}
.ca-capacity-head>strong{color:#9673b1;font-size:12px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.6}
.ca-meter{position:relative;display:flex;width:100%;height:8px;overflow:hidden;isolation:isolate;border-radius:9px;background:#f0eaf6;border:0}
.ca-meter .ca-base{display:block;height:100%;max-width:100%;flex:none;background:#c5b0dc;transition:width .25s ease}
.ca-meter .ca-added{display:block;height:100%;max-width:100%;flex:0 1 auto;background:linear-gradient(90deg,#a17bd4,#8055be);transition:width .25s ease}
.ca-capacity-foot{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;margin-top:9px;font-size:10px;color:#a18aaf;line-height:1.65}
.ca-capacity-foot strong{color:#9473a5;font-size:10px;font-weight:650}
.ca-overloaded{border-color:#efd5de;background:#fffafb}
.ca-overloaded .ca-capacity-head>strong,.ca-overloaded .ca-capacity-foot strong{color:#b36e83}
.ca-overloaded .ca-added{background:linear-gradient(90deg,#d49aab,#be748c)}
.ca-recommended{border-color:#d9e9df;background:#fbfdfb;box-shadow:0 0 0 2px #5a947504}
.ca-recommended .ca-capacity-head>strong{color:#6b9a80}
.ca-recommended .ca-added{background:linear-gradient(90deg,#9bc5af,#79aa91)}
.ca-summary{position:sticky;top:0;min-width:0;padding:18px;border:1px solid #e3d6f0;border-radius:12px;background:linear-gradient(150deg,#fbf8ff,#fff 60%);box-shadow:0 7px 25px #5f3b7d05}
.ca-summary h3{font-size:14px;margin:0 0 14px}
.ca-summary h4{font-size:11px;margin:16px 0 8px}
.ca-price{display:block;color:#785494;font-size:27px;line-height:1.25;font-weight:750;letter-spacing:-.65px;font-variant-numeric:tabular-nums;margin:4px 0 5px}
.ca-price small{font-size:11px;letter-spacing:0;font-weight:500;color:#ad94bf;margin-left:3px}
.ca-summary p{font-size:11px;color:#a18aae;margin:5px 0;line-height:1.7}
.ca-summary-row{display:flex;justify-content:space-between;gap:12px;margin:9px 0;color:#a086af;font-size:11px;line-height:1.6}
.ca-summary-row>span:first-child{flex:1;min-width:0}
.ca-summary-row>span:last-child,.ca-summary-row strong{font-weight:650;color:#80608f;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ca-summary hr{height:1px;border:0;background:#e9e0f2;margin:15px 0}
.ca-finance{padding:12px;background:#f6f1fc;border:1px solid #e9ddf4;border-radius:8px;margin-top:13px}
.ca-finance .ca-summary-row{margin:6px 0;font-size:10px}
.ca-finance-total{padding-top:10px;margin-top:10px!important;border-top:1px solid #e3d5ef;display:flex;justify-content:space-between;gap:10px;color:#87669c;font-size:11px;font-weight:650}
.ca-finance-total strong{color:#795392;font-size:18px;line-height:1.5;font-weight:750;font-variant-numeric:tabular-nums}
.ca-finance-total small{display:block;font-size:10px;color:#ae95bd;font-weight:450}
.ca-summary .ca-owners{margin-top:12px}
.ca-owners{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.ca-owners>span,.ca-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 8px;border:1px solid #dfebe3;border-radius:6px;background:#f1f8f4;color:#799b87;font-size:10px;font-weight:600;line-height:1.55;overflow-wrap:anywhere}
.ca-chip.neutral,.ca-chip.ca-neutral{border-color:#e9e0f1;background:#f7f3fb;color:#a187b2}
.ca-chip svg{width:12px;height:12px;flex:none}
.ca-success{text-align:center;max-width:700px;margin:0 auto;padding:7px 10px 19px}
.ca-success-icon{display:grid;place-items:center;width:50px;height:50px;border:1px solid #dcece2;border-radius:50%;background:#f0f8f3;color:#77a48a;margin:0 auto 13px;box-shadow:0 0 0 6px #f7fbf8}
.ca-success-icon svg{width:24px;height:24px}
.ca-success h3{font-size:20px;color:#78538c;line-height:1.45;letter-spacing:-.4px;margin:0 0 8px}
.ca-success p{font-size:12px;max-width:530px;margin:5px auto;color:#a18aad}
.ca-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:10px 0 16px}
.ca-result-card{min-width:0;padding:17px;border:1px solid #e7ddee;background:linear-gradient(145deg,#fdfbff,#fff);border-radius:10px}
.ca-result-card h4{font-size:12px;margin-bottom:9px}
.ca-result-card p{font-size:11px;line-height:1.75;margin:4px 0;color:#a28aaf}
.ca-result-card strong{color:#8c66a5;font-size:14px;font-weight:750;font-variant-numeric:tabular-nums}
.ca-result-card>svg{width:20px;height:20px;color:#ad8bc7;margin-bottom:9px}
.ca-registry-dialog{width:min(1100px,calc(100vw - 40px))}
.ca-registry-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:4px;background:#f8f4fc;border:1px solid #eae0f3;border-radius:9px;margin:0 0 18px}
.ca-registry-tabs button{flex:1;min-height:36px;padding:8px 12px;border:1px solid transparent;border-radius:6px;background:none;font:650 12px/1.5 Manrope,Arial,sans-serif;color:#a087b0;cursor:pointer}
.ca-registry-tabs button.selected,.ca-registry-tabs button[aria-selected=true]{color:#8962aa;border-color:#e6d8f3;background:#fff;box-shadow:0 2px 9px #7c4aa509}
.ca-registry-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.ca-registry-kpis>div,.ca-registry-kpis>article{padding:14px 16px;border:1px solid #e7ddee;background:#fcfaff;border-radius:10px;min-width:0}
.ca-registry-kpis strong{display:block;color:#8961a5;font-size:23px;letter-spacing:-.5px;line-height:1.35;font-variant-numeric:tabular-nums}
.ca-registry-kpis span,.ca-registry-kpis small{display:block;color:#a68bb6;font-size:11px;line-height:1.6;margin-top:3px}
.ca-registry-table{max-width:100%;overflow-x:auto;border:1px solid #e8def1;border-radius:10px;scrollbar-width:thin;scrollbar-color:#d7c5e8 transparent;overscroll-behavior-x:contain}
.ca-registry-table table{width:100%;min-width:680px;table-layout:auto}
.ca-registry-table th{font-size:10px;color:#a48ab4;white-space:nowrap;padding:12px 13px;background:#faf7fe;border-color:#eae0f2}
.ca-registry-table td{padding:13px;color:#9676a7;border-color:#eee5f5;font-size:12px;line-height:1.65;vertical-align:middle;font-variant-numeric:tabular-nums}
.ca-registry-table th:first-child,.ca-registry-table td:first-child{padding-left:16px}
.ca-registry-table tbody tr:last-child td{border-bottom:0}
.ca-registry-table strong{font-size:12px;color:#88619e}
.ca-registry-table small{display:block;font-size:10px;color:#b29bc0;line-height:1.6;margin-top:3px}
.ca-client-name strong,.ca-client-name small{display:block;overflow-wrap:anywhere}
.ca-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ca-person-card{min-width:0;padding:18px;border:1px solid #e7ddef;border-radius:11px;background:linear-gradient(145deg,#fdfbff,#fff)}
.ca-person-card h3{font-size:14px;margin:10px 0 3px}
.ca-person-card p{font-size:11px;color:#ae95ba;margin:4px 0}
.ca-avatar{display:grid;place-items:center;width:41px;height:42px;flex:none;border:1px solid #e6d7f3;border-radius:12px;background:linear-gradient(140deg,#f1e6fc,#fbf7ff);color:#a17bbd;font-size:13px;font-weight:750}
.ca-person-facts{display:grid;gap:8px;margin:15px 0;padding:13px 0;border-top:1px solid #eee5f4;border-bottom:1px solid #eee5f4}
.ca-person-facts>div{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#a48ab4}
.ca-person-facts dt,.ca-person-facts dd{margin:0;font-size:11px}
.ca-person-facts strong,.ca-person-facts dd{font-weight:650;color:#88649b;text-align:right;font-variant-numeric:tabular-nums}
.ca-portfolio-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:7px}
.ca-portfolio-list li{padding:9px 10px;border:1px solid #ede3f5;border-radius:7px;background:#fcf9ff;font-size:11px;color:#9b7baf;line-height:1.65}
.ca-portfolio-list li strong{display:block;font-size:11px;color:#9870ad}
.ca-portfolio-list li small{display:block;font-size:10px;color:#b9a2c7;margin-top:3px}
@media(max-width:1000px){
  .ca-dialog,.ca-registry-dialog{width:calc(100vw - 30px);padding:21px}
  .ca-layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px}
  .ca-summary{padding:15px}
  .ca-section{padding:15px}
  .ca-profile-grid{gap:10px}
  .ca-person-card{padding:14px}
}
@media(max-width:820px){
  .ca-layout{grid-template-columns:minmax(0,1fr)}
  .ca-summary{position:static}
  .ca-summary .ca-finance{max-width:none}
  .ca-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ca-result-grid{gap:10px}
}
@media(max-width:520px){
  .ca-dialog,.ca-registry-dialog{width:calc(100vw - 18px);padding:16px;max-height:94dvh;border-radius:13px}
  .ca-dialog .dialog-head,.ca-registry-dialog .dialog-head{gap:10px;margin-bottom:16px}
  .ca-dialog .dialog-head h2,.ca-registry-dialog .dialog-head h2{font-size:20px;letter-spacing:-.5px;line-height:1.4}
  .ca-dialog .dialog-head .eyebrow,.ca-registry-dialog .dialog-head .eyebrow{font-size:8px;letter-spacing:1px}
  .ca-dialog .dialog-body,.ca-registry-dialog .dialog-body{font-size:12px}
  .ca-dialog .dialog-foot,.ca-registry-dialog .dialog-foot{gap:8px;margin-top:16px;padding-top:14px}
  .ca-dialog .dialog-foot .button,.ca-registry-dialog .dialog-foot .button{min-width:100px;font-size:11px;min-height:40px;white-space:normal;padding:10px}
  .ca-layout,.ca-main{gap:13px}
  .ca-section{padding:13px;border-radius:10px}
  .ca-step{gap:9px;margin-bottom:12px}
  .ca-step>span:first-child{width:25px;height:27px;font-size:11px;border-radius:7px}
  .ca-step h3{font-size:13px}
  .ca-step p{font-size:10px}
  .ca-contract{padding:13px;margin-bottom:14px}
  .ca-contract-head{align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:12px}
  .ca-contract-head h3{font-size:13px}
  .ca-facts{gap:11px 12px}
  .ca-facts dt{font-size:9px}
  .ca-facts dd{font-size:11px}
  .ca-notice,.ca-error,.ca-save-note{font-size:10px;padding:10px;gap:7px}
  .ca-demo{font-size:9px;padding:9px 10px}
  .ca-months button{font-size:10px;padding:7px 8px;min-height:33px}
  .ca-capacity-card{padding:12px}
  .ca-capacity-head>span{font-size:11px}
  .ca-capacity-head>strong{font-size:11px}
  .ca-capacity-foot,.ca-capacity-foot strong{font-size:9px}
  .ca-capacity-foot{gap:4px 9px}
  .ca-summary{padding:15px}
  .ca-price{font-size:25px}
  .ca-success{padding:5px 0 12px}
  .ca-success h3{font-size:18px}
  .ca-success p{font-size:11px}
  .ca-result-grid,.ca-profile-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .ca-result-card{padding:14px}
  .ca-registry-tabs{gap:3px;margin-bottom:13px}
  .ca-registry-tabs button{font-size:10px;padding:8px 6px;min-height:35px}
  .ca-registry-kpis{gap:7px;margin-bottom:13px}
  .ca-registry-kpis>div,.ca-registry-kpis>article{padding:11px 9px;border-radius:8px}
  .ca-registry-kpis strong{font-size:19px}
  .ca-registry-kpis span,.ca-registry-kpis small{font-size:9px;line-height:1.55}
  .ca-person-card{padding:15px}
  .ca-registry-table{border-radius:8px}
}
@media(prefers-reduced-motion:reduce){.ca-meter .ca-base,.ca-meter .ca-added{transition:none}}
.ca-portfolio-task{display:block;font-size:10px;line-height:1.8;color:#a38caf;margin-top:5px}.ca-tasks td:nth-child(2)>small{display:block;font-size:10px;color:#a18bad;line-height:1.6;margin-top:3px}.ca-tasks td:nth-child(3){white-space:nowrap}.ca-tasks input[type=number]{display:inline-block!important;width:70px!important;max-width:calc(100% - 18px)}.ca-hour-unit{font-size:10px;white-space:nowrap}.ca-capacity-limit{display:block;font-size:10px;line-height:1.8;color:#aa93b9;margin-top:3px}.ca-meter-legend{display:flex;gap:17px;margin-bottom:12px;color:#9e86ae;font-size:10px}.ca-meter-legend span{display:flex;align-items:center;gap:6px}.ca-meter-legend i{width:8px;height:8px;border-radius:3px;background:#c5b0dc}.ca-meter-legend span:last-child i{background:#8b60c4}
.ca-review-count{border:1px solid #e6d8f4;background:#f8f3ff;padding:9px 12px;border-radius:8px;color:#84639f!important;font-size:11px!important;margin:0 0 12px!important}.ca-tasks .ca-task-review{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.ca-tasks .ca-task-review>input[type=checkbox]{width:16px;min-width:16px;height:16px;min-height:16px;margin:2px 0 0;padding:0;accent-color:#7043c8;cursor:pointer}.ca-tasks .ca-task-review>span{display:block;min-width:0;margin:0!important}.ca-task-reviewed{background:#fbfdfb}.ca-task-reviewed .ca-row-label strong{color:#4f8270}.ca-tasks .tt-select-button{font-size:11px!important}.ca-tasks .ca-row-label{width:34%}
.cm-table .cm-assign-trigger{display:inline-flex;gap:6px;align-items:center;justify-content:center;padding:7px 11px!important;min-height:33px!important;border:1px solid #dcc5a5!important;background:#fff7ea!important;color:#9c7337!important;font:650 11px/1.5 Manrope,Arial,sans-serif!important;border-radius:7px;cursor:pointer;box-shadow:0 2px 7px #9c733709}.cm-table .cm-assign-trigger:hover{background:#fff0d9!important;border-color:#c9a36b!important}.cm-table .cm-assign-trigger svg{width:14px;height:14px}.cm-table .cm-assign-trigger:focus-visible{outline:3px solid #c9b2e8;outline-offset:2px}
