/* Expérience Client 4.0 */
.exp-tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 1rem;padding:.35rem;background:#fff;border:1px solid var(--bordure,#eadfce);border-radius:14px;position:sticky;top:.5rem;z-index:8}.exp-tabs button{border:0;background:transparent;border-radius:10px;padding:.62rem .82rem;color:var(--brun,#553421);font:700 .82rem/1 inherit;cursor:pointer;display:flex;align-items:center;gap:.35rem}.exp-tabs button.on{background:var(--corail,#e96646);color:#fff}.exp-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.8rem}.exp-span-3{grid-column:span 3}.exp-span-4{grid-column:span 4}.exp-span-5{grid-column:span 5}.exp-span-6{grid-column:span 6}.exp-span-7{grid-column:span 7}.exp-span-8{grid-column:span 8}.exp-span-12{grid-column:span 12}.exp-kpi{background:#fff;border:1px solid var(--bordure,#eadfce);border-radius:16px;padding:1rem;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.exp-kpi__label{font-size:.77rem;color:#887566;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.exp-kpi__value{font-size:2rem;font-weight:850;color:var(--brun,#553421)}.exp-kpi__meta{font-size:.75rem;color:#8a7a68}.exp-kpi--danger{background:#fff5f3;border-color:#efb4a8}.exp-kpi--warning{background:#fffaf0;border-color:#efd79d}.exp-kpi--good{background:#f1fbf5;border-color:#abd8ba}.exp-card{background:#fff;border:1px solid var(--bordure,#eadfce);border-radius:16px;overflow:hidden}.exp-card__head{padding:.8rem 1rem;border-bottom:1px solid var(--bordure,#eadfce);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.exp-card__head h3{margin:0;font-size:1rem}.exp-card__body{padding:1rem}.exp-list{display:grid;gap:.45rem}.exp-list-row{display:flex;align-items:center;gap:.65rem;padding:.65rem;border:1px solid #eee4d7;border-radius:11px;background:#fff}.exp-list-row__main{min-width:0;flex:1}.exp-list-row__title{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-list-row__meta{font-size:.74rem;color:#887566;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-badge{display:inline-flex;align-items:center;padding:.2rem .48rem;border-radius:999px;font-size:.69rem;font-weight:800;background:#f2ece4;color:#6c5849}.exp-badge--danger{background:#ffe5df;color:#a72d1d}.exp-badge--warning{background:#fff0c7;color:#8a5a00}.exp-badge--good{background:#dff4e7;color:#17653a}.exp-badge--info{background:#e7efff;color:#28559a}.exp-empty{padding:2rem;text-align:center;color:#8a7a68}.exp-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}.exp-toolbar input,.exp-toolbar select{min-height:38px}.exp-kanban{display:grid;grid-template-columns:repeat(5,minmax(245px,1fr));gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.exp-kanban-col{background:#f7f2eb;border:1px solid #e8dccd;border-radius:15px;min-height:520px;display:flex;flex-direction:column}.exp-kanban-col__head{padding:.75rem .85rem;display:flex;justify-content:space-between;align-items:center;font-size:.83rem;font-weight:850;position:sticky;top:0;background:#f7f2eb;border-radius:15px 15px 0 0;z-index:2}.exp-kanban-col__body{padding:.55rem;display:grid;gap:.55rem;align-content:start;min-height:460px}.exp-kanban-col.dragover{outline:3px solid rgba(233,102,70,.3);outline-offset:-3px}.exp-ticket{background:#fff;border:1px solid #e5d8c8;border-radius:12px;padding:.72rem;cursor:grab;box-shadow:0 2px 6px rgba(85,52,33,.045)}.exp-ticket:active{cursor:grabbing}.exp-ticket__top{display:flex;justify-content:space-between;gap:.4rem;align-items:start}.exp-ticket__ref{font-size:.7rem;color:#8a7a68}.exp-ticket__client{font-weight:800;margin:.25rem 0}.exp-ticket__motif{font-size:.78rem;color:#665447;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exp-ticket__foot{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin-top:.55rem;font-size:.7rem}.exp-ticket.sla-depasse{border-left:4px solid #c73725}.exp-ticket.sla-attention{border-left:4px solid #d89b16}.exp-prio{width:9px;height:9px;border-radius:50%;display:inline-block}.exp-prio--urgente{background:#c73725}.exp-prio--haute{background:#e88719}.exp-prio--normale{background:#5984c7}.exp-prio--faible{background:#8ea39a}.exp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.exp-form-grid .full{grid-column:1/-1}.exp-field{display:grid;gap:.28rem}.exp-field label{font-size:.76rem;font-weight:750;color:#6e5a4c}.exp-field input,.exp-field select,.exp-field textarea{width:100%;border:1px solid #ddcfbe;border-radius:9px;padding:.58rem .65rem;background:#fff;color:var(--brun,#553421);font:inherit}.exp-field textarea{min-height:84px;resize:vertical}.exp-check{display:flex;align-items:center;gap:.45rem;font-size:.8rem}.exp-table{width:100%;border-collapse:collapse}.exp-table th,.exp-table td{padding:.65rem .6rem;border-bottom:1px solid #eee3d5;text-align:left;vertical-align:top}.exp-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#806c5e}.exp-table td{font-size:.8rem}.exp-actions{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.exp-progress{height:8px;background:#eee5da;border-radius:999px;overflow:hidden}.exp-progress>span{display:block;height:100%;background:var(--corail,#e96646)}.exp-timeline{position:relative;padding-left:1.35rem}.exp-timeline:before{content:"";position:absolute;left:.42rem;top:.2rem;bottom:.2rem;width:2px;background:#eadfce}.exp-event{position:relative;margin:0 0 .8rem;padding:.65rem .75rem;background:#fff;border:1px solid #eadfce;border-radius:11px}.exp-event:before{content:"";position:absolute;left:-1.18rem;top:.9rem;width:9px;height:9px;border-radius:50%;background:var(--corail,#e96646);border:2px solid #fff;box-shadow:0 0 0 1px #e2d4c4}.exp-event__date{font-size:.7rem;color:#8a7a68}.exp-sla-line{display:grid;grid-template-columns:minmax(180px,1fr) 100px 120px 120px 80px;gap:.5rem;align-items:center;padding:.65rem;border-bottom:1px solid #eee3d5}.exp-rule-builder{display:grid;gap:.55rem}.exp-rule-row{display:grid;grid-template-columns:1fr .8fr 1.2fr auto;gap:.4rem;align-items:center}.exp-rule-action{grid-template-columns:1fr 1.4fr auto}.exp-heat{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.exp-heat div{padding:.45rem .2rem;text-align:center;border-radius:7px;font-size:.7rem;background:#f3ece3}.exp-source-card{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.75rem;border-bottom:1px solid #eee4d7}.exp-score{font-size:1.4rem;font-weight:850;text-align:center}.exp-score small{display:block;font-size:.65rem;color:#887566}.exp-modal-section{padding:.8rem 0;border-bottom:1px solid #eee4d7}.exp-modal-section:last-child{border-bottom:0}.exp-qw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.exp-qw-metric{border:1px solid #e8dccd;border-radius:12px;padding:.8rem;background:#fff}.exp-qw-metric strong{font-size:1.35rem;display:block}.exp-segment{display:inline-flex;padding:.25rem;background:#f2ece4;border-radius:10px;gap:.2rem}.exp-segment button{border:0;background:transparent;border-radius:8px;padding:.42rem .65rem;cursor:pointer;font-weight:750;color:#6a574a}.exp-segment button.on{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
@media(max-width:1200px){.exp-span-3{grid-column:span 6}.exp-span-4,.exp-span-5,.exp-span-6,.exp-span-7,.exp-span-8{grid-column:span 12}.exp-kanban{grid-template-columns:repeat(5,280px)}}
@media(max-width:700px){.exp-grid{grid-template-columns:1fr}.exp-grid>[class*="exp-span"]{grid-column:1}.exp-form-grid{grid-template-columns:1fr}.exp-sla-line{grid-template-columns:1fr}.exp-rule-row,.exp-rule-action{grid-template-columns:1fr}.exp-source-card{grid-template-columns:60px 1fr}.exp-source-card>.exp-actions{grid-column:1/-1}.exp-tabs{position:static}}
.rec-metric--danger{background:#fff1ee!important;border-color:#e9a79a!important}.rec-metric--danger strong{color:#b72f20!important}.rec-metric--warn{background:#fff9e9!important;border-color:#e7cc87!important}.rec-metric--warn strong{color:#946500!important}.rec-metric small{display:block;font-size:.65rem;color:#8a7a68;margin-top:.2rem}

/* V4.1 — omnicanal, téléphonie, procédures, incidents et audit */
.exp-tabs{overflow-x:auto;scrollbar-width:thin}.exp-tabs button{white-space:nowrap}.exp-inbox-list{display:grid;gap:.75rem}.exp-inbox-item{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:1rem;padding:1rem;border:1px solid var(--border,#e2e5e9);border-radius:14px;background:#fff}.exp-inbox-item__source{display:flex;flex-direction:column;gap:.45rem}.exp-inbox-item__source small{color:var(--text-muted,#6b7280)}.exp-inbox-item__main p{margin:.55rem 0 0;line-height:1.45}.exp-inbox-item__actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.exp-calls-table audio{width:180px;height:32px}.exp-calls-table td{vertical-align:middle}.exp-search-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:.65rem;align-items:center}.exp-search-grid input,.exp-search-grid select{width:100%}.exp-saved-views{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.7rem}.exp-category-tree{display:grid;gap:.45rem}.exp-category-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:.75rem .85rem;background:#fff}.exp-category-row.is-child{margin-left:2rem;border-left:4px solid var(--corail,#ea6b54)}.exp-knowledge{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:.8rem;margin-bottom:.65rem;background:#fff}.exp-knowledge>span{display:block;color:var(--text-muted,#6b7280);font-size:.75rem;margin-top:.15rem}.exp-knowledge p{line-height:1.45}.exp-incident-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.exp-incident-card{background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:16px;padding:1rem;border-top:5px solid #9ca3af}.exp-incident-card--haute{border-top-color:#f59e0b}.exp-incident-card--critique{border-top-color:#dc2626}.exp-incident-card header{display:flex;justify-content:space-between;gap:.5rem}.exp-incident-card h3{margin:.65rem 0 .35rem}.exp-incident-card p{line-height:1.45}.exp-incident-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.8rem 0}.exp-incident-card dl div{background:var(--surface-subtle,#f7f7f7);padding:.55rem;border-radius:9px}.exp-incident-card dt{font-size:.7rem;color:var(--text-muted,#6b7280)}.exp-incident-card dd{margin:.15rem 0 0;font-weight:700}.exp-budget{margin-bottom:1rem}.exp-budget>span{float:right}.exp-json-readable{white-space:pre-wrap;overflow:auto;max-height:330px;background:#f7f7f7;padding:.8rem;border-radius:10px}.exp-hub{padding:.25rem}.exp-hub-top{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,2fr) auto;gap:.8rem;align-items:end;margin-bottom:1rem}.exp-hub-score{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-size:.78rem}.exp-checklist-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.6rem;border-bottom:1px solid var(--border,#eee)}.exp-checklist-item small{grid-column:2/-1;color:var(--text-muted,#6b7280)}.exp-kb-details{border-bottom:1px solid var(--border,#eee);padding:.6rem 0}.exp-kb-details summary{font-weight:700;cursor:pointer}.exp-kb-details>div{padding:.6rem;line-height:1.5;background:#f8f8f8;border-radius:8px;margin-top:.5rem}.exp-timeline{position:relative;padding-left:1rem}.exp-timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:#e5e7eb}.exp-timeline__item{position:relative;display:grid;grid-template-columns:125px minmax(160px,1fr) 1fr;gap:.6rem;padding:.45rem 0 .45rem 1rem}.exp-timeline__item:before{content:"";position:absolute;left:-1rem;top:.8rem;width:10px;height:10px;border-radius:50%;background:var(--corail,#ea6b54);border:2px solid #fff}.exp-timeline__item time{font-size:.72rem;color:var(--text-muted,#6b7280)}.exp-timeline__item span{font-size:.78rem;color:var(--text-muted,#6b7280)}.btn--link{background:none!important;border:0!important;padding:0!important;color:var(--corail,#e76551)!important;text-decoration:underline}.exp-form-grid textarea{min-height:90px}.exp-field button{margin-top:.35rem}
@media(max-width:1100px){.exp-search-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.exp-inbox-item{grid-template-columns:1fr}.exp-inbox-item__actions{justify-content:flex-start}.exp-hub-top{grid-template-columns:1fr}.exp-hub-score{align-items:flex-start}.exp-timeline__item{grid-template-columns:1fr}.exp-calls-table audio{width:135px}}
@media(max-width:650px){.exp-search-grid{grid-template-columns:1fr}.exp-category-row.is-child{margin-left:.75rem}.exp-incident-grid{grid-template-columns:1fr}}

/* V4.1.2 — Diagnostic OVH */
.exp-ovh-report{display:grid;gap:1rem}
.exp-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.exp-kpi{border:1px solid #eadfd4;border-radius:12px;background:#fffaf5;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem}
.exp-kpi span{font-size:.78rem;color:#755f50;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.exp-kpi strong{font-size:1.65rem;color:#5b3825}
.exp-debug{border:1px solid #eadfd4;border-radius:10px;background:#fff;padding:.65rem .8rem}
.exp-debug summary{cursor:pointer;font-weight:700;color:#684632}
.exp-debug pre{white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto;background:#2b211c;color:#fff;padding:.8rem;border-radius:8px;font-size:.75rem}
.text-danger{color:#b42318;font-weight:700}
@media(max-width:800px){.exp-kpi-row{grid-template-columns:1fr}.exp-ovh-report .exp-table{min-width:900px}}

/* V4.1.3 — découverte et affectation des services OVH */
.exp-ovh-service-card{grid-column:1/-1;overflow:visible}
.exp-ovh-services{min-width:1060px}
.exp-ovh-services th,.exp-ovh-services td{vertical-align:middle}
.exp-ovh-services input[type="text"],.exp-ovh-services input:not([type]),.exp-ovh-services select{width:100%;min-width:150px;border:1px solid #ddcfbe;border-radius:8px;padding:.48rem .55rem;background:#fff;color:var(--brun,#553421);font:inherit}
.exp-ovh-services input[type="checkbox"]{width:18px;height:18px;accent-color:var(--corail,#e96646)}
.exp-ovh-services td:first-child,.exp-ovh-services td:last-child{text-align:center}
.exp-ovh-service-card .exp-card__head{flex-wrap:wrap}
.exp-ovh-service-card .exp-card__body{padding:.55rem}
@media(max-width:900px){.exp-ovh-services{min-width:980px}}

/* V4.1.4 — lecture seule OVH, sens entrant/sortant et lecteur audio */
.exp-call-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:.25rem 0 .75rem}.exp-call-filter{display:flex;align-items:center;gap:.55rem;border:1px solid #dfd1c1;background:#fff;border-radius:999px;padding:.48rem .72rem;color:#604838;cursor:pointer;font:700 .78rem/1 inherit}.exp-call-filter strong{min-width:1.6rem;text-align:center;background:#f4ece3;border-radius:999px;padding:.22rem .4rem}.exp-call-filter.is-active{background:#5b3825;color:#fff;border-color:#5b3825}.exp-call-filter.is-active strong{background:rgba(255,255,255,.18)}
.exp-call-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.8rem}.exp-call-summary>div{border:1px solid #e7dacb;background:#fffaf5;border-radius:12px;padding:.7rem .85rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.exp-call-summary span{font-size:.72rem;text-transform:uppercase;letter-spacing:.025em;color:#7d6859;font-weight:750}.exp-call-summary strong{color:#513321}
.exp-direction{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.3rem .58rem;font-size:.72rem;font-weight:850}.exp-direction--in{background:#e7f1ff;color:#205e9b}.exp-direction--out{background:#fff0df;color:#9a4d05}.exp-readonly{display:block;margin-top:.3rem;color:#7b6a5e;white-space:nowrap}.exp-call-row--in{box-shadow:inset 4px 0 #4b8fd8}.exp-call-row--out{box-shadow:inset 4px 0 #e69338}.exp-call-route{display:grid;grid-template-columns:minmax(105px,1fr) auto minmax(105px,1fr);gap:.5rem;align-items:center}.exp-call-route span{display:grid;gap:.15rem}.exp-call-route small{font-size:.65rem;text-transform:uppercase;color:#8a776a;font-weight:750}.exp-call-route b{color:#a18c7d}.exp-audio{display:flex;align-items:center;gap:.3rem}.exp-audio audio{width:180px;height:32px}.exp-call-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.exp-call-detail>div{display:grid;gap:.2rem;border:1px solid #eadfd4;border-radius:10px;padding:.7rem;background:#fff}.exp-call-detail span:first-child{font-size:.7rem;text-transform:uppercase;color:#806c5e;font-weight:750}.exp-call-detail strong{font-size:.9rem}.exp-call-detail+.exp-card audio{width:100%}
@media(max-width:900px){.exp-call-summary{grid-template-columns:1fr}.exp-call-route{grid-template-columns:1fr}.exp-call-route b{display:none}.exp-call-detail{grid-template-columns:1fr}.exp-audio{align-items:flex-start;flex-direction:column}}

/* V4.1.5 — flèches de sens et services alias audio */
.exp-direction{gap:.34rem}.exp-direction>b{font-size:1.05rem;line-height:1;font-weight:950}.exp-direction--in>b{transform:translateY(-.02rem)}.exp-direction--out>b{transform:translateY(.02rem)}

/* V4.2.0 — base OVH indépendante et tableau de bord téléphonie */
.exp-tele-toolbar{position:sticky;top:4.6rem;z-index:7;padding:.55rem;background:rgba(248,244,238,.96);backdrop-filter:blur(8px);border:1px solid #eadfd4;border-radius:14px}
.exp-tele-subnav{display:flex;gap:.35rem;margin:.65rem 0 .9rem;padding:.3rem;background:#efe7dd;border:1px solid #e1d4c5;border-radius:12px;width:max-content;max-width:100%;overflow:auto}
.exp-tele-subnav button{border:0;background:transparent;color:#674c3b;font:800 .78rem/1 inherit;padding:.58rem .78rem;border-radius:9px;cursor:pointer;white-space:nowrap}
.exp-tele-subnav button.is-active{background:#fff;color:#4f3020;box-shadow:0 2px 8px rgba(65,42,27,.10)}
.exp-tele-dashboard>.exp-kpi{grid-column:span 3}
.exp-tele-chart{width:100%;min-height:230px}.exp-tele-chart svg{display:block;width:100%;height:auto;overflow:visible}.exp-tele-chart svg text{font-size:10px;fill:#806c5e}.exp-tele-chart svg .grid{stroke:#eadfd4;stroke-width:1}.exp-tele-legend{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem;font-size:.73rem;font-weight:750;color:#695447}.exp-tele-legend span{display:flex;align-items:center;gap:.35rem}.exp-tele-legend i{width:10px;height:10px;border-radius:3px;display:block}
.exp-hour-bars{height:205px;display:flex;align-items:flex-end;gap:4px;padding:8px 4px 22px;border-bottom:1px solid #ded2c4;overflow-x:auto}.exp-hour-bars>div{position:relative;flex:1 0 18px;height:100%;display:flex;align-items:flex-end;justify-content:center}.exp-hour-bars span{display:block;width:min(20px,80%);min-height:3px;background:linear-gradient(180deg,#e96646,#a94b33);border-radius:5px 5px 2px 2px}.exp-hour-bars small{position:absolute;bottom:-20px;font-size:.59rem;color:#806c5e}
.exp-recordings-table{min-width:1120px}.exp-recordings-table td{vertical-align:middle}.exp-recordings-table audio{width:240px;height:34px}.exp-recordings-table .text-danger{display:inline-block;max-width:260px;white-space:normal}.exp-recordings-table tbody tr:hover{background:#fffaf5}
.exp-sync-status{margin-bottom:.75rem}.exp-tele-dashboard .table-wrap{max-height:360px;overflow:auto}.exp-tele-dashboard .exp-table thead th{position:sticky;top:0;background:#fff;z-index:1}
@media(max-width:1250px){.exp-tele-dashboard>.exp-kpi{grid-column:span 6}.exp-tele-toolbar{top:.5rem}.exp-recordings-table audio{width:180px}}
@media(max-width:700px){.exp-tele-dashboard>.exp-kpi{grid-column:1}.exp-tele-subnav{width:100%}.exp-tele-subnav button{flex:1}.exp-tele-toolbar{position:static}.exp-recordings-table audio{width:150px}}
