/* Château La Châteline 4.10.0007 · Definitive Hub UX */
:root{--ux-ink:#152b24;--ux-muted:#68776f;--ux-line:#dfe8e3;--ux-soft:#f5f8f6;--ux-card:#fff;--ux-accent:#b8894d;--ux-green:#176642;--ux-danger:#a44436;--ux-shadow:0 14px 42px rgba(17,44,34,.07)}
.backend-wa{background:#f4f7f5}.backend-wa .main{background:linear-gradient(180deg,#f8faf9 0,#f4f7f5 100%)}
.backend-wa .topbar{height:72px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--ux-line);position:sticky;top:0;z-index:30}
.backend-wa .topbar-title strong{font-size:16px;color:var(--ux-ink)}.backend-wa .topbar-title span{font-size:11px;color:var(--ux-muted)}
.backend-wa .page{max-width:1580px;padding-bottom:48px}.backend-wa .page-head{padding-top:10px}.backend-wa .page-head h1{font-size:clamp(28px,3vw,42px);color:var(--ux-ink)}.backend-wa .page-head p{max-width:760px}
.backend-wa .card{border:1px solid var(--ux-line);border-radius:20px;background:var(--ux-card);box-shadow:var(--ux-shadow);overflow:hidden}.backend-wa .card-head{padding:16px 20px;border-bottom:1px solid #edf2ef}.backend-wa .card-body{padding:20px}
.backend-wa .btn{border-radius:12px;min-height:42px;font-weight:800;letter-spacing:.005em;transition:transform .16s ease,box-shadow .16s ease}.backend-wa .btn:hover{transform:translateY(-1px)}
.backend-wa .input,.backend-wa .select,.backend-wa .textarea{border:1px solid #ccd9d2;border-radius:12px;background:#fff;min-height:44px}.backend-wa .input:focus,.backend-wa .select:focus,.backend-wa .textarea:focus{outline:0;border-color:#7da893;box-shadow:0 0 0 4px rgba(23,102,66,.09)}
.backend-wa .table-wrap{border-radius:16px}.backend-wa .table thead th{background:#f7f9f8;color:#617068;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.backend-wa .table tbody td{padding:14px 12px;vertical-align:middle}.backend-wa .table tbody tr:hover{background:#f8fbf9}
.backend-wa .sidebar{box-shadow:8px 0 30px rgba(12,36,27,.06)}.backend-wa .sidebar .nav a{border-radius:11px;margin:2px 10px}.backend-wa .sidebar .nav a.active{box-shadow:inset 3px 0 var(--ux-accent),0 5px 18px rgba(23,102,66,.08)}
/* Customer / reservation 360 dossier */
.customer-360{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.customer-hero{padding:22px;background:linear-gradient(135deg,#fff,#f4f8f5);border:1px solid var(--ux-line);border-radius:20px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.customer-identity{display:flex;align-items:center;gap:16px}.customer-avatar{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#e7f1eb;color:var(--ux-green);font-weight:900;font-size:22px}.customer-identity h1{margin:0;color:var(--ux-ink);font-size:28px}.customer-identity p{margin:3px 0 0;color:var(--ux-muted);font-size:13px}.customer-actions{display:flex;gap:8px;flex-wrap:wrap}.customer-completeness{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:12px;max-width:440px}.customer-completeness .bar{height:8px;background:#e6eee9;border-radius:99px;overflow:hidden}.customer-completeness .bar i{display:block;height:100%;background:var(--ux-green);border-radius:99px}.customer-completeness small{color:var(--ux-muted);font-weight:800}.customer-tabs{display:flex;gap:4px;overflow:auto;padding:5px;background:#eef3f0;border-radius:14px;margin-bottom:18px}.customer-tabs a{white-space:nowrap;padding:10px 14px;border-radius:10px;text-decoration:none;color:#5f6e67;font-size:12px;font-weight:800}.customer-tabs a.active{background:#fff;color:var(--ux-ink);box-shadow:0 4px 14px rgba(18,44,35,.07)}.customer-side{display:grid;gap:18px;align-content:start}.customer-side .mini-stat{padding:18px;border:1px solid var(--ux-line);background:#fff;border-radius:18px}.customer-side .mini-stat span{display:block;color:var(--ux-muted);font-size:11px;font-weight:800}.customer-side .mini-stat strong{display:block;font-size:25px;color:var(--ux-ink);margin-top:4px}.customer-side .mini-stat small{color:var(--ux-muted)}
/* Import center */
.import-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:22px;border:1px solid var(--ux-line);border-radius:20px;background:linear-gradient(135deg,#17382d,#245c48);color:#fff;margin-bottom:18px}.import-hero h2{margin:0;font-size:24px}.import-hero p{margin:6px 0 0;color:rgba(255,255,255,.75)}.import-hero .btn{background:#fff;color:#17382d}.import-quality{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.import-quality .q{padding:16px;border:1px solid var(--ux-line);border-radius:16px;background:#fff}.import-quality .q strong{font-size:28px;display:block;color:var(--ux-ink)}.import-quality .q span{font-size:11px;color:var(--ux-muted);font-weight:800}.import-quality .q.warning{background:#fffaf0;border-color:#eadbb8}.import-quality .q.danger{background:#fff7f5;border-color:#ecd3ce}
/* Action queue */
.action-queue{display:grid;gap:9px}.action-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--ux-line);border-radius:14px;background:#fff;text-decoration:none;color:inherit}.action-dot{width:10px;height:10px;border-radius:50%;background:#c7924f}.action-dot.danger{background:#a44436}.action-item strong{display:block;color:var(--ux-ink);font-size:13px}.action-item span{display:block;color:var(--ux-muted);font-size:11px;margin-top:2px}.action-item .btn{min-height:36px}
@media(max-width:1000px){.customer-360{grid-template-columns:1fr}.customer-side{grid-template-columns:repeat(3,1fr)}.import-quality{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.backend-wa .topbar{height:62px}.customer-hero{display:block}.customer-actions{margin-top:16px}.customer-side{grid-template-columns:1fr 1fr}.import-hero{grid-template-columns:1fr}.import-quality{grid-template-columns:1fr 1fr}.backend-wa .page{padding-left:12px;padding-right:12px}.backend-wa .card-head{padding:14px}.backend-wa .card-body{padding:14px}.backend-wa .table{min-width:720px}}


/* v4.10.0007 · Final Hub visual safety layer */
.app-v4100002{} /* marker */
.form-grid>*{min-width:0}.card,.panel,.kpi,.table-wrap{max-width:100%;overflow-wrap:anywhere}.btn{white-space:normal}.table-wrap{overflow-x:auto}.data-table{min-width:720px}.badge,.status,.pill{white-space:normal;line-height:1.25}.topbar-title{min-width:0}.topbar-title strong,.topbar-title span{overflow-wrap:anywhere}

/* ========================================================================== */
/* Château La Châteline Operations Hub · Enterprise UX v4.10.0007            */
/* Safe additive design layer: no destructive positioning, no global span hacks. */
/* ========================================================================== */
:root{
 --ent-ink:#17332b;--ent-muted:#66776f;--ent-line:#dce5e0;--ent-soft:#f5f8f6;
 --ent-panel:#fff;--ent-accent:#b88c57;--ent-shadow:0 18px 45px rgba(21,55,43,.08);
 --ent-shadow-lg:0 28px 75px rgba(16,44,35,.12);--ent-radius:20px;--ent-radius-sm:13px;
}
html{scroll-behavior:smooth}body{background:#f4f7f5;color:var(--ent-ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*,*:before,*:after{box-sizing:border-box}.main,.page,.card,.card-body,.table-wrap,.admin-shell{min-width:0}
.page{width:min(100%,1560px);margin-inline:auto;padding:clamp(18px,2.2vw,34px)}
.sidebar{background:linear-gradient(180deg,#123b31 0%,#0d3028 100%);box-shadow:12px 0 36px rgba(10,39,31,.08)}
.sidebar .nav a{border-radius:12px;margin:2px 9px;min-height:42px;transition:background .18s ease,transform .18s ease}
.sidebar .nav a:hover{transform:translateX(2px)}.sidebar .nav a.active{background:rgba(255,255,255,.13);box-shadow:inset 3px 0 0 #d9b57b}
.sidebar .nav-group-title{letter-spacing:.12em;font-size:10px;opacity:.65;margin-top:17px}
.topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(26,66,53,.09);box-shadow:0 6px 24px rgba(21,55,43,.035)}
.topbar-title strong{font-size:15px}.topbar-title span{font-size:11px}.global-search{max-width:430px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{letter-spacing:-.035em;font-size:clamp(27px,3vw,40px);line-height:1.03}
.card{border:1px solid var(--ent-line);border-radius:var(--ent-radius);background:var(--ent-panel);box-shadow:var(--ent-shadow);overflow:hidden}
.card-head{padding:18px 20px;border-bottom:1px solid #edf1ef;background:linear-gradient(180deg,#fff,#fbfcfb)}.card-head h2,.card-head h3,.card-head h4{letter-spacing:-.02em}
.card-body{padding:20px}.grid-2,.grid-3,.grid-4{align-items:start}
.kpi-grid,.dashboard-kpis{gap:14px}.kpi,.v5-kpi{border:1px solid var(--ent-line);border-radius:16px;background:linear-gradient(145deg,#fff,#f8faf9);box-shadow:none}.kpi strong,.v5-kpi strong{letter-spacing:-.035em}
.btn{border-radius:12px;min-height:42px;font-weight:800;letter-spacing:-.01em;box-shadow:none}.btn:not(.secondary):not(.danger){background:linear-gradient(135deg,#0f654d,#174d3e)}.btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.input,.textarea,select.input{min-height:44px;border:1px solid #ccd9d3;border-radius:11px;background:#fff;box-shadow:0 1px 0 rgba(20,56,44,.02)}
.input:focus,.textarea:focus,select.input:focus{outline:3px solid rgba(18,101,77,.12);border-color:#5a8b7a}
.label{font-weight:800;color:#29463d;font-size:12px}.check-row{border-radius:13px}.check-row:hover{background:#f7faf8}
.table-wrap{overflow:auto;border-radius:15px;border:1px solid var(--ent-line)}table{width:100%;border-collapse:collapse}th{background:#f6f9f7;text-transform:none;letter-spacing:.015em;color:#52665e;font-size:11px}th,td{padding:12px 13px;border-bottom:1px solid #e8eeeb}tbody tr:hover{background:#f9fbfa}
.alert{border-radius:14px;border-width:1px}.badge,.pill,.status-chip{font-weight:800;letter-spacing:.01em}
/* dossiers */
.customer-hero,.dossier-hero,.reservation-hero{border-radius:24px;background:linear-gradient(135deg,#103d32 0%,#1b5846 68%,#876944 150%);color:#fff;box-shadow:var(--ent-shadow-lg)}
.customer-hero a,.dossier-hero a,.reservation-hero a{color:inherit}.timeline-item{border-left-color:#cddbd5}.timeline-item:before{box-shadow:0 0 0 4px #f4f7f5}
/* action-first dashboard */
.dashboard-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-section-title h2{font-size:20px;letter-spacing:-.025em}
.quick-actions,.action-grid{gap:12px}.quick-action,.action-card{border:1px solid var(--ent-line);border-radius:16px;background:#fff;transition:.18s ease}.quick-action:hover,.action-card:hover{border-color:#aac2b8;box-shadow:0 14px 34px rgba(16,56,43,.08);transform:translateY(-2px)}
/* Website Studio enterprise theme chooser */
.enterprise-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px 0 18px}
.enterprise-theme-card{position:relative;display:grid;grid-template-columns:minmax(132px,42%) minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid #d7e1dc;border-radius:17px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;overflow:hidden}
.enterprise-theme-card:hover{border-color:#8cae9f;box-shadow:0 12px 32px rgba(19,62,48,.09);transform:translateY(-1px)}
.enterprise-theme-card.is-selected,.enterprise-theme-card:has(input:checked){border:2px solid #17654e;padding:11px;box-shadow:0 0 0 3px rgba(23,101,78,.09),0 14px 34px rgba(19,62,48,.1)}
.enterprise-theme-card>input{position:absolute;opacity:0;pointer-events:none}.theme-preview{display:block;aspect-ratio:16/11;border-radius:11px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:var(--tp-bg,#f5f2ea);box-shadow:0 5px 16px rgba(12,42,33,.09)}
.theme-preview-nav{display:block;height:12%;background:var(--tp-dark,#163e34)}.theme-preview-hero{display:grid;height:50%;padding:8px;align-content:end;background:linear-gradient(135deg,var(--tp-dark,#163e34),color-mix(in srgb,var(--tp-accent,#bd9462) 55%,var(--tp-dark,#163e34)))}
.theme-preview-hero i,.theme-preview-hero b{display:block;background:rgba(255,255,255,.92);border-radius:999px}.theme-preview-hero i{width:42%;height:5px;margin-bottom:5px}.theme-preview-hero b{width:68%;height:9px}
.theme-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px;background:var(--tp-bg,#f4f0e8)}.theme-preview-cards i{display:block;height:27px;border-radius:5px;background:#fff;border:1px solid rgba(0,0,0,.07)}
.theme-preview-plaza{--tp-dark:#102a25;--tp-accent:#d7b477;--tp-bg:#f7f3eb}.theme-preview-estate{--tp-dark:#264a3d;--tp-accent:#b88d5a;--tp-bg:#edf0e9}.theme-preview-lake{--tp-dark:#174c5b;--tp-accent:#73a9b4;--tp-bg:#f1f7f7}.theme-preview-editorial{--tp-dark:#252422;--tp-accent:#a06c43;--tp-bg:#f4f0e9}.theme-preview-classic{--tp-dark:#26382f;--tp-accent:#9b7a51;--tp-bg:#f7f4ed}.theme-preview-minimal{--tp-dark:#1b2522;--tp-accent:#6c8279;--tp-bg:#f5f6f4}.theme-preview-nature{--tp-dark:#35533d;--tp-accent:#b17f4c;--tp-bg:#f1eee5}.theme-preview-boutique{--tp-dark:#1d2826;--tp-accent:#c49b6c;--tp-bg:#eee9df}.theme-preview-modern{--tp-dark:#163e39;--tp-accent:#3f8e7a;--tp-bg:#eff4f2}.theme-preview-heritage{--tp-dark:#3a3028;--tp-accent:#b08a60;--tp-bg:#f3eee6}.theme-preview-forest{--tp-dark:#18392d;--tp-accent:#7d9d70;--tp-bg:#e9efe8}
.theme-card-copy{min-width:0;display:block}.theme-card-copy strong{display:block;font-size:13px;color:#193b31;line-height:1.25}.theme-card-copy small{display:block;margin-top:4px;color:#687a73;font-size:10px;line-height:1.45}.theme-swatches{display:flex;gap:5px;margin-top:9px}.theme-swatches i{display:block;width:17px;height:17px;border-radius:50%;background:var(--sw);border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.theme-selected-mark{position:absolute;right:8px;top:8px;padding:4px 7px;border-radius:999px;background:#17654e;color:#fff;font-size:9px;font-weight:900;opacity:0;transform:translateY(-4px);transition:.18s}.enterprise-theme-card.is-selected .theme-selected-mark,.enterprise-theme-card:has(input:checked) .theme-selected-mark{opacity:1;transform:none}
.studio-ux-pro{padding:17px;border-radius:16px;background:linear-gradient(135deg,#f3f8f5,#faf7f1);border:1px solid #dbe6e0}.studio-ux-pro h4{margin:0 0 4px;font-size:15px}
/* import intelligence */
.import-quality-grid,.completion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.import-quality-card,.completion-card{border:1px solid var(--ent-line);border-radius:15px;padding:15px;background:#fff}.import-quality-card strong{font-size:25px;letter-spacing:-.04em}
/* never let legacy overlays or labels escape their component */
.card,.hero-card,.media-card,.stay-card,.template-card,[class*="preview"]{isolation:isolate}.card img,.media-card img,.stay-card img{max-width:100%}.overlay,.card-overlay,.media-overlay{inset:0;max-width:100%;overflow:hidden;pointer-events:none}.overlay a,.overlay button,.card-overlay a,.card-overlay button{pointer-events:auto}
/* accessibility + motion */
:focus-visible{outline:3px solid rgba(20,105,78,.32)!important;outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:1100px){.enterprise-theme-grid{grid-template-columns:1fr}.global-search{max-width:300px}}
@media(max-width:760px){.page{padding:15px 12px 86px}.page-head{align-items:flex-start;flex-direction:column}.card{border-radius:16px}.card-head,.card-body{padding:15px}.enterprise-theme-card{grid-template-columns:120px minmax(0,1fr)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.table-wrap{border-radius:12px}.topbar{padding-inline:10px}}
@media(max-width:440px){.enterprise-theme-card{grid-template-columns:1fr}.theme-preview{aspect-ratio:16/8}.theme-selected-mark{top:7px;right:7px}}

/* === v4.10.0007 · Enterprise workflow, bulk import, documents and scroll safety === */
html:has(body.backend-wa){height:auto!important;min-height:100%;overflow-y:auto!important;overflow-x:hidden}
body.backend-wa{height:auto!important;min-height:100%;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:auto}
body.backend-wa .admin-shell{height:auto!important;min-height:100vh;overflow:visible!important;align-items:stretch}
body.backend-wa .main{height:auto!important;min-height:100vh;overflow:visible!important}
body.backend-wa .page{height:auto!important;min-height:calc(100vh - 68px);overflow:visible!important}
body.backend-wa .sidebar{overscroll-behavior:auto;scrollbar-gutter:stable}

.vik-enterprise-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:26px 28px;margin-bottom:18px;border:1px solid color-mix(in srgb,var(--green) 16%,#d7e1dc);border-radius:18px;background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--green-3) 72%,#fff) 100%);box-shadow:0 12px 34px rgba(19,53,41,.07)}
.vik-enterprise-intro h2{margin:5px 0 8px;font-size:clamp(24px,2.2vw,34px);letter-spacing:-.035em}.vik-enterprise-intro p{max-width:880px;margin:0;color:var(--muted);line-height:1.62}.eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--green);text-transform:uppercase}
.vik-booking-stats,.document-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 18px}.vik-stat,.document-stat{display:block;padding:17px 18px;border:1px solid #dfe7e3;border-radius:15px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 6px 20px rgba(20,50,39,.045)}.vik-stat span,.document-stat span{display:block;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.055em}.vik-stat strong,.document-stat strong{display:block;margin-top:7px;font-size:25px;letter-spacing:-.04em;color:var(--ink)}.vik-stat.active{border-color:color-mix(in srgb,var(--green) 55%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 11%,transparent)}.vik-stat.attention strong{color:#996000}.vik-stat.danger strong{color:#9f4439}.document-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.document-stat small{display:block;margin-top:3px;color:var(--muted)}
.vik-filter-head{gap:16px;align-items:center}.vik-search{display:flex;gap:8px;min-width:min(440px,100%)}.vik-search .input{min-width:280px}.vik-bulk-toolbar{position:sticky;top:68px;z-index:20;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #e4ebe7;border-bottom:1px solid #d8e3dd;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}.vik-select-all{display:flex;align-items:center;gap:8px;font-weight:750}.vik-selection-count{padding:5px 9px;border-radius:999px;background:var(--green-3);color:var(--green);font-size:12px;font-weight:850}.vik-bulk-actions{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.vik-table-wrap{max-height:none!important}.vik-check-col{width:42px}.vik-main-row>td{vertical-align:middle}.vik-row-needs{background:linear-gradient(90deg,rgba(255,246,220,.52),transparent 42%)}.vik-row-error{background:linear-gradient(90deg,rgba(255,235,232,.66),transparent 42%)}.vik-quality-chip{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:850}.vik-quality-chip.ok{background:#e5f5ed;color:#166344}.vik-quality-chip.attention{background:#fff0cf;color:#8b5900}.vik-quality-chip.error{background:#fbe9e6;color:#9b3f34}.vik-quality-summary{margin-top:5px;max-width:230px}.vik-issue-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.vik-issue{padding:5px 8px;border-radius:8px;background:#eef3f0;font-size:11px;font-weight:750}.vik-issue.needs_info{background:#fff1d5;color:#815300}.vik-issue.blocking{background:#fbe8e5;color:#963f35}.vik-issue.warning{background:#edf2f0;color:#4e6258}.vik-run-history{margin-top:16px}
.document-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.document-filter .input{min-width:180px}.document-library-card .table td{vertical-align:middle}.document-library-card .table tbody tr:hover{background:#f8fbf9}.document-library-card .actions{gap:6px;flex-wrap:wrap}
@media(max-width:1180px){.vik-booking-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.document-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vik-enterprise-intro{align-items:flex-start;flex-direction:column}.vik-bulk-actions{margin-left:0;width:100%}}
@media(max-width:720px){.vik-booking-stats,.document-stat-grid{grid-template-columns:1fr 1fr}.vik-filter-head{align-items:stretch;flex-direction:column}.vik-search{min-width:0;width:100%}.vik-search .input{min-width:0;flex:1}.vik-bulk-toolbar{top:60px;align-items:flex-start}.vik-bulk-actions{display:grid;grid-template-columns:1fr;width:100%}.vik-bulk-actions .btn{width:100%;justify-content:center}.vik-enterprise-intro{padding:20px}.document-filter{width:100%}.document-filter .input{min-width:0;flex:1}}
