:root{--ch-green:#31a11a;--ch-green-dark:#174f2d;--ch-green-pale:#dcefd8;--ch-orange:#d96800;--ch-orange-pale:#fff0d6;--ch-red:#b4232f;--ch-red-pale:#f8d7dc;--ch-blocked:#d9ddda;--ch-border:#dcdcde;--ch-text:#1d2327;--ch-text-secondary:#646970;--ch-white:#fff;--ch-background:#f8fafc;--type-page-title:1.375rem;--type-section-title:1rem;--type-card-title:.9375rem;--type-body:.875rem;--type-secondary:.8125rem;--type-meta:.75rem;--type-button:.8125rem;--calendar-type-meta:12px;--calendar-type-pitch:15px;--calendar-type-guest:15px;--calendar-type-status:12px;--control-height:48px;--control-height-compact:44px;--radius-control:14px;--radius-card:16px;--radius-input:13px;--touch-target:44px;--card-padding:14px;--space-mobile:12px;--space-tablet:18px;--action-max-width:320px}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--primary:#31A11A;--primary-hover:#008A00;--success:#166534;--blue:#0B4EA2;--blue-hover:#083b7c;--warning:#F5B00F;--warning-hover:#d99a00;--danger:#D63638;--danger-dark:#B32D2E;--neutral:#475569;--neutral-hover:#334155;--bg:#F8FAFC;--panel:#F2FBEF;--border:#DCDCDE;--border2:#CCD0D4;--text:#1D2327;--secondary:#646970;--muted:#64748B;--white:#fff;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px}button:disabled{opacity:.55;cursor:not-allowed}svg{width:24px;height:24px}h1,h2,h3,p{margin-top:0}form,.modal{display:grid;gap:16px}label{font-size:13px;font-weight:750;color:var(--text);display:grid;gap:7px}input,select,textarea{width:100%;border:1px solid var(--border2);border-radius:13px;padding:14px 15px;background:var(--white);color:var(--text);outline:none}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #31a11a21}.primary,.secondary,.warning,.danger{border:0;border-radius:14px;padding:14px 16px;color:var(--white);font-weight:800}.primary{background:var(--primary)}.primary:hover{background:var(--primary-hover)}.secondary{background:var(--blue)}.warning{background:var(--warning);color:var(--text)}.danger{background:var(--danger)}.danger:hover{background:var(--danger-dark)}.outline{background:var(--white);color:var(--danger);border:1px solid var(--danger)}.login-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 18px;background:radial-gradient(circle at 90% 0,rgba(49,161,26,.1) 0,transparent 36%),linear-gradient(145deg,var(--white),var(--panel))}.login-card{width:min(100%,470px);background:var(--white);border:1px solid var(--border);border-radius:28px;padding:30px;box-shadow:0 22px 60px #1d23271a}.login-logo{width:min(100%,260px);height:auto;display:block}.product-name{display:inline-block;margin:5px 0 0 86px;color:var(--primary);font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.login-copy{margin:34px 0 24px}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-weight:850;font-size:11px;color:var(--primary)}.login-copy h1{font-size:34px;line-height:1.08;margin-bottom:12px;letter-spacing:-.03em}.login-copy p:last-child{color:var(--secondary);line-height:1.55}.check{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--secondary)}.check input{width:18px;height:18px;accent-color:var(--primary)}.demo-link{width:100%;border:0;background:transparent;color:var(--blue);font-weight:800;padding:16px 0 8px}.security-note{font-size:11px;text-align:center;color:var(--muted);line-height:1.4;margin:12px 10px 0}.error,.danger-note{background:var(--white);border:1px solid var(--danger);color:var(--danger-dark);padding:11px;border-radius:10px;font-size:13px}.app-shell{min-height:100vh;max-width:960px;margin:auto;background:var(--bg);padding-bottom:calc(84px + env(safe-area-inset-bottom))}.app-header{background:var(--white);border-bottom:1px solid var(--border);padding:calc(12px + env(safe-area-inset-top)) 18px 14px;display:grid;grid-template-columns:minmax(112px,160px) 1fr 44px;gap:14px;align-items:center;position:sticky;top:0;z-index:7}.header-brand{display:flex;align-items:center;border:0;background:transparent;padding:0;min-height:48px}.header-brand img{width:min(100%,150px);height:auto;max-height:48px;object-fit:contain;object-position:left center}.header-title{min-width:0}.header-title p{font-size:11px;color:var(--secondary);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-title h1{font-size:20px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--white);font-weight:900}.avatar.large{width:58px;height:58px}.account-control{position:relative}.profile-menu-button{border:0;min-height:44px}.account-menu{position:absolute;right:0;top:50px;width:230px;background:var(--white);border:1px solid var(--border);border-radius:15px;padding:8px;box-shadow:0 16px 40px #1d23272e;display:grid;gap:3px}.account-menu-user{display:grid;padding:9px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.account-menu-user span{font-size:11px;color:var(--muted)}.account-menu button{border:0;background:transparent;border-radius:10px;text-align:left;padding:10px 12px;font-weight:750}.account-menu button:hover,.account-menu button:focus-visible{background:var(--panel)}.account-menu .menu-logout{color:var(--danger)}.booking-lock-state{display:flex;align-items:center;gap:9px;border-radius:12px;padding:11px 13px}.booking-lock-state.locked{background:#fff1f2;color:var(--danger-dark)}.booking-lock-state.unlocked{background:var(--panel);color:var(--success)}.demo-banner{background:var(--warning);color:var(--text);border-bottom:1px solid var(--border2);text-align:center;padding:7px 12px;font-size:11px;font-weight:800}.content{padding:24px 18px 12px}.page-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;border:1px solid var(--border);border-radius:12px;background:var(--white);color:var(--blue);padding:10px 14px;font-weight:800}.page-back svg{width:18px;height:18px}.welcome{display:flex;justify-content:space-between;align-items:center;margin:3px 4px 20px}.welcome h2{font-size:22px;margin:0}.refresh{border:1px solid var(--border);background:var(--white);border-radius:50%;width:44px;height:44px;color:var(--blue);font-size:22px}.summary-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:28px}.summary-cards button{min-height:124px;background:var(--white);border-radius:16px;padding:16px 14px;border:1px solid var(--border2);text-align:left;transition:.15s}.summary-cards button:hover{border-color:var(--primary);box-shadow:0 8px 22px #31a11a1f;transform:translateY(-1px)}.summary-cards span,.summary-cards small{display:block}.summary-cards span{font-size:12px;font-weight:800}.summary-cards small{font-size:11px;color:var(--secondary)}.summary-cards strong{display:block;font-size:30px;color:var(--primary);margin:7px 0 2px}.summary-cards .warning-card strong{color:var(--success)}.summary-cards .danger-card strong{color:var(--danger)}.section-title{display:flex;align-items:center;gap:8px;margin:0 4px 10px}.section-title h2{font-size:16px;margin:0}.section-title span{font-size:11px;background:var(--panel);color:var(--success);font-weight:850;border-radius:20px;padding:3px 8px}.list-section{margin-bottom:26px}.list-card{display:grid;background:var(--white);border-radius:17px;overflow:hidden;border:1px solid var(--border)}.booking-card{background:var(--white);border-bottom:1px solid var(--border)}.booking-card:last-child{border-bottom:0}.booking-row{width:100%;min-height:94px;border:0;background:var(--white);padding:15px;display:flex;align-items:center;gap:12px;text-align:left;color:inherit}.booking-row:hover{background:var(--panel)}.date-tile{width:46px;height:52px;border-radius:11px;background:var(--panel);display:grid;place-content:center;text-align:center;flex:0 0 auto}.date-tile.full-date{height:60px}.date-tile strong{font-size:18px;line-height:1}.date-tile span{font-size:9px;text-transform:uppercase;color:var(--primary);font-weight:850;margin-top:3px}.date-tile span small{display:block;font:inherit;line-height:1.15}.booking-identity{min-width:0;flex:1;display:grid;gap:3px;text-align:left}.booking-identity .site-name{font-size:11px;font-weight:850;color:var(--success);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-identity strong{font-size:13px}.booking-identity .guest-name{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-end{display:flex;align-items:center;gap:8px}.chev{font-size:23px;color:var(--muted)}.card-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 15px 14px 73px}.card-actions button{min-height:42px;padding:9px 13px;border:1px solid var(--border2);border-radius:11px;background:var(--white);color:var(--blue);font-size:12px;font-weight:850}.card-actions .action-accept{background:var(--primary);border-color:var(--primary);color:var(--white)}.card-actions .action-accept:hover{background:var(--primary-hover)}.card-actions .action-reject{color:var(--danger);border-color:var(--danger)}.card-actions .action-reject:hover{background:var(--danger);color:var(--white)}.pill,.state{font-size:10px;font-weight:850;text-transform:capitalize;border-radius:20px;padding:6px 9px;white-space:nowrap}.pill.paid{background:var(--success);color:var(--white)}.pill.deposit,.pill.part-paid{background:var(--warning);color:var(--text)}.pill.due,.pill.overdue{background:var(--danger);color:var(--white)}.pill.refunded{background:var(--secondary);color:var(--white)}.state.confirmed{background:var(--primary);color:var(--white)}.state.provisional{background:var(--warning);color:var(--text)}.state.arrived{background:var(--blue);color:var(--white)}.state.departed{background:var(--secondary);color:var(--white)}.state.cancelled,.state.rejected{background:var(--danger);color:var(--white)}.empty{display:grid;place-items:center;padding:28px;color:var(--muted)}.empty span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--panel);color:var(--primary);font-weight:900}.empty p{font-size:12px;margin:8px 0 0}.bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translate(-50%);width:min(100%,960px);height:calc(70px + env(safe-area-inset-bottom));padding:5px 5px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(6,1fr);background:#fffffffa;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{position:relative;border:0;background:transparent;color:var(--secondary);display:grid;place-items:center;align-content:center;gap:2px}.bottom-nav svg{width:21px;height:21px}.bottom-nav span{font-size:8px;font-weight:750}.bottom-nav button.active{color:var(--primary)}.bottom-nav b{position:absolute;min-width:17px;height:17px;padding:0 4px;background:var(--warning);color:var(--text);border-radius:12px;top:2px;right:16%;font-size:9px;display:grid;place-items:center}.bottom-nav i{position:absolute;width:7px;height:7px;background:var(--danger);border-radius:50%;top:5px;right:24%}.searchbox{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--border);border-radius:15px;padding:0 14px;margin-bottom:20px}.searchbox svg{width:20px;color:var(--muted)}.searchbox input{border:0;box-shadow:none;background:transparent;padding-left:0}.notice-list{display:grid;gap:13px}.notice-card{background:var(--white);border-radius:17px;padding:18px;border:1px solid var(--border);border-left:4px solid var(--primary)}.notice-card.important{border-left-color:var(--warning)}.notice-card.read{opacity:.72}.notice-top{display:flex;justify-content:space-between}.notice-top span{font-size:10px;text-transform:uppercase;font-weight:850;color:var(--primary);letter-spacing:.08em}.notice-top small{color:var(--muted)}.notice-card h3{font-size:16px;margin:12px 0 6px}.notice-card p{font-size:13px;line-height:1.5;color:var(--secondary)}.notice-card footer{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.notice-card footer button{border:0;background:var(--panel);color:var(--success);padding:6px 9px;border-radius:9px;font-weight:800}.more-list{display:grid;gap:12px}.profile-card,.scope-card{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:18px}.profile-card{display:flex;align-items:center;gap:14px}.profile-card div:last-child{display:grid;gap:3px}.profile-card span,.profile-card small{color:var(--muted);font-size:12px}.scope-card h2{font-size:16px;margin-bottom:7px}.scope-card p{font-size:13px;line-height:1.5;color:var(--secondary);margin:0}.logout{display:flex;align-items:center;gap:10px;color:var(--danger);font-weight:800;border:1px solid var(--border);background:var(--white);border-radius:14px;padding:16px}.loading{position:fixed;top:20px;left:50%;transform:translate(-50%);background:var(--text);color:var(--white);padding:8px 14px;border-radius:20px;font-size:11px;z-index:20}.topbar{background:var(--white);display:grid;grid-template-columns:44px 1fr 90px;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--border)}.detail-home{width:150px;height:45px;justify-self:center;border:0;background:transparent;padding:0}.detail-home img{width:150px;height:45px;display:block;object-fit:contain}.topbar>div:last-child{display:grid;text-align:right}.topbar span{font-size:10px;color:var(--muted)}.topbar strong{font-size:13px}.icon-btn{border:0;background:var(--panel);color:var(--success);width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.icon-btn svg{width:20px}.detail-page{max-width:960px;margin:auto;min-height:100vh;background:var(--bg);padding-bottom:30px}.detail-hero{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:var(--white);padding:22px 20px 28px;border-radius:0 0 25px 25px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.detail-identity{display:grid;grid-template-columns:auto 1fr;column-gap:9px;row-gap:3px}.detail-identity>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.8;color:var(--white)}.detail-identity>strong{font-size:14px}.detail-identity h1,.detail-identity p{grid-column:1/-1}.detail-identity h1{font-size:24px;margin:15px 0 6px}.detail-identity p{font-size:12px;opacity:.88;margin:0}.status-stack{display:grid;justify-items:end;gap:7px}.detail-grid{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-grid article{background:var(--white);border:1px solid var(--border);border-radius:15px;padding:14px;display:grid;gap:5px}.detail-grid article>span,.detail-grid small{font-size:10px;color:var(--muted)}.detail-grid strong{font-size:13px}.panel{margin:0 16px 14px;background:var(--white);border:1px solid var(--border);border-radius:16px}.contact-panel a{display:flex;align-items:center;gap:12px;padding:14px;color:inherit;text-decoration:none;border-bottom:1px solid var(--border)}.contact-panel a:last-child{border:0}.contact-panel svg,.mail-icon{width:22px;color:var(--blue);font-weight:900;text-align:center}.contact-panel span:last-child{display:grid}.contact-panel small{font-size:10px;color:var(--muted)}.contact-panel strong{font-size:13px;margin-top:2px}.notes{padding:16px}.notes p:last-child{font-size:13px;line-height:1.5;margin:0}.info-panel{background:var(--panel)}.actions-panel,.audit{padding:16px;display:grid;gap:10px}.actions-panel h2,.audit h2{font-size:16px;margin:0 0 4px}.audit article{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--border)}.audit article:last-child{border-bottom:0}.audit strong{font-size:13px}.audit span{font-size:12px;color:var(--secondary)}.audit small{font-size:10px;color:var(--muted)}.modal-wrap{position:fixed;inset:0;background:#1d23278c;display:grid;place-items:end center;z-index:50;padding-top:30px}.modal{width:min(100%,600px);max-height:92vh;overflow:auto;background:var(--white);border-radius:24px 24px 0 0;padding:20px}.modal header{display:flex;justify-content:space-between;align-items:center}.modal header h2{font-size:20px;margin:0}.modal header button{border:0;background:var(--panel);color:var(--success);width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.modal-intro{font-size:13px;color:var(--secondary);line-height:1.5;margin:0}.modal hr{border:0;border-top:1px solid var(--border);width:100%}.modal .booking-identity{padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:13px}.pitch-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pitch-options button{border:1px solid var(--border);background:var(--white);border-radius:13px;padding:12px;text-align:left;display:grid}.pitch-options button.selected{border-color:var(--primary);background:var(--panel)}.pitch-options span{font-size:10px;color:var(--muted);margin-top:3px}.site-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding:2px}.site-tabs button{min-width:max-content;min-height:48px;border:1px solid var(--border2);border-radius:13px;background:var(--white);color:var(--secondary);padding:11px 17px;font-weight:850}.site-tabs button.active{background:var(--primary);border-color:var(--primary);color:var(--white)}.calendar-title h2{font-size:18px;margin-bottom:4px}.calendar-title p{font-size:12px;color:var(--muted);margin-bottom:15px}.pitch-calendar{overflow-x:auto;background:var(--white);border:1px solid var(--border);border-radius:16px}.calendar-head,.pitch-row{display:grid;grid-template-columns:60px repeat(7,minmax(108px,1fr));min-width:820px}.calendar-head>div{min-height:54px;display:grid;place-content:center;text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.calendar-head span{font-size:9px;text-transform:uppercase;color:var(--muted)}.calendar-head strong{font-size:17px}.calendar-head .today{background:var(--panel)}.pitch-name{display:grid;place-content:center;background:var(--panel);font-size:18px;font-weight:900;color:var(--success);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.pitch-cell{min-height:74px;padding:4px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.pitch-cell.today{background:var(--bg)}.booking-block{width:100%;height:100%;min-height:66px;border:0;border-radius:9px;background:var(--panel);color:var(--success);display:grid;align-content:center;text-align:left;padding:6px;gap:1px}.booking-block.provisional{background:var(--warning);color:var(--text)}.booking-block.arrived{background:var(--blue);color:var(--white)}.booking-block small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.82}.booking-block strong{font-size:10px}.booking-block span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:700px){.summary-cards.four{grid-template-columns:repeat(4,1fr)}.login-card{padding:38px}.modal-wrap{place-items:center}.modal{border-radius:24px}.detail-grid{grid-template-columns:repeat(4,1fr)}.bottom-nav span{font-size:9px}}@media(max-width:560px){.app-header{grid-template-columns:112px 1fr 42px;gap:9px;padding-inline:12px}.header-title h1{font-size:16px}.header-title p{font-size:9px}.avatar{width:40px;height:40px}.content{padding-inline:12px}.card-actions{padding-left:12px}.detail-home,.detail-home img{width:120px}.topbar{grid-template-columns:44px 1fr 82px}.detail-hero{display:grid}.status-stack{justify-items:start;grid-template-columns:auto auto}.row-end .pill{display:none}.summary-cards button{min-height:112px}.bottom-nav span{font-size:7px}.product-name{margin-left:64px}}.card-actions button{min-height:44px}.card-actions button:focus-visible,.actions-panel button:focus-visible{outline:3px solid rgba(11,78,162,.35);outline-offset:2px}.card-actions button:disabled,.actions-panel button:disabled{cursor:not-allowed;opacity:.62}.success-message{background:var(--panel);border:1px solid var(--primary);color:var(--success);padding:11px;border-radius:10px;font-size:13px;font-weight:700}.app-message{margin-bottom:14px}.action-dialog{padding-bottom:calc(20px + env(safe-area-inset-bottom));gap:14px}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions button{min-height:50px}.info-note,.balance-callout,.dialog-error{padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.45;margin:0}.info-note{background:#eef6ff;border:1px solid #b8d5f5;color:#173f6b}.balance-callout{background:var(--panel);border:1px solid var(--border)}.dialog-error{background:#fff5f5;border:1px solid var(--danger);color:var(--danger-dark);font-weight:700}.pitch-choice fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}.pitch-choice legend{font-size:13px;font-weight:800;margin-bottom:8px}.pitch-choice label{display:flex;align-items:center;gap:12px;border:1px solid var(--border2);border-radius:13px;padding:13px;min-height:50px}.pitch-choice input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--primary)}.pitch-choice .current-pitch{background:var(--bg);color:var(--muted)}.action-dialog small{font-weight:500;color:var(--muted);text-align:right}.action-dialog :focus-visible{outline:3px solid rgba(11,78,162,.4);outline-offset:2px}.actions-panel{scroll-margin-bottom:90px}.payment-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0 14px 14px}.payment-figures>div{display:grid;gap:2px;padding:10px;border-radius:10px;background:var(--bg)}.payment-figures dt{font-size:11px;color:var(--muted)}.payment-figures dd{margin:0;font-size:14px;font-weight:850}.payment-figures .payment-balance{background:#fff5f5;color:var(--danger-dark)}.payment-figures .payment-balance dt{color:inherit}@media(max-width:480px){.payment-figures{grid-template-columns:1fr}.payment-figures>div{grid-template-columns:1fr auto;align-items:baseline}}@media(max-width:420px){.modal-actions{grid-template-columns:1fr}.action-dialog{max-height:96vh}.detail-grid{grid-template-columns:1fr 1fr}.actions-panel button{min-height:50px}}.calendar-title{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.calendar-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-bottom:15px}.calendar-controls button,.calendar-controls label{min-height:44px;border:1px solid var(--border2);border-radius:12px;background:var(--white);color:var(--secondary);font-weight:800;padding:10px 12px}.calendar-controls label{display:grid;gap:3px;font-size:9px;text-transform:uppercase}.calendar-controls input{border:0;padding:0;min-height:20px;background:transparent;font:inherit;color:var(--text)}.pitch-calendar.three-week{overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable}.three-week .calendar-head,.three-week .pitch-row{min-width:2328px}.three-week .calendar-head{position:relative;z-index:3}.three-week .calendar-head strong{white-space:nowrap}.three-week .calendar-head strong small{font-size:.68em;color:var(--muted)}.three-week .pitch-row{position:relative}.three-week .pitch-heading,.three-week .pitch-name{position:sticky;left:0;z-index:4}.three-week .pitch-name{grid-column:1;grid-row:1}.three-week .pitch-cell{grid-row:1}.three-week .booking-span{grid-row:1;z-index:2;margin:4px;min-height:66px;width:auto;height:auto;overflow:hidden}.three-week .selected-date{box-shadow:inset 0 -3px var(--primary)}.calendar-feedback{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:var(--panel);font-size:12px}.calendar-feedback.error{background:#fff5f5;color:var(--danger-dark)}.calendar-feedback button{margin-left:10px}.calendar-empty{min-width:100%;position:sticky;left:0}.operational-calendar .site-tabs:has(button:only-child){display:none}@media(max-width:560px){.calendar-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}.calendar-controls label{grid-column:1/-1;grid-row:2}.calendar-controls input{width:100%}}.pitch-request-summary{margin:0 16px 14px;padding:16px;background:var(--white);border:1px solid var(--border);border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.pitch-request-summary div{display:grid;gap:4px}.pitch-request-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pitch-request-summary strong{font-size:14px;line-height:1.35}.pitch-request-summary p{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.45}.pitch-match{background:var(--panel);color:var(--success)}.pitch-difference{background:#fff8e5;border:1px solid #efd58a;color:#624b0b}.pitch-request-summary.compact{margin:0;padding:13px;background:var(--bg);border-radius:13px}.pitch-choice .pitch-request-summary{margin-bottom:12px}@media(max-width:420px){.pitch-request-summary{grid-template-columns:1fr}.pitch-request-summary p{grid-column:1}}.messages-page{display:grid;gap:14px}.messages-heading,.conversation-context{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.messages-heading h2,.conversation-context h2{margin:0}.messages-heading p,.conversation-context p{margin:4px 0;color:var(--muted);font-size:12px}.message-filter{display:flex;align-items:center;gap:9px;font-weight:750}.message-filter input{width:20px;height:20px}.conversation-list{display:grid;gap:9px}.conversation-list>button{width:100%;border:1px solid var(--border);background:var(--white);border-radius:15px;padding:14px;text-align:left;display:flex;justify-content:space-between;gap:12px;min-height:88px}.conversation-list>button.unread{border-left:5px solid var(--primary)}.conversation-list span:first-child{min-width:0}.conversation-list small,.conversation-list time{display:block;color:var(--muted);font-size:10px}.conversation-list p{margin:7px 0 0;color:var(--secondary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-list span:last-child{text-align:right;display:grid;justify-items:end;align-content:space-between}.conversation-list b,.unread-label{background:var(--primary);color:var(--white);border-radius:999px;padding:3px 7px;font-size:10px}.message-thread{display:grid;gap:10px}.message-item{max-width:88%;padding:13px 14px;border-radius:15px;background:var(--white);border:1px solid var(--border);overflow-wrap:anywhere}.message-item.staff_to_guest{justify-self:end;background:var(--panel)}.message-item.unread{border-left:4px solid var(--primary)}.message-item header{display:flex;justify-content:space-between;gap:15px;font-size:11px}.message-item time,.message-item small{color:var(--muted);font-size:9px}.message-item p{white-space:pre-wrap;margin:8px 0 0;font-size:13px;line-height:1.5}.reply-composer{position:sticky;bottom:76px;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:14px;display:grid;gap:8px}.reply-composer label{font-weight:800}.reply-composer textarea{min-height:110px}.reply-composer>div{display:grid;grid-template-columns:1fr 2fr;gap:8px}.load-more{justify-self:center}.messages-page :focus-visible{outline:3px solid rgba(11,78,162,.4);outline-offset:2px}@media(max-width:420px){.conversation-context{display:grid}.message-item{max-width:94%}}.action-button{border:0;border-radius:14px;padding:14px 16px;color:var(--white);font-weight:850;min-height:48px}.action-positive{background:var(--primary)}.action-positive:hover:not(:disabled){background:var(--primary-hover)}.action-operational{background:var(--blue)}.action-operational:hover:not(:disabled){background:var(--blue-hover)}.action-financial{background:var(--warning);color:var(--text)}.action-financial:hover:not(:disabled){background:var(--warning-hover)}.action-destructive{background:var(--danger)}.action-destructive:hover:not(:disabled){background:var(--danger-dark)}.action-neutral{background:var(--neutral)}.action-neutral:hover:not(:disabled){background:var(--neutral-hover)}.action-button:disabled{filter:saturate(.45);opacity:.55}.action-button:focus-visible{outline:3px solid rgba(11,78,162,.4);outline-offset:2px}.success-notification{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--primary);color:var(--success);padding:12px 14px;border-radius:12px;font-size:13px;font-weight:800;margin-bottom:14px}.success-notification>span:first-child{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--primary);color:var(--white);flex:0 0 auto}.success-notification>span:nth-child(2){flex:1}.success-notification button{border:0;background:transparent;color:inherit;font-size:20px;min-width:44px}.success-notification.panel{margin:0 16px 14px}.success-notification:focus-within{outline:3px solid rgba(49,161,26,.25)}.payment-attention-card{height:auto;min-height:min-content;overflow:visible}.payment-required-notice{position:static;display:block;visibility:visible;width:max-content;max-width:calc(100% - 28px);min-height:30px;margin:0 14px 12px;padding:7px 11px;border-radius:999px;background:var(--danger);color:var(--white);font-size:11px;font-weight:850;line-height:16px;white-space:normal;overflow:visible;flex:0 0 auto}@media(max-width:480px){.payment-attention-card .booking-row{height:auto;min-height:94px;align-items:flex-start}.payment-attention-card .booking-identity .site-name,.payment-attention-card .booking-identity .guest-name{white-space:normal;overflow:visible;overflow-wrap:anywhere}.payment-attention-card .payment-figures{grid-template-columns:1fr;padding:0 12px 14px}.payment-attention-card .payment-figures>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.payment-attention-card .payment-required-notice{margin-inline:12px;max-width:calc(100% - 24px)}}.device-sessions{display:grid;gap:12px}.device-sessions article{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:12px}.device-sessions article>div{display:grid;gap:3px}.device-sessions article span,.device-sessions article small{font-size:11px;color:var(--muted)}.device-sessions .logout{padding:9px 12px;min-height:44px}.notification-settings{display:grid;gap:12px}.notification-settings h2,.notification-settings p{margin:0}.notification-settings fieldset{border:0;padding:0;display:grid;gap:10px}.notification-settings legend{font-weight:800;margin-bottom:8px}.notification-settings label{display:flex;align-items:center;gap:10px;min-height:44px}.notification-settings input{width:22px;height:22px}.notification-settings button{min-height:44px}.notification-test{margin:2px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.notification-test p{margin-top:8px;font-size:.9rem}.notification-test .success{color:var(--success-text,#176b2c)}.notification-test-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.notification-diagnostics{display:grid;gap:8px;margin:12px 0 0}.notification-diagnostics>div{padding:8px;border-radius:8px;background:var(--surface-muted,#f4f6f8);overflow-wrap:anywhere}.notification-diagnostics dt{font-weight:800}.notification-diagnostics dd{margin:3px 0 0}.notification-diagnostics .success{border-left:4px solid #238636}.notification-diagnostics .error{border-left:4px solid #c62828}.booking-lock-state>span:last-child{display:grid;gap:2px}.booking-lock-state small{font-size:11px;font-weight:600}.booking-lock-state.locked{background:#fff8e5;color:#624b0b;border:1px solid #efd58a}.pitch-lock-dialog{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.pitch-lock-dialog :focus-visible{outline:3px solid rgba(11,78,162,.4);outline-offset:2px}.new-booking-launch{width:100%;margin:0 0 1rem;min-height:52px}.new-booking-page{outline:none;max-width:760px;margin:auto}.wizard-header,.selection-summary,.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:0 0 1rem;gap:.25rem}.wizard-progress li{display:flex;min-width:0;flex-direction:column;align-items:center;color:var(--muted);font-size:.75rem;text-align:center}.wizard-progress li span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#e8eaed;font-weight:800}.wizard-progress li.active{color:var(--success)}.wizard-progress li.active span{background:var(--primary);color:#fff}.wizard-progress small{margin-top:.3rem;overflow:hidden;text-overflow:ellipsis}.wizard-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:clamp(1rem,4vw,1.5rem)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;background:var(--panel);border-radius:12px;padding:.3rem;margin-bottom:1rem}.segmented button{min-height:44px;border:0;background:transparent;border-radius:9px}.segmented .active{background:#fff;color:var(--success)}.schema-form,.customer-search{display:grid;gap:1rem}.schema-field,.schema-form>label,.customer-search label,.date-grid label{display:grid;gap:.4rem;font-weight:750}.schema-field input:not([type=checkbox]),.schema-field textarea,.schema-field select,.schema-form select,.date-grid input,.customer-search input{width:100%;min-height:48px;border:1px solid var(--border2);border-radius:10px;padding:.7rem;font:inherit;background:#fff}.schema-field textarea{min-height:100px}.schema-field small,.muted{font-weight:400;color:var(--muted)}.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.customer-search{grid-template-columns:1fr auto;align-items:end}.customer-results,.choice-list,.addon-list{display:grid;gap:.6rem;margin-top:1rem}.customer-results button,.choice-list label,.addon-list label{display:flex;align-items:center;gap:.75rem;text-align:left;min-height:52px;padding:.75rem;border:1px solid var(--border);border-radius:11px;background:#fff}.customer-results button{flex-direction:column;align-items:flex-start}.customer-results span,.addon-list small{display:block;color:var(--muted)}.choice-list input,.addon-list input[type=checkbox]{width:22px;height:22px}.addon-list label>span{flex:1}.addon-list input[type=number]{width:74px;min-height:44px}.selection-summary{padding:.75rem;background:var(--panel);border-radius:10px}.link-button{border:0;background:none;color:var(--blue);text-decoration:underline}.price-panel{display:grid;gap:.25rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem;margin:1rem 0}.price-panel strong{font-size:1.5rem}.wizard-actions{margin-top:1rem}.wizard-actions button{flex:1;min-height:48px}.review dl{display:grid;grid-template-columns:minmax(100px,35%) 1fr;gap:.7rem}.review dl div{display:contents}.review dt{color:var(--muted)}.review dd{margin:0}.confirmation{text-align:center}.confirmation-mark{display:grid;place-items:center;margin:0 auto .75rem;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;font-size:2rem}.booking-reference{display:block;font-size:1.5rem}.confirmation>button{width:100%;margin-top:.7rem;min-height:48px}@media(max-width:520px){.customer-search,.date-grid{grid-template-columns:1fr}.wizard-progress small{font-size:.62rem}.wizard-actions{flex-direction:column-reverse}.wizard-actions button{width:100%}}.edit-booking-page{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.guest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.addon-list{border:0;padding:0;margin:0}.addon-list legend{font-weight:800;margin-bottom:.5rem}@media(max-width:520px){.guest-grid,.edit-booking-page .modal-actions{grid-template-columns:1fr}}.edit-pitch-lock{display:flex!important;align-items:flex-start;gap:.75rem;padding:.85rem;border:1px solid var(--border);border-radius:11px;background:var(--panel)}.edit-pitch-lock input{width:24px;height:24px;flex:0 0 auto}.edit-pitch-lock span{display:grid;gap:.2rem}.edit-pitch-lock small{font-weight:400;color:var(--muted)}.danger-zone{display:grid;gap:.65rem;margin-top:1rem;padding:1rem;border:1px solid #d63638;border-radius:12px;background:#fff7f7}.danger-zone h3,.danger-zone p{margin:0}.danger-zone .danger{width:100%;min-height:48px}@media(max-width:520px){.edit-booking-page select,.edit-booking-page .primary,.danger-zone .danger{width:100%}}.summary-cards .warning-card strong,.requests-count,.section-title.requests span{color:#a64b00}.bottom-nav button[data-page=requests] b{background:#d96800;color:#fff}.blocked-date{background:repeating-linear-gradient(135deg,#ecefed,#ecefed 6px,#d9ddda 6px 12px);position:relative;color:#39443d}.blocked-label{display:block;font-size:9px;font-weight:850;text-align:center;transform:rotate(-35deg);margin-top:24px}.booking-block.payment-attention{background:#f8d7dc;color:#6f1420}.booking-block.provisional{background:#f2a83b;color:#2b2418}.booking-block.confirmed,.booking-block.departed{background:#dcefd8;color:#194d20}.pitch-name,.calendar-head .today{background:#174f2d;color:#fff}.card-actions .action-button{border:0}.booking-card>.pitch-request-summary.compact{margin:0 15px 12px 73px}.actions-panel>.action-destructive:last-of-type{margin-top:12px}@media(min-width:700px){.actions-panel{grid-template-columns:repeat(2,minmax(180px,320px));justify-content:start}.actions-panel h2,.actions-panel .booking-lock-state,.actions-panel .modal-intro{grid-column:1/-1}.actions-panel .action-button{padding-block:10px;min-height:44px}.actions-panel>.action-destructive:last-of-type{grid-column:1/-1;max-width:320px}.card-actions{max-width:520px}}.summary-cards button{min-height:112px;padding:var(--card-padding);border-radius:var(--radius-card);display:grid;grid-template-rows:auto 1fr auto;align-content:start}.summary-cards span{font-size:var(--type-meta)}.summary-cards strong{align-self:center;margin:4px 0;font-size:1.875rem}.summary-cards small{font-size:var(--type-meta);line-height:1.25}.summary-cards .summary-operational strong{color:var(--ch-green-dark)}.summary-cards .summary-request strong{color:var(--ch-orange)}.summary-cards .summary-payment strong{color:var(--ch-red)}.booking-card>.pitch-request-summary.compact{margin:0 12px 8px 70px;padding:10px 12px;gap:8px}.booking-row{min-height:86px;padding:12px}.card-actions{padding:0 12px 10px 70px}.card-actions .quick-action{width:auto;max-width:var(--action-max-width);min-height:var(--control-height-compact);border-radius:var(--radius-control);padding:9px 16px;font-size:var(--type-button);font-weight:850}.action-button{min-height:var(--control-height);border-radius:var(--radius-control);font-size:var(--type-button);font-weight:850;max-width:var(--action-max-width)}.modal-actions .action-button{max-width:none}.action-button:disabled{filter:saturate(.35);opacity:.58}.action-button:focus-visible{outline:3px solid color-mix(in srgb,var(--ch-green) 35%,transparent);outline-offset:2px}.pitch-request-summary .pitch-warning{background:var(--ch-orange-pale);border:1px solid #e2b35f;color:#62400b}.pitch-request-summary.compact:not(:has(.pitch-warning)){margin-bottom:8px}.pitch-name,.pitch-heading{background:var(--ch-green-dark);color:var(--ch-white)}.pitch-name{font-size:1rem}.calendar-head .today{background:var(--ch-green-dark);color:var(--ch-white)}.calendar-head .today span,.calendar-head .today small{color:#e7f3e9}.booking-block.calendar-normal{background:var(--ch-green-pale);color:var(--ch-green-dark)}.booking-block.calendar-provisional{background:var(--ch-orange-pale);color:#653800}.booking-block.calendar-payment{background:var(--ch-red-pale);color:#6f1420}.booking-block.calendar-blocked{background:var(--ch-blocked);color:#39443d}.booking-block .calendar-meta,.booking-block .calendar-status{font-size:var(--type-meta);font-weight:400;line-height:1.2}.booking-block .calendar-pitch{font-size:.9375rem;font-weight:650;line-height:1.2}.booking-block .calendar-guest{font-size:.9375rem;font-weight:550;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-lock{font-size:var(--type-meta);white-space:nowrap}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(min-width:700px){.summary-cards button{min-height:116px}.card-actions .quick-action,.action-button{width:auto}.booking-card>.pitch-request-summary.compact{margin-right:18px}.content{padding-inline:var(--space-tablet)}}@media(max-width:420px){.summary-cards{gap:10px}.summary-cards button{min-height:106px;padding:12px}.booking-row{padding:10px 12px}.booking-card>.pitch-request-summary.compact{margin-left:12px;grid-template-columns:1fr 1fr}.card-actions{padding-left:12px}.card-actions .quick-action{width:auto;min-width:148px}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.card-actions .action-button.action-positive{background:var(--ch-green);border-color:var(--ch-green);color:var(--ch-white)}.card-actions .action-button.action-positive:hover:not(:disabled){background:var(--primary-hover)}.booking-block .calendar-meta{font-size:var(--calendar-type-meta)}.booking-block .calendar-pitch{font-size:var(--calendar-type-pitch)}.booking-block .calendar-guest{font-size:var(--calendar-type-guest)}.booking-block .calendar-status{font-size:var(--calendar-type-status)}.calendar-lock{font-size:var(--calendar-type-meta)}@media(max-width:560px){.booking-block .calendar-meta{font-size:var(--calendar-type-meta)}.booking-block .calendar-pitch{font-size:var(--calendar-type-pitch)}.booking-block .calendar-guest{font-size:var(--calendar-type-guest)}.booking-block .calendar-status{font-size:var(--calendar-type-status)}}.messages-page>.message-filter{display:none}.message-filters{display:flex;gap:6px;padding:4px;background:var(--panel);border-radius:12px;width:max-content;max-width:100%}.message-filters button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--secondary);padding:9px 16px;font-weight:800}.message-filters button.active{background:var(--white);color:var(--success);box-shadow:0 1px 4px #1d23271f}.message-visibility-action{justify-self:start;min-height:44px;border:1px solid var(--border2);border-radius:10px;background:var(--white);color:var(--blue);padding:8px 12px;font-size:var(--type-button);font-weight:800}.message-item.staff_to_guest .message-visibility-action{background:var(--white)}.message-visibility-action:disabled{opacity:.55}@media(max-width:430px){.message-filters{width:100%}.message-filters button{flex:1;padding-inline:10px}.message-item{max-width:96%}}.booking-block .calendar-price-row{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}.booking-block .calendar-price{flex:0 0 auto;font-size:var(--calendar-type-guest);font-weight:700;line-height:1.2;color:inherit}.booking-block .calendar-price-row .calendar-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
