:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;color:#223b32;background:#f7f8f3}*{box-sizing:border-box}body{margin:0}header{height:82px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 max(24px,calc((100vw - 1140px)/2));border-bottom:1px solid #e5eae4}.brand{display:flex;align-items:center;gap:12px}.brandmark{width:44px;height:44px;background:#214c3c;color:#fff;border-radius:13px;display:grid;place-items:center;font-size:25px}.brand strong{display:block;font-family:Georgia,serif;font-size:26px}.brand small{display:block;letter-spacing:2px;font-size:9px;color:#75837c}.tag{font-size:11px;letter-spacing:1.2px;color:#5d7868;font-weight:700}main{max-width:1140px;margin:auto;padding:0 24px 65px}.hero{padding:72px 0 36px}.eyebrow{font-size:11px;letter-spacing:2.6px;color:#a07a3c;font-weight:800}.hero h1{font:normal clamp(38px,5.2vw,68px)/1.1 Georgia,serif;letter-spacing:-2px;margin:17px 0;color:#183b2d}.hero h1 em{color:#b88b47}.hero p{font-size:16px;max-width:600px;line-height:1.7;color:#67796e}.search-panel{background:#fff;border:1px solid #e6eae2;border-radius:16px;padding:25px;box-shadow:0 10px 30px #183b2d0a}form{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:18px;align-items:end}label{font-size:11px;letter-spacing:1px;font-weight:750;color:#67786f;display:flex;flex-direction:column;gap:9px}input[type=date],select{width:100%;padding:14px;border:1px solid #dbe3da;border-radius:9px;background:#fff;color:#244234;font:500 15px system-ui}button{background:#255841;color:#fff;border:0;border-radius:9px;padding:16px 18px;font-size:14px;font-weight:750;cursor:pointer;display:flex;justify-content:space-between}button:disabled{opacity:.55;cursor:wait}.hint{font-size:12px;color:#88948b;margin-top:16px}.status{margin:22px 0;color:#456a52;font-size:14px}.results-head{display:flex;justify-content:space-between;align-items:end;margin:44px 0 23px}.results-head h2{font:normal 34px Georgia,serif;margin:10px 0}.results-head p{font-size:13px;color:#79867c}.total{font-weight:800;color:#315b43}.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.filters label{min-width:170px}.filters select{padding:10px;font-size:13px}.filters .check{flex-direction:row;align-items:center;gap:9px;padding:11px 14px;margin-bottom:1px;letter-spacing:0;background:#eef6f0;border:1px solid #d8e8dc;border-radius:9px;color:#255841;font-weight:800;cursor:pointer}.filters .check input{width:17px;height:17px;accent-color:#255841}.reserve{background:#fff;border:1px solid #e2e9df;border-radius:13px;margin:12px 0;overflow:hidden}.reserve summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:20px 23px}.reserve summary::-webkit-details-marker{display:none}.reserve summary strong{display:block;font-size:17px}.reserve summary small{display:block;color:#849187;font-size:12px;margin-top:6px}.right{display:flex;gap:18px;align-items:center}.ok{color:#39805c;font-size:12px}.warn{color:#b36d2d;font-size:12px}.chevron{font-size:22px;color:#8e9e91}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#f5f8f4;color:#718478;font-size:11px;letter-spacing:.7px;padding:13px 22px}td{padding:13px 22px;border-top:1px solid #edf0ea;white-space:nowrap}.pill{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:750}.pill.open{background:#e4f4e8;color:#277b45}.pill.booked{background:#f4e7e4;color:#9a4e42}.pill.closed{background:#f3ecea;color:#a15b4b}.pill.unknown{background:#f2f1e7;color:#857e45}.live-dot{color:#39805c;font-size:12px;font-weight:700}.warning{padding:12px 22px;background:#fff4e9;color:#9b642b;font-size:13px}.disclaimer{font-size:12px;line-height:1.7;color:#7a877d;margin:28px 0}footer{text-align:center;padding:30px;border-top:1px solid #e5eae4;color:#9aa69d;font-size:12px}@media(max-width:700px){header{padding:0 18px}.tag{display:none}.hero{padding-top:46px}form{grid-template-columns:1fr}.filters label{flex:1 1 42%}.results-head{align-items:start}.results-head h2{font-size:28px}.reserve summary{padding:15px}.right{gap:7px}td,th{padding:12px}}
/* Demo V1 customer-facing refinements */
.live-dot{font-size:12px;font-weight:700;color:#37654c;background:#edf6f0;border:1px solid #d7e9dc;border-radius:999px;padding:5px 9px}
.pill.booked{background:#f6eeee;color:#8b4545;border-color:#ead6d6}.pill.closed{background:#f1f1ef;color:#686862;border-color:#dfdfda}
.legend{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 14px;font-size:13px;color:#5e665f}.legend span{display:flex;align-items:center;gap:7px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.available{background:#3f8059}.dot.booked{background:#a65a5a}.dot.closed{background:#777}
.disclaimer{margin-top:20px;padding:16px 18px;border-radius:12px;background:#f6f4ed;color:#5b5b52;font-size:13px;line-height:1.55}.empty{padding:24px;background:white;border-radius:12px;border:1px solid #e7e7df}.status.success{color:#37654c}.status.error{color:#8b4545}.warning-status{color:#8a682b}
/* Option 2 — Zone Calendar View */
.view-note{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 14px;padding:13px 16px;border:1px solid #dfe8df;border-radius:10px;background:#fff}.view-note strong{color:#255841}.view-note span{font-size:12px;color:#75837a}.continuity{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 22px;background:#f7f5ee;border-top:1px solid #ece8da;border-bottom:1px solid #ece8da;font-size:12px}.continuity>strong{color:#5d685f;margin-right:5px}.continuity span{background:#fff;border:1px solid #dedfd8;border-radius:999px;padding:6px 10px;color:#59665d}.continuity span b{color:#2e7049;margin-left:5px}.matrix-scroll{overflow-x:auto;max-width:100%}.matrix{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.matrix th,.matrix td{text-align:center;padding:10px 9px;border-top:1px solid #edf0ea;border-right:1px solid #edf0ea}.matrix thead th{position:sticky;top:0;z-index:2;background:#f3f6f1;min-width:132px}.matrix .sticky-zone{position:sticky;left:0;z-index:4;min-width:190px;text-align:left;background:#edf3ec}.matrix .zone-name{position:sticky;left:0;z-index:3;text-align:left;background:#fff;min-width:190px}.zone-name strong{display:block;color:#274b3a}.zone-name small{display:block;margin-top:4px;color:#89958d}.date-head{display:block;font-weight:800;color:#385847}.matrix th small{display:block;margin-top:3px;color:#8a958e;letter-spacing:0}.day-cell{min-width:132px;background:#fbfcfa}.day-cell.has-open{background:#f5faf5}.slot-pair{display:flex;flex-direction:column;gap:5px;align-items:stretch}.slot{display:block;border-radius:6px;padding:5px 7px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid transparent}.slot b{font-size:9px;opacity:.65;margin-right:3px}.slot.open{background:#e3f3e7;color:#267344;border-color:#d3e9d9}.slot.booked{background:#f6e9e7;color:#914d45;border-color:#ecd7d3}.slot.closed{background:#efefec;color:#66675f;border-color:#e0e0db}.slot.unknown{background:#f5f3e8;color:#837d55}.calendar-card[open] summary{border-bottom:0}@media(max-width:700px){.matrix .sticky-zone,.matrix .zone-name{min-width:145px}.matrix thead th,.day-cell{min-width:116px}.continuity{padding:10px 14px}.view-note{align-items:flex-start;flex-direction:column;gap:4px}}

.search-panel select{min-height:46px;padding:10px 12px;border:1px solid #d8d8d8;border-radius:8px;background:#fff;font:inherit;}

/* Separate owner-only quotation entry. This does not affect search/voice controls. */
.owner-portal-link {color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.85}
.owner-portal-link:hover,.owner-portal-link:focus{opacity:1}
.owner-divider {padding:0 .4rem}

.mp-book{background:#176b45;color:white;border:0;border-radius:5px;padding:5px 8px;cursor:pointer;font-size:12px}.slot-pair{flex-wrap:wrap}.mp-book:focus-visible{outline:3px solid #dd9800}

/* MP v0.2: keep each permit's figures and Book buttons on their own row. */
.matrix .mp-full-row td{border-top:2px solid #bbd1c1}
.matrix .mp-single-row td{background-color:#f2f7fd;border-bottom:1px solid #d2dfe9}
.matrix .mp-single-row .zone-name small{color:#285c88;font-weight:600}
.matrix .mp-full-row .zone-name small{color:#176b45;font-weight:600}
.matrix .zone-name{min-width:205px}
.matrix .slot-pair{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.matrix .mp-book{width:100%;font-size:11px;padding:4px 6px}

/* MP official-portal status palette; status text is never changed. */
.slot.mp-portal-status.open{background:#168e13;color:#fff;border-color:#168e13}
.slot.mp-portal-status.booked{background:#b52b27;color:#fff;border-color:#b52b27}
.slot.mp-portal-status.park-close{background:#e74c20;color:#fff;border-color:#e74c20}
.slot.mp-portal-status.closed{background:#a40019;color:#fff;border-color:#a40019}
.slot.mp-portal-status b{opacity:1}

.mp-count-note { margin:12px 16px; padding:10px 12px; background:#eef6ee; border-radius:6px; font-size:13px; line-height:1.6; }
