/* AS-DF 4.0.0 — scoped operational enhancements, no third-party resources. */
.task-center4000 { border:1px solid var(--line); margin: 0 0 24px; }
.task-header4000{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px}
.task-header4000 h2{margin:0 0 6px;font-size:clamp(1.2rem,1.7vw,1.65rem)}
.task-header4000 p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.task-total4000{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;background:var(--surface2);font-size:.8em}
.task-stats4000{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 16px}
.task-stats4000 span{font-size:.85rem;border:1px solid var(--line);padding:8px 13px;border-radius:10px}
.task-stats4000 strong{font-variant-numeric:tabular-nums}
.task-item4000{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px;margin-bottom:9px;border:1px solid var(--line);border-left:4px solid var(--blue);background:var(--surface2);border-radius:10px}
.task-item4000[data-priority4000=normal]{border-left-color:#617a92}
.task-item4000[data-priority4000=urgent]{border-left-color:#e7a12d}
.task-item4000[data-priority4000=critical],.task-item4000[data-priority4000=overdue]{border-left-color:#ee616f}
.task-meta4000{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:7px}
.task-chip4000{font-size:.73rem;padding:3px 8px;font-weight:700;border-radius:999px;color:#d6e6f6;background:#273a50}
.task-chip4000.urgent{color:#ffd98a;background:#563913}
.task-chip4000.critical,.task-chip4000.overdue{color:#ffc7cd;background:#5b202e}
.task-type4000{color:var(--muted);font-size:.79rem}
.task-body4000{min-width:0}
.task-body4000 strong{display:block;overflow-wrap:anywhere}
.task-body4000 p{margin:5px 0 3px;font-size:.87rem;line-height:1.45}
.task-body4000 small{font-size:.79rem}
.task-actions4000{min-width:175px;display:flex;align-items:flex-end;flex-direction:column;gap:7px}
.task-actions4000 small{color:var(--muted);font-size:.75rem;text-align:right}
.task-actions4000 .btn{min-width:120px;text-align:center}
.task-clock4000{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800;white-space:nowrap;color:var(--text)}
.task-clock4000.is-overdue4000{color:#ff959e}
.cfg-v44000{display:grid;gap:16px}
.cfg-columns4000{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cfg-group4000{margin:0}
.cfg-group4000 h2{font-size:1.12rem;margin-bottom:6px}
.cfg-group4000 p{font-size:.85rem}
.cfg-links4000{display:grid;grid-template-columns:1fr;gap:5px}
.cfg-link4000{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--line);border-radius:9px;padding:11px 13px;font-size:.87rem}
.cfg-link4000 span{flex:1}
.cfg-link4000:focus-visible,.cfg-link4000:hover{outline:2px solid var(--blue);background:var(--surface)}
.cfg-policy4000{margin-top:6px}
.cfg-fields4000{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 23px}
.cfg-field4000{display:flex;flex-direction:column;gap:7px;font-size:.88rem}
.cfg-field4000 input{width:100%;max-width:100%;border:1px solid var(--line);border-radius:7px;background:var(--surface2);color:var(--text);padding:10px}
#cfg-query4000{width:100%;max-width:780px;background:var(--surface2);border:1px solid var(--line);border-radius:9px;color:var(--text);padding:12px;margin:9px 0}
.booking-status4000{border-left:5px solid #e9af45;margin:15px 0 20px}
.booking-status4000 h2{font-size:1.23rem;margin:0 0 9px}
.booking-status4000 p{margin:8px 0}
@media(max-width:950px){.cfg-columns4000{grid-template-columns:1fr}.cfg-fields4000{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.task-item4000{grid-template-columns:1fr;padding:13px}.task-actions4000{min-width:0;align-items:stretch}.task-actions4000 small{text-align:left}.task-actions4000 .btn{width:100%}.task-header4000{flex-wrap:wrap}.cfg-fields4000{grid-template-columns:1fr}.task-center4000.panel{padding:14px}}
@media(prefers-reduced-motion:reduce){.task-item4000,.cfg-link4000{transition:none}}

/* 4.2.0 - One consistent reservation/payment/attendance display */
.status-overview4200{margin:13px 0 20px;padding:15px 17px;border:1px solid var(--line);border-left:5px solid #d2a54b;border-radius:11px;background:var(--surface)}
.status-overview4200.status-success{border-left-color:#299b72}
.status-overview4200.status-danger{border-left-color:#d3636b}
.status-overview4200.status-neutral{border-left-color:#72889e}
.status-overview4200 .status-primary4200{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.status-overview4200 .status-primary4200 strong{font-size:1.12rem}
.status-overview4200 p{margin:9px 0;line-height:1.5}
.status-axes4200{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.status-axes4200 span{background:var(--surface2);border-radius:9px;padding:10px 12px;overflow-wrap:anywhere;font-size:.87rem}
.status-axes4200 b{display:block;color:var(--muted);margin-bottom:5px;font-size:.77rem}
.status-overview4200 .status-deadline4200{font-weight:500}
.status-overview4200 .status-request4200{color:#d2a54b}
.status-overview4200 .status-next4200{font-size:.9rem;color:var(--muted)}
.booking-table td .badge{white-space:normal;line-height:1.35}
@media(max-width:620px){.status-axes4200{grid-template-columns:1fr}.status-overview4200{padding:12px}}

/* 4.3.0 - Direct, no-account group payment UX, usable on 320px devices. */
.guest-invite4300,.guest-payment-head4300{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface2);margin:14px 0}
.guest-payment-head4300 h3,.guest-invite4300 h2{margin:0 0 8px}
.guest-progress4300{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;padding:10px;border-radius:8px;background:var(--surface);margin-top:9px}
.guest-progress4300 strong{font-size:1.05rem}
.guest-progress4300 span{color:var(--muted);font-size:.9rem}
.guest-stepper4300{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;padding:16px 10px;border:1px solid var(--line);border-radius:12px;margin:12px 0;background:var(--surface2)}
.guest-stepper4300 .guest-count4300{min-width:2ch;font-size:2rem;font-weight:800;text-align:center;line-height:1}
.guest-stepper4300 button{min-width:48px;min-height:48px;font-size:1.4rem}
.guest-stepper4300 span{flex-basis:100%;text-align:center;color:var(--muted);font-size:.86rem}
.guest-seat-details4300{border:1px solid var(--line);border-radius:10px;padding:10px;margin:12px 0}
.guest-seat-details4300>summary{cursor:pointer;font-weight:650;padding:6px 0}
.guest-seat-details4300[open]>summary{margin-bottom:10px}
.guest-seat-details4300 .pay-seats240{max-height:400px;overflow-y:auto}
@media(max-width:600px){.guest-invite4300,.guest-payment-head4300{padding:12px}.guest-stepper4300{gap:10px}}

/* AS-DF 4.4 consolidated settings / navigation */
.cfg-hub-layout4400{display:grid;grid-template-columns:minmax(0,2fr) minmax(235px,.8fr);gap:1rem;align-items:start}
.cfg-hub-layout4400>.cfg-directory4400{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.1rem;border:1px solid var(--border,#30425a);background:var(--panel,#152334);border-radius:12px}
.cfg-hub-layout4400 h2{margin-top:0}.cfg-section4400{margin-bottom:1rem}.cfg-section-head4400{display:flex;justify-content:space-between;align-items:start;gap:1rem;border-bottom:1px solid var(--border,#30425a);padding-bottom:.75rem}
.cfg-section-head4400 p{max-width:62ch;margin:.35rem 0 0;color:var(--text-muted,#a9b9c8);font-size:.92rem}
.cfg-section-count4400{white-space:nowrap;color:var(--text-muted,#a9b9c8);font-size:.8rem}
.cfg-search4400 input{width:100%;margin:.45rem 0 .15rem}.cfg-input-grid4400{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.8rem;padding:1rem 0}
.cfg-setting4400{display:flex;flex-direction:column;gap:.3rem;min-width:0;padding:.85rem;border:1px solid var(--border,#30425a);background:rgba(130,145,162,.06);border-radius:.7rem}
.cfg-setting4400:focus-within{outline:2px solid var(--accent,#57a3ef);outline-offset:1px}
.cfg-label4400{font-weight:650;line-height:1.35}.cfg-setting4400 input:not([type=checkbox]),.cfg-setting4400 select{width:100%;min-height:40px}
.cfg-help4400{color:var(--text-muted,#a9b9c8)}.cfg-key4400{font-size:.7rem;letter-spacing:.015em;color:var(--text-muted,#a9b9c8);overflow-wrap:anywhere}
.cfg-sensitive4400{font-weight:600;border:1px solid #d99d56;color:#eda95a;border-radius:.3rem;font-size:.7rem;margin-left:.45rem;padding:.08rem .3rem}
.cfg-switch4400{display:flex;align-items:center;gap:.65rem;min-height:40px}.cfg-switch4400 input{width:19px;height:19px}
.cfg-confirm4400{display:flex;align-items:start;gap:.55rem;font-size:.89rem;padding:.65rem;border:1px solid #bb8e49;border-radius:.5rem}
.cfg-actions4400{display:flex;align-items:center;justify-content:flex-end;gap:1rem;flex-wrap:wrap;margin:.8rem 0 .15rem}
.cfg-directory-list4400{display:grid;gap:.35rem}.cfg-route4400{display:grid;grid-template-columns:1.3rem 1fr 1.2rem;gap:.55rem;align-items:center;padding:.65rem .55rem;border-radius:.5rem;text-decoration:none;color:inherit;border:1px solid transparent}
.cfg-route4400:hover,.cfg-route4400:focus-visible{background:rgba(130,160,200,.12);border-color:var(--border,#30425a)}.cfg-route4400 small{display:block;font-size:.75rem;color:var(--text-muted,#a9b9c8)}
.cfg-route4400 svg{width:1.2rem;height:1.2rem}.cfg-directory4400>.cfg-directory-list4400{max-height:75vh;overflow-y:auto}
@media(max-width:1050px){.cfg-hub-layout4400{grid-template-columns:minmax(0,1fr)}.cfg-hub-layout4400>.cfg-directory4400{position:static;max-height:none}.cfg-directory4400>.cfg-directory-list4400{max-height:none}}
@media(max-width:580px){.cfg-input-grid4400{grid-template-columns:1fr}.cfg-section-head4400{display:block}.cfg-section-count4400{display:block;margin-top:.5rem}.cfg-actions4400>.btn{width:100%}}

/* V4.4.1 -- centralized settings, specialized links and deep-linked field. */
.cfg-specialized4410{margin-top:1.1rem}.cfg-specialized4410 h2{margin-top:0}
.cfg-specialized-items4410{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:.6rem}
.cfg-specialized-link4410{display:flex;gap:.65rem;align-items:center;justify-content:space-between;border:1px solid var(--bo-border,#d1d8e0);border-radius:9px;padding:.75rem;text-decoration:none;background:var(--bo-panel,#fff);color:var(--bo-text,#182c3c)}
.cfg-specialized-link4410:hover,.cfg-specialized-link4410:focus-visible{outline:2px solid #1c82cf;outline-offset:1px}
.cfg-specialized-link4410 strong,.cfg-specialized-link4410 small{display:block}.cfg-specialized-link4410 small{margin-top:.18rem;font-size:.78rem;color:var(--bo-muted,#64748b)}
.cfg-secret4410 input{width:100%}.cfg-secret4410 small{display:block;margin-top:.3rem;color:var(--bo-muted,#64748b)}
.cfg-setting4400 textarea{display:block;width:100%;min-height:95px;box-sizing:border-box}
.cfg-target4410{outline:3px solid #159a87!important;outline-offset:5px;border-radius:5px;scroll-margin-top:100px}
.cfg-setting4400[data-sensitive4400] .cfg-label4400{font-weight:650}
@media(max-width:760px){.cfg-specialized-items4410{grid-template-columns:1fr}.cfg-specialized-link4410{min-height:48px}}

/* V4.4.1 -- compact navigation: groups are collapsed until chosen or searched. */
.cfg-group-details4410{display:block;margin:.55rem 0;border:1px solid var(--bo-border,#d5dee8);background:var(--bo-panel,#fff);border-radius:10px;overflow:clip}
.cfg-group-details4410>summary{list-style:none;cursor:pointer;padding:1rem 1.05rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--bo-text,#162b3e)}
.cfg-group-details4410>summary::-webkit-details-marker{display:none}
.cfg-group-details4410>summary:after{content:'▾';margin-left:.2rem;color:var(--bo-muted,#5f7183);transition:transform .15s ease}
.cfg-group-details4410[open]>summary:after{transform:rotate(180deg)}
.cfg-group-details4410>summary:hover,.cfg-group-details4410>summary:focus-visible{background:var(--bo-panel-2,#f5f9fc);outline-offset:-3px}
.cfg-group-details4410>summary span{font-size:.82rem;color:var(--bo-muted,#516275);margin-left:auto}
.cfg-group-details4410>.panel{margin:0;border:0;border-top:1px solid var(--bo-border,#d5dee8);border-radius:0}
.cfg-specialized4410>.panel{margin:0;border:0}
@media(max-width:760px){.cfg-group-details4410>summary{padding:.85rem}.cfg-group-details4410>summary strong{font-size:.9rem}.cfg-group-details4410>summary span{font-size:.72rem}}
/* Ensure directory contrast in both admin light and dark themes. */
body.admin-mode .cfg-directory4400{background:var(--bo-panel,#f8fbff)!important;border-color:var(--bo-border,#d2deeb)!important;color:var(--bo-text,#172d43)!important}
body.admin-mode .cfg-directory4400 .cfg-route4400{color:var(--bo-text,#172d43)!important}
body.admin-mode .cfg-directory4400 .cfg-route4400 small{color:var(--bo-muted,#566b80)!important}
/* V4.5 operational dashboard, high-contrast with inherited light/dark palettes. */
.task-center4500{--task-red:#be3b45;--task-amber:#be791a}
.task-card4500{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,auto);gap:1rem;align-items:center;min-width:0;overflow-wrap:anywhere}
.task-card4500 .task-body4000{min-width:0}
.task-card4500 .task-consequence4500{font-size:.82rem;margin:.4rem 0;color:var(--bo-muted,#5f6574);font-style:italic}
.task-card4500 .task-owner4500{display:block;margin-top:.3rem;font-size:.8rem;color:var(--bo-muted,#566c80)}
.task-card4500 .task-actions4000{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:0}
.task-due4500{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}
.task-due4500 small{color:var(--bo-muted,#53687a);font-size:.76rem}
.task-clock4000{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750;letter-spacing:.02em}
.task-buttons4500{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}
.task-buttons4500 .btn{white-space:normal;min-height:36px}
.task-pagination4500{display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-top:1rem}
.task-filters4500{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.75rem}
.task-filters4500 label{display:flex;flex-direction:column;gap:.4rem;font-weight:600;font-size:.83rem}
.task-filters4500 select{min-width:0;max-width:100%;width:100%;height:2.65rem;background:var(--bo-panel,#fff);color:var(--bo-text,#1f2937)}
.task-history4500{max-height:60vh;overflow-y:auto;display:grid;gap:1rem}
.task-history-event4500{display:block;margin-top:.25rem;color:var(--bo-muted,#53687a)}
.task-card4500[data-priority4000="overdue"]{border-inline-start:4px solid var(--task-red,#be3b45)}
.task-card4500[data-priority4000="critical"]{border-inline-start:4px solid var(--task-amber,#be791a)}
.task-center4500 .notice.warning{margin:.6rem 0}
@media(max-width:850px){.task-card4500{grid-template-columns:1fr}.task-card4500 .task-actions4000,.task-due4500{align-items:flex-start}.task-buttons4500{justify-content:flex-start}.task-filters4500{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.task-filters4500{grid-template-columns:1fr}.task-buttons4500{width:100%}.task-buttons4500 .btn{flex:1;min-width:42%}.task-pagination4500{flex-wrap:wrap}.task-card4500{padding:.65rem}.task-due4500 small{font-size:.72rem}}
/* V4.9.0 migration inventory and manual verification */
.mig-kpis4900{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin:12px 0}
.mig-kpis4900>div{border:1px solid var(--border,#d0d5df);border-radius:9px;padding:12px;min-width:0}
.mig-kpis4900 strong{font-size:1.45rem;display:block;overflow-wrap:anywhere}
.mig-kpis4900 span{font-size:.78rem;display:block;overflow-wrap:anywhere;opacity:.85}
.mig-risk4900{display:flex;align-items:flex-start;gap:10px;margin:8px 0;padding:10px 0;border-bottom:1px solid var(--border,#d0d5df)}
.mig-risk4900 p,.mig-check4900 p{margin:4px 0}
.mig-check-list4900{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}
.mig-check4900{border:1px solid var(--border,#d0d5df);border-radius:10px;padding:15px;min-width:0}
.mig-check4900 .mig-head4900{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.mig-check4900 h3{font-size:1rem;margin:0}
.mig-check4900 label{display:block;margin:12px 0 6px}
.mig-check4900 textarea{display:block;box-sizing:border-box;width:100%;min-height:70px}
.mig-check4900 .badge{flex-shrink:0}
@media(max-width:650px){.mig-check-list4900{grid-template-columns:1fr}.mig-kpis4900{grid-template-columns:repeat(2,minmax(0,1fr))}.mig-check4900 .mig-head4900{flex-wrap:wrap}}

/* 4.9.0 - Migration assistant: responsive and progressive disclosure */
.mig-details4900{min-width:0;max-width:100%}
.mig-details4900>summary{cursor:pointer;font-weight:700;line-height:1.45;padding:.65rem .25rem}
.mig-details4900>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.mig-details4900 .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
@media(max-width:650px){.mig-check4900{min-width:0}.mig-check4900 textarea{max-width:100%}.mig-details4900>summary{padding:.75rem 0}}

.mig-check4900>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;list-style-position:inside}
.mig-check4900>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.mig-check4900>summary strong{font-size:1rem;line-height:1.4;flex:1}
.mig-check4900[open]>summary{padding-bottom:.65rem;border-bottom:1px solid rgba(128,128,128,.2)}
/* 4.10.0: staff language switch is explicit and responsive. */
body.admin-mode .admin-tools .client-language3200{display:inline-flex;align-items:center;gap:6px;position:static;flex:0 0 auto;margin:0;padding:3px 5px;border:1px solid var(--bo-border,#91a4b8);border-radius:7px;background:var(--bo-panel,#152a3f);color:var(--bo-text,#e8f1fa);font-size:12px;min-height:36px}
body.admin-mode .admin-tools .client-language3200 select{min-width:95px;max-width:155px;font-size:12px;padding:5px 4px;border:0;border-radius:4px;background:var(--bo-panel-2,#1b3349);color:var(--bo-text,#e8f1fa)}
body.admin-mode .admin-tools .client-language3200 select:focus-visible{outline:2px solid var(--bo-focus,#69b4ff)}
@media(max-width:800px){body.admin-mode .admin-tools .client-language3200{order:0}body.admin-mode .admin-tools .client-language3200 select{min-width:86px;max-width:105px}}


/* V4.13.8: client contrast - scoped; no effect on dark mode admin or gift artwork. */
html.site-unified3500 body.site-client3500:not(.admin-mode) :is(#main,#dialog,#journey-dock3100) :is(.notice,.hint,.form-error,.field-error):not(:where(.gift-art2120,.gift-art2120 *,.gift-art2121,.gift-art2121 *)) {
  -webkit-text-fill-color:currentColor;
}
/* Actions remain legible even if a historical page uses a light panel or a light button. */
html.site-unified3500 body.site-client3500:not(.admin-mode) :is(#main,#dialog,#journey-dock3100) :is(.btn.secondary,.btn.ghost,.btn.outline):not(:where(.gift-art2120,.gift-art2120 *,.gift-art2121,.gift-art2121 *)) {
  background:#15304a!important;
  color:#f4f8ff!important;
  border-color:#547491!important;
}
html.site-unified3500 body.site-client3500:not(.admin-mode) :is(#main,#dialog,#journey-dock3100) :is(.btn.secondary,.btn.ghost,.btn.outline):hover:not(:where(.gift-art2120,.gift-art2120 *,.gift-art2121,.gift-art2121 *)) {
  background:#235179!important;
  color:#ffffff!important;
}
/* Important alert and secondary labels must be readable, including on small screens. */
html.site-unified3500 body.site-client3500:not(.admin-mode) :is(#main,#dialog,#journey-dock3100) :is(.payment-onsite240,.pay-seat240,.pay-seat250,.share-payment240,.status-overview4200,.booking-status4000):not(:where(.gift-art2120,.gift-art2120 *,.gift-art2121,.gift-art2121 *)) {
  color:var(--text)!important;
}
/* Native autofill shall never show white characters on a pale yellow input. */
html.site-unified3500 body.site-client3500:not(.admin-mode) :is(#main,#dialog) :is(input,textarea,select):-webkit-autofill {
  -webkit-text-fill-color:#f4f8ff!important;
  -webkit-box-shadow:0 0 0 1000px #102238 inset!important;
  caret-color:#f4f8ff!important;
}
/* Admin presentation and client theme never share the same forced color palette. */
body.admin-mode:not(.theme-dark3000) { color-scheme:light; }
body.admin-mode.theme-dark3000 { color-scheme:dark; }
body.admin-mode :is(#main,#dialog) :is(.panel,.cfg-setting4400,.cfg-group-details4410) {color:var(--bo-text,#1b2b40);}
/* V4.13.8: back-office settings descriptions contrast on light cards. */
body.admin-mode :is(.cfg-help4400,.cfg-key4400,.cfg-section-head4400 p,.cfg-route4400 small,.cfg-section-count4400){
 color:var(--bo-muted,#4c6173)!important;
}
body.admin-mode :is(.cfg-setting4400,.cfg-group-details4410,.cfg-directory4400) :is(input,select,textarea){
 color:var(--bo-text,#172d43);
 background:var(--bo-panel,#ffffff);
 border-color:var(--bo-border,#a3b3c1);
}
