:root{--blue:#1259ad;--navy:#0e1d38;--bg:#f3f6fb;--line:#dce4ef;--muted:#68758b;--green:#15803d;--red:#c02b2b;--amber:#b7791f;--violet:#6d4bc3;--white:#fff;--shadow:0 10px 30px rgba(15,35,65,.08)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--navy);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{padding-bottom:94px}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-view{min-height:100vh;padding:8vh 20px;display:grid;place-items:center}.auth-panel{max-width:540px;width:100%;background:#fff;border-radius:30px;padding:34px;box-shadow:var(--shadow)}.auth-logo{width:112px;height:112px;border-radius:26px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:12px}.auth-panel h1,.topbar h1{font-size:40px;line-height:1;margin:10px 0 20px}.auth-intro,.privacy-note{color:var(--muted);line-height:1.45}.loginbox{display:grid;gap:12px;margin:24px 0}.loginbox input,label input,label select,label textarea{width:100%;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff;color:var(--navy)}label{display:grid;gap:7px;font-size:13px;font-weight:700}.primary,.secondary,.danger,.text-button{border:0;border-radius:15px;padding:13px 16px;font-weight:800}.primary{background:var(--blue);color:white}.secondary{background:#eef3f9;color:var(--navy)}.danger{background:#fff0f0;color:var(--red)}.auth-error{color:var(--red);font-weight:700}.app-shell{max-width:980px;margin:auto;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:8px 0 18px}.topbar h1{font-size:28px;margin:4px 0}.version-tag{font-size:11px;vertical-align:middle;background:#e8f0ff;color:var(--blue);padding:5px 7px;border-radius:999px}.user-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.user-badge{font-size:12px;font-weight:800;background:#fff;border:1px solid var(--line);padding:8px 10px;border-radius:999px}.logout-button{border:0;background:transparent;color:var(--muted);font-weight:700}.year-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.year-card{background:white;border-radius:20px;padding:16px;box-shadow:var(--shadow);border:1px solid transparent;display:grid;gap:5px}.year-card small{font-weight:800;color:var(--muted)}.year-card strong{font-size:25px}.year-card span{font-size:12px;font-weight:800}.year-card.positive{border-color:#bce6c8;background:#f4fff7}.year-card.positive strong,.year-card.positive span{color:var(--green)}.year-card.negative{border-color:#f3c2c2;background:#fff7f7}.year-card.negative strong,.year-card.negative span{color:var(--red)}.year-card.featured{box-shadow:0 12px 32px rgba(18,89,173,.14)}.quick-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.quick-card{background:white;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:5px}.quick-card span,.quick-card small{color:var(--muted);font-size:12px}.quick-card strong{font-size:20px}.progress-track{height:7px;border-radius:99px;background:#edf1f6;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:var(--blue);border-radius:99px}.controls{display:grid;gap:10px;margin:18px 0}.searchbox{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:4px 14px}.searchbox input{border:0;outline:0;padding:12px 0;width:100%;font-size:16px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-row select{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 12px}.section-heading h2,.section-heading h3{margin:3px 0}.section-heading.compact{margin:0 0 8px}.count-badge{background:var(--navy);color:#fff;border-radius:999px;padding:7px 10px;font-weight:800}.family-shortcuts{display:flex;gap:8px;overflow:auto;padding-bottom:5px}.family-chip{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:800;color:var(--navy)}.family-chip.active{background:var(--navy);color:#fff}.client-list{display:grid;gap:13px}.client-card{background:#fff;border-radius:22px;padding:16px;box-shadow:var(--shadow);border:1px solid #edf0f5}.client-head{display:flex;align-items:center;gap:12px}.brand-logo-box{width:72px;height:58px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.brand-logo-box img{max-width:62px;max-height:42px;object-fit:contain}.brand-logo-box .brand-fallback{font-size:26px}.client-title{min-width:0;flex:1}.client-title h3{margin:0;font-size:18px}.client-title p{margin:5px 0 0;color:var(--muted);font-size:13px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:#eef3f9}.chip.pending{background:#fff5d9;color:#8b6200}.chip.alert{background:#fff0f0;color:var(--red)}.mini-years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.mini-year{padding:10px;border-radius:14px;background:#f8fafc;border:1px solid #edf1f6}.mini-year small{display:block;color:var(--muted);font-size:10px;font-weight:800}.mini-year strong{display:block;margin-top:4px;font-size:15px}.mini-year.positive strong{color:var(--green)}.mini-year.negative strong{color:var(--red)}.sparkline-wrap{display:flex;align-items:center;gap:12px;margin-top:10px}.sparkline{width:120px;height:36px}.sparkline polyline{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.card-trends{display:flex;gap:8px;flex-wrap:wrap;flex:1}.trend-pill{font-size:11px;font-weight:800;border-radius:999px;padding:7px 9px;background:#eef3f9}.trend-pill.positive{color:var(--green);background:#ebf9ef}.trend-pill.negative{color:var(--red);background:#fff0f0}.quick-actions{display:flex;gap:7px;margin-top:12px;overflow:auto}.quick-actions a,.quick-actions button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;text-decoration:none;color:var(--navy);font-size:12px;font-weight:800;white-space:nowrap}.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}.empty-icon{font-size:50px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;z-index:10;padding-bottom:max(9px,env(safe-area-inset-bottom))}.nav-btn{border:0;background:transparent;padding:16px;font-weight:900;color:#4f6b8c}.nav-btn.active{color:var(--blue)}.fab{position:fixed;right:24px;bottom:90px;width:64px;height:64px;border-radius:50%;border:0;background:var(--blue);color:white;font-size:38px;box-shadow:0 12px 30px rgba(18,89,173,.35);z-index:11}.year-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#e9eef5;padding:5px;border-radius:16px}.year-tabs button{border:0;background:transparent;padding:11px;border-radius:12px;font-weight:900;color:var(--muted)}.year-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 2px 10px rgba(0,0,0,.06)}.stats-global-card{margin-top:12px;background:linear-gradient(135deg,#102345,#1d5fae);color:#fff;border-radius:24px;padding:22px;min-height:130px;display:grid;align-content:center}.stats-global-card small{opacity:.76;font-weight:800}.stats-global-card strong{font-size:36px;margin-top:5px}.stats-global-card span{font-weight:800;margin-top:4px}.stats-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.stats-bubble{border:0;text-align:left;background:#fff;border-radius:20px;padding:16px;box-shadow:var(--shadow);min-height:118px}.stats-bubble small{color:var(--muted);font-weight:800}.stats-bubble strong{display:block;font-size:22px;margin:8px 0}.stats-bubble span{font-size:11px;color:var(--muted)}.stats-bubble.new-clients{background:#fff9e8}.brand-breakdown-wrap,.top-flop{margin-top:14px;background:#fff;border-radius:20px;padding:16px;box-shadow:var(--shadow)}.brand-breakdown{display:grid;gap:8px}.brand-row{display:flex;justify-content:space-between;align-items:center;padding:10px;border-radius:12px;background:#f7f9fc}.brand-row div{display:flex;align-items:center;gap:8px}.brand-row img{width:42px;height:24px;object-fit:contain}.text-button{padding:7px 10px;background:#eef3f9}.top-flop{display:grid;grid-template-columns:1fr 1fr;gap:14px}.top-flop h3{font-size:14px}.rank-row{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf1f6;padding:8px 0;font-size:12px}.rank-row b.positive{color:var(--green)}.rank-row b.negative{color:var(--red)}.modal-backdrop{position:fixed;inset:0;background:rgba(9,24,45,.52);z-index:30;display:grid;place-items:end center;padding-top:4vh}.modal{background:#fff;width:min(760px,100%);max-height:96vh;overflow:auto;border-radius:28px 28px 0 0;padding:20px 18px calc(28px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(0,0,0,.18)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:-20px;background:#fff;padding:16px 0 12px;z-index:2}.modal-header h2{margin:4px 0}.icon-button{border:0;background:#eef3f9;border-radius:50%;width:40px;height:40px;font-size:24px}.modal details{border:1px solid var(--line);border-radius:18px;margin:10px 0;overflow:hidden}.modal summary{padding:15px 16px;font-weight:900;background:#f8fafc}.details-body{padding:14px;display:grid;gap:12px}.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}textarea{resize:vertical}.brand-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.brand-choice{border:1px solid var(--line);border-radius:14px;background:#fff;padding:9px;min-height:68px;display:grid;place-items:center;gap:4px}.brand-choice.selected{border:2px solid var(--blue);background:#f4f8ff}.brand-choice img{max-width:78px;max-height:30px;object-fit:contain}.brand-choice span{font-size:10px;font-weight:800}.history-switches{display:flex;flex-wrap:wrap;gap:14px}.history-switches label{display:flex;align-items:center;gap:8px}.finance-entry-grid{display:grid;gap:8px}.finance-entry-grid.four{grid-template-columns:repeat(2,1fr)}.money-input{padding:10px;border-radius:15px;background:#f7f9fc}.money-input div{display:flex;align-items:center;gap:5px}.money-input input{background:transparent;border:0!important;padding:7px 0!important;font-weight:900;font-size:18px}.money-input.violet{background:#f4f0ff}.money-input.blue{background:#eef6ff}.money-input.amber{background:#fff8e8}.money-input.green{background:#eefbf2}.ca-validation{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px;border-radius:16px;background:#f7f9fc}.ca-validation small{display:block;color:var(--muted);margin-top:3px}.switch-row{display:flex;align-items:center;gap:8px;white-space:nowrap}.switch-row input{position:absolute;opacity:0}.switch{width:46px;height:26px;background:#cbd5e1;border-radius:999px;position:relative}.switch:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.switch-row input:checked+.switch{background:var(--green)}.switch-row input:checked+.switch:after{transform:translateX(20px)}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.contact-actions{display:flex;gap:7px;overflow:auto;margin-bottom:10px}.contact-actions a,.contact-actions button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:12px;padding:9px 10px;text-decoration:none;font-weight:800;white-space:nowrap;font-size:12px}[hidden]{display:none!important}
@media(max-width:620px){.app-shell{padding:14px}.year-dashboard{grid-template-columns:1fr 1fr}.year-card.featured{grid-column:1/-1}.year-card strong{font-size:22px}.quick-dashboard{grid-template-columns:1fr 1fr}.topbar{align-items:center}.user-badge{display:none}.brand-picker{grid-template-columns:repeat(2,1fr)}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.stats-category-grid{grid-template-columns:1fr 1fr}.top-flop{grid-template-columns:1fr}.mini-year strong{font-size:13px}.finance-entry-grid.four{grid-template-columns:1fr 1fr}}

.two-key-trends{display:grid;grid-template-columns:1fr 1fr;gap:8px}.two-key-trends .trend-pill{border-radius:16px;min-height:58px;display:grid;align-content:center;gap:4px;text-align:center}.two-key-trends .trend-pill b{display:block;font-size:16px}.two-key-trends .ini-trend{border:1px solid currentColor}@media(max-width:520px){.sparkline-wrap{align-items:stretch}.sparkline{align-self:center;flex:0 0 105px}.two-key-trends{flex:1}}

.goal-card{border:1px solid var(--line);text-align:left;cursor:pointer;width:100%}.goal-card:hover{border-color:#b8c8dd}.goal-card small{min-height:16px}.goal-input-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:4px 12px;margin-top:6px}.goal-input-wrap input{border:0!important;padding:12px 0!important;font-size:24px;font-weight:900}.field-help{color:var(--muted);font-size:13px;line-height:1.4}.mini-modal{width:min(520px,100%)}
.rankings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.ranking-card{background:#fff;border-radius:20px;padding:16px;box-shadow:var(--shadow);border:1px solid #edf0f5}.ranking-card>small{display:block;color:var(--muted);font-size:11px;margin:2px 0 8px}.ranking-title{display:flex;align-items:center;gap:8px}.ranking-title span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900}.ranking-title h3{font-size:14px;margin:0}.positive-title span{background:#e8f8ed;color:var(--green)}.negative-title span{background:#fff0f0;color:var(--red)}
@media(max-width:620px){.rankings-grid{grid-template-columns:1fr}.ranking-card{padding:14px}}

.client-goal-box{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;align-items:stretch}.percent-input{display:flex;align-items:center;gap:6px}.percent-input input{font-size:20px;font-weight:900}.goal-preview{border-radius:16px;background:#eef6ff;padding:12px;display:grid;gap:4px}.goal-preview small{color:var(--muted);font-weight:700}.goal-preview strong{font-size:22px;color:var(--blue)}.goal-preview span{font-size:12px;font-weight:800}.client-goal-summary{margin-top:10px;border-radius:14px;background:#f2f7ff;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center}.client-goal-summary span{font-size:11px;font-weight:900;color:var(--blue)}.client-goal-summary b{text-align:right}.client-goal-summary small{grid-column:1/-1;color:var(--muted);font-weight:700}@media(max-width:520px){.client-goal-box{grid-template-columns:1fr}.client-goal-summary{grid-template-columns:auto 1fr}}

/* V4.4 dashboard */
.quick-dashboard-v44{grid-template-columns:repeat(2,minmax(0,1fr));}
.goal-card-v44{grid-column:1/-1;background:linear-gradient(135deg,#f8fbff,#edf5ff);border:2px solid #bcd4f2;}
.goal-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.goal-card-head em{font-style:normal;font-size:11px;font-weight:900;color:var(--blue);background:#fff;border:1px solid #bfd3ed;border-radius:999px;padding:6px 10px}.goal-card-v44 strong{font-size:24px;margin:7px 0 2px}.pending-ca-card{background:#fff8e8}.pending-ca-card strong{color:#a86b00}.remaining-ca-card{background:#f4f8ff}.remaining-ca-card strong{color:var(--blue)}
@media(max-width:520px){.quick-dashboard-v44{grid-template-columns:1fr 1fr}.goal-card-v44{grid-column:1/-1}.quick-dashboard-v44 .quick-card strong{font-size:20px}.goal-card-v44 strong{font-size:22px}}

/* V4.6 */
.action-quick-card{text-align:left;cursor:pointer}.followup-card{background:#f2fbf7}.followup-card strong{color:var(--green)}.field-title{font-weight:900;display:block;margin-bottom:8px}.goal-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#e9eef5;border-radius:12px;padding:4px;margin-bottom:10px}.goal-mode-toggle button{border:0;border-radius:9px;padding:9px;background:transparent;color:var(--muted);font-weight:900}.goal-mode-toggle button.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(0,0,0,.08)}.goal-mode-panel label{display:block}.goal-box-v45{align-items:stretch}

/* V4.6 — liste des prochaines relances */
.followup-card{background:#f7f3ff;border-color:#d9cdf7;align-content:start}.followup-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.followup-title>span{color:#5524b7!important;font-weight:900;font-size:13px!important}.followup-title>small{color:#7657b6!important;font-weight:800}.followup-list{display:grid;margin-top:4px}.followup-row{position:relative;border:0;border-top:1px solid #e4dbf5;background:transparent;text-align:left;padding:10px 24px 9px 0;display:grid;gap:3px;color:var(--navy)}.followup-row:first-child{border-top:0}.followup-row span{color:#5524b7!important;font-size:12px!important;font-weight:800}.followup-row small{font-size:10px!important;color:var(--muted)!important}.followup-row i{position:absolute;right:1px;top:50%;transform:translateY(-50%);font-style:normal;font-size:22px;color:#7657b6}.followup-row.overdue span,.followup-row.overdue small{color:var(--red)!important}.followup-empty{padding:16px 0;color:var(--muted);font-size:12px}.followup-card{min-height:138px}
@media(max-width:520px){.followup-card{min-height:178px}.followup-row{padding-top:9px;padding-bottom:9px}}

.appointment-card{align-content:start}.appointment-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.appointment-head span{font-weight:900;color:var(--navy)!important}.appointment-head strong{font-size:22px}.appointment-list{display:grid;margin-top:5px;border-top:1px solid #e7edf5}.appointment-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f6;text-align:left}.appointment-row:last-child{border-bottom:0}.appointment-row b{font-size:12px;color:var(--blue)}.appointment-row span{font-size:12px!important;color:var(--navy)!important;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-empty{padding:9px 0 2px;color:var(--muted);font-size:11px;text-align:left}

/* V4.12 mobile stability + appointment planning */
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
.app-shell,.topbar,.year-dashboard,.quick-dashboard,.controls,.client-list,.stats-view{width:100%;max-width:100%;min-width:0}
.year-dashboard,.quick-dashboard,.quick-dashboard-v44{grid-template-columns:repeat(2,minmax(0,1fr))}
.year-card,.quick-card,.client-card,.controls>*{min-width:0;max-width:100%}
.modal-backdrop,.modal{max-width:100vw;overflow-x:hidden}
.appointment-needed-card{grid-column:1/-1;background:#fff;border-color:#d8e5f5}
.appointment-needed-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.appointment-needed-head span{font-weight:900;color:var(--navy)!important}
.appointment-needed-head strong{font-size:24px;color:var(--blue)}
.appointment-needed-list{display:grid;margin-top:5px;border-top:1px solid #e7edf5}
.appointment-needed-row{width:100%;border:0;background:transparent;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f6;text-align:left;color:var(--navy)}
.appointment-needed-row span{font-size:12px!important;font-weight:900;color:var(--navy)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appointment-needed-row small{font-size:10px!important;color:var(--muted)!important;white-space:nowrap}
.appointment-needed-row i{font-size:20px;color:var(--blue);font-style:normal}
@media(max-width:620px){.app-shell{width:100%;max-width:100%;padding-left:14px;padding-right:14px}.year-dashboard,.quick-dashboard,.quick-dashboard-v44{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.goal-card-v44,.appointment-needed-card{grid-column:1/-1}.family-shortcuts,.quick-actions,.contact-actions{max-width:100%;overscroll-behavior-x:contain}.modal{width:100vw;max-width:100vw}}
/* V5 */
.family-chip b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:999px;background:#eaf0f8;color:var(--navy);font-size:10px}.family-chip.active b{background:rgba(255,255,255,.18);color:#fff}.pending-potential{border-top:1px solid #eadfbf;margin-top:7px;padding-top:7px;display:grid;gap:2px}.pending-potential b{font-size:16px;color:#8b6200}.purchase-group-box{padding:12px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.purchase-group-toggle{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px}.purchase-group-toggle input{width:auto}.group-chip{background:#eef0ff;color:#4d46a8}.season-reminder-card{grid-column:1/-1;background:#f3f8ff;border-color:#cfe0f5}.season-reminder-card .appointment-needed-head span{color:#245a9e!important}

.purchase-group-shortcut{margin:2px 0 12px;display:flex}.purchase-group-filter{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:'label count' 'scope scope';align-items:center;gap:2px 10px;border:1px dashed #b9c7da;background:#f8fbff;color:var(--navy);border-radius:16px;padding:10px 12px;text-align:left}.purchase-group-filter span{grid-area:label;font-weight:900}.purchase-group-filter b{grid-area:count;display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#e7eef8;color:var(--navy);font-size:12px}.purchase-group-filter small{grid-area:scope;color:var(--muted);font-size:10px;font-weight:700}.purchase-group-filter.active{background:#eef0ff;border-style:solid;border-color:#8f86dc;color:#4d46a8}.purchase-group-filter.active b{background:#6d4bc3;color:#fff}

.purchase-group-list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}.purchase-group-name{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid #dbe4ef;background:#fff;border-radius:12px;padding:10px 12px;font:inherit;color:inherit;text-align:left}.purchase-group-name.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.purchase-group-name b{min-width:28px;text-align:center;background:#eef2ff;border-radius:999px;padding:3px 8px}.purchase-group-empty{display:block;padding:8px 2px;color:#64748b}.appointment-row-button{width:100%;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}
\n/* V5.4 navigation */\n.dashboard-open-card{cursor:pointer}.dashboard-list-modal{max-height:88vh}.dashboard-full-list{display:flex;flex-direction:column;gap:9px;max-height:65vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 2px 12px}.dashboard-list-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:10px;align-items:center;text-align:left;border:1px solid var(--line,#e5e7eb);background:#fff;border-radius:14px;padding:12px;font:inherit}.dashboard-list-row>span:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}.dashboard-list-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-row small{font-size:11px;color:#64748b}.dashboard-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.dashboard-row-meta b{font-size:13px}.dashboard-list-row i{font-style:normal;font-size:20px;color:#94a3b8}.dashboard-empty{padding:30px 10px}.pending-ca-card{border:0;text-align:left;font:inherit;width:100%}\n.calendar-action{margin:14px 0;padding:12px;border:1px solid #d7dce5;border-radius:14px;display:flex;gap:10px;align-items:center;justify-content:space-between}.calendar-action small{color:#667085}.category-section{margin:12px 0}.category-section h3{margin:14px 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:#667085}


/* V5.6 - correctif iPhone fiche client */
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
#clientModal{overflow:hidden;padding:0;align-items:flex-end;justify-items:center}
#clientModal .modal{
  width:100%;
  max-width:760px;
  min-width:0;
  height:auto;
  max-height:100dvh;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  border-radius:28px 28px 0 0;
  padding-left:18px;
  padding-right:18px;
}
#clientModal .modal-header{
  position:sticky;
  top:0;
  margin:-20px -18px 8px;
  padding:calc(14px + env(safe-area-inset-top)) 18px 12px;
  background:#fff;
  z-index:20;
  border-bottom:1px solid rgba(220,228,239,.8);
}
#clientModal .icon-button{flex:0 0 44px;width:44px;height:44px;position:relative;z-index:21}
#clientModal form,#clientModal details,#clientModal .details-body,#clientModal .form-grid,#clientModal label{min-width:0;max-width:100%}
#clientModal input:not([type="checkbox"]):not([type="radio"]),
#clientModal select,
#clientModal textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  font-size:16px !important;
}
#clientModal input[type="number"],#clientModal input[type="date"],#clientModal input[type="tel"],#clientModal input[type="email"]{font-size:16px !important}
#clientModal .finance-entry-grid,#clientModal .client-goal-box,#clientModal .ca-validation{min-width:0;max-width:100%}
body.client-modal-open{overflow:hidden;touch-action:pan-y}
@media(max-width:620px){
  #clientModal .modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  #clientModal .modal-header{border-radius:0}
  #clientModal .form-grid.two,#clientModal .form-grid.three{grid-template-columns:minmax(0,1fr)}
  #clientModal .finance-entry-grid.four{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* V5.7 - recherche portefeuille plus visible */
#clientsView>.section-heading{background:linear-gradient(135deg,#1259ad,#0e3f7d);color:#fff;border-radius:20px;padding:14px 16px;margin-top:12px;box-shadow:0 10px 24px rgba(18,89,173,.22)}
#clientsView>.section-heading .eyebrow{color:#dceaff}#clientsView>.section-heading h2{color:#fff}#clientsView>.section-heading .count-badge{background:#fff;color:#1259ad}
.family-shortcuts{padding:9px 2px 8px}.family-chip{border:2px solid #b8cbe5;background:#fff}.family-chip.active{background:#1259ad;border-color:#1259ad;color:#fff;box-shadow:0 5px 14px rgba(18,89,173,.25)}
.controls{background:#e8f2ff;border:2px solid #b7d2f3;border-radius:20px;padding:10px}.searchbox{border:2px solid #76a9e5;box-shadow:0 5px 14px rgba(18,89,173,.10)}
.year-diff{display:block;margin-top:5px;font-size:11px;font-style:normal;font-weight:900}.year-diff.positive{color:#087a36}.year-diff.negative{color:#b91c1c}.year-diff.reference,.year-diff.neutral{color:#7a8799}
.client-card.prospect-card{background:#f1f3f6;border-color:#d3d8df;box-shadow:none}.client-card.prospect-card .mini-year{background:#e9edf2}.prospect-chip{background:#d8dde5!important;color:#465164!important}

/* V5.8 */
.store-search-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-4px 0 12px}.store-search-actions small{color:var(--muted);flex:1;min-width:180px}.store-search-results{display:grid;gap:8px;margin:0 0 14px}.store-result{width:100%;text-align:left;border:1px solid #cbd8e8;background:#f8fbff;border-radius:16px;padding:12px 14px;color:#10213f}.store-result strong,.store-result small,.store-result em{display:block}.store-result small{margin-top:3px;color:#66758d}.store-result em{margin-top:5px;color:#1761b0;font-style:normal;font-weight:700}#purchaseGroupExisting{font-weight:800;background:#f4f8ff}.purchase-group-box #purchaseGroupFields{display:grid;gap:12px}.purchase-group-box #purchaseGroupFields[hidden]{display:none}

.client-card.origin-prospect-card{background:#fff3d6;border-color:#e0b85c;box-shadow:0 8px 22px rgba(151,108,17,.10)}
.client-card.origin-prospect-card .mini-year{background:#fff9ea}
.origin-prospect-chip{background:#f2cf78!important;color:#6a4a00!important;font-weight:800}
/* V5.11 - compte a rebours campagne */
#dashN{position:relative;padding-right:112px}
#campaignCountdown{position:absolute;right:10px;top:50%;transform:translateY(-50%);min-width:92px;padding:8px 7px;border-radius:13px;background:#fff1d6;border:1px solid #f0b24b;text-align:center;line-height:1.05;color:#9a4d00;box-shadow:0 2px 8px rgba(154,77,0,.10)}
#campaignCountdown strong{display:block;font-size:20px;font-weight:900;color:#d25a00}
#campaignCountdown span{display:block;margin-top:3px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.25px}
@media(max-width:390px){#dashN{padding-right:100px}#campaignCountdown{right:7px;min-width:82px}#campaignCountdown strong{font-size:18px}}

/* V5.13 */
.group-appointment-info{margin:0 0 14px;padding:14px 16px;border-radius:16px;background:#eef6ff;border:1px solid #b9d6fb;display:flex;flex-direction:column;gap:4px;color:#12345b}.group-appointment-info[hidden]{display:none}.group-appointment-info strong{font-size:15px}.group-appointment-info span{font-weight:800}.group-appointment-info small{line-height:1.35;color:#52677f}.prospect-contact-action{background:#fff3cf!important;border-color:#e0b64b!important;color:#7a5200!important}

/* V5.13 - CA 2027 directement dans les onglets Portefeuille */
.family-shortcuts{align-items:stretch}
.family-chip{display:grid;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:2px;min-height:56px;padding:8px 13px;line-height:1.05}
.family-chip-label{display:flex;align-items:center;gap:2px;font-weight:900}
.family-chip-ca{display:block;font-size:10px;font-weight:900;color:#2563eb;letter-spacing:-.01em;margin-top:2px}
.family-chip.active .family-chip-ca{color:#fff;opacity:.92}
.family-chip b{margin-left:3px}

/* V5.15 prospects, groupes et logos génériques validés */
.brand-logo-box img.brand-cabesto,.brand-choice img.brand-cabesto{max-width:96%!important;max-height:52px!important;transform:scale(1.18)}
.brand-choice img[src*='magasin-plage'],.brand-choice img[src*='independant'],.brand-choice img[src*='divers-sport'],.brand-choice img[src*='textile']{max-width:84px;max-height:42px}
.appointment-needed-row.prospect-needed,.dashboard-list-row.prospect-dashboard-row{background:#fff5d8;border-color:#e4bd55}.appointment-needed-row.prospect-needed span,.dashboard-list-row.prospect-dashboard-row strong{color:#7a5200!important}.appointment-row.prospect-booked{background:#f4edff!important;border-left:4px solid #7c4bd2!important}.appointment-row.group-booked{background:#eef6ff}.appointment-row.group-booked.prospect-booked{background:#f4edff!important}.dashboard-list-row[data-groupkey]{background:#eef6ff;border-color:#bcd7f7}

/* V5.15 - Portefeuille clients simplifie */
.filter-row{grid-template-columns:1fr 1fr}
.portfolio-counts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.portfolio-count-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.04em}
#clientsView>.section-heading .count-badge{background:#fff;color:#1259ad;min-width:30px;text-align:center}
.prospect-label{color:#ffe9bf}.prospect-count-badge{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#d9dee7;color:#3f4c60;font-weight:900;font-size:12px;border:1px solid rgba(255,255,255,.55)}
.purchase-group-shortcut[hidden]{display:none!important}
.prospect-needed{background:#eef0f3!important;border-color:#cfd5dd!important}.prospect-needed span{color:#4a5565!important}.prospect-needed small{color:#6b7280!important}
@media(max-width:520px){.portfolio-counts{gap:5px}.portfolio-count-label{font-size:9px}.prospect-count-badge,#clientsView>.section-heading .count-badge{min-width:27px;height:27px;padding:0 7px}.filter-row{grid-template-columns:1fr 1fr}}

/* V5.16 - lisibilite compteurs + progression escalade */
#clientCount.count-badge{display:inline-grid!important;place-items:center!important;background:#fff!important;color:#1259ad!important;border:2px solid rgba(255,255,255,.92)!important;box-shadow:0 1px 4px rgba(0,0,0,.14);font-size:13px!important;font-weight:950!important;line-height:1!important}
.remaining-ca-card{position:relative;overflow:hidden;min-height:190px;padding-right:46%!important}
.climb-progress{position:absolute;right:8px;top:10px;bottom:10px;width:43%;border-radius:16px;background:linear-gradient(160deg,#eef5fb,#dfe9f2);border:1px solid #c7d6e4;overflow:hidden}
.climb-wall{position:absolute;right:0;top:0;bottom:0;width:68%;background:linear-gradient(110deg,#8b949d,#5f6973);clip-path:polygon(34% 0,100% 0,100% 100%,0 100%,18% 65%,10% 40%)}
.climb-hold{position:absolute;width:9px;height:6px;border-radius:50%;background:#f59e0b;box-shadow:18px 18px 0 #2563eb,-2px 36px 0 #dc2626,20px 54px 0 #16a34a,3px 72px 0 #7c3aed,22px 90px 0 #f59e0b,0 108px 0 #2563eb,18px 126px 0 #dc2626,2px 144px 0 #16a34a}
.climb-hold.h1{right:14px;top:18px}.climb-hold.h2{right:34px;top:50px}.climb-hold.h3{right:18px;top:88px}
.climb-scale{position:absolute;left:3px;top:6px;bottom:6px;width:38%;display:flex;flex-direction:column-reverse;justify-content:space-between;font-size:8px;font-weight:900;color:#2563eb}
.climb-scale span{display:flex;align-items:center;gap:2px}.climb-scale span:after{content:"";height:1px;width:13px;background:#8bb5ee;opacity:.8}
.climber{position:absolute;left:44%;transform:translate(-50%,50%);font-size:25px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2));transition:bottom .35s ease;z-index:3}
.climb-flag{position:absolute;right:5px;top:2px;font-size:14px;z-index:3}
.climb-pct{position:absolute;left:4px;bottom:4px;font-size:9px;font-weight:950;color:#1259ad;background:#fff;border-radius:999px;padding:2px 5px;z-index:4}
@media(max-width:390px){.remaining-ca-card{padding-right:44%!important}.climb-progress{width:41%}.climber{font-size:22px}}

/* V5.17 - tournées intelligentes + consultation rapide */
.tour-loading{padding:28px 14px;text-align:center;color:#5b6b82;font-weight:800}
.tour-plan{border:2px solid #b9d3f6;background:#eef6ff;border-radius:20px;padding:14px;margin:4px 0 18px}
.tour-plan>h3{margin:0 0 4px;color:#135db8;font-size:18px}.tour-plan>p{margin:0 0 12px;color:#64748b;font-size:12px}
.tour-day{background:#fff;border:1px solid #dbe7f5;border-radius:16px;padding:10px;margin:9px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tour-day>strong{grid-column:1/-1;color:#0f2b55;font-size:13px}.tour-day button{border:1px solid #d7e1ef;background:#f8fbff;border-radius:12px;padding:9px;text-align:left;display:flex;flex-direction:column;gap:2px;font:inherit}.tour-day button span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#1d67bd;font-weight:900}.tour-day button b{font-size:12px;color:#10233f}.tour-day button small{font-size:10px;color:#6b7280}.tour-day em{font-style:normal;color:#94a3b8;font-size:11px;padding:10px}
.department-section{margin:16px 0}.department-section>h3{position:sticky;top:-4px;z-index:2;margin:0 0 7px;padding:8px 10px;background:#eaf2ff;border-radius:10px;color:#244b82;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.client-preview-wrap{padding:2px}.client-preview-wrap .client-card{margin:0;cursor:default}.client-preview-wrap .preview-edit-btn{width:100%;margin-top:12px}
.dashboard-list-row .dashboard-row-meta small{max-width:155px;text-align:right}
@media(max-width:520px){.tour-day{grid-template-columns:1fr}.tour-day>strong{grid-column:1}.dashboard-list-row{grid-template-columns:minmax(0,1fr) minmax(100px,auto) 16px}}

/* V5.20 - dashboard action cards side by side */
.dashboard-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-column:1/-1;align-items:stretch}.dashboard-action-row>.quick-card{width:100%;min-width:0;height:100%}@media(max-width:520px){.dashboard-action-row{grid-template-columns:1fr 1fr;gap:8px}.dashboard-action-row>.quick-card{padding:12px}.dashboard-action-row .appointment-head span,.dashboard-action-row .followup-title>span{font-size:12px!important}.dashboard-action-row .appointment-head strong{font-size:20px}.dashboard-action-row .followup-title{align-items:flex-start;flex-direction:column;gap:2px}.dashboard-action-row .followup-row{padding-right:18px}}
.central-contacts{display:grid;gap:10px}.central-contacts-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.central-contacts-head small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.central-contact-row{border:1px solid var(--line);border-radius:16px;padding:12px;background:#f8fafc;display:grid;gap:9px}.central-contact-row-head{display:flex;justify-content:space-between;align-items:center}.central-contact-row-head strong{color:var(--blue)}.central-contact-remove{border:0;background:#fff0f0;color:var(--red);border-radius:10px;padding:7px 9px;font-weight:800}.client-location-line{margin-top:7px;font-size:12px;font-weight:800;color:var(--blue)}
@media(max-width:620px){.central-contacts-head{align-items:flex-start;flex-direction:column}.central-contacts-head button{width:100%}}
.client-location{margin:.2rem 0 .45rem;color:#66758e;font-size:.86rem;font-weight:700;letter-spacing:.01em}
.client-preview-wrap .client-location{display:block}

/* V5.23 - Tableau de bord : bandeaux compacts d'actions */
.dashboard-banners{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.dashboard-band{width:100%;min-height:78px!important;padding:13px 14px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) auto 16px!important;align-items:center!important;gap:10px!important;text-align:left!important;border-radius:18px!important;cursor:pointer!important;position:relative!important;overflow:hidden!important}
.dashboard-band .band-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 1px rgba(12,35,66,.06)}
.dashboard-band .band-copy{display:grid;gap:3px;min-width:0}
.dashboard-band .band-copy b{font-size:15px;line-height:1.15;color:var(--navy);font-weight:900;white-space:normal}
.dashboard-band .band-copy small{font-size:11px!important;line-height:1.25;color:var(--muted)!important;font-weight:700}
.dashboard-band .band-count{font-size:30px!important;line-height:1!important;font-weight:950;min-width:38px;text-align:right}
.dashboard-band .band-arrow{font-style:normal;font-size:28px;line-height:1;color:var(--muted);font-weight:500}
.dashboard-band.band-blue{background:#f5f9ff!important;border-color:#cfe0f5!important}.dashboard-band.band-blue .band-count{color:#1670d2!important}
.dashboard-band.band-purple{background:#f8f4ff!important;border-color:#ddd0f7!important}.dashboard-band.band-purple .band-count{color:#6f42c1!important}
.dashboard-band.band-slate{background:#f7f9fc!important;border-color:#dbe3ee!important}.dashboard-band.band-slate .band-count{color:#334e73!important}
.dashboard-band.band-green{background:#f4fbf7!important;border-color:#cfe8da!important}.dashboard-band.band-green .band-count{color:#23824b!important}
.band-hidden-list{display:none!important}
.dashboard-band.appointment-needed-card,.dashboard-band.season-reminder-card{grid-column:1/-1!important;margin-top:10px}
.dashboard-band.followup-card{min-height:78px!important;align-content:center!important}
.dashboard-band .followup-title,.dashboard-band .appointment-needed-head{display:none!important}
@media(max-width:520px){.dashboard-band{min-height:72px!important;padding:11px 12px!important;grid-template-columns:40px minmax(0,1fr) auto 14px!important;gap:9px!important}.dashboard-band .band-icon{width:36px;height:36px;font-size:20px}.dashboard-band .band-copy b{font-size:14px}.dashboard-band .band-copy small{font-size:10px!important}.dashboard-band .band-count{font-size:28px!important}}


/* V5.24 - panneaux de suivi + portefeuille */
body.dashboard-modal-open{overflow:hidden!important;touch-action:none;overscroll-behavior:none}
#dashboardListModal{overflow:hidden!important;overscroll-behavior:none;touch-action:none;padding:0;align-items:flex-end;justify-items:center}
#dashboardListModal .dashboard-list-modal{width:min(760px,100%);height:min(88dvh,820px);max-height:88dvh;display:flex;flex-direction:column;overflow:hidden!important;overscroll-behavior:contain;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
#dashboardListModal .modal-header{flex:0 0 auto;position:sticky;top:0;z-index:5;background:#fff}
#dashboardListModal .dashboard-full-list{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:18px}
.portfolio-counts{gap:10px!important}.portfolio-count-label{font-size:13px!important}.portfolio-count-label.clients-total{background:#fff;color:var(--navy);border-radius:999px;padding:5px 10px;box-shadow:0 2px 8px rgba(13,35,63,.08)}.portfolio-count-label .count-icon{font-size:15px}.portfolio-count-label .count-badge,.portfolio-count-label .prospect-count-badge{min-width:36px!important;height:36px!important;padding:0 10px!important;font-size:18px!important;display:inline-grid!important;place-items:center!important}.portfolio-count-label.prospect-label{font-size:14px!important;font-weight:950!important;letter-spacing:.05em!important}
@media(max-width:520px){#dashboardListModal .dashboard-list-modal{width:100vw;height:90dvh;max-height:90dvh;border-radius:24px 24px 0 0}.portfolio-counts{gap:7px!important}.portfolio-count-label.prospect-label{font-size:12px!important}.portfolio-count-label .count-badge,.portfolio-count-label .prospect-count-badge{min-width:34px!important;height:34px!important;font-size:17px!important}}

/* V5.25 - partage commercial */
.share-settings-modal{max-width:560px}.share-file-status{margin:-4px 0 12px;padding:10px 12px;border-radius:12px;background:#f3f6fb;color:#41536b;font-size:.9rem}.share-file-status.ready{background:#ecf8f1;color:#167344;font-weight:700}.quick-actions .share-vcard-action,.quick-actions .share-catalog-action{border:1px solid #d9e4f2;background:#fff;color:#143b67}.quick-actions .share-vcard-action:hover,.quick-actions .share-catalog-action:hover{background:#f5f9ff}

/* V5.26 - portefeuille compact + navigation 3 onglets */
#clientsView>.portfolio-heading{display:block!important;padding:11px 14px!important;margin:12px 0 10px!important;border-radius:18px!important}
#clientsView>.portfolio-heading .eyebrow{font-size:11px!important;margin-bottom:8px}
#clientsView>.portfolio-heading .portfolio-counts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%}
#clientsView>.portfolio-heading .portfolio-count-label{justify-content:center!important;min-height:42px!important;border-radius:13px!important;padding:5px 8px!important;gap:5px!important}
#clientsView>.portfolio-heading .clients-total{background:#fff!important;color:#174d87!important}
#clientsView>.portfolio-heading .prospect-label{background:#fff5dc!important;color:#9a6500!important}
#clientsView>.portfolio-heading .count-badge,#clientsView>.portfolio-heading .prospect-count-badge{min-width:31px!important;height:31px!important;font-size:17px!important;padding:0 7px!important}
#clientsView>.portfolio-heading .portfolio-count-label span:last-child{font-size:11px!important;font-weight:950!important;letter-spacing:.04em}
.bottom-nav{grid-template-columns:repeat(3,1fr)!important;padding:0 4px max(4px,env(safe-area-inset-bottom))!important;min-height:54px!important}
.nav-btn{padding:8px 3px!important;font-size:12px!important;line-height:1.1!important}
body{padding-bottom:70px!important}.fab{bottom:70px!important}
@media(max-width:520px){#clientsView>.portfolio-heading{padding:10px 12px!important}.bottom-nav{min-height:50px!important}.nav-btn{font-size:11px!important}}
/* V5.27 */
.client-code-badge{display:inline-flex;align-items:center;margin-left:8px;padding:5px 9px;border-radius:999px;background:#fff0bf;color:#7b5900;font-size:12px;font-weight:900;vertical-align:middle;border:1px solid #ead08b}
.preview-accordions{display:grid;gap:9px;margin-top:12px}
.preview-accordion{border:1px solid #dce5f1;border-radius:15px;background:#fff;overflow:hidden}
.preview-accordion>summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:900;color:var(--navy)}
.preview-accordion>summary::-webkit-details-marker{display:none}
.preview-accordion>summary small{display:block;font-weight:500;color:var(--muted);margin-top:2px}
.preview-accordion-body{padding:0 14px 14px;display:grid;gap:7px;color:var(--navy)}
.preview-accordion-body a{color:#1269c7;text-decoration:none;font-weight:800}
.preview-note{padding:9px 10px;border-radius:10px;background:#f7f8fb;color:#5d687b;font-style:italic}
.central-contacts{display:block!important}
.central-contact-row{border:1px solid #dbe4ef;border-radius:14px;padding:12px;margin-top:10px;background:#fbfcfe}
.central-contact-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.central-contact-remove{border:0;background:transparent;color:#b54141;font-weight:800}
.dashboard-band .band-copy small{font-weight:400!important}

/* V5.28 - compteur Prospects cliquable */
#clientsView>.portfolio-heading .prospect-label{cursor:pointer;user-select:none;transition:transform .12s ease,box-shadow .12s ease}
#clientsView>.portfolio-heading .prospect-label:active{transform:scale(.98)}
#clientsView>.portfolio-heading .prospect-label:focus-visible{outline:3px solid rgba(18,105,199,.28);outline-offset:2px}

/* V5.28 - compteur prospects ouvrable */
.prospect-counter-button{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.prospect-counter-button:active{transform:scale(.98)}
.prospect-counter-button:focus-visible{outline:3px solid #f0bd4d;outline-offset:2px}

/* V5.28 - Prospects portefeuille cliquable */
#clientsView>.portfolio-heading .prospect-label{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
#clientsView>.portfolio-heading .prospect-label:active{transform:scale(.98)}
#clientsView>.portfolio-heading .prospect-label:focus-visible{outline:3px solid #2f80d8;outline-offset:2px}


/* V5.29 - verrouillage strict du format mobile */
html,body{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
*{box-sizing:border-box}
.app-shell,#clientsView,#statsView,#shareView,.client-list,.client-card,.controls,.portfolio-heading{width:100%!important;max-width:100%!important;min-width:0!important}
.client-card{overflow:hidden!important}
.client-card *{min-width:0;max-width:100%}
.client-head{grid-template-columns:minmax(64px,82px) minmax(0,1fr)!important;width:100%!important}
.client-title{min-width:0!important;overflow:hidden!important}
.client-title h3,.client-title p,.client-code-badge{max-width:100%!important;overflow-wrap:anywhere;word-break:break-word}
.mini-years{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important}
.mini-year{min-width:0!important;padding-left:10px!important;padding-right:10px!important}
.sparkline-wrap,.card-trends,.client-goal-summary{width:100%!important;max-width:100%!important;min-width:0!important}
.quick-actions{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overscroll-behavior-x:contain!important}
.family-shortcuts{width:100%!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain!important}
#purchaseGroupNameRow[hidden]{display:none!important}
@media(max-width:620px){
  .app-shell{padding-left:10px!important;padding-right:10px!important}
  .client-card{padding-left:12px!important;padding-right:12px!important}
  .client-head{grid-template-columns:68px minmax(0,1fr)!important;gap:10px!important}
  .brand-logo-box{width:68px!important;height:68px!important}
  .client-title h3{font-size:21px!important;line-height:1.1!important}
  .client-title p{font-size:13px!important}
  .client-code-badge{display:flex!important;width:max-content!important;max-width:100%!important;margin:5px 0 0!important;font-size:10px!important;padding:4px 7px!important}
  .mini-years{gap:6px!important}
  .mini-year{padding:10px 7px!important}
  .mini-year strong{font-size:15px!important}
  .mini-year small,.mini-year em{font-size:10px!important}
  .two-key-trends{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .trend-pill{font-size:11px!important;padding:9px 6px!important}
  .portfolio-heading{overflow:hidden!important}
  #clientModal .modal{width:100%!important;max-width:100%!important;left:0!important;right:0!important}
  #clientModal form,#clientModal details,#clientModal .details-body{width:100%!important;max-width:100%!important;min-width:0!important}
  #clientModal .form-grid.two,#clientModal .form-grid.three,#clientModal .form-grid.four{grid-template-columns:1fr!important}
  #clientModal input,#clientModal select,#clientModal textarea,#clientModal button{max-width:100%!important}
}


/* V5.30 - navigation par enseigne puis groupe d'achat */
.brand-shortcut{margin:4px 0 10px;padding:12px;border:1px solid #dce6f2;border-radius:18px;background:#f8fbff}
.brand-filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.brand-filter-head strong{font-size:13px;color:#102345}.brand-filter-all{border:1px solid #c9d7e8;background:#fff;color:#34506f;border-radius:999px;padding:7px 12px;font-weight:900}.brand-filter-all.active{background:#1259ad;border-color:#1259ad;color:#fff}
.brand-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.brand-filter-card{min-width:0;border:1px solid #d8e3ef;background:#fff;border-radius:15px;padding:9px;display:flex;align-items:center;gap:9px;text-align:left;color:#102345}.brand-filter-card.active{border:2px solid #1259ad;background:#edf5ff;box-shadow:0 4px 12px rgba(18,89,173,.12)}.brand-filter-logo{width:52px;height:38px;flex:0 0 52px;display:grid;place-items:center;border-radius:9px;background:#fff;overflow:hidden}.brand-filter-logo img{max-width:48px;max-height:30px;object-fit:contain}.brand-filter-logo .brand-fallback{font-size:8px;font-weight:900;text-align:center}.brand-filter-copy{min-width:0;display:grid;gap:2px}.brand-filter-copy b{font-size:11px;line-height:1.1;overflow-wrap:anywhere}.brand-filter-copy small{font-size:9px;color:#64748b}
.purchase-group-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px}.purchase-group-rename{border:1px solid #dbe4ef;background:#fff;border-radius:12px;font-size:18px;color:#2563eb;font-weight:900}.purchase-group-rename:active{background:#eff6ff}
@media(min-width:621px){.brand-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V5.31 - navigation prospects par categorie */
.prospect-category-grid-v531{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:2px}.prospect-category-card-v531{border:1px solid #ead39a;background:#fff8e7;border-radius:16px;padding:15px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;text-align:left;font:inherit;color:#23364d}.prospect-category-card-v531 span{font-weight:900}.prospect-category-card-v531 b{font-size:12px;color:#9a6500;background:#fff1c9;border-radius:999px;padding:6px 9px;white-space:nowrap}.prospect-category-card-v531 i{font-style:normal;font-size:20px;color:#b48a27}.prospect-back-v531{border:0;background:#eef5fd;color:#1769aa;border-radius:12px;padding:10px 12px;font:inherit;font-weight:800;text-align:left;margin:0 0 8px}@media(max-width:520px){.prospect-category-grid-v531{grid-template-columns:1fr}.prospect-category-card-v531{padding:14px 12px}}

/* V5.33 - actions icones + centrales nationales/regionales */
.quick-actions,.contact-actions{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px!important;overflow:visible!important;width:100%;max-width:100%}
.quick-actions a,.quick-actions button,.contact-actions a,.contact-actions button{min-width:0!important;width:100%!important;height:44px;padding:0!important;display:grid!important;place-items:center;font-size:0!important;border-radius:13px!important;overflow:hidden}
.quick-actions a,.quick-actions button,.contact-actions a,.contact-actions button{font-size:22px!important}.action-placeholder{display:block}
.central-affiliation-box{margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:16px;background:#f8fbff;display:grid;gap:10px}.central-affiliation-box small{color:var(--muted);line-height:1.35}.central-hierarchy-panel{margin:10px 0 14px;display:grid;gap:8px}.central-hierarchy-card{border:1px solid #c9d9ee;border-radius:15px;background:#fff;padding:12px;text-align:left;color:var(--navy);font:inherit}.central-hierarchy-card strong,.central-hierarchy-card small{display:block}.central-hierarchy-card small{margin-top:3px;color:var(--muted)}.central-hierarchy-card.regional{margin-left:12px;background:#f8fbff}.central-hierarchy-members{margin:6px 0 10px 20px;display:grid;gap:6px}.central-hierarchy-members button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;text-align:left;color:var(--navy);font:inherit}
@media(max-width:620px){.quick-actions,.contact-actions{grid-template-columns:repeat(7,minmax(36px,1fr));gap:4px!important}.quick-actions a,.quick-actions button,.contact-actions a,.contact-actions button{height:40px!important}.central-affiliation-box .form-grid.two{grid-template-columns:1fr}}
.other-role-v534{margin-top:8px;width:100%;box-sizing:border-box}

/* V5.38 logos officiels valides */
.brand-logo-box img.brand-intermarche,.brand-choice img.brand-intermarche,.brand-filter-logo img.brand-intermarche{width:96%!important;max-width:96%!important;height:auto!important;max-height:58px!important;transform:none!important;object-fit:contain!important}
.brand-logo-box img.brand-siblu,.brand-choice img.brand-siblu,.brand-filter-logo img.brand-siblu{max-width:96%!important;max-height:54px!important;object-fit:contain}
.brand-filter-logo img.brand-intermarche{width:96%!important;max-width:96%!important;transform:none!important}

/* V5.40 */
.brand-logo-box img.brand-intermarche,.brand-choice img.brand-intermarche,.brand-filter-logo img.brand-intermarche{width:145%!important;max-width:none!important;height:auto!important;max-height:none!important;transform:scale(1.18)!important;object-fit:contain!important}
.brand-filter-logo{overflow:visible!important}
.statistics-scope-box{margin:12px 0;padding:13px;border:1px solid #f0cf92;border-radius:16px;background:#fff9ea}.statistics-scope-box small{display:block;margin-top:6px;color:var(--muted);line-height:1.35}.chip.out-stats{background:#f3e8ff;color:#6b21a8}.central-directory-v540{display:grid;gap:10px}.central-directory-card-v540{width:100%;border:1px solid var(--line);border-radius:18px;background:#fff;padding:15px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px}.central-directory-card-v540 span{display:grid;gap:3px}.central-directory-card-v540 small{color:var(--muted)}.central-members-v540{display:grid;gap:8px;margin:10px 0 16px}.central-member-v540{border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:12px;text-align:left}.central-member-v540 small{display:block;color:var(--muted);margin-top:3px}

/* V5.41 - centrales, salons et calendrier */
.central-only-v541{margin:12px 0;padding:14px;border:1px solid #f1c27d;border-radius:16px;background:#fff8ec;display:grid;gap:12px}.central-fairs-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.central-fairs-head small{display:block;color:var(--muted);margin-top:3px}.central-fair-row-v541{display:grid;grid-template-columns:1fr 150px 42px;gap:8px;align-items:end;margin-top:8px}.central-fair-row-v541 button{height:42px;border:0;border-radius:12px;background:#fff0e2;color:#b45309;font-weight:900}.central-fair-badge-v541{background:#ffedd5!important;color:#c2410c!important}.calendar-mini-btn-v541{border:0;background:#eef5ff;color:#1565c0;border-radius:12px;width:38px;height:38px;font-size:22px;font-weight:900;position:relative;z-index:3}.future-calendar-modal-v541{max-width:640px}.calendar-nav-v541{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;margin:4px 0 14px}.calendar-nav-v541 button{border:0;background:transparent;color:#0b72df;font-size:34px}.calendar-nav-v541 strong{text-align:center;font-size:22px}.calendar-week-v541,.calendar-grid-v541{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-week-v541 span{text-align:center;color:#8a8f98;font-size:12px;padding-bottom:5px}.calendar-day-v541{position:relative;aspect-ratio:1/1;min-height:46px;border:1px solid #d7dce5;border-radius:10px;background:#f7f7f7;font:inherit;font-weight:700;overflow:hidden}.calendar-day-v541.empty{visibility:hidden}.calendar-day-v541 .day-num{position:relative;z-index:3}.calendar-day-v541.has-events{background:#fff}.calendar-day-v541 .slot-bg{position:absolute;inset:0;display:grid;grid-template-rows:1fr 1fr;z-index:1}.calendar-day-v541 .slot{opacity:.28}.calendar-day-v541 .slot.full{grid-row:1/3}.calendar-day-v541 .cat-gms{background:#22c55e}.calendar-day-v541 .cat-central{background:#f59e0b}.calendar-day-v541 .cat-sport{background:#3b82f6}.calendar-day-v541 .cat-camping{background:#8b5cf6}.calendar-day-v541 .cat-other{background:#64748b}.calendar-day-v541.today{outline:2px solid #0b72df}.calendar-day-v541.selected{box-shadow:inset 0 0 0 2px #102345}.calendar-legend-v541{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.calendar-legend-v541 span{border-radius:999px;padding:5px 8px;color:#fff;font-size:10px;font-weight:900}.calendar-legend-v541 .cat-gms{background:#22c55e}.calendar-legend-v541 .cat-central{background:#f59e0b}.calendar-legend-v541 .cat-sport{background:#3b82f6}.calendar-legend-v541 .cat-camping{background:#8b5cf6}.calendar-legend-v541 .cat-other{background:#64748b}.calendar-day-detail-v541{display:grid;gap:7px}.calendar-event-v541{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:left;background:#fff}.calendar-event-v541 b,.calendar-event-v541 small{display:block}.calendar-event-v541 small{color:var(--muted);margin-top:3px}.central-ca-summary-v541{margin:12px 0;background:#fff8ec;border:1px solid #f1c27d;border-radius:18px;padding:14px}.central-ca-summary-v541 small{display:block;color:#9a5a00;font-weight:800}.central-ca-summary-v541 strong{display:block;font-size:26px;color:#b45309;margin-top:3px}.central-directory-card-v540.type-regional strong,.central-directory-card-v540.type-national strong{font-size:16px}.category-color-gms{border-left:5px solid #22c55e!important}.category-color-central{border-left:5px solid #f59e0b!important}.category-color-sport{border-left:5px solid #3b82f6!important}.category-color-camping{border-left:5px solid #8b5cf6!important}.category-color-other{border-left:5px solid #64748b!important}
@media(max-width:520px){.central-fair-row-v541{grid-template-columns:1fr 115px 38px}.calendar-day-v541{min-height:42px}.calendar-week-v541,.calendar-grid-v541{gap:4px}.calendar-mini-btn-v541{width:34px;height:34px}}
/* V5.42 */
#campaignCountdown{min-width:72px;padding:5px 5px}
#campaignCountdown strong{font-size:15px}
#campaignCountdown span{font-size:8px;margin-top:2px}
#dashN{padding-right:82px}
.ca-split-v542{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px;max-width:calc(100% - 4px)}
.ca-split-v542 span{font-size:8px;line-height:1.15;padding:3px 5px;border-radius:7px;background:rgba(255,255,255,.72);white-space:nowrap}
.ca-split-v542 b{font-size:9px}
.central-kind-v542{margin:0 0 14px}.central-kind-v542 h3{margin:0 0 7px;font-size:13px}.central-empty-v542{display:block;padding:8px 10px;opacity:.65}
@media(max-width:390px){#dashN{padding-right:76px}#campaignCountdown{right:6px;min-width:66px}#campaignCountdown strong{font-size:14px}.ca-split-v542{gap:3px}.ca-split-v542 span{font-size:7px;padding:3px 4px}}
/* ===== V5.43 ===== */
.calendar-mini-btn-v541{display:grid;place-items:center;flex:0 0 auto;pointer-events:none}
.calendar-day-v541 .cat-gms,.calendar-legend-v541 .cat-gms{background:#22c55e}
.calendar-day-v541 .cat-central,.calendar-legend-v541 .cat-central{background:#f59e0b}
.calendar-day-v541 .cat-sport,.calendar-legend-v541 .cat-sport{background:#3b82f6}
.calendar-day-v541 .cat-camping,.calendar-legend-v541 .cat-camping{background:#f97316}
.calendar-day-v541 .cat-independent,.calendar-legend-v541 .cat-independent{background:#64748b}
.calendar-day-v541 .cat-spa,.calendar-legend-v541 .cat-spa{background:#06b6d4}
.calendar-day-v541 .cat-cruise,.calendar-legend-v541 .cat-cruise{background:#0ea5e9}
.calendar-day-v541 .cat-textile,.calendar-legend-v541 .cat-textile{background:#ec4899}
.calendar-day-v541 .cat-waterpark,.calendar-legend-v541 .cat-waterpark{background:#14b8a6}
.calendar-day-v541 .cat-other,.calendar-legend-v541 .cat-other{background:#94a3b8}
.category-color-independent{border-left:5px solid #64748b!important}.category-color-spa{border-left:5px solid #06b6d4!important}.category-color-cruise{border-left:5px solid #0ea5e9!important}.category-color-textile{border-left:5px solid #ec4899!important}.category-color-waterpark{border-left:5px solid #14b8a6!important}
.category-color-camping{border-left-color:#f97316!important}


/* ===== V5.47 dashboard rendez-vous futurs ===== */
#toProcessCard.dashboard-band{min-height:72px!important;height:auto!important;grid-template-columns:40px minmax(0,1fr) auto 14px!important;padding:11px 12px!important;gap:9px!important;overflow:hidden!important}
#toProcessCard .calendar-mini-btn-v541{display:none!important}
#toProcessCard .band-count{display:block!important;position:static!important;visibility:visible!important;opacity:1!important;min-width:38px!important;max-width:none!important;transform:none!important;margin:0!important;font-size:28px!important;text-align:right!important;z-index:2!important}
#toProcessCard .band-arrow{display:block!important;position:static!important;margin:0!important;transform:none!important}
#toProcessCard .band-hidden-list{display:none!important}
@media(max-width:520px){#toProcessCard.dashboard-band{grid-template-columns:40px minmax(0,1fr) 44px 14px!important}#toProcessCard .band-copy b{font-size:14px!important}#toProcessCard .band-copy small{font-size:10px!important;white-space:normal!important}#toProcessCard .band-count{font-size:28px!important}}

/* ===== V5.48 : Préparer ma tournée en menu déroulant ===== */
.tour-plan{border:1.5px solid #d7e3f2;background:#fff;border-radius:18px;padding:0;margin:4px 0 18px;overflow:hidden}
.tour-plan>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tour-plan>summary::-webkit-details-marker{display:none}
.tour-plan>summary span{display:flex;flex-direction:column;gap:2px;min-width:0}
.tour-plan>summary b{font-size:16px;color:#10233f}
.tour-plan>summary small{font-size:12px;color:#6b7b91;font-weight:600}
.tour-plan>summary i{font-style:normal;font-size:22px;color:#6b7b91;transition:transform .18s ease}
.tour-plan[open]>summary i{transform:rotate(180deg)}
.tour-plan-content{padding:0 14px 14px;background:#eef6ff;border-top:1px solid #dbe7f5}
.tour-plan-content>p{margin:12px 0;color:#64748b;font-size:12px}


/* ===== V5.50 ===== */
.central-fair-row-v550{display:grid;grid-template-columns:minmax(150px,1fr) 135px 135px 40px;gap:8px;align-items:end;margin-top:8px}.central-fair-row-v550 button{height:42px;border:0;border-radius:12px;background:#fff0e2;color:#b45309;font-weight:900}.central-fair-badge-v550{background:#ffedd5!important;color:#c2410c!important}.stats-drill-brand-v550{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.stats-drill-brand-v550 small{display:block;color:var(--muted);font-size:10px}.rank-click-v550{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.rank-click-v550 span{display:flex;align-items:center;gap:7px}.rank-click-v550 em{font-style:normal;width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:#eef5ff;color:#1769aa;font-size:10px;font-weight:900}.custom-share-head-v550{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 8px}.custom-share-head-v550 small{display:block;color:var(--muted);margin-top:2px}.custom-share-head-v550 button{width:42px;height:42px;padding:0}.custom-share-links-v550{display:grid;gap:7px}.custom-share-row-v550{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;gap:6px}.custom-share-row-v550>button{border:1px solid var(--line);border-radius:12px;background:#fff}.custom-share-open-v550{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:9px 11px}.custom-share-open-v550 span{min-width:0}.custom-share-open-v550 b,.custom-share-open-v550 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-share-open-v550 small{color:var(--muted);font-size:10px;margin-top:2px}.custom-share-edit-v550,.custom-share-delete-v550{font-weight:900}.custom-share-delete-v550{color:#b42318}@media(max-width:560px){.central-fair-row-v550{grid-template-columns:1fr 1fr}.central-fair-row-v550 label:first-child{grid-column:1/-1}.central-fair-row-v550 button{grid-column:2;justify-self:end;width:40px}}
/* V5.52 - exports + scan client */
.export-visible-v552{width:100%;margin-top:8px}
.export-modal-v552[hidden]{display:none!important}
.export-modal-v552{z-index:1200}
.export-body-v552{padding:18px;display:grid;gap:12px}
.export-body-v552 button{width:100%}
.scan-client-v552{margin:12px 0;padding:12px;border:1px solid var(--line,#dfe5ec);border-radius:14px;background:rgba(248,250,252,.88);display:grid;gap:7px}
.scan-client-v552 button{width:100%}
.scan-status-v552{font-size:13px;padding:9px 10px;border-radius:10px;background:#eef4ff;color:#294c86}
.scan-status-v552.error{background:#fff1f1;color:#9d2b2b}
/* V5.53 */
.band-users-v553{background:linear-gradient(135deg,#eef7ff,#f7fbff);border-color:#b9d8f2}.data-tools-v553{display:grid;grid-template-columns:1fr 1fr;gap:8px}.users-body-v553{padding:16px;display:grid;gap:12px}.user-row-v553,.message-row-v553,.import-row-v553,.shared-row-v553{border:1px solid var(--border,#dfe5ec);border-radius:14px;padding:12px;background:#fff;display:grid;gap:6px}.user-row-v553 .actions{display:flex;gap:8px;flex-wrap:wrap}.user-row-v553 button{min-height:40px}.review-chip-v553{width:100%;margin:0 0 10px;border:1px solid #f0c36b;background:#fff8e8;border-radius:14px;padding:12px;text-align:left;font-weight:800}.review-chip-v553 span{float:right}.readonly-client-v553{border:1px solid #e0e5eb;border-radius:12px;padding:10px}.readonly-client-v553 b{display:block}.readonly-client-v553 small{display:block;color:#667085}.import-row-v553.warn{border-color:#f0c36b;background:#fffaf0}.client-share-action-v553{border:0;background:#eef7ff;border-radius:999px;padding:10px 14px;font-weight:800}.shared-badge-v553{font-size:11px;font-weight:800;color:#24628f;background:#e9f5ff;border-radius:999px;padding:4px 8px;display:inline-block}@media(max-width:430px){.data-tools-v553{grid-template-columns:1fr}.users-body-v553{padding:12px}}

/* ===== V5.60 — 5 correctifs ciblés sur base V5.59 ===== */
/* 1) Bouton CA "En attente" toujours lisible à droite */
.ca-validation{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;overflow:visible!important}
.ca-validation>div{min-width:0!important}
.ca-validation .switch-row{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;min-width:128px!important;max-width:160px!important;position:relative!important;overflow:visible!important;white-space:nowrap!important}
.ca-validation .switch{flex:0 0 46px!important;position:relative!important;z-index:1!important}
.ca-validation #includeCurrentLabel{display:block!important;position:static!important;z-index:2!important;min-width:70px!important;text-align:left!important;white-space:nowrap!important;overflow:visible!important}
@media(max-width:430px){.ca-validation{grid-template-columns:minmax(0,1fr) auto!important}.ca-validation .switch-row{min-width:118px!important}.ca-validation #includeCurrentLabel{font-size:12px!important;min-width:62px!important}}

/* 2) Utilisateurs / Chat : vrais panneaux ouvrables au-dessus de l'application */
#usersModalV553,#chatModalV559{position:fixed!important;inset:0!important;z-index:1200!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;border-radius:0!important;padding:calc(18px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;background:#fff!important}
#usersModalV553[hidden],#chatModalV559[hidden]{display:none!important}
#usersModalV553 .modal-header,#chatModalV559 .modal-header{top:0!important;padding-top:8px!important}

/* 3) Salons : trait d'information, pas un créneau de rendez-vous */
.calendar-day-v541{overflow:visible!important}
.calendar-day-v541 .fair-line-v560{position:absolute!important;left:-3px!important;right:-3px!important;bottom:5px!important;height:3px!important;border-radius:99px!important;background:#f0a126!important;z-index:5!important;pointer-events:none!important}
.calendar-day-v541 .fair-label-v560{position:absolute!important;left:2px!important;right:2px!important;bottom:9px!important;font-size:7px!important;line-height:1!important;font-weight:800!important;color:#9a5a00!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;z-index:6!important;pointer-events:none!important}
.calendar-day-v541 .slot-bg{z-index:1!important}.calendar-day-v541 .day-num{z-index:7!important}

/* 4) accès photo + photothèque */
.scan-actions-v560{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.scan-actions-v560 button{width:100%!important;min-width:0!important}
@media(max-width:430px){.scan-actions-v560{grid-template-columns:1fr!important}}
.dashboard-export-v562{width:100%;margin:0 0 14px;padding:14px 18px;font-weight:800;font-size:16px}.client-native-share-v562{font-weight:800}
/* V5.64 targeted additions */
.confirm-card-v564{background:linear-gradient(135deg,#fff7df,#fff);border:1px solid rgba(170,120,20,.2)}
.confirm-list-v564{grid-column:1/-1;width:100%;padding-top:8px}.confirm-row-v564{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:8px 0;border-top:1px solid rgba(0,0,0,.08)}.confirm-open-v564{background:none;border:0;text-align:left;min-width:0}.confirm-open-v564 b,.confirm-open-v564 small{display:block}.confirm-call-v564,.confirm-done-v564{border:0;border-radius:10px;padding:8px 10px;font-weight:700;text-decoration:none;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);white-space:nowrap}.confirm-done-v564{background:#e9f8ee}.import-match-v564 select{width:100%;margin-top:7px;padding:8px;border-radius:9px;border:1px solid rgba(0,0,0,.15);background:#fff}@media(max-width:520px){.confirm-row-v564{grid-template-columns:1fr auto}.confirm-done-v564{grid-column:1/-1}.confirm-call-v564{align-self:center}}

/* V5.65 */
.calendar-day-v541 .callback-dot-v565{position:absolute;right:2px;top:2px;z-index:8;font-size:9px;line-height:1}.calendar-day-v541 .slot-bg{grid-template-rows:1fr 1fr!important}.calendar-day-v541 .slot{display:block!important;min-height:0!important}.calendar-day-v541 .slot.full{grid-row:1/3!important}

/* V5.67 */
.compact-count-v567{width:auto;min-width:64px;margin-left:6px;padding:5px 8px;border-radius:8px;font-weight:800}.money-input>small{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px}

/* V5.67 compact logistics selectors */
.money-input small{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:11px;font-weight:700}.money-input small select{width:auto;min-width:58px;padding:5px 7px;border-radius:8px;border:1px solid rgba(0,0,0,.14);background:#fff;font-weight:800}
/* V5.68 post-it */
.client-head{position:relative}.important-postit-v568{position:absolute;right:4px;top:-4px;width:54px;height:54px;border:0;background:transparent;padding:0;z-index:3;filter:grayscale(.75);opacity:.48}.important-postit-v568.has-note{filter:none;opacity:1}.paper-v568{position:absolute;inset:8px 3px 2px 5px;background:#ffe56a;border-radius:3px 3px 8px 3px;box-shadow:0 4px 7px #0b1e3b2e;transform:rotate(-4deg)}.paper-v568:after{content:"";position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 11px 11px;border-color:transparent transparent #f3ca39 transparent}.pin-v568{position:absolute;z-index:2;right:8px;top:0;color:#df2525;font-size:18px;text-shadow:0 2px 2px #0004}.important-note-field-v568{margin:12px 0}.important-note-field-v568 textarea{margin-top:7px}


/* ================= V5.70 Post-it ================= */
/* Post-it plus net sur la fiche resume : contours francs, sans filtre gris. */
.important-postit-v568{filter:none!important;opacity:1!important;width:58px!important;height:58px!important;right:2px!important;top:-6px!important}
.important-postit-v568 .paper-v568{inset:7px 3px 2px 5px!important;background:#fff2a8!important;border:1px solid #e2c85b!important;box-shadow:0 4px 9px rgba(14,29,56,.18)!important;transform:rotate(-3deg)!important}
.important-postit-v568.has-note .paper-v568{background:#ffe36a!important;border-color:#d8b52b!important}
.important-postit-v568 .pin-v568{font-size:19px!important;right:8px!important;top:-1px!important;color:#b98585!important;text-shadow:0 1px 2px rgba(0,0,0,.18)!important}
.important-postit-v568.has-note .pin-v568{color:#d62d2d!important}
.postit-section-v570{margin-top:14px!important}
.postit-section-v570>summary{display:flex!important;align-items:center!important;gap:10px!important}
.postit-summary-icon-v570{position:relative;display:inline-block;width:25px;height:25px;flex:0 0 25px;background:#ffe36a;border:1px solid #d8b52b;border-radius:3px;box-shadow:0 2px 5px rgba(14,29,56,.14);transform:rotate(-3deg)}
.postit-summary-icon-v570:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#d62d2d;right:3px;top:-4px;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.postit-summary-icon-v570:after{content:"";position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 7px 7px;border-color:transparent transparent #e5bd2e transparent}
.postit-note-field-v570{margin:0!important}
.postit-note-field-v570 textarea{min-height:125px;resize:vertical;background:#fffdf2!important;border-color:#eadb8c!important}
/* ================= fin V5.70 ================= */
/* V5.71 */
.add-user-box-v571{margin:0 0 14px;border:1px solid #cbdaf0;border-radius:18px;padding:12px;background:#f7faff}.add-user-box-v571 summary{font-weight:800;cursor:pointer}.add-user-form-v571{display:grid;gap:9px;margin-top:12px}.add-user-form-v571 input,.add-user-form-v571 select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbdaf0;border-radius:12px;background:#fff}.add-user-form-v571 small{color:#52647e}
/* V5.44 */
.brand-central-menus-v544{display:grid;gap:12px;margin:14px 0 18px}.brand-central-menu-v544{border:1px solid #d5dfed;border-radius:22px;background:#fff;overflow:hidden}.brand-central-menu-v544 summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;color:#102445}.brand-central-menu-v544 summary::-webkit-details-marker{display:none}.brand-central-menu-v544 summary span{display:flex;flex-direction:column;gap:3px}.brand-central-menu-v544 summary b{font-size:18px}.brand-central-menu-v544 summary small{font-size:14px;font-weight:400;color:#71809a}.brand-central-menu-v544 summary i{font-style:normal;font-size:28px}.brand-central-menu-v544[open] summary i{transform:rotate(90deg)}.brand-central-menu-list-v544{display:grid;gap:8px;padding:0 12px 12px}.brand-central-menu-list-v544 button{border:1px solid #dce5f0;border-radius:16px;background:#f8fbff;padding:14px;text-align:left;display:flex;flex-direction:column;gap:4px;color:#102445}.brand-central-menu-list-v544 button small{color:#71809a}
/* V5.68 post-it */
.client-head{position:relative}.important-postit-v568{position:absolute;right:4px;top:-4px;width:54px;height:54px;border:0;background:transparent;padding:0;z-index:3;filter:grayscale(.75);opacity:.48}.important-postit-v568.has-note{filter:none;opacity:1}.paper-v568{position:absolute;inset:8px 3px 2px 5px;background:#ffe56a;border-radius:3px 3px 8px 3px;box-shadow:0 4px 7px #0b1e3b2e;transform:rotate(-4deg)}.paper-v568:after{content:"";position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 11px 11px;border-color:transparent transparent #f3ca39 transparent}.pin-v568{position:absolute;z-index:2;right:8px;top:0;color:#df2525;font-size:18px;text-shadow:0 2px 2px #0004}.important-note-field-v568{margin:12px 0}.important-note-field-v568 textarea{margin-top:7px}
/* V5.72 */
.quick-finance-v572,.meeting-context-v572{margin:10px 0;padding:12px 14px;border:1px solid #dce5f0;border-radius:16px;background:#f8fbff;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;color:#102445}.quick-finance-v572>b,.meeting-context-v572>b{grid-column:1/-1}.quick-finance-v572 span,.meeting-context-v572 span{font-size:12px}.quick-finance-v572 strong,.meeting-context-v572 strong{display:block;margin-top:2px;font-size:14px}.meeting-context-v572{background:#fff8dd}.postit-structured-v572{display:grid;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #dce5f0}.postit-readonly-v572{position:fixed;inset:0;background:#0b1e3b66;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.postit-readonly-card-v572{position:relative;width:min(360px,90vw)}.postit-readonly-close-v572{position:absolute;right:-8px;top:-12px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:#102445;color:#fff;font-size:24px}.postit-readonly-paper-v572{position:relative;min-height:190px;padding:42px 26px 28px;background:#ffe56a;border-radius:6px 6px 20px 6px;box-shadow:0 18px 45px #0004;transform:rotate(-1deg);font-size:18px;line-height:1.45;color:#392f00}.postit-readonly-pin-v572{position:absolute;right:20px;top:8px;color:#df2525;font-size:28px;text-shadow:0 2px 2px #0004}.near-prospects-v572{width:100%;margin:0 0 12px}
@media(max-width:600px){.quick-finance-v572,.meeting-context-v572{grid-template-columns:1fr}.quick-finance-v572>b,.meeting-context-v572>b{grid-column:auto}}
/* V5.73 */
.mini-year-detail-v573{min-height:112px}.mini-detail-v573{display:block;font-size:11px;line-height:1.25;margin-top:4px;color:#52647e}.mini-detail-v573 b{color:#13233c}.meeting-context-v573{min-width:0;border-radius:16px;padding:10px 12px;background:#eef4ff;border:1px solid #cbdaf0;display:flex;flex-direction:column;gap:3px}.meeting-context-v573>b{font-size:11px;text-transform:uppercase;color:#52647e}.meeting-context-v573 span{font-size:11px}.contact-chooser-v573{position:fixed;inset:0;background:#0006;z-index:99999;display:grid;place-items:center;padding:20px}.contact-chooser-card-v573{background:#fff;border-radius:20px;padding:16px;width:min(420px,94vw);box-shadow:0 18px 60px #0004}.contact-chooser-card-v573 h3{margin:0 0 10px}.contact-chooser-card-v573 button{width:100%;margin:5px 0;padding:12px;text-align:left;border:1px solid #d7dfeb;border-radius:12px;background:#fff}.contact-chooser-card-v573 button small{display:block;color:#66758c;margin-top:3px}.calendar-plus-v573{margin-left:auto;margin-right:8px;width:38px;height:38px;border-radius:12px;border:0;background:#0b63ce;color:#fff;font-size:24px}.calendar-day-v541{position:relative}.custom-calendar-line-v573{position:absolute;left:4px;right:4px;bottom:3px;height:4px;border-radius:4px;background:#1473e6;z-index:4}.calendar-custom-event-v573{border-left:5px solid #1473e6;background:#eef5ff;border-radius:10px;padding:9px 10px;margin:7px 0;display:grid;grid-template-columns:1fr auto;gap:2px 8px}.calendar-custom-event-v573 small{grid-column:1}.calendar-custom-event-v573 button{grid-row:1/3;grid-column:2;border:0;background:transparent;color:#b42318}.postit-readonly-v572{cursor:pointer}
/* V5.75 calendrier: trait continu */
.custom-calendar-line-v573.continues-left-v575{left:-6px;border-top-left-radius:0;border-bottom-left-radius:0}
.custom-calendar-line-v573.continues-right-v575{right:-6px;border-top-right-radius:0;border-bottom-right-radius:0}
.calendar-day-v541{overflow:visible}

/* V5.76 fiche rapide validee */
.meeting-strip-v576{margin-top:10px;padding:12px 14px;border:1px solid #eadfb7;border-radius:16px;background:#fff9e8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.meeting-strip-v576 span{min-width:0;padding-right:10px;border-right:1px solid #eadfb7}
.meeting-strip-v576 span:last-child{border-right:0;padding-right:0}
.meeting-strip-v576 b{display:block;font-size:10px;color:#66758c;margin-bottom:3px}
.meeting-strip-v576 strong{display:block;font-size:13px;color:#102445}
@media(max-width:520px){.meeting-strip-v576{grid-template-columns:1fr}.meeting-strip-v576 span{border-right:0;border-bottom:1px solid #eadfb7;padding:0 0 8px}.meeting-strip-v576 span:last-child{border-bottom:0;padding-bottom:0}}

/* V5.77 */
.custom-calendar-title-v577{position:absolute;left:5px;bottom:9px;z-index:6;max-width:calc(100% - 8px);font-size:8px;font-weight:800;line-height:1;color:#0b4ea2;white-space:nowrap;overflow:visible;pointer-events:none;text-align:left}
.custom-calendar-line-v573{bottom:3px}

/* V5.87 - LISTE A FAIRE : modale plein ecran comme Utilisateurs / Chat */
#tasksModalV585{position:fixed!important;inset:0!important;z-index:1200!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;border-radius:0!important;padding:calc(18px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;background:#fff!important}
#tasksModalV585[hidden]{display:none!important}
#tasksModalV585 .modal-header{top:0!important;padding-top:8px!important}
/* V5.88 - tableau de bord CA quotidien / hebdomadaire */
#pendingCaCard{cursor:default;text-align:left}.pending-ca-card>span,.remaining-ca-card>span{font-weight:500}.pending-ca-card .pending-potential,.remaining-potential-v588{margin-top:16px;padding-top:14px;border-top:1px solid #e6d9a9;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pending-ca-card .pending-potential>span,.remaining-potential-v588>span{font-size:13px;font-weight:800;letter-spacing:.02em;color:#66758c}.pending-ca-card .pending-potential>b,.remaining-potential-v588>b{font-size:22px;color:#0b63ce}.remaining-potential-v588{border-top-color:#d7e2ef}.remaining-potential-v588 small,.pending-ca-card .pending-potential small{font-size:12px;line-height:1.25;color:#6d7b91;text-align:left}


/* V5.91 Suivi commercial & Relances */
.client-card.status-inactive-v591{background:linear-gradient(180deg,#f4f6f8 0%,#e8edf2 100%)!important;border-color:#aeb9c5!important;box-shadow:0 8px 20px rgba(73,88,105,.10)!important}
.client-card.status-lost-v591{background:linear-gradient(180deg,#fff5f5 0%,#fde5e5 100%)!important;border-color:#df9c9c!important;box-shadow:0 8px 20px rgba(145,44,44,.10)!important}
.client-card.status-prospect-v591{background:linear-gradient(180deg,#fffdf2 0%,#fff3c8 100%)!important;border-color:#e6c75a!important}
.client-card.status-relaunch-v591{border-color:#e8ad5b!important;box-shadow:0 8px 20px rgba(190,118,21,.09)!important}
.client-preview-wrap .client-card{position:relative;padding-top:52px!important}
.action-badge-v591{position:absolute;left:14px;top:10px;z-index:5;display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border-radius:12px;font-size:16px;font-weight:900;letter-spacing:.01em;background:#eef5ff;border:1px solid #bcd4f0;color:#17385e;box-shadow:0 2px 8px rgba(16,35,63,.08)}
.action-relaunch-v591{background:#fff4df;border-color:#f0c173;color:#8a4d00}.action-urgent-v591{background:#ffe7df;border-color:#f19a78;color:#9b3411;animation:pulseRelanceV591 1.8s ease-in-out infinite}.action-prospect-v591{background:#fff5bc;border-color:#e6c346}.action-inactive-v591{background:#edf1f5;border-color:#bdc7d1}.action-lost-v591{background:#ffe9e9;border-color:#e3a1a1}
@keyframes pulseRelanceV591{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.relaunch-section-v591{margin:0 0 18px;padding:12px;border-radius:18px;background:#fff7e8;border:1px solid #efc57d}.relaunch-section-v591 h3{margin:0 0 10px;display:flex;align-items:center;justify-content:space-between;color:#7e4a08}.relaunch-section-v591 h3 b{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#f2b95a;color:#fff;font-size:14px}.relaunch-row-v591{background:#fffdf8!important;border-color:#efd5a8!important}.relaunch-row-v591 .dashboard-row-meta b{color:#a45b00}.relaunch-row-v591.overdue-v591{background:#fff0e8!important;border-color:#eea47d!important}.relaunch-row-v591.overdue-v591 .dashboard-row-meta b{color:#b33b13}.relaunch-preview-v591{background:#fff8e9!important}

/* ================= V5.92 ================= */
body.calendar-preview-v592 #dashboardListModal{z-index:1301!important}
.calendar-group-v592{position:relative;display:grid;grid-template-columns:18px 1fr;gap:0;margin:4px 0 10px}
.calendar-group-bracket-v592{position:relative;margin:7px 2px 7px 0;border-left:5px solid #3b82f6;border-top:5px solid #3b82f6;border-bottom:5px solid #3b82f6;border-radius:12px 0 0 12px}
.calendar-group-content-v592{display:grid;gap:7px}
.calendar-group-title-v592{font-size:11px;font-weight:900;color:#1769c2;letter-spacing:.04em;padding:1px 4px 0}
.calendar-group-v592 .group-member-event-v592{border-left:1px solid var(--line)!important}
/* ================= fin V5.92 ================= */

/* V5.94 - badge de prochaine action visible sur toutes les cartes */
.client-card.has-action-badge-v594{position:relative!important;padding-top:52px!important}

/* V5.95 Planning fiable + usage terrain */
.dept-slot-v595{position:absolute;left:5px;z-index:9;font-size:8px;line-height:1;font-weight:950;letter-spacing:.02em;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.dept-slot-v595.morning{top:4px}.dept-slot-v595.afternoon{bottom:4px}
.dept-slot-v595.cat-gms{color:#15803d}.dept-slot-v595.cat-central{color:#b45309}.dept-slot-v595.cat-sport{color:#1d4ed8}.dept-slot-v595.cat-camping{color:#c2410c}.dept-slot-v595.cat-independent{color:#475569}.dept-slot-v595.cat-spa{color:#0e7490}.dept-slot-v595.cat-cruise{color:#0369a1}.dept-slot-v595.cat-textile{color:#be185d}.dept-slot-v595.cat-waterpark{color:#0f766e}.dept-slot-v595.cat-other{color:#475569}
.band-today-v595{margin-top:12px;background:#eef8ff!important;border-color:#99c9f7!important}.band-today-v595.has-today-v595{box-shadow:inset 5px 0 0 #1473e6}.today-group-v595{border:1px solid #b9d5f2;border-radius:18px;padding:9px;background:#f6fbff;margin-bottom:10px}.today-group-v595 h3{font-size:13px;margin:0 0 7px;color:#155ea8}
.calendar-export-v595{width:100%;margin:-4px 0 12px;border:1px solid #bdd5ee;border-radius:14px;background:#eef6ff;color:#145ea8;padding:10px 12px;font-weight:900}
.action-badge-v591{max-width:calc(100% - 92px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px!important}
@media(max-width:520px){.dept-slot-v595{font-size:7px}.action-badge-v591{font-size:12px!important;padding:4px 7px!important}}

/* V5.96 */
.calendar-event-dept-v596{display:inline-block;margin-left:3px;padding:1px 5px;border-radius:7px;background:rgba(15,23,42,.09);font-weight:950;color:#334155;font-size:11px;letter-spacing:.02em;vertical-align:baseline}

/* V5.97 départements dans les demi-cases */
.dept-slot-v597{left:6px!important;right:auto!important;font-size:10px!important;font-weight:950!important;line-height:1!important;background:rgba(255,255,255,.72);padding:2px 4px;border-radius:6px;text-shadow:none!important;z-index:12!important}
.dept-slot-v597.morning{top:4px!important}.dept-slot-v597.afternoon{bottom:4px!important}
@media(max-width:520px){.dept-slot-v597{font-size:8px!important;padding:1px 3px}}

/* V5.98 - couleur et département pilotés par le même créneau */
.calendar-day-v541.canonical-slots-v598 .slot-bg{display:none!important}
.slot-color-v598{position:absolute;left:0;right:0;height:50%;z-index:1;opacity:.28;pointer-events:none}
.slot-color-v598.morning{top:0}.slot-color-v598.afternoon{bottom:0}
.slot-color-v598.cat-gms{background:#22c55e}.slot-color-v598.cat-central{background:#f59e0b}.slot-color-v598.cat-sport{background:#3b82f6}.slot-color-v598.cat-camping{background:#f97316}.slot-color-v598.cat-independent{background:#64748b}.slot-color-v598.cat-spa{background:#06b6d4}.slot-color-v598.cat-cruise{background:#0ea5e9}.slot-color-v598.cat-textile{background:#ec4899}.slot-color-v598.cat-waterpark{background:#14b8a6}.slot-color-v598.cat-other{background:#94a3b8}
.nearby-prospects-v598{margin:12px 0 4px;border:1px solid #bcd5ee;border-radius:17px;background:#f6fbff;overflow:hidden}
.nearby-prospects-v598 summary{cursor:pointer;list-style:none;padding:13px 14px;font-weight:950;color:#145ea8;display:grid;gap:2px}
.nearby-prospects-v598 summary::-webkit-details-marker{display:none}.nearby-prospects-v598 summary small{font-size:11px;font-weight:700;color:#6b7890}
.nearby-list-v598{display:grid;gap:7px;padding:0 10px 10px;max-height:430px;overflow:auto}
.nearby-row-v598 .dashboard-row-meta b{color:#145ea8}.nearby-row-v598 small{line-height:1.25}
/* V5.99 */
.smart-availability-v599{margin:12px 0;padding:13px;border:1px solid #d8e4f1;border-radius:18px;background:#f8fbff;display:grid;gap:7px}.smart-availability-v599>small{color:#66758d}.smart-slots-v599{display:grid;gap:7px}.smart-slots-v599 button{border:1px solid #d8e4f1;background:#fff;border-radius:13px;padding:10px 12px;text-align:left;display:grid;gap:3px;color:#10233f}.smart-slots-v599 button small{color:#64748b}.ca-click-v599{cursor:pointer}.ca-day-v599{display:grid;gap:7px;margin-bottom:15px}.ca-day-v599 h3{display:flex;justify-content:space-between;gap:12px;text-transform:capitalize}.ca-total-v599{position:sticky;bottom:0;display:flex;justify-content:space-between;padding:15px 17px;border-radius:16px;background:#10233f;color:#fff;font-size:19px;margin-top:14px}.portfolio-banner-v599{padding:14px 16px;border-radius:16px;background:#eef6ff;border:1px solid #bdd8f5;display:grid;gap:4px;margin-bottom:12px}.portfolio-banner-v599 small{color:#60748d}

/* V5.100 rappel express */
.quick-actions{grid-template-columns:repeat(8,minmax(0,1fr))!important}
.quick-actions .quick-reminder-v5100{background:#fff8e8!important;border-color:#efd59a!important}
.quick-reminder-backdrop-v5100{position:fixed;inset:0;z-index:120;background:rgba(9,24,45,.55);display:grid;align-items:end;justify-items:center;padding-top:8vh}
.quick-reminder-backdrop-v5100[hidden]{display:none!important}
.quick-reminder-modal-v5100{width:min(620px,100%);background:#fff;border-radius:28px 28px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(0,0,0,.2)}
.quick-reminder-head-v5100{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.quick-reminder-head-v5100 h2{margin:5px 0}.quick-reminder-head-v5100 p{margin:4px 0 0;color:var(--muted);font-weight:800}
.quick-reminder-body-v5100{display:grid;gap:14px;margin-top:16px}.quick-reminder-dates-v5100,.quick-reminder-notes-v5100{display:flex;gap:8px;flex-wrap:wrap}.quick-reminder-dates-v5100 button,.quick-reminder-notes-v5100 button{border:1px solid var(--line);background:#f5f8fc;border-radius:999px;padding:9px 12px;font-weight:800;color:var(--navy)}
.quick-reminder-status-v5100{min-height:18px;margin:0;color:#66758d;font-size:13px;font-weight:700}
@media(max-width:620px){.quick-actions{grid-template-columns:repeat(8,minmax(34px,1fr))!important;gap:3px!important}.quick-reminder-modal-v5100{width:100vw}}

/* V5.102 - RDV du jour robuste + prise RDV express */
.quick-actions{grid-template-columns:repeat(9,minmax(0,1fr))!important}
.quick-actions .quick-appt-v5102{background:#eef7ff!important;border-color:#b9d8f5!important}
.today-backdrop-v5102{position:fixed;inset:0;z-index:130;background:rgba(9,24,45,.52);display:grid;align-items:end;justify-items:center;padding-top:6vh}.today-backdrop-v5102[hidden]{display:none!important}.today-modal-v5102{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:28px 28px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom))}.today-body-v5102{display:grid;gap:10px}.today-row-v5102{border:1px solid #d9e4f2;background:#fff;border-radius:17px;padding:13px 14px;display:grid;grid-template-columns:1fr auto 20px;gap:10px;align-items:center;text-align:left;color:#10233f}.today-row-v5102 span{display:grid;gap:3px}.today-row-v5102 span:nth-child(2){text-align:right}.today-row-v5102 small{color:#687790}.today-group-v5102{border-left:5px solid #3b82f6;padding-left:10px;display:grid;gap:8px}.today-group-v5102 h3{margin:4px 0;color:#145ea8;font-size:14px}
.quick-appt-backdrop-v5102{position:fixed;inset:0;z-index:135;background:rgba(9,24,45,.55);display:grid;align-items:end;justify-items:center;padding-top:4vh}.quick-appt-backdrop-v5102[hidden]{display:none!important}.quick-appt-modal-v5102{width:min(680px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:28px 28px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom))}.quick-appt-head-v5102{display:flex;justify-content:space-between;gap:12px}.quick-appt-head-v5102 h2{margin:5px 0}.quick-appt-head-v5102 p{margin:3px 0;color:#66758d;font-weight:800}.quick-appt-body-v5102{display:grid;gap:14px;margin-top:14px}.quick-agenda-v5102{width:100%}.quick-smart-v5102{padding:12px;border:1px solid #d8e4f1;border-radius:17px;background:#f8fbff;display:grid;gap:6px}.quick-smart-v5102>small{color:#66758d}.quick-smart-list-v5102{display:grid;gap:6px}.quick-smart-list-v5102 button{border:1px solid #d8e4f1;background:#fff;border-radius:13px;padding:10px;text-align:left;display:grid;gap:2px;color:#10233f}.quick-smart-list-v5102 button small{color:#687790}.quick-appt-status-v5102{min-height:18px;margin:0;color:#b45309;font-weight:800;font-size:13px}
@media(max-width:620px){.quick-actions{grid-template-columns:repeat(9,minmax(31px,1fr))!important;gap:3px!important}.quick-appt-modal-v5102,.today-modal-v5102{width:100vw}.quick-appt-modal-v5102 .form-grid.three{grid-template-columns:1fr 1fr}.quick-appt-modal-v5102 .form-grid.three label:last-child{grid-column:1/-1}}
/* V5.105 : tuile RDV du jour neutre, sans barre bleue laterale */
#todayAppointmentsCardV5105{box-shadow:none!important}

/* V5.108 - Nouveau composant autonome Rendez-vous du jour */
.today-rdv-card-v5108{border:1px solid #b8dcff;background:#f3f9ff;cursor:pointer;position:relative;z-index:1}
.today-rdv-card-v5108:active{transform:scale(.995)}
.today-rdv-backdrop-v5108{z-index:10050}
.today-rdv-modal-v5108{max-height:min(82vh,760px);overflow:hidden;display:flex;flex-direction:column}
.today-rdv-body-v5108{overflow:auto;padding:4px 2px 18px}
.today-rdv-group-v5108{margin:10px 0 18px;padding:10px;border:2px solid #8fc7ff;border-radius:18px;background:#f8fbff}
.today-rdv-group-v5108>h3{margin:0 0 8px;font-size:.88rem;color:#1661a8}
.today-rdv-row-v5108{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:15px 14px;margin:8px 0;border:1px solid #dbe5f0;border-radius:16px;background:white;color:#0d2343;min-height:72px}
.today-rdv-row-v5108 span{min-width:0;display:flex;flex-direction:column;gap:3px}.today-rdv-row-v5108 strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis}.today-rdv-row-v5108 small{color:#6b7a90}.today-rdv-time-v5108{align-items:flex-end!important;white-space:nowrap}.today-rdv-time-v5108 b{color:#087ee8}
.today-rdv-empty-v5108{padding:28px 14px;text-align:center;color:#6b7a90}

/* V5.110 */
.action-section-v5110{margin:0 0 18px;padding:12px;border-radius:18px;border:1px solid #cbdcf2;background:#f7fbff}
.action-section-v5110>h3{margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;color:#17375f;font-size:18px}
.action-section-v5110>h3>b{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:#2f7fd7;color:white;font-size:14px}
.action-section-v5110.history{background:#f4f8ff;border-color:#bfd5f1}
.action-section-v5110.prospects{background:#fff9e8;border-color:#ead39a}
.action-section-v5110.prospects>h3{color:#79530c}
.action-section-v5110.prospects>h3>b{background:#d7a23b}
.action-dept-v5110{margin-top:10px}
.action-dept-v5110>h4{margin:0 0 7px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.82);color:#526984;font-size:13px;letter-spacing:.03em;display:flex;justify-content:space-between;align-items:center}
.action-dept-v5110>h4>b{font-size:12px}
#clientList[hidden]{display:none!important}
