/* CHARDINS WORKSPACE — BOOKING OPERATIONS v4.11.0 */
.booking-page{max-width:1500px;margin:0 auto}.booking-head{margin-top:0}.booking-head p{max-width:720px}.booking-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 15px}.booking-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;min-height:90px}.booking-kpi span,.booking-kpi strong,.booking-kpi small{display:block}.booking-kpi span{font-size:8.5px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.booking-kpi strong{font:500 25px Georgia,serif;color:var(--navy);margin-top:7px}.booking-kpi small{margin-top:4px;font-size:9px;color:var(--muted)}.booking-kpi.alert{border-color:#e3c5c5;background:#fffafa}.booking-kpi.alert strong{color:var(--red)}
.booking-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px auto;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:12px}.booking-search{position:relative}.booking-search span{position:absolute;left:12px;top:11px;color:var(--muted)}.booking-search input{padding-left:34px}.booking-toolbar .btn{white-space:nowrap}
.booking-list{display:grid;gap:9px}.booking-row{display:grid;grid-template-columns:minmax(260px,1.55fr) minmax(150px,.75fr) minmax(150px,.75fr) 170px 160px 34px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 15px;cursor:pointer;transition:.15s}.booking-row:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(11,31,51,.07);border-color:#d4c6ad}.booking-row.overdue{border-left:3px solid var(--red)}.booking-primary{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center}.booking-code-mark{width:42px;height:42px;border-radius:11px;background:var(--navy);color:var(--gold);display:grid;place-items:center;font:600 16px Georgia,serif}.booking-primary strong,.booking-primary small,.booking-cell span,.booking-cell b{display:block}.booking-primary strong{font:600 15px Georgia,serif;color:var(--navy)}.booking-primary small{font-size:9.5px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-cell span{font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.booking-cell b{margin-top:4px;font-size:10.5px;color:#43515e}.booking-progress{margin-top:7px;height:5px;border-radius:4px;background:#eee8df;overflow:hidden}.booking-progress i{display:block;height:100%;background:var(--gold)}.booking-open{font-size:19px;color:#9b8a6c;text-align:center}
.booking-status,.booking-service-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:8.5px;font-weight:850;letter-spacing:.04em;white-space:nowrap;background:#eef1f3;color:#50606c}.booking-status.planning,.booking-service-status.pending{background:#f1ede5;color:#6f685d}.booking-status.in-progress,.booking-service-status.requested{background:#eef3f7;color:#365f7d}.booking-status.confirmed,.booking-service-status.confirmed{background:var(--greenbg);color:var(--green)}.booking-status.travelled{background:#eeeaf6;color:#675385}.booking-status.cancelled,.booking-service-status.cancelled{background:var(--redbg);color:var(--red)}
.booking-detail{max-width:1500px;margin:0 auto}.booking-back{border:0;background:transparent;padding:0;color:#6c7883;font-size:11px;font-weight:750}.booking-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#0b1f33,#12334d);color:#fff;border-radius:19px;padding:24px 27px;margin:9px 0 12px}.booking-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(198,161,91,.18);border-radius:50%;right:-90px;top:-130px}.booking-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;position:relative;z-index:1}.booking-hero h3{font:500 30px Georgia,serif;margin:6px 0 5px}.booking-hero p{margin:0;color:#b9c6d0;font-size:11px}.booking-hero .booking-status{margin-top:2px}.booking-hero-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.booking-hero .btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}.booking-hero .btn-quiet{background:rgba(255,255,255,.09);color:#d8e0e6}.booking-meta-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.12);margin-top:20px;border-radius:12px;overflow:hidden;position:relative;z-index:1}.booking-meta-strip>div{padding:11px 12px;background:rgba(8,26,42,.56)}.booking-meta-strip span,.booking-meta-strip strong{display:block}.booking-meta-strip span{font-size:7.5px;text-transform:uppercase;letter-spacing:.08em;color:#94a7b7;font-weight:850}.booking-meta-strip strong{margin-top:4px;font:500 12px Georgia,serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.booking-detail-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 12px}.booking-detail-kpis>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px}.booking-detail-kpis span,.booking-detail-kpis strong{display:block}.booking-detail-kpis span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}.booking-detail-kpis strong{font:500 20px Georgia,serif;color:var(--navy);margin-top:4px}.booking-detail-kpis .bad strong{color:var(--red)}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;align-items:start}.booking-services-panel,.booking-side-panel{background:#fff;border:1px solid var(--line);border-radius:15px}.booking-services-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-end;padding:16px 17px;border-bottom:1px solid var(--line)}.booking-services-head h4,.booking-side-panel h4{font:600 17px Georgia,serif;color:var(--navy);margin:4px 0 0}.booking-service-filters{display:flex;gap:6px;flex-wrap:wrap}.booking-service-filters select{width:auto;min-width:125px;padding:8px 9px;font-size:10px}.booking-day-group{border-bottom:1px solid #eee9e1}.booking-day-group:last-child{border-bottom:0}.booking-day-title{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;background:#faf8f3;padding:10px 15px}.booking-day-num{width:31px;height:31px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font:600 11px Georgia,serif}.booking-day-title strong{display:block;font:600 12px Georgia,serif;color:var(--navy)}.booking-day-title small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.booking-day-title>small{margin:0}.booking-service-row{display:grid;grid-template-columns:95px minmax(190px,1.5fr) minmax(140px,.8fr) 120px 122px 32px;gap:11px;align-items:center;padding:11px 15px;border-top:1px solid #f2eee7;cursor:pointer;transition:.12s}.booking-service-row:hover{background:#fcfaf6}.booking-service-row.overdue{background:#fffafa}.booking-service-type{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:850;color:#586570}.booking-service-icon{width:28px;height:28px;border-radius:8px;background:#f0ece4;color:#856c3d;display:grid;place-items:center;font-size:12px}.booking-service-main strong,.booking-service-main small,.booking-service-meta span,.booking-service-meta b{display:block}.booking-service-main strong{font:600 12.5px Georgia,serif;color:var(--navy)}.booking-service-main small{font-size:9px;color:var(--muted);margin-top:3px}.booking-service-meta span{font-size:7.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:var(--muted)}.booking-service-meta b{font-size:9.5px;margin-top:4px;color:#53616d}.booking-service-meta b.late{color:var(--red)}.booking-service-arrow{color:#aa9d89;text-align:center}
.booking-side{display:grid;gap:12px;position:sticky;top:108px}.booking-side-panel{padding:15px}.booking-side-panel p{font-size:10px;line-height:1.5;color:var(--muted)}.booking-side-actions{display:grid;gap:7px}.booking-document-list{display:grid;gap:7px;margin-top:10px}.booking-document{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #eee9df;border-radius:10px;padding:9px}.booking-document-icon{width:30px;height:30px;border-radius:8px;background:#f1ece2;color:#876c39;display:grid;place-items:center}.booking-document strong,.booking-document small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-document strong{font-size:10px;color:var(--navy)}.booking-document small{font-size:8.5px;color:var(--muted);margin-top:2px}.booking-document-actions{display:flex;gap:3px}.booking-document-actions a,.booking-document-actions button{border:0;background:transparent;color:#65717c;padding:5px;text-decoration:none;font-size:12px}.booking-notes{white-space:pre-wrap;background:#faf8f3;border:1px solid #eee9df;border-radius:10px;padding:10px;font-size:10px;line-height:1.5;color:#56636e;max-height:170px;overflow:auto}
.booking-create-list{display:grid;gap:8px;max-height:49vh;overflow:auto;margin:13px 0}.booking-candidate{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;cursor:pointer;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center}.booking-candidate:hover,.booking-candidate.selected{border-color:var(--gold);background:#fbf6eb}.booking-candidate input{width:auto}.booking-candidate strong,.booking-candidate small{display:block}.booking-candidate strong{font:600 13px Georgia,serif;color:var(--navy)}.booking-candidate small{font-size:9px;color:var(--muted);margin-top:3px}.booking-candidate b{font-size:9px;color:#7c663b}.booking-create-config{border-top:1px solid var(--line);padding-top:5px}.booking-modal-note{padding:10px 12px;border-radius:10px;background:#f7f3e9;color:#6d6049;font-size:10px;line-height:1.45;margin:10px 0}.booking-service-editor .booking-editor-source{display:flex;gap:7px;align-items:center;margin:9px 0 2px}.booking-service-editor .booking-editor-source span{font-size:9px;color:var(--muted)}.booking-financial-mini{display:grid;grid-template-columns:100px 100px 1fr;gap:9px}.booking-file-link{display:inline-flex;align-items:center;gap:5px;color:var(--navy);font-weight:750;text-decoration:none;font-size:10px}
@media(max-width:1200px){.booking-kpis{grid-template-columns:repeat(3,1fr)}.booking-row{grid-template-columns:minmax(240px,1.5fr) minmax(130px,.8fr) 150px 150px 34px}.booking-row>.booking-cell:nth-child(3){display:none}.booking-layout{grid-template-columns:1fr}.booking-side{position:static;grid-template-columns:1fr 1fr}.booking-meta-strip{grid-template-columns:repeat(3,1fr)}.booking-service-row{grid-template-columns:90px minmax(180px,1.5fr) minmax(130px,.8fr) 115px 32px}.booking-service-row>.booking-service-meta:nth-child(5){display:none}}
@media(max-width:800px){.booking-kpis{grid-template-columns:1fr 1fr}.booking-toolbar{grid-template-columns:1fr 1fr}.booking-search{grid-column:1/-1}.booking-row{grid-template-columns:1fr auto;gap:9px}.booking-row>.booking-cell{display:none!important}.booking-row>.booking-cell:nth-last-child(2){display:block!important}.booking-hero{padding:20px}.booking-hero-top{flex-direction:column}.booking-hero-actions{justify-content:flex-start}.booking-meta-strip{grid-template-columns:1fr 1fr}.booking-detail-kpis{grid-template-columns:repeat(3,1fr)}.booking-side{grid-template-columns:1fr}.booking-services-head{align-items:flex-start;flex-direction:column}.booking-service-row{grid-template-columns:72px minmax(0,1fr) 105px 25px;padding:10px}.booking-service-row>.booking-service-meta:nth-child(3),.booking-service-row>.booking-service-meta:nth-child(5){display:none}}
@media(max-width:520px){.booking-kpis{grid-template-columns:1fr 1fr}.booking-kpi:last-child{grid-column:1/-1}.booking-toolbar{grid-template-columns:1fr}.booking-search{grid-column:auto}.booking-toolbar .btn{width:100%}.booking-hero h3{font-size:25px}.booking-meta-strip{grid-template-columns:1fr 1fr}.booking-detail-kpis{grid-template-columns:1fr 1fr}.booking-detail-kpis>div:last-child{grid-column:1/-1}.booking-service-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.booking-service-filters select{width:100%;min-width:0}.booking-service-row{grid-template-columns:30px minmax(0,1fr) 25px}.booking-service-type{font-size:0}.booking-service-icon{width:28px}.booking-service-row>.booking-service-meta{display:none!important}.booking-day-title{padding:9px 10px}.booking-candidate{grid-template-columns:20px 1fr}.booking-candidate>b{grid-column:2}.booking-financial-mini{grid-template-columns:1fr 1fr}.booking-financial-mini>div:last-child{grid-column:1/-1}}

/* v4.14.4 — Booking handoff & integrity */
.booking-handoff-seal,.booking-legacy{display:inline-flex;margin-top:7px;font-size:8px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;border-radius:999px;padding:5px 8px}.booking-handoff-seal{background:rgba(61,131,97,.17);color:#bde3cd;border:1px solid rgba(120,196,153,.24)}.booking-legacy{background:#fff3d8;color:#8a6423;border:1px solid #ead4a1}.booking-row .booking-legacy{margin-top:5px}.booking-sync-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:14px 0}.booking-sync-counts span{border:1px solid var(--line);border-radius:10px;padding:10px 8px;text-align:center;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.booking-sync-counts b{display:block;font:600 19px Georgia,serif;color:var(--navy);margin-bottom:3px}.booking-sync-section{display:grid;border:1px solid #eee9df;border-radius:10px;overflow:hidden;margin:8px 0}.booking-sync-section>strong{background:#faf8f3;padding:8px 10px;font-size:9px;color:var(--navy)}.booking-sync-section>span{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-top:1px solid #f1ede5;font-size:9.5px;color:#53616d}.booking-sync-section>span small{color:var(--muted)}.booking-sync-section>em{padding:7px 10px;font-size:8.5px;color:var(--muted);font-style:normal}.booking-service-editor .booking-legacy{margin:0}.booking-handoff-modal .accepted-source{margin:12px 0}.booking-service-row.sync-excluded{opacity:.66}.booking-service-row.sync-excluded .booking-service-main strong:after{content:" · excluded from sync";font:700 8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#916b2e}
@media(max-width:700px){.booking-sync-counts{grid-template-columns:repeat(2,1fr)}.booking-sync-counts span:last-child{grid-column:1/-1}}


/* v4.14.5 — Booking Risk Engine */
.booking-next-risk{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:8.5px;line-height:1.25}.booking-next-risk b{font-size:7px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 6px}.booking-next-risk span{color:#6d7882}.booking-next-risk.critical b,.booking-risk-banner.critical{background:#fff0f0;color:#9f3030}.booking-next-risk.high b,.booking-risk-banner.high{background:#fff6df;color:#8d651d}.booking-next-risk.medium b,.booking-risk-banner.medium{background:#f7f2e5;color:#756238}.booking-next-risk.low b,.booking-risk-banner.low{background:#eef4f2;color:#43685a}.booking-next-risk.clear b{background:#edf5ef;color:#48705a}
.booking-risk-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid currentColor;border-radius:12px;padding:11px 14px;margin:0 0 11px}.booking-risk-banner span,.booking-risk-banner strong{display:block}.booking-risk-banner span{font-size:7px;letter-spacing:.08em;font-weight:850}.booking-risk-banner strong{font:600 12px Georgia,serif;margin-top:3px}.booking-risk-banner>b{font-size:9px;white-space:nowrap}
.booking-readiness{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 0 12px;overflow:hidden}.booking-readiness-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;border-bottom:1px solid #eee9df}.booking-readiness-head span,.booking-readiness-head strong{display:block}.booking-readiness-head span{font-size:7.5px;letter-spacing:.08em;font-weight:850;color:var(--muted)}.booking-readiness-head strong{font:600 14px Georgia,serif;color:var(--navy);margin-top:3px}.booking-readiness-head>b{font-size:9px;color:var(--muted)}.booking-readiness.ready{border-color:#d7e7dc}.booking-readiness.attention{border-color:#ead3a7}.booking-readiness-grid{display:grid;grid-template-columns:repeat(4,1fr)}.booking-readiness-grid>div{padding:10px 13px;border-right:1px solid #eee9df}.booking-readiness-grid>div:last-child{border-right:0}.booking-readiness-grid span,.booking-readiness-grid strong{display:block}.booking-readiness-grid span{font-size:7.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.booking-readiness-grid strong{font-size:10px;margin-top:4px}.booking-readiness-grid .ok strong{color:#47705a}.booking-readiness-grid .warn strong{color:#956b25}.booking-readiness-grid .bad strong{color:var(--red)}
.booking-cancellation-always{color:#7b6740!important;font-weight:700}.booking-mobile-status-risk{display:none;align-items:center;gap:7px;margin-top:6px;font-size:8px}.booking-mobile-status-risk>span:last-child{color:#6d7882}.booking-mobile-status-risk .risk-critical{color:var(--red);font-weight:800}.booking-mobile-status-risk .risk-high{color:#91671f;font-weight:800}.booking-service-meta small{display:block;font-size:8px;color:#8a7550;margin-top:3px}.booking-editor-risk{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:10px;margin:8px 0;font-size:9px}.booking-editor-risk.critical{background:#fff0f0;color:#9f3030}.booking-editor-risk.high{background:#fff6df;color:#8d651d}.booking-editor-risk.medium{background:#f7f2e5;color:#756238}.booking-editor-risk.low{background:#eef4f2;color:#43685a}
@media(max-width:800px){.booking-readiness-grid{grid-template-columns:1fr 1fr}.booking-readiness-grid>div:nth-child(2){border-right:0}.booking-readiness-grid>div{border-bottom:1px solid #eee9df}.booking-readiness-grid>div:nth-last-child(-n+2){border-bottom:0}.booking-risk-banner{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:520px){.booking-mobile-status-risk{display:flex;flex-wrap:wrap}.booking-cancellation-always{font-size:8px!important}.booking-next-risk{align-items:flex-start;flex-direction:column;gap:3px}.booking-readiness-head{align-items:flex-start;flex-direction:column;gap:4px}.booking-readiness-grid{grid-template-columns:1fr}.booking-readiness-grid>div{border-right:0;border-bottom:1px solid #eee9df!important}.booking-readiness-grid>div:last-child{border-bottom:0!important}.booking-service-row{align-items:start}.booking-service-main{min-width:0}}


/* v4.14.8 supplier communication bridge */
.booking-service-communication{border:1px solid var(--border);border-radius:12px;padding:13px;margin:14px 0;background:rgba(10,49,97,.025)}.booking-service-comm-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.booking-service-comm-head>div{display:grid;gap:2px}.booking-service-comm-head span{font-weight:700}.booking-service-comm-head small,.booking-comm-summary span{color:var(--muted)}.booking-service-comm-body{margin-top:10px}.booking-comm-summary{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.booking-comm-list{display:grid;gap:6px;margin-top:9px}.booking-comm-list button{appearance:none;background:#fff;border:1px solid var(--border);border-radius:9px;padding:9px 10px;display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;text-align:left;cursor:pointer}.booking-comm-list button span,.booking-comm-list button small{font-size:11px;color:var(--muted)}
@media(max-width:620px){.booking-service-comm-head{align-items:stretch;display:grid}.booking-comm-list button{grid-template-columns:1fr}.booking-comm-list button small{display:block}}


/* v4.15.5 Mobile Booking decision cards --------------------------------- */
.booking-mobile-facts{display:none}
@media(max-width:800px){
  .booking-row{grid-template-columns:minmax(0,1fr) 28px!important;gap:9px!important;align-items:start}
  .booking-row>.booking-cell:nth-last-child(2){display:none!important}
  .booking-primary{grid-column:1;grid-row:1;align-items:start}
  .booking-open{grid-column:2;grid-row:1;align-self:center}
  .booking-mobile-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;margin-top:8px;color:#65727d;font-size:9px}
  .booking-mobile-facts>span{display:inline-flex;align-items:center;gap:4px;margin:0}
  .booking-mobile-facts>span:not(:first-child){padding-left:8px;border-left:1px solid #e7e0d6}
  .booking-mobile-facts b{color:var(--navy)}
  .booking-primary small{white-space:normal;line-height:1.35}
}
@media(max-width:520px){
  .booking-row{padding:12px 11px!important}
  .booking-code-mark{width:36px;height:36px}
  .booking-primary{grid-template-columns:36px minmax(0,1fr);gap:9px}
  .booking-mobile-facts>span{font-size:8.5px}
}
