/* Booking extensions and hotel management. Original marketing stylesheet is untouched. */
button:disabled{cursor:not-allowed;opacity:.55}.calendar-day[aria-disabled=true]{cursor:not-allowed}.booking-result .text-link{margin-top:16px}.booking-result .consent-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;line-height:1.6;margin:20px 0}.booking-result .consent-label input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0;accent-color:var(--ink)}.contact-fields{display:grid;gap:3px}.confirmation-icon{display:grid;place-items:center;width:62px;height:62px;background:#e9efdf;border-radius:50%;margin:20px 0}.reference-card{padding:20px 0;text-align:center}.reference-card span{display:block;font-size:10px;letter-spacing:.13em;color:var(--muted)}.reference-card strong{font-family:var(--brand);font-size:27px;display:block;margin-top:9px;letter-spacing:.02em}.booking-result dd{overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.login-page,.admin-shell{font-family:var(--display);color:var(--ink)}.login-page{min-height:100svh;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;background:radial-gradient(ellipse at 50% 20%,#e3eff4,transparent 65%),var(--paper)}.login-card{background:#fffefa;border:1px solid #dce3e4;border-radius:28px;box-shadow:0 20px 80px #15334c0a;padding:42px;max-width:475px;width:100%;text-align:center}.login-icon{display:grid;place-items:center;background:var(--accent-soft);width:60px;height:60px;border-radius:50%;margin:0 auto 28px}.login-card h1{font-family:var(--brand);font-size:44px;line-height:1.07;letter-spacing:-.045em;margin:17px 0}.login-card p{color:var(--muted);font-size:15px;line-height:1.7}.login-card form{text-align:left;margin:28px 0}.login-card small{font-size:11px;color:var(--muted)}.login-card .primary-button{width:100%;min-width:0}.login-card label,.admin-card label,.admin-dialog label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin:18px 0}.login-card input,.admin-card input,.admin-card select,.admin-card textarea,.admin-dialog input,.admin-dialog select,.admin-dialog textarea{width:100%;max-width:100%;border:1px solid #cdd8dd;border-radius:10px;background:#fffefa;color:var(--ink);padding:12px 13px;min-height:45px;font:inherit;font-weight:500;resize:vertical}.login-card input:focus,.admin-card input:focus,.admin-card select:focus,.admin-dialog input:focus,.admin-dialog textarea:focus{outline:2px solid #4d78a0;outline-offset:2px}.admin-shell{background:#f8f8f3;min-height:100svh;display:flex}.admin-sidebar{width:236px;flex:0 0 236px;padding:33px 22px 24px;background:#fffefa;border-right:1px solid #e3e7e2;position:fixed;top:0;bottom:0;display:flex;flex-direction:column;z-index:5}.admin-sidebar .brand{margin-left:13px;align-self:flex-start}.admin-sidebar .brand strong{font-size:39px}.admin-sidebar .brand small{font-size:8px;letter-spacing:3.1px}.admin-sidebar .brand>svg{width:36px;height:36px}.sidebar-caption{font-size:9px;font-weight:800;letter-spacing:.16em;color:#8a99a2;margin:55px 14px 18px}.admin-sidebar nav{display:flex;flex-direction:column;gap:8px}.admin-sidebar nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:#526579;border-radius:10px;padding:13px 14px;text-align:left;font:inherit;font-size:14px;font-weight:650;cursor:pointer}.admin-sidebar nav button.active{background:var(--blue);color:var(--ink)}.nav-count{margin-left:auto;font-size:11px;background:#fffefa;border-radius:6px;padding:2px 7px}.sidebar-note{padding:23px 18px;background:#f0f2e9;border-radius:16px;margin-top:auto}.sidebar-note>svg{margin-bottom:12px}.sidebar-note h3{font-family:var(--brand);font-size:20px;line-height:1.2;letter-spacing:-.025em;margin:0 0 9px}.sidebar-note p{font-size:12px;line-height:1.7;color:#66786c;margin:0 0 20px}.sidebar-note a{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:750}.logout-button{background:none;border:0;display:flex;align-items:center;gap:10px;color:var(--muted);font:inherit;font-size:13px;padding:25px 13px 0;cursor:pointer}.admin-main{margin-left:236px;flex:1;min-width:0}.admin-topbar{height:83px;background:#fffefa;border-bottom:1px solid #e3e7e2;padding:0 40px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.breadcrumb-slash{padding:0 16px;color:#afbbc1}.admin-topbar strong{font-weight:650;color:var(--ink)}.admin-topbar>div{display:flex;align-items:center;gap:24px}.test-pill{display:flex;align-items:center;gap:7px;background:#fbefc7;color:#7a651f;font-size:11px;font-weight:700;border-radius:30px;padding:7px 11px}.test-pill i{width:5px;height:5px;border-radius:50%;background:#ac8b27}.admin-avatar{width:34px;height:34px;display:grid;place-items:center;background:#d8eaf4;border:4px solid #eff5f8;border-radius:50%;font-family:var(--brand);font-size:16px;font-weight:800}.dashboard-content{max-width:1600px;margin:0 auto;padding:40px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.dashboard-heading .eyebrow{font-size:10px;color:#70848f;letter-spacing:.16em}.dashboard-heading h1{font-family:var(--brand);font-size:clamp(30px,3.2vw,43px);line-height:1.15;letter-spacing:-.04em;margin:11px 0 10px;font-weight:800}.dashboard-heading p{font-size:14px;color:var(--muted);margin:0}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;border:1px solid #d2ddd9;border-radius:9px;background:#fffefa;color:var(--ink);font:inherit;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer;min-height:42px}.secondary-button:hover{background:#edf3f5}.test-banner{display:flex;align-items:center;gap:11px;background:#f5eedb;border:1px solid #e9dfc2;padding:13px 16px;border-radius:10px;margin:0 0 26px;font-size:12px;color:#766535}.test-banner>svg{flex-shrink:0}.test-banner strong{font-weight:800}.test-banner button{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap;border:0;background:none;font:inherit;color:inherit;font-weight:750;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:0 0 30px}.stat-card{background:#fffefa;border:1px solid #e0e6e3;border-radius:14px;padding:22px}.stat-card>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:700;color:#617583}.stat-card>div>svg{flex-shrink:0;color:#7393a6}.stat-card:nth-child(3){background:#f9f3df;border-color:#eae0bf}.stat-card:nth-child(3)>div>svg{color:#a89047}.stat-card>strong{display:block;font-family:var(--brand);font-size:39px;font-weight:700;margin:16px 0 9px;line-height:1}.stat-card>small{font-size:10px;color:#829092}.admin-card{background:#fffefa;border:1px solid #e0e6e3;border-radius:16px;padding:28px}.admin-card h2,.section-title h2{font-family:var(--brand);font-size:26px;line-height:1.15;letter-spacing:-.035em;font-weight:750;margin:0 0 8px}.admin-card h3{font-family:var(--brand);font-size:23px;letter-spacing:-.025em;margin:0 0 13px}.admin-card p,.section-title p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}.bookings-card{padding:0;overflow:hidden}.bookings-header{padding:27px 25px 23px;display:flex;justify-content:space-between;align-items:center;gap:15px}.table-tools{display:flex;align-items:center;gap:7px}.bookings-filters{padding:0 25px 22px;display:flex;justify-content:space-between;align-items:center;gap:15px}.filter-tabs{display:flex;gap:3px;background:#f1f3ee;padding:4px;border-radius:9px}.filter-tabs button{border:0;border-radius:6px;font:inherit;font-size:11px;font-weight:700;color:#71808a;padding:8px 12px;background:none;white-space:nowrap;cursor:pointer}.filter-tabs button.active{background:#fffefa;color:var(--ink);box-shadow:0 1px 4px #0a2b5712}.admin-card .search-box{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0;border:1px solid #dce2df;border-radius:8px;padding:0 11px;color:#95a1a5}.admin-card .search-box input{width:210px;border:0;padding:10px 0;min-height:36px;background:transparent;font-size:11px;outline-offset:3px}.table-scroll{overflow:auto;position:relative}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{padding:12px 20px;background:#f8f9f5;border-top:1px solid #e5e9e3;border-bottom:1px solid #e5e9e3;font-weight:650;font-size:10px;color:#8b989e}td{padding:18px 20px;font-size:12px;border-bottom:1px solid #edf0e9}td:first-child,th:first-child{padding-left:25px}td strong{font-weight:750}td small{display:block;font-size:10px;color:#8b979e;margin-top:5px}.dog-cell{display:flex;align-items:center;gap:12px}.dog-avatar{width:41px;height:41px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:#e4edf2;color:#6b92a9}.dog-avatar.tone-1{background:#f5ebcc;color:#af9558}.dog-avatar.tone-2{background:#e8eddc;color:#8da26c}.dog-cell strong{font-size:12px;display:block;max-width:200px;white-space:normal;line-height:1.3}.dog-cell small em{font-size:7px;font-style:normal;font-weight:800;border:1px solid #e3dfcd;padding:2px 4px;border-radius:3px;margin-left:7px;color:#9c906e}.table-date{font-size:11px}.table-reference{font-size:10px;letter-spacing:.01em;color:#8e9ca2}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:20px;font-size:10px;line-height:1.4;font-weight:650;text-transform:capitalize;background:#e9f0e1;color:#618347}.status-badge i{height:4px;width:4px;border-radius:50%;background:currentColor}.status-badge.pending{background:#fbf0cf;color:#9c7b28}.status-badge.cancelled{background:#f0efeb;color:#919595}.manage-button{font:inherit;font-size:11px;display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--ink);cursor:pointer;font-weight:700}.manage-button:hover{text-decoration:underline}.table-pagination{padding:15px 25px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8d999f}.table-pagination>div{display:flex;align-items:center;gap:12px}.table-pagination .icon-button{height:30px;width:30px;border:1px solid #e2e7e1;border-radius:7px}.dashboard-footnote{display:flex;align-items:center;gap:8px;font-size:10px;color:#95a1a3;margin:22px 0}.empty-state{text-align:center;padding:65px 20px}.empty-state>svg{color:#a3b3b9;margin-bottom:15px}.empty-state p{margin-bottom:15px}.success-message{padding:13px 17px;border:1px solid #cfdcc3;background:#edf3e7;border-radius:10px;color:#53773f!important;font-size:13px;margin:0 0 20px;line-height:1.6}.alert-error{padding:15px;border:1px solid #e0bbb1;background:#f8ece6;border-radius:10px;color:#8e342b;margin-bottom:20px}.alert-error button{margin-left:12px;text-decoration:underline}.section-title{margin:32px 0 24px}.availability-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:25px}.capacity-calendar{align-self:start;padding:26px}.capacity-calendar>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.capacity-calendar h3{margin:0}.month-navigation{display:flex;gap:7px}.month-navigation button{width:32px;height:32px}.capacity-weekdays,.capacity-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.capacity-weekdays{margin:0 0 12px;text-align:center;font-size:10px;color:#87999f}.capacity-days button{min-height:78px;background:#f2f5ed;border:1px solid #e5eadb;border-radius:9px;padding:10px 7px;text-align:left;color:var(--ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;gap:5px}.capacity-days button strong{font-size:14px;font-weight:800}.capacity-days button span{font-size:9px;color:#82916c;white-space:nowrap}.capacity-days button i{display:block;height:3px;border-radius:4px;background:linear-gradient(to right,#a1b98b var(--fill),#e2e9d9 var(--fill))}.capacity-days button.full{background:#f4e8df;border-color:#ead9cc}.capacity-days button.full span{color:#b09077}.capacity-days button.full i{background:#d8b395}.capacity-days button.chosen{outline:2px solid #5a8095;outline-offset:1px}.capacity-legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:25px;font-size:10px;color:#879697}.capacity-legend span{display:flex;align-items:center;gap:6px}.capacity-legend i{width:7px;height:7px;background:#b8cda1;border-radius:50%}.capacity-legend i.full{background:#d9b392}.availability-form>svg{color:#8099a4;margin-bottom:17px}.availability-form h3{font-size:25px;line-height:1.15}.availability-form .primary-button,.admin-dialog .primary-button{min-width:0;width:100%;font-size:13px}.form-help{font-size:11px!important;line-height:1.7!important;color:#86959c!important;margin:14px 0!important}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.settings-grid .primary-button{min-width:0;font-size:13px}.admin-card .toggle-label{flex-direction:row;align-items:flex-start;gap:12px}.toggle-label input{width:18px;height:18px;min-height:0;accent-color:var(--ink);margin-top:2px;flex-shrink:0}.toggle-label small{display:block;font-size:12px;line-height:1.6;font-weight:400;color:var(--muted);margin-top:5px}.danger-zone{grid-column:1/-1;border-color:#e5d7c9}.danger-button{margin-top:20px;border:1px solid #d9b9a5;border-radius:8px;color:#986844;background:#fcf5ec;padding:12px 18px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.admin-dialog{width:min(580px,calc(100% - 32px))}.admin-dialog .dialog-inner{padding:28px 32px}.admin-dialog h2{font-family:var(--brand);font-size:32px;letter-spacing:-.03em;line-height:1.12;margin:15px 0}.dialog-badges{display:flex;align-items:center;gap:10px;margin:15px 0 24px}.guest-contact{border-radius:12px;background:#eef3f4;padding:17px;display:flex;flex-direction:column;gap:5px;font-size:13px;overflow-wrap:anywhere}.guest-contact a{color:#5b7a8e}.guest-contact p{white-space:pre-wrap;margin:10px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.admin-dialog textarea{font-size:13px}.admin-dialog label{margin:13px 0}.admin-dialog .dialog-top{margin:0}.admin-card .booking-error,.admin-dialog .booking-error{margin:16px 0;color:#8e342b}.admin-card .success-message{margin:15px 0}
@media(min-width:1600px){.dashboard-content{padding:50px 60px}.admin-topbar{padding-inline:60px}.stat-card{padding:27px}.stat-card>div{font-size:13px}.stat-card>small{font-size:12px}td{padding-block:22px}}
@media(max-width:1200px){.admin-sidebar{width:200px;flex-basis:200px;padding-inline:15px}.admin-main{margin-left:200px}.dashboard-content{padding:28px}.admin-topbar{padding:0 28px}.stats-grid{gap:12px}.stat-card{padding:17px}.stat-card>div{font-size:10px}.bookings-filters{flex-wrap:wrap}.admin-card .search-box{width:100%}.admin-card .search-box input{width:100%}.availability-layout{grid-template-columns:1fr}.capacity-days button{min-height:90px}.availability-form form{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.availability-form .primary-button,.availability-form .booking-error,.availability-form .success-message{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}}
@media(max-width:800px){.admin-sidebar{position:static;width:auto;flex:none;border-right:0;border-bottom:1px solid #e3e7e2;padding:20px}.admin-shell{display:block}.admin-main{margin-left:0}.admin-sidebar .brand{margin:0}.admin-sidebar nav{flex-direction:row;margin-top:20px}.admin-sidebar nav button{justify-content:center;padding:10px 12px;font-size:12px;width:auto;flex:1;gap:8px}.sidebar-caption,.sidebar-note{display:none}.logout-button{position:absolute;right:20px;top:28px;padding:0;font-size:12px}.admin-topbar{height:60px;padding:0 20px}.dashboard-content{padding:26px 20px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card>div{font-size:11px}.stat-card>small{font-size:10px}.dashboard-heading h1{font-size:34px}.dashboard-heading{align-items:flex-start}.dashboard-heading>.secondary-button{font-size:0;gap:0;padding:10px;min-height:35px}.dashboard-heading p{font-size:12px;line-height:1.6}.bookings-header{padding:22px 18px;align-items:flex-start}.bookings-header h2{font-size:24px}.bookings-header p{font-size:12px}.table-tools .secondary-button{font-size:0;padding:10px;gap:0}.table-tools .icon-button{width:34px;height:34px}.bookings-filters{padding:0 18px 18px}.filter-tabs{width:100%}.filter-tabs button{flex:1;padding:8px;font-size:10px}.test-banner{font-size:11px;align-items:flex-start;gap:8px}.test-banner button{font-size:0;gap:0}.dashboard-footnote{align-items:flex-start;line-height:1.6}.dashboard-footnote>svg{flex-shrink:0}.capacity-calendar{padding:18px}.capacity-calendar h3{font-size:21px}.capacity-days{gap:5px}.capacity-days button{min-height:65px;padding:7px 5px}.capacity-days button span{font-size:8px}.capacity-days button strong{font-size:12px}.capacity-weekdays{font-size:9px}.admin-card{border-radius:13px}.bookings-card{padding:0}.capacity-legend{font-size:9px;gap:10px}.admin-dialog .dialog-inner{padding:24px}.admin-dialog h2{font-size:28px}.login-card{padding:30px 24px}.login-card h1{font-size:40px}.table-pagination{padding:14px 18px}}
@media(max-width:400px){.dashboard-content{padding:24px 12px}.admin-sidebar nav button{padding-inline:8px;font-size:11px}.admin-sidebar nav button>svg{width:18px}.nav-count{display:none}.availability-form form{display:block}.form-grid{grid-template-columns:1fr}.dashboard-heading h1{font-size:30px}.stat-card{padding:14px}.stat-card>div>svg{width:19px}.capacity-days{gap:4px}}
