.operations-heading{padding:32px 26px 24px;background:#e0e8d9;border-bottom:1px solid var(--border)}.operations-heading h2{font-size:36px;margin:15px 0 10px}.operations-heading span{font-size:12px}.task-timeline{display:grid;gap:20px}.task-timeline>div{display:flex;gap:22px;align-items:start;position:relative}.task-timeline b{width:42px;font-size:12px;color:var(--primary)}.task-timeline span{font-size:13px;border-left:2px solid #b3c5a4;padding-left:18px}.task-timeline small{font-size:10px;color:var(--secondary)}#toggle-filters{display:none}.drawer::-webkit-scrollbar{width:5px}.drawer::-webkit-scrollbar-thumb{background:#d3dacb;border-radius:4px}.pitch-label{white-space:nowrap}.leaflet-tooltip{transition:none!important}.hero-visual:after{content:'PINE GROVE  /  COASTAL COLLECTION';position:absolute;top:110px;left:30px;font-size:8px;letter-spacing:.25em;color:#81927c;z-index:400;pointer-events:none}.hero-visual #preview-map{transform:rotate(-12deg) scale(1.02)}
@media(max-width:540px){[data-mode=callcenter] #toggle-filters{display:block;border:0;background:transparent;padding:5px 8px;font-size:9px;margin-left:auto}[data-mode=callcenter]:not(.filters-expanded) #staff-search{display:none}[data-mode=callcenter] .result-summary,.has-selection[data-mode=callcenter] .result-summary{top:222px}[data-mode=callcenter] .kpi-strip,.has-selection[data-mode=callcenter] .kpi-strip{top:253px}[data-mode=callcenter] .status-filters,.has-selection[data-mode=callcenter] .status-filters{top:351px}.filters-expanded[data-mode=callcenter] .result-summary{top:322px}.filters-expanded[data-mode=callcenter] .kpi-strip{top:353px}.filters-expanded[data-mode=callcenter] .status-filters{top:450px}.operations-heading{padding:24px}.operations-heading h2{font-size:28px}.task-timeline{grid-template-columns:repeat(3,1fr);gap:10px}.task-timeline>div{display:block}.task-timeline span{display:block;padding:6px 0;border:0;font-size:11px}.presenting .kpi-strip{top:253px}}
.demo-main>#toggle-search{display:none}
@media(min-width:901px){[data-camp=camp-b][data-scenario=operations] .search-bar{width:300px;max-width:300px;top:215px;gap:10px 0;padding:12px}[data-camp=camp-b][data-scenario=operations] .search-bar label{padding:0 8px}[data-camp=camp-b][data-scenario=operations] .search-bar input{width:116px}[data-camp=camp-b][data-scenario=operations] .search-bar select{width:104px}[data-camp=camp-b][data-scenario=operations] .search-bar .button{margin:0 0 0 8px;padding:8px 15px}[data-camp=camp-b][data-scenario=operations] #staff-search{flex-wrap:wrap;gap:8px 0}[data-camp=camp-b][data-scenario=operations] #staff-search label{flex:0 0 50%;max-width:50%}[data-camp=camp-b][data-scenario=operations] #staff-search input,[data-camp=camp-b][data-scenario=operations] #staff-search select{width:100%;max-width:100%;font-size:11px}[data-camp=camp-b][data-scenario=operations] .kpi-strip{top:115px;left:30px;max-width:calc(100% - 490px);gap:18px}[data-camp=camp-b][data-scenario=operations]:not(.has-selection) .kpi-strip{max-width:none}[data-camp=camp-b][data-scenario=operations] .result-summary{top:184px;left:30px}[data-camp=camp-b][data-scenario=operations] .status-filters{top:535px;grid-template-columns:1fr 1fr;width:300px;gap:6px}[data-camp=camp-b][data-scenario=operations] .status-filters button{font-size:9px;padding:7px}[data-camp=camp-b][data-scenario=operations] .map-heading h1{font-size:30px}[data-camp=camp-b][data-scenario=operations] .map-heading{top:24px}}
@media(max-width:540px){[data-scenario=operations] .demo-main>#toggle-search{display:block;position:absolute;z-index:410;top:96px;left:13px;padding:8px 14px;font-size:11px}[data-scenario=operations]:not(.search-expanded) .search-bar{display:none}[data-scenario=operations]:not(.search-expanded) .result-summary{top:145px}[data-scenario=operations]:not(.search-expanded) .kpi-strip{top:175px}[data-scenario=operations]:not(.search-expanded) .status-filters{top:271px}[data-scenario=operations].search-expanded #toggle-search{top:63px;left:auto;right:13px;padding:4px 8px;font-size:9px}.kpi-strip{justify-content:space-between}.kpi-strip span{min-width:28px}.operations-heading+.drawer-body .staff-detail{margin:14px 0}}
@media(min-width:901px) and (max-height:820px){[data-camp=camp-b][data-scenario=operations] .map-bottom #legend{display:none}[data-camp=camp-b][data-scenario=operations] .map-bottom{justify-content:flex-end}[data-camp=camp-b][data-scenario=operations] .status-filters{top:530px;gap:4px}[data-camp=camp-b][data-scenario=operations] .status-filters button{padding:5px 6px}}
/* Draw the close mark geometrically so font metrics cannot offset it. */
.close { font-size: 0; line-height: 1; }
.close::before, .close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 1.5px;
    border-radius: 1px;
    background: currentColor;
    transform: translate(-50%, -50%) rotate(45deg);
    pointer-events: none;
}
.close::after { transform: translate(-50%, -50%) rotate(-45deg); }
/* Keep booking labels clear of the focus ring, including at mobile sizes. */
#booking .form-grid { gap: 18px 16px; }
#booking .form-grid label { min-width: 0; font-size: 12px; line-height: 1.5; font-weight: 500; }
#booking .form-grid input,
#booking .form-grid textarea {
    margin-top: 7px;
    padding: 11px 12px;
    border-radius: 6px;
    min-height: 44px;
    font-size: 14px;
    font-weight: 400;
    transition: border-color .15s ease, box-shadow .15s ease;
}
#booking .form-grid input:focus,
#booking .form-grid textarea:focus {
    border-color: #71877b;
    outline: 1px solid #71877b;
    outline-offset: -1px;
    box-shadow: 0 0 0 2px #71877b14;
}
@media (prefers-reduced-motion: reduce) {
    #booking .form-grid input, #booking .form-grid textarea { transition: none; }
}
