:root{--ink:#173b40;--teal:#185c61;--muted:#6b7e80;--line:#dbe4df;--bg:#f4f5ef;--gold:#efbd7a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:0;background:var(--teal);color:#fff;padding:11px 17px;border-radius:10px;font-weight:600}button:disabled{opacity:.4;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.08)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #da9344;outline-offset:3px}.pilot-banner{font-size:11px;color:#d7e4df;background:#234348;text-align:center;padding:6px}header{max-width:1280px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-size:17px;font-weight:700;letter-spacing:.1em}.brand span{color:#93632c}.brand small{display:block;font-size:10px;letter-spacing:.16em}.demo-switch{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}select,input,textarea{background:#fff;color:var(--ink);border:1px solid #cbd8d3;padding:10px;border-radius:8px;max-width:100%;min-width:0}.demo-switch select{font-size:12px;padding:8px}main{max-width:1280px;margin:auto;padding:28px}h1{font:34px/1.2 Georgia,serif;margin:0 0 7px}h2{font:24px/1.2 Georgia,serif;margin:0 0 12px}h3{font-size:16px;margin:0 0 7px}p{margin:7px 0}.muted{color:var(--muted);font-size:13px}.heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}.routes{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.routes button{background:#e6ece7;color:#426164;min-width:105px}.routes button.active{background:var(--ink);color:#fff}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;min-width:0}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 14px}.calendar-head h2{margin:0;text-transform:capitalize;font-size:24px}.arrows{display:flex;gap:6px}.arrows button{padding:6px 12px;background:#f1f4ef;color:var(--ink)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;font-size:11px;color:var(--muted);padding:5px}.date{min-height:69px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:5px;border:1px solid transparent;color:var(--ink);font-size:17px;background:#eff2ef}.date small{font-size:10px;font-weight:500;white-space:nowrap}.date.green{background:#dcefe1;color:#225936}.date.gray{background:#ecefed;color:#4f6460}.date.red{background:#f7e5e1;color:#964d45}.date.selected{outline:2px solid var(--teal);outline-offset:1px}.date.unavailable{background:transparent;color:#afb8b2;font-weight:400;opacity:1;cursor:default}.legend{display:flex;flex-wrap:wrap;gap:13px;margin-top:17px;color:var(--muted);font-size:11px}.legend span:before{content:'';display:inline-block;width:8px;height:8px;background:#d3dcd6;border-radius:50%;margin-right:5px}.legend .green:before{background:#65a975}.legend .red:before{background:#cf7665}.selection{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.selection form{display:flex;gap:14px;align-items:end;margin-top:15px}.selection input{width:80px}.gold{background:var(--gold);color:var(--ink)}.secondary{background:#edf1ed;color:var(--ink)}label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}.pill{display:inline-block;border-radius:20px;padding:4px 9px;font-size:11px;background:#edf1ed;color:#5a6f65}.pill.green{background:#e1f1e4;color:#346347}.pill.amber{background:#fff0d9;color:#8b622a}.pill.red{background:#fae8e3;color:#994c3a}.note{font-size:13px;border-left:3px solid var(--gold);padding:8px 12px;background:#fff7e9;margin:12px 0}.bookings{margin-top:26px}.booking{padding:16px 0;border-bottom:1px solid var(--line)}.booking:last-child{border-bottom:0}.booking-top{display:flex;justify-content:space-between;gap:12px}.booking p{font-size:13px}.booking form{margin-top:10px}.picture{display:inline-block;margin:6px 8px 6px 0;color:var(--teal);font-size:12px;text-decoration:none}.picture img{display:block;width:96px;height:82px;object-fit:contain;background:#f2f4ee;border:1px solid var(--line);border-radius:7px;margin-bottom:4px}.notice{font-size:12px;background:#f2f5f0;padding:10px;border-radius:8px;margin-top:8px}.chat{position:sticky;top:20px}.chat-title{display:flex;justify-content:space-between;align-items:center}.chat-title button{background:transparent;color:var(--muted);padding:5px}.chat select{width:100%;margin:6px 0}.thread{height:255px;overflow:auto;display:flex;flex-direction:column;gap:10px;margin:18px 0}.bubble{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2ed;border-radius:11px;padding:10px 12px;max-width:95%;align-self:start}.bubble.mine{background:#dbece4;align-self:end}.bubble small{display:block;font-size:10px;color:#5c7773;margin-bottom:4px}.chat textarea{width:100%;min-height:75px;resize:vertical;font-size:13px}.chat form button{width:100%;margin-top:8px}.empty{font-size:13px;color:var(--muted);padding:16px 0}.table-shell{overflow:auto;border:1px solid var(--line);border-radius:15px;background:white}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eef2eb;color:#657b70;font-size:11px;white-space:nowrap}td small{display:block;color:var(--muted);font-size:11px}td input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px}td button{padding:5px 8px;background:transparent;color:var(--teal);font-size:12px}.date-group td{background:#f3f6ef;font-weight:600}.date-group .group-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.date-group button{background:#e2ebe0;color:#315b43}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;flex-wrap:wrap}.toolbar .actions{display:flex;gap:6px;flex-wrap:wrap}.toolbar button{font-size:12px;padding:9px 12px}.staff-layout{grid-template-columns:minmax(0,1fr) 300px}.link-button{padding:0;color:var(--teal);background:transparent;text-decoration:underline;text-underline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}.form-grid textarea{min-height:85px;resize:vertical}.form-grid button{grid-column:1/-1}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;color:var(--ink);width:570px;max-width:calc(100vw - 24px);max-height:90vh;overflow:auto;box-shadow:0 24px 80px #173b4030}dialog::backdrop{background:#142f3a70}.close{float:right;background:#edf1ed;color:var(--ink);padding:3px 12px;font-size:24px;margin:-10px -10px 10px 10px}dialog h2{margin-bottom:8px}dialog p{margin-bottom:16px}dialog details{padding:14px 0;border-top:1px solid var(--line)}dialog details form{margin-top:16px}summary{cursor:pointer;font-size:14px;font-weight:600}#toast{position:sticky;top:8px;z-index:4;font-size:13px;border-radius:10px}#toast:not(:empty){padding:12px 18px;background:#dbefe0;box-shadow:0 3px 20px #18372c18;margin-bottom:18px}#toast.error{background:#fbe0d9;color:#953c2e}footer{font-size:11px;color:var(--muted);margin-top:32px}.receipt-label input{font-size:11px;width:100%}.receipt-label{margin:8px 0}.minor{font-size:11px}.preview-lightbox{width:100%;max-height:68vh;object-fit:contain}@media(max-width:1000px){.layout,.staff-layout{grid-template-columns:minmax(0,1fr) 280px}.panel{padding:18px}.date{min-height:60px}.date small{font-size:9px}main,header{padding:20px}.staff-layout{grid-template-columns:1fr}.staff-layout .chat{position:static;max-width:none}.staff-layout .thread{height:180px}}@media(max-width:720px){.layout{grid-template-columns:1fr;gap:20px}.chat{position:static}.thread{height:190px}.routes{gap:6px}.routes button{min-width:0;padding:9px 14px;font-size:13px}.demo-switch{flex-direction:column;align-items:end;gap:2px}.demo-switch label{font-size:10px}.brand{font-size:14px}.brand small{font-size:9px}main,header{padding:17px}.heading h1{font-size:29px}.heading{align-items:start}.calendar{gap:4px}.date{min-height:61px}.date small{font-size:9px}.form-grid{grid-template-columns:1fr}.toolbar{align-items:start}.toolbar .actions{gap:5px}.toolbar button{padding:8px}.panel{padding:16px}.selection form{justify-content:space-between}.selection form button{flex:1}.calendar-head h2{font-size:22px}dialog{padding:22px}.booking-top{flex-wrap:wrap}.legend{font-size:10px;gap:9px}.pilot-banner{font-size:10px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,box-shadow .15s}.selection{animation:in .18s ease-out}@keyframes in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
:is(.payment-card,.alternative){margin:14px 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}.payment-total{font-size:24px!important;font-weight:700}.payment-total span{display:block;font-size:12px;font-weight:400;color:var(--muted)}.payment-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.payment-actions button{font-size:12px;padding:10px 12px}.change-date{margin:12px 0;font-size:12px}.alternative{border-left:3px solid var(--teal);background:#eaf3ed}.alternative p{font-size:12px}.archived{color:#697b77}.workflow-summary{margin:0 0 20px;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.totals{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px;font-size:11px;color:var(--muted)}.totals strong{display:block;font-size:18px;color:var(--ink)}.invoice-person{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:12px}.invoice-person legend{font-weight:600;font-size:13px}.invoice-person textarea{min-height:65px}.check-label{flex-direction:row;align-items:start;gap:8px}.check-label input{flex:0 0 auto;margin-top:4px}.chat-actions{display:flex;gap:7px}.chat-actions button{font-size:12px;padding:9px 6px}.attachment-drafts>div{display:flex;align-items:center;gap:8px;font-size:11px;padding-top:7px}.attachment-drafts span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.attachment-drafts button{width:auto!important;margin:0!important;padding:2px 10px}.message-images{display:flex;gap:5px;flex-wrap:wrap;white-space:normal}.message-images .picture{margin:5px 0 0;padding:5px;background:white;max-width:100%;font-size:10px}.message-images img{width:100%;max-width:160px;height:100px;margin:0;object-fit:contain}.picture{background:#edf2eb;padding:7px}.booking details{font-size:12px;margin-top:12px}.note,.notice{overflow-wrap:anywhere;white-space:pre-wrap}.booking .note{white-space:normal}@media(max-width:720px){.payment-card,.alternative{padding:13px}.payment-actions{gap:6px}.totals{gap:14px}.totals strong{font-size:16px}.invoice-person{padding:10px}.group-line{flex-wrap:wrap}}
@media(max-width:480px){main,header{padding:14px}.panel{padding:13px}.calendar{gap:3px}.date{min-height:58px;font-size:16px}.date small{font-size:8px}.calendar-head h2{font-size:20px}.arrows button{min-height:42px;min-width:40px}.selection form{flex-wrap:wrap;gap:10px}.selection form button{min-height:46px}.selection .check-label{flex-basis:100%}.heading{flex-wrap:wrap}.heading h1{font-size:27px}.chat textarea,input,select,textarea{font-size:16px}.chat-actions button{min-height:44px}.form-grid{gap:12px}dialog{padding:20px 16px;max-height:calc(100dvh - 24px)}.payment-actions button{min-height:44px}.booking-top{gap:7px}.payment-total{font-size:22px!important}}
