:root{--wtl-gold:#b7955d;--wtl-dark:#171717;--wtl-touch-target:44px;--wtl-radius-sm:.65rem;--wtl-radius-lg:1rem;--wtl-content-max:1600px;--wtl-mobile-nav-height:70px}.admin-sidebar{width:280px;min-width:280px}.admin-sidebar .nav-link{border-radius:.65rem}.admin-sidebar .nav-link:hover{background:rgba(255,255,255,.08)}.admin-sidebar .nav-link.active{background:var(--wtl-gold);color:#111!important}.brand-mark{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--wtl-gold);color:#111;font-weight:800;letter-spacing:-1px}.admin-content{min-width:0}.metric-card{border:0;box-shadow:0 .3rem 1.5rem rgba(0,0,0,.06);border-radius:1rem}.metric-icon{width:46px;height:46px;border-radius:.85rem;display:flex;align-items:center;justify-content:center;background:#f0ebe2;color:#6f5631;font-size:1.25rem}.table-card{border:0;border-radius:1rem;box-shadow:0 .3rem 1.5rem rgba(0,0,0,.06);overflow:hidden}.login-bg{background:radial-gradient(circle at 10% 10%,#4a4034 0,#1b1b1b 45%,#0f0f0f 100%)}.login-card{max-width:460px;width:100%;border-radius:1.25rem}.public-hero{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.45)),radial-gradient(circle at 70% 30%,#5f5140,#111 60%)}.wizard-step{display:none}.wizard-step.active{display:block}.wizard-nav .step-dot{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#dee2e6;font-weight:700}.wizard-nav .active .step-dot{background:var(--wtl-gold);color:#111}.sim-total{font-size:2rem;font-weight:800}@media(max-width:991.98px){.admin-sidebar{width:280px}.admin-content{width:100%}}@media(min-width:992px){.admin-sidebar{position:sticky;top:0;height:100vh}}

/* Back-office UX foundations */
.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:2000;transform:translateY(-150%);padding:.7rem 1rem;border-radius:.5rem;background:#fff;color:#111;box-shadow:0 .25rem 1rem rgba(0,0,0,.25)}
.skip-link:focus{transform:translateY(0)}
.admin-content-shell{max-width:var(--wtl-content-max);margin-inline:auto}
.touch-target{min-height:var(--wtl-touch-target);display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}
.page-header-copy{min-width:0}.page-title{margin:0;font-size:clamp(1.55rem,2vw,2.15rem);line-height:1.15}.page-subtitle{margin-top:.45rem;color:#6c757d;max-width:70ch}.page-eyebrow{margin-bottom:.35rem;color:#6f5631;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.feedback-region:empty{display:none}.feedback-region .alert{box-shadow:0 .2rem .8rem rgba(0,0,0,.06)}
.empty-state{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;border:1px dashed #ced4da;border-radius:var(--wtl-radius-lg);background:#fff}.empty-state-icon{margin-bottom:.75rem;color:#8b7550;font-size:2rem}
.bottom-action-bar{position:sticky;bottom:0;z-index:1010;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;margin:1.25rem -1rem -1rem;padding:.8rem 1rem;padding-bottom:max(.8rem,env(safe-area-inset-bottom));border-top:1px solid #dee2e6;background:rgba(255,255,255,.96);box-shadow:0 -.35rem 1rem rgba(0,0,0,.07);backdrop-filter:blur(8px)}
.action-menu .dropdown-item{min-height:var(--wtl-touch-target);display:flex;align-items:center;gap:.55rem}
.mobile-card-list{display:none}.business-card{border:0;border-radius:var(--wtl-radius-lg);box-shadow:0 .2rem 1rem rgba(0,0,0,.07)}.business-card .card-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.advanced-options{border:1px solid #dee2e6;border-radius:var(--wtl-radius-sm);background:#fff}.advanced-options>summary{min-height:var(--wtl-touch-target);padding:.7rem .9rem;font-weight:600;cursor:pointer}.advanced-options-body{padding:0 .9rem .9rem}
.form-control,.form-select,.select2-container--bootstrap-5 .select2-selection{min-height:var(--wtl-touch-target)}
.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible,.nav-link:focus-visible,.dropdown-item:focus-visible,summary:focus-visible{outline:3px solid rgba(13,110,253,.38);outline-offset:2px}
.icon-only-action{width:var(--wtl-touch-target);height:var(--wtl-touch-target);display:inline-flex;align-items:center;justify-content:center}

@media(max-width:767.98px){
    .page-header{align-items:stretch;flex-direction:column}.page-actions{justify-content:stretch}.page-actions>.btn{flex:1 1 100%}
    .desktop-table-only{display:none!important}.mobile-card-list{display:grid;gap:.8rem}
    .bottom-action-bar{margin-inline:-1rem;justify-content:stretch}.bottom-action-bar>.btn,.bottom-action-bar>button{flex:1 1 auto}
    .modal-dialog:not(.modal-fullscreen-sm-down){height:calc(100dvh - 1rem);margin:.5rem}.modal-dialog:not(.modal-fullscreen-sm-down)>.modal-content,.modal-dialog:not(.modal-fullscreen-sm-down)>form.modal-content{max-height:100%;margin-block:auto}.modal-content{min-height:0;overflow:hidden}.modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-header,.modal-footer{flex:0 0 auto}.modal-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}
    .offcanvas .nav-link,.offcanvas .btn{min-height:var(--wtl-touch-target)}
}

/* Keep long modal forms inside the Bootstrap surface so their background,
   scroll area and footer remain continuous on short mobile viewports. */
.modal-content>form,
.modal-content>.modal-scroll-form{
    display:flex;
    min-height:0;
    flex:1 1 auto;
    flex-direction:column;
    overflow:hidden;
    border-radius:inherit;
    background:inherit;
}
.modal-content>form>.modal-header,
.modal-content>form>.modal-footer,
.modal-content>.modal-scroll-form>.modal-header,
.modal-content>.modal-scroll-form>.modal-footer{flex:0 0 auto}
.modal-content>.modal-body,
.modal-content>form>.modal-body,
.modal-content>.modal-scroll-form>.modal-body{
    min-height:0;
    flex:1 1 auto;
    overflow-y:auto;
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-group{overflow:hidden;border:1px solid #e2e5e8;border-radius:var(--wtl-radius-lg);background:#fff;box-shadow:0 .2rem 1rem rgba(0,0,0,.05)}.settings-group>h2{margin:0;padding:1rem 1.1rem;border-bottom:1px solid #e9ecef}.settings-group .list-group-item{display:flex;min-height:var(--wtl-touch-target);flex-direction:column;justify-content:center;padding:.8rem 1.1rem}.settings-group .list-group-item small{color:#6c757d}
@media(max-width:767.98px){.settings-grid{grid-template-columns:1fr}}

.sidebar-section-title{margin:1.4rem .5rem .45rem;color:#adb5bd;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar-section-title:first-child{margin-top:0}.admin-sidebar .nav-link{gap:.6rem;min-height:42px}.admin-sidebar .nav-link i{margin:0!important}.admin-sidebar .nav-link-highlight:not(.active){background:rgba(183,149,93,.14);box-shadow:inset 3px 0 0 var(--wtl-gold)}
.mobile-topbar{min-height:60px;gap:.35rem}.mobile-topbar .mobile-brand-logo{height:36px;max-width:74px}.mobile-project-switch{min-width:0;max-width:220px}.mobile-project-name{min-width:0;color:#fff;font-size:.88rem;font-weight:600}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:1040;display:flex;min-height:var(--wtl-mobile-nav-height);align-items:stretch;justify-content:space-around;padding:0 .25rem;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #d9dde1;background:rgba(255,255,255,.98);box-shadow:0 -.25rem 1rem rgba(0,0,0,.1);backdrop-filter:blur(10px)}.mobile-bottom-link{position:relative;display:flex;min-width:0;min-height:var(--wtl-mobile-nav-height);flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.35rem .15rem;border:0;background:transparent;color:#5f6368;font-size:.68rem;text-decoration:none}.mobile-bottom-link>i{font-size:1.25rem}.mobile-bottom-link.active{color:#111;font-weight:700}.mobile-bottom-primary{overflow:visible}.mobile-bottom-primary-icon{display:flex;width:46px;height:46px;align-items:center;justify-content:center;margin-top:-24px;border:4px solid #f8f9fa;border-radius:50%;background:var(--wtl-dark);color:#fff;box-shadow:0 .25rem .7rem rgba(0,0,0,.25);font-size:1.25rem}.mobile-bottom-primary.active .mobile-bottom-primary-icon{background:var(--wtl-gold);color:#111}.mobile-bottom-link:focus-visible{outline:3px solid rgba(13,110,253,.45);outline-offset:-3px}
@media(max-width:991.98px){.admin-content{padding-bottom:calc(var(--wtl-mobile-nav-height) + env(safe-area-inset-bottom))}.project-page-context{display:none}}

/* Saisie terrain */
.field-capture-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.25rem;align-items:start}.field-capture-form{display:grid;gap:1rem;min-width:0}.field-capture-section{border:0;border-radius:var(--wtl-radius-lg);box-shadow:0 .25rem 1.1rem rgba(0,0,0,.06)}.field-step{display:flex;align-items:flex-start;gap:.8rem}.field-step>span{display:flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border-radius:50%;background:#f0ebe2;color:#5e4828;font-weight:800}.choice-cards{display:grid;gap:.65rem}.choice-cards-two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-cards-three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card{position:relative;cursor:pointer}.choice-card>input{position:absolute;opacity:0;pointer-events:none}.choice-card>span{display:flex;min-height:100%;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.85rem;border:1px solid #dfe2e5;border-radius:.75rem;background:#fff}.choice-card>span>i{font-size:1.2rem;color:#6f5631}.choice-card small{color:#6c757d;line-height:1.25}.choice-card>input:checked+span{border-color:#212529;background:#f7f4ef;box-shadow:inset 0 0 0 2px #212529}.choice-card>input:focus-visible+span{outline:3px solid rgba(13,110,253,.4);outline-offset:2px}.choice-card-recommended>span{border-color:#b7955d}.field-search-results{display:grid;gap:.4rem;max-height:300px;margin-top:.6rem;overflow-y:auto}.field-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .6rem;min-height:52px;padding:.65rem .75rem;border:1px solid #dee2e6;border-radius:.65rem;background:#fff;text-align:left}.field-search-result:hover,.field-search-result:focus-visible{border-color:#8b7550;background:#faf8f4}.field-search-result>span{grid-column:1;color:#6c757d;font-size:.82rem}.field-search-result>.badge{grid-column:2;grid-row:1/3;align-self:center}.field-search-empty{padding:.75rem;border:1px dashed #ced4da;border-radius:.65rem;color:#6c757d}.selected-venue{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem;border-left:4px solid var(--wtl-gold);border-radius:.65rem;background:#f7f4ef}.field-capture-help{position:sticky;top:1.5rem}.field-capture-feedback:empty{display:none}.field-capture-actions{margin-top:0}
@media(max-width:1199.98px){.field-capture-layout{grid-template-columns:1fr}}
@media(max-width:767.98px){.choice-cards-two,.choice-cards-three{grid-template-columns:1fr}.choice-card>span{min-height:72px;padding:.7rem .8rem}.field-capture-section>.card-body{padding:1rem}.field-capture-actions{bottom:calc(var(--wtl-mobile-nav-height) + env(safe-area-inset-bottom));z-index:1025}.field-capture-actions .btn-outline-secondary{flex:0 0 auto}.field-capture-actions .btn-dark{flex:1 1 auto}.field-step>span{width:30px;height:30px;flex-basis:30px}.selected-venue{align-items:flex-start}}

.daily-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.daily-action-card{display:flex;min-width:0;flex-direction:column;padding:1rem;border:1px solid #e1e4e7;border-top:4px solid var(--wtl-gold);border-radius:.8rem;background:#fff;box-shadow:0 .2rem .8rem rgba(0,0,0,.05)}.daily-action-card.is-late{border-top-color:#dc3545}.daily-action-card .btn{margin-top:auto}.daily-action-empty{grid-column:1/-1;min-height:160px}
@media(max-width:1199.98px){.daily-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.daily-action-grid{display:flex;margin-inline:-1rem;padding-inline:1rem;gap:.7rem;overflow-x:auto;scroll-snap-type:x mandatory}.daily-action-card{min-width:min(82vw,310px);scroll-snap-align:start}.daily-action-empty{min-width:calc(100vw - 2rem)}}

/* Dashboard mobile lists avoid horizontal table gestures during daily use. */
.dashboard-card-copy{min-width:0}.dashboard-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.8rem;border:1px solid #e4e7ea;border-radius:.75rem;background:#fff}.dashboard-inline-metrics{display:flex;gap:.8rem}.dashboard-inline-metrics>div{display:flex;flex-direction:column;align-items:flex-end}.dashboard-inline-metrics dt{color:#6c757d;font-size:.72rem;font-weight:500}.dashboard-inline-metrics dd{margin:0;font-weight:700}.dashboard-page-path{display:block;overflow-wrap:anywhere}.dashboard-reason-list{display:flex;flex-wrap:wrap;gap:.35rem}.dashboard-suggestion-actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.5rem}.dashboard-breakdown-list{gap:0}.dashboard-breakdown-row{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid #e9ecef}.dashboard-breakdown-row:last-child{border-bottom:0}
@media(max-width:767.98px){.dashboard-section-header{align-items:flex-start!important}.dashboard-section-header>div{min-width:0}.dashboard-analytics-list{gap:.55rem}.dashboard-suggestion-actions{grid-template-columns:1fr 1fr}.dashboard-suggestion-actions>.btn:first-child{grid-column:1/-1}.dashboard-breakdown-list{display:grid}.dashboard-list-card{grid-template-columns:minmax(0,1fr)}.dashboard-inline-metrics{justify-content:flex-start}.dashboard-inline-metrics>div{align-items:flex-start}}

.task-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.task-filter{display:flex;min-height:64px;align-items:center;justify-content:center;gap:.55rem;padding:.6rem;border:1px solid #dfe2e5;border-radius:.75rem;background:#fff;color:#495057}.task-filter strong{font-size:1.25rem}.task-filter.is-active{border-color:#212529;background:#212529;color:#fff}.task-card{border-left:4px solid var(--wtl-gold)}.task-card[data-task-category="late"]{border-left-color:#dc3545}
@media(max-width:575.98px){.task-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.task-filter{min-height:54px}.task-mobile-list{display:grid}}

.prospection-filters{border:1px solid #dee2e6;border-radius:.75rem;background:#fff}.prospection-filters>summary{min-height:var(--wtl-touch-target);padding:.75rem 1rem;font-weight:600;cursor:pointer}.prospection-card{border-left:4px solid var(--wtl-gold)}.next-action-inline{display:grid;grid-template-columns:1fr auto;gap:.1rem .5rem;padding:.65rem .75rem;border-radius:.6rem;background:#f7f4ef}.next-action-inline>span{grid-column:1/-1}.prospection-mobile-list{gap:.75rem}
@media(max-width:767.98px){.prospection-mobile-list{display:grid}.prospection-filters:not([open])>summary{border:0}}

.venue-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.venue-contact-card{display:flex;min-width:0;flex-direction:column;padding:1rem;border:1px solid #dee2e6;border-radius:.75rem}.venue-contact-card.is-primary{border-left:4px solid var(--wtl-gold);background:#faf8f4}.venue-contact-card .card-actions{margin-top:auto}.detail-list dt{color:#6c757d;font-weight:500}.venue-card{border-left:4px solid #adb5bd}.venue-primary-contact{padding:.65rem .75rem;border-radius:.6rem;background:#f8f9fa}
@media(max-width:767.98px){.venue-mobile-list{display:grid}.venue-contact-grid{grid-template-columns:1fr}.detail-list dt{margin-top:.65rem}.detail-list dt:first-child{margin-top:0}}

@media(max-width:767.98px){.prospection-header-actions{justify-content:stretch!important}.prospection-header-actions>.btn,.prospection-header-actions>form{flex:1 1 calc(50% - .5rem)}.prospection-header-actions>form>.btn{width:100%;height:100%}.workflow-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-action-grid>.btn{min-height:var(--wtl-touch-target);white-space:normal}.prospection-advanced-field{scroll-margin-top:5rem}}

/* Commercial */
.responsive-tabs{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:thin}.responsive-tabs>*{flex:0 0 auto}.commercial-document-total{display:flex;align-items:center;justify-content:space-between;padding:.7rem .8rem;border-radius:.6rem;background:#f8f9fa}.commercial-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.commercial-flow-step{display:flex;align-items:center;gap:.65rem;color:#6c757d}.commercial-flow-step>span{display:flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border:2px solid #ced4da;border-radius:50%;font-weight:700}.commercial-flow-step>div{display:flex;min-width:0;flex-direction:column}.commercial-flow-step small{color:#6c757d}.commercial-flow-step.is-done>span{border-color:#198754;background:#198754;color:#fff}.commercial-flow-step.is-current>span{border-color:var(--wtl-gold);background:var(--wtl-gold);color:#111}.commercial-flow-step.is-current strong{color:#111}.simulator-advanced{background:transparent}.simulator-advanced>.advanced-options-body{padding-inline:0}.simulator-result{z-index:2}
@media(max-width:767.98px){.simulator-layout{display:flex;flex-direction:column}.simulator-layout>.col-xl-5{order:-1}.simulator-result{position:static!important}.simulator-result .card-body>h2,.simulator-result .card-body>div:not(:last-of-type){display:none}.simulator-result .card-body{padding:1rem!important}.simulator-result .mt-4{margin-top:0!important}.simulator-result .sim-total{font-size:1.65rem}.simulator-result #report-link{margin-top:.65rem!important}.commercial-flow-steps{grid-template-columns:1fr}.commercial-flow-step{padding-bottom:.55rem;border-bottom:1px solid #e9ecef}.commercial-flow-step:last-child{border-bottom:0}.document-sheet{padding:1rem!important;overflow-x:auto}.document-sheet>.table{min-width:660px}.commercial-document-cards{padding-inline:0!important}.quote-lines-table thead{display:none}.quote-lines-table,.quote-lines-table tbody,.quote-lines-table tr,.quote-lines-table td{display:block;width:100%}.quote-lines-table tr.quote-line{margin-bottom:.8rem;padding:.8rem;border:1px solid #dee2e6;border-radius:.75rem}.quote-lines-table tr.quote-line td{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:.6rem;padding:.35rem 0;border:0;text-align:left!important}.quote-lines-table tr.quote-line td::before{content:attr(data-label);color:#6c757d;font-size:.78rem;font-weight:600}.quote-lines-table tr.quote-line td:first-child{display:block;padding-bottom:.6rem}.quote-lines-table tr.quote-line td:first-child::before{display:none}}

/* Production technique */
.technical-state-reason{position:relative}.technical-state-reason>summary{list-style:none}.technical-state-reason>summary::-webkit-details-marker{display:none}.technical-state-reason-form{position:absolute;right:0;top:calc(100% + .4rem);z-index:1020;width:min(300px,calc(100vw - 2rem));padding:.8rem;border:1px solid #dee2e6;border-radius:.75rem;background:#fff;box-shadow:0 .5rem 1.5rem rgba(0,0,0,.16)}
.stage-editor,.stage-object{touch-action:none}.stage-palette-item{min-height:var(--wtl-touch-target)}.stage-plan-save-bar{bottom:0}.technical-template-cards,.stage-plan-cards{background:#f8f9fa}
@media(max-width:767.98px){.technical-sheet-actions{width:100%;align-items:stretch!important}.technical-sheet-actions>.badge{align-self:center}.technical-state-reason{flex:1 1 auto}.technical-state-reason>summary{width:100%}.technical-state-reason-form{position:fixed;right:1rem;bottom:calc(var(--wtl-mobile-nav-height) + 1rem);top:auto;left:1rem;width:auto}.stage-plan-save-bar{bottom:calc(var(--wtl-mobile-nav-height) + env(safe-area-inset-bottom))}.stage-editor-device-note{display:block}.stage-pdf-preview{overflow-x:auto}.stage-pdf-row{min-width:690px}.technical-local-stage-editor .stage-pdf-row{min-width:650px}.stage-palette{max-height:280px}}

/* Documents et comptabilité */
.accounting-movement-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid #e6e8ea;border-radius:.7rem}.accounting-movement-card>div{display:grid;min-width:0;gap:.2rem}.accounting-movement-card>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounting-movement-card small{color:#6c757d}.document-library-cards,.accounting-mobile-cards,.accounting-movement-cards{background:#f8f9fa}
@media(max-width:767.98px){.accounting-mobile-cards,.accounting-movement-cards,.document-library-cards{padding:1rem!important}.accounting-mobile-cards .card-actions{justify-content:flex-end}.accounting-tree-card .btn-group{display:grid;width:100%;grid-template-columns:1fr 1fr}.accounting-tree-card .btn-group>.btn{min-height:var(--wtl-touch-target)}.accounting-file-item .btn{width:calc(100% - 2.2rem);min-height:var(--wtl-touch-target)}.accounting-movement-card{align-items:flex-start}.accounting-movement-card>strong{white-space:nowrap}}

/* Administration et aide contextuelle */
.context-help{border:1px solid #dfe2e5;border-radius:.75rem;background:#fff}.context-help>summary{display:flex;min-height:var(--wtl-touch-target);align-items:center;gap:.55rem;padding:.7rem .9rem;color:#495057;font-weight:600;cursor:pointer;list-style:none}.context-help>summary::-webkit-details-marker{display:none}.context-help-body{padding:0 .9rem .9rem;color:#495057}.permission-mobile-category{margin:1rem 0 .4rem;padding-bottom:.35rem;border-bottom:1px solid #e9ecef;color:#6c757d;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.permission-mobile-row{display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:.65rem;padding:.45rem 0}.permission-mobile-row form{margin:0}.user-admin-cards,.commercial-settings-cards,.blocked-ip-cards,.contact-request-cards{background:#f8f9fa}
@media(max-width:767.98px){.permission-group-cards + .table-card{display:none}.permission-mobile-row{grid-template-columns:1fr}.permission-mobile-row form{width:100%}.user-admin-cards{display:grid}}

/* Dates de concert */
.admin-form-stack{display:grid;gap:1rem;max-width:1120px}.admin-section-card{border:0;border-radius:var(--wtl-radius-lg);box-shadow:0 .2rem 1rem rgba(0,0,0,.06)}.step-marker{display:flex;width:34px;height:34px;flex:0 0 34px;align-items:center;justify-content:center;border-radius:50%;background:#f0ebe2;color:#5e4828;font-weight:800}.publication-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.choice-row{position:relative;display:flex;min-height:94px;align-items:flex-start;gap:.7rem;padding:.85rem;border:1px solid #dfe2e5;border-radius:.75rem;cursor:pointer}.choice-row:has(input:checked){border-color:#212529;background:#f7f4ef;box-shadow:inset 0 0 0 1px #212529}.choice-row input{margin-top:.25rem}.choice-row span{display:flex;flex-direction:column}.choice-row small{margin-top:.2rem;color:#6c757d}.advanced-options>summary>span{display:flex;flex-wrap:wrap;align-items:center}.advanced-options>summary small{flex-basis:100%;margin-top:.2rem;margin-left:1.6rem;color:#6c757d;font-weight:400}.sticky-form-actions{position:sticky;bottom:0;z-index:1015;display:flex;justify-content:flex-end;gap:.6rem;padding:.8rem 0 calc(.8rem + env(safe-area-inset-bottom));background:linear-gradient(transparent,#f8f9fa 28%)}.concert-card{border-left:4px solid var(--wtl-gold)}.concert-card.is-cancelled{border-left-color:#dc3545}.concert-card.is-performed{border-left-color:#6c757d}.concert-meta{display:flex;flex-wrap:wrap;gap:.45rem}.concert-mobile-actions{display:grid;grid-template-columns:1fr auto;gap:.5rem}
@media(max-width:767.98px){.publication-options{grid-template-columns:1fr}.choice-row{min-height:72px}.sticky-form-actions{bottom:calc(var(--wtl-mobile-nav-height) + env(safe-area-inset-bottom));margin-inline:-1rem;padding-inline:1rem}.sticky-form-actions .btn-dark{flex:1 1 auto}.concert-mobile-list{display:grid}}

/* Bilans de représentation */
.feedback-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.feedback-stat-grid>div{display:flex;min-width:0;flex-direction:column;padding:1rem;border:1px solid #e1e4e7;border-radius:.8rem;background:#fff}.feedback-stat-grid span{color:#6c757d;font-size:.8rem}.feedback-stat-grid strong{font-size:1.45rem}.feedback-wizard{max-width:1120px;margin:auto}.feedback-progress{position:sticky;top:0;z-index:1010;padding:.45rem;background:#f8f9fa}.feedback-progress .wizard-step strong{display:flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;border-radius:50%;background:#e9ecef}.feedback-progress .wizard-step.active strong{background:#212529;color:#fff}.feedback-wizard-step{scroll-margin-top:6rem}.feedback-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.feedback-question-grid>div,.feedback-question-grid>fieldset{min-width:0}.feedback-scale{margin:0;padding:0;border:0}.feedback-scale-options{display:grid;grid-template-columns:repeat(5,minmax(42px,1fr));gap:.35rem}.feedback-scale-options:has(label:nth-child(6)){grid-template-columns:repeat(10,minmax(36px,1fr))}.feedback-scale-options input{position:absolute;opacity:0}.feedback-scale-options span{display:flex;min-height:44px;align-items:center;justify-content:center;border:1px solid #ced4da;border-radius:.55rem;background:#fff;font-weight:700;cursor:pointer}.feedback-scale-options input:checked+span{border-color:#212529;background:#212529;color:#fff}.feedback-scale-options input:focus-visible+span{outline:3px solid rgba(13,110,253,.35);outline-offset:2px}.feedback-scale-labels{display:flex;justify-content:space-between;margin-top:.3rem;color:#6c757d;font-size:.75rem}.feedback-date-context{display:flex;align-items:center;gap:.8rem;padding:1rem;border-left:4px solid var(--wtl-gold);border-radius:.6rem;background:#f8f9fa}.feedback-date-context i{font-size:1.5rem}.feedback-date-context div{display:flex;min-width:0;flex-direction:column}.feedback-wizard-actions{position:sticky;bottom:0;z-index:1020;margin-top:1rem;padding:.8rem;background:rgba(248,249,250,.97);border-top:1px solid #dee2e6}.feedback-wizard-actions .btn{min-height:var(--wtl-touch-target)}.feedback-mobile-list{gap:.75rem}.feedback-card{border-left:4px solid var(--wtl-gold)}.feedback-score{display:flex;align-items:baseline;font-size:1.6rem;font-weight:800}.feedback-score small{font-size:.75rem}.feedback-detail-row{display:grid;grid-template-columns:minmax(190px,32%) minmax(0,1fr);gap:1rem;padding:.65rem 0;border-bottom:1px solid #eceff1}.feedback-detail-row:last-child{border-bottom:0}.feedback-detail-row dt{color:#6c757d;font-weight:600}.feedback-detail-row dd{margin:0;overflow-wrap:anywhere}
@media(max-width:991.98px){.feedback-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-progress .wizard-step span{display:none}.feedback-question-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.feedback-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-stat-grid>div:last-child{grid-column:1/-1}.feedback-mobile-list{display:grid}.feedback-progress{top:60px;margin-inline:-1rem;padding-inline:1rem}.feedback-scale-options:has(label:nth-child(6)){grid-template-columns:repeat(5,minmax(42px,1fr))}.feedback-wizard-actions{bottom:calc(var(--wtl-mobile-nav-height) + env(safe-area-inset-bottom));margin-inline:-1rem;padding-inline:1rem}.feedback-wizard-actions .btn-dark{flex:1 1 auto}.feedback-detail-row{grid-template-columns:1fr;gap:.2rem}.feedback-detail-row dt{font-size:.8rem}.feedback-detail .accordion-body{padding:1rem}}

/* WTL V2 */
.sidebar-logo{display:block;max-width:190px;max-height:105px;object-fit:contain;margin:0 auto}.mobile-brand-logo{height:42px;width:auto;object-fit:contain}.login-logo{width:min(100%,300px);max-height:230px;object-fit:contain}.next-action-card{border-left:5px solid var(--wtl-gold)!important}.quick-actions .btn{min-height:44px}.detail-grid>div>span{display:block;color:#6c757d;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.detail-grid>div>strong{display:block;font-size:1rem}.detail-grid>div>small{display:block;color:#6c757d}.process-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .9rem;background:#f8f9fa;border-radius:.7rem}.process-row span{color:#6c757d}.timeline{position:relative}.timeline-item{position:relative;padding-left:1.7rem;border-left:2px solid #e6e1d8;margin-left:.35rem}.timeline-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--wtl-gold);left:-6.5px;top:.35rem;box-shadow:0 0 0 4px #fff}.white-space-preline{white-space:pre-line}.sim-step{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#f0ebe2;color:#6f5631;font-weight:800;margin-right:.35rem}.sim-section .form-label{font-weight:600}.dt-container .dt-search input,.dt-container .dt-length select{border:1px solid #dee2e6;border-radius:.5rem;padding:.375rem .75rem}.dt-container .dt-layout-row{padding:.8rem 1rem;margin:0}.dt-container .dt-layout-row:last-child{border-top:1px solid #eee}.dt-container .pagination{margin-bottom:0}.sidebar-brand:hover{opacity:.9}@media(max-width:575.98px){.quick-actions .btn{flex:1 1 100%}.login-logo{max-height:170px}.process-row{font-size:.92rem}}

/* WTL V5 */
.admin-sidebar{height:100vh;overflow:hidden}.sidebar-shell{min-height:0}.sidebar-brand-wrap,.sidebar-footer{flex:0 0 auto}.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:10px}.sidebar-logo{max-height:92px}.admin-sidebar .nav-link{display:flex;align-items:center}.admin-sidebar .nav-link i{width:1.25rem;flex:0 0 1.25rem}.form-label.required::after,label.required::after{content:" *";color:#dc3545;font-weight:700}.contact-modal-card .btn,.modal-body .d-flex>.btn{align-self:flex-start;height:auto}.budget-indicator-neutral{border:1px solid transparent}.budget-ok{background:#eaf7ee;border:1px solid #8fd19e}.budget-warning{background:#fff5df;border:1px solid #ffc107}.budget-danger{background:#fdebec;border:1px solid #dc3545}.quote-lines-table td{vertical-align:middle}.quote-lines-table .form-control{min-width:80px}.quote-lines-table td:last-child{white-space:nowrap}.sidebar-footer{background:rgba(0,0,0,.12)}
@media(max-width:991.98px){.admin-sidebar{height:100vh}.sidebar-scroll{overflow-y:auto}}


/* WTL V7 - fiche administrative du lieu */
@media (min-width:992px){
.venue-admin-modal{height:calc(100vh - 40px);max-width:min(1200px,calc(100vw - 40px));margin:20px auto}
.venue-admin-modal .modal-content{height:100%;max-height:none;display:flex;flex-direction:column}
.venue-admin-modal .modal-header,.venue-admin-modal .modal-footer{flex:0 0 auto}
.venue-admin-modal .modal-body{flex:1 1 auto;overflow:visible;display:flex;align-items:stretch}
.venue-admin-modal .modal-body>.row{width:100%;align-content:start;margin-top:0;margin-bottom:0}
.venue-admin-modal .modal-body dl{margin-bottom:0}
.venue-admin-modal .modal-body .h-100{height:auto!important;min-height:100%}
}
@media (max-width:991.98px){
.venue-admin-modal{width:calc(100vw - 20px);max-width:none;height:calc(100vh - 20px);margin:10px auto}
.venue-admin-modal .modal-content{height:100%;max-height:none}
.venue-admin-modal .modal-body{overflow-y:auto}
}

/* WTL V8 — Fiches techniques et éditeur de plan de scène */
.stage-palette { max-height: 58vh; overflow-y: auto; }
.stage-palette-item { display:flex; align-items:center; gap:.7rem; width:100%; border:1px solid #dee2e6; background:#fff; border-radius:.6rem; padding:.55rem .65rem; margin-bottom:.4rem; cursor:grab; text-align:left; }
.stage-palette-item:hover { background:#f8f9fa; border-color:#adb5bd; }
.stage-palette-item img { width:30px; height:30px; object-fit:contain; }
.stage-editor { position:relative; width:100%; aspect-ratio: 1.45/1; min-height:520px; border:2px solid #343a40; background:#fff; overflow:hidden; user-select:none; }
.stage-editor.show-grid { background-image:linear-gradient(to right,rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.06) 1px,transparent 1px); background-size:5% 5%; }
.stage-center-guide { position:absolute; left:50%; top:0; bottom:0; border-left:1px dashed rgba(0,0,0,.22); pointer-events:none; }
.stage-public { position:absolute; bottom:.45rem; left:50%; transform:translateX(-50%); font-size:.75rem; font-weight:700; letter-spacing:.15em; color:#6c757d; pointer-events:none; }
.stage-object { position:absolute; width:72px; min-height:58px; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:move; transform-origin:center; z-index:2; }
.stage-object img { width:38px; height:38px; object-fit:contain; pointer-events:none; filter:drop-shadow(0 1px 1px rgba(0,0,0,.12)); }
.stage-object span { max-width:100px; font-size:.68rem; font-weight:600; line-height:1.05; text-align:center; background:rgba(255,255,255,.88); padding:.12rem .25rem; border-radius:.25rem; pointer-events:none; }
.stage-legend-item { display:flex; align-items:center; gap:.4rem; border:1px solid #dee2e6; border-radius:999px; padding:.3rem .55rem; background:#fff; font-size:.8rem; }
.stage-legend-item img { width:22px; height:22px; object-fit:contain; }
.tech-section-choice { display:block; cursor:pointer; }
.tech-section-choice input { position:absolute; opacity:0; pointer-events:none; }
.tech-section-choice span { display:flex; align-items:center; gap:.6rem; padding:.85rem 1rem; border:1px solid #dee2e6; border-radius:.7rem; background:#fff; transition:.15s ease; }
.tech-section-choice i { color:#adb5bd; }
.tech-section-choice input:checked + span { border-color:#212529; background:#f8f9fa; box-shadow:0 0 0 1px #212529 inset; }
.tech-section-choice input:checked + span i { color:#198754; }
.wizard-progress { display:flex; gap:.6rem; }
.wizard-progress .wizard-step { flex:1; display:flex; align-items:center; gap:.5rem; border-bottom:3px solid #dee2e6; padding:.55rem .2rem; font-weight:700; color:#adb5bd; }
.wizard-progress .wizard-step span { font-size:.78rem; font-weight:600; }
.wizard-progress .wizard-step.active { border-color:#212529; color:#212529; }
@media (max-width: 991.98px) { .stage-editor { min-height:420px; } .wizard-progress .wizard-step span { display:none; } }
.technical-mode-card { display:block; cursor:pointer; }
.technical-mode-card input { position:absolute; opacity:0; pointer-events:none; }
.technical-mode-card span { height:100%; min-height:175px; display:flex; flex-direction:column; align-items:flex-start; gap:.5rem; border:1px solid #dee2e6; border-radius:.8rem; padding:1rem; background:#fff; }
.technical-mode-card small { color:#6c757d; line-height:1.35; }
.technical-mode-card input:checked + span { border-color:#212529; box-shadow:0 0 0 2px #212529 inset; background:#f8f9fa; }

/* Stage plan editor — richer interaction */
.stage-object {
    width: 92px;
    min-height: 72px;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.stage-object-visual {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    transform: rotate(var(--stage-object-rotation, 0deg)) scale(var(--stage-object-scale, 1));
    transform-origin:center;
    transition: filter .12s ease, outline-color .12s ease;
}
.stage-object.is-selected .stage-object-visual {
    outline: 2px dashed #b89455;
    outline-offset: 5px;
    border-radius: .35rem;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,.18));
}
.stage-object.is-selected::after {
    content: '';
    position:absolute;
    width:8px;
    height:8px;
    right:4px;
    bottom:4px;
    border-radius:50%;
    background:#b89455;
    box-shadow:0 0 0 2px #fff;
}
.stage-object img { width:42px; height:42px; }
.stage-context-menu {
    position: fixed;
    z-index: 1090;
    min-width: 205px;
    padding: .35rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: .6rem;
    background: #fff;
    box-shadow: 0 .65rem 1.6rem rgba(0,0,0,.18);
}
.stage-context-menu button {
    display:flex;
    align-items:center;
    width:100%;
    gap:.55rem;
    padding:.48rem .65rem;
    border:0;
    border-radius:.4rem;
    background:transparent;
    text-align:left;
    font-size:.88rem;
}
.stage-context-menu button:hover { background:#f3f1ed; }
.stage-context-menu button.text-danger:hover { background:#fff0f0; }
.stage-context-separator { height:1px; background:#e9ecef; margin:.3rem .15rem; }
.stage-selection-panel {
    display:grid;
    grid-template-columns:minmax(150px,1fr) minmax(210px,1.4fr) auto;
    align-items:center;
    gap:1rem;
    padding:.7rem .85rem;
    border:1px solid #e1e3e5;
    border-radius:.65rem;
    background:#fbfbfa;
}
.stage-selection-actions { display:flex; gap:.35rem; flex-wrap:wrap; justify-content:flex-end; }
.stage-scale-control { display:flex; align-items:center; gap:.6rem; }
.stage-scale-control input[type="range"] { min-width:140px; }
@media (max-width: 767.98px) {
    .stage-selection-panel { grid-template-columns:1fr; }
    .stage-selection-actions { justify-content:flex-start; }
}
.stage-orientation { position:absolute; z-index:1; font-size:.67rem; font-weight:700; letter-spacing:.08em; color:#8b8171; pointer-events:none; }
.stage-orientation-back { top:.45rem; left:50%; transform:translateX(-50%); }
.stage-orientation-left { top:.55rem; left:.7rem; }
.stage-orientation-right { top:.55rem; right:.7rem; }


/* WTL V10 — stage editor mirrors the PDF stage-plan composition */
.stage-pdf-preview {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    background: #fff;
}
.stage-pdf-dimensions {
    display: inline-block;
    min-width: 260px;
    padding: .32rem .55rem;
    margin-bottom: .25rem;
    background: #f2ede4;
    font-size: .78rem;
    font-weight: 700;
    color: #403b34;
}
.stage-pdf-row {
    display: grid;
    grid-template-columns: minmax(0, 392fr) minmax(150px, 139fr);
    gap: 12px;
    align-items: start;
}
.stage-editor {
    min-height: 0 !important;
    aspect-ratio: 392 / 143 !important;
    border: 2px solid #343a40;
    background: #fdfcf9;
}
.stage-object {
    width: 64px;
    min-height: 54px;
}
.stage-object-visual span { display: none !important; }
.stage-object img { width: 34px; height: 34px; }
.stage-object.is-selected .stage-object-visual { outline-offset: 4px; }
.stage-front-label {
    position:absolute;
    left:50%;
    bottom:.45rem;
    transform:translateX(-50%);
    z-index:1;
    font-size:.62rem;
    font-weight:700;
    color:#776f63;
    pointer-events:none;
}
.stage-audience-preview {
    text-align:center;
    padding-top:.3rem;
    line-height:1.05;
    font-size:.62rem;
    letter-spacing:.05em;
}
.stage-audience-people {
    font-size:.78rem;
    letter-spacing:.18em;
    color:#222;
    white-space:nowrap;
}
.stage-pdf-legend {
    min-height: 100%;
    padding: .55rem .55rem .45rem;
    background: #faf7f1;
    font-size: .72rem;
}
.stage-pdf-legend > strong {
    display:block;
    margin-bottom:.45rem;
    font-size:.78rem;
}
.stage-pdf-legend-list { display:flex; flex-direction:column; gap:.2rem; }
.stage-legend-item {
    display:grid;
    grid-template-columns: 18px 18px minmax(0,1fr);
    align-items:center;
    gap:.25rem;
    border:0;
    border-radius:0;
    padding:.06rem 0;
    background:transparent;
    font-size:.68rem;
    line-height:1.15;
}
.stage-legend-item img { width:16px; height:16px; object-fit:contain; }
.stage-legend-number {
    display:inline-flex;
    width:17px;
    height:17px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#1f1f1f;
    color:#fff;
    font-size:.58rem;
    font-weight:700;
}
@media (max-width: 991.98px) {
    .stage-pdf-row { grid-template-columns:1fr; }
    .stage-pdf-legend { min-height:auto; }
    .stage-pdf-legend-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1rem; }
}
.stage-editor { container-type: inline-size; }
.stage-object { width:12cqw; min-height:10cqw; }
.stage-object img { width:5cqw; height:5cqw; min-width:24px; min-height:24px; max-width:52px; max-height:52px; }
.stage-object-visual { position:relative; }
.stage-object-visual .stage-object-label { display:none !important; }
.stage-object-number {
    position:absolute;
    right:calc(50% - 3.1cqw);
    top:calc(50% - 3.1cqw);
    display:flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#1d1d1d;
    color:#fff;
    font-size:.62rem;
    font-weight:700;
    line-height:1;
    box-shadow:0 0 0 2px rgba(255,255,255,.95);
    pointer-events:none;
}

/* WTL V11 — technical sheet wizard inside prospection modal */
.technical-wizard-modal { max-width:min(1500px,calc(100vw - 32px)); }
.technical-wizard-modal .modal-content {
    height:calc(100dvh - 32px);
    max-height:calc(100dvh - 32px);
    overflow:hidden;
    background:var(--bs-modal-bg,#fff);
}
.technical-wizard-modal .modal-content>form{
    display:flex;
    min-height:0;
    height:100%;
    flex-direction:column;
    overflow:hidden;
    border-radius:inherit;
    background:inherit;
}
.technical-wizard-modal .modal-header,
.technical-wizard-modal .modal-footer{flex:0 0 auto}
.technical-wizard-body { min-height:0; flex:1 1 auto; overflow-y:auto; }
.technical-modal-progress { display:grid; grid-template-columns:repeat(6,1fr); gap:.35rem; }
.technical-modal-progress-step { position:relative; display:flex; flex-direction:column; align-items:center; gap:.25rem; color:#91979d; font-size:.72rem; text-align:center; }
.technical-modal-progress-step::before { content:''; position:absolute; left:-50%; right:50%; top:15px; height:2px; background:#e2e5e8; z-index:0; }
.technical-modal-progress-step:first-child::before { display:none; }
.technical-modal-progress-step > span { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#e9ecef; color:#6c757d; font-weight:700; }
.technical-modal-progress-step.active { color:#1e2327; font-weight:600; }
.technical-modal-progress-step.active::before { background:#bd995d; }
.technical-modal-progress-step.active > span { background:#bd995d; color:#171717; }
.technical-local-stage-editor { transition:opacity .15s ease; }
.technical-local-stage-editor .stage-pdf-preview { max-width:none; }
.technical-local-stage-editor .stage-pdf-row { grid-template-columns:minmax(0,392fr) minmax(170px,139fr); }
.technical-local-stage-editor .stage-palette { max-height:520px; overflow:auto; }
.technical-wizard-modal .tech-section-choice { min-height:56px; }
@media (max-width:991.98px) {
    .technical-wizard-modal { max-width:calc(100vw - 16px); margin:.5rem auto; }
    .technical-wizard-modal .modal-content { height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); }
    .technical-modal-progress { grid-template-columns:repeat(3,1fr); row-gap:.75rem; }
    .technical-modal-progress-step::before { display:none; }
}

.project-color-dot{display:inline-block;width:18px;height:18px;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);flex:0 0 auto}
.project-color-dot-sm{width:11px;height:11px;border-radius:3px}
.project-context-card{border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--project-primary);border-radius:.6rem;padding:.8rem;background:rgba(255,255,255,.04)}
.project-page-context{display:flex;align-items:center;gap:.5rem;border-left:4px solid;padding:.55rem .8rem;background:#fff;border-radius:.4rem;box-shadow:0 1px 3px rgba(0,0,0,.05)}

/* WTL V14.2 — repérage visuel du projet actif dans le back-office */
.admin-sidebar[style*="--project-primary"] .nav-link.active {
    background: color-mix(in srgb, var(--project-primary) 38%, #212529);
    color: #fff !important;
    box-shadow: inset 4px 0 0 var(--project-secondary);
}
.admin-sidebar[style*="--project-primary"] .nav-link.active i { color: var(--project-secondary); }
.admin-sidebar[style*="--project-primary"] .nav-link:hover:not(.active) {
    background: color-mix(in srgb, var(--project-primary) 13%, transparent);
}
.admin-sidebar[style*="--project-primary"] .project-context-card {
    border-left-color: var(--project-primary);
    border-bottom-color: color-mix(in srgb, var(--project-secondary) 45%, rgba(255,255,255,.12));
}
.admin-sidebar[style*="--project-primary"] .text-uppercase.text-secondary {
    color: color-mix(in srgb, var(--project-secondary) 60%, #adb5bd) !important;
}

/* WTL V14.2.1 — sélecteur de projet : garder nom + statut dans le menu */
.project-switch-menu {
    min-width: 100%;
    width: max-content;
    max-width: min(320px, calc(100vw - 2rem));
}
.project-switch-item {
    min-width: 0;
    gap: 0;
}
.project-switch-name {
    min-width: 0;
    flex: 1 1 auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.project-switch-item .badge {
    max-width: 88px;
}
