:root{--navy:#0c2235;--gold:#b8914f;--cream:#f7f3eb;--white:#fff;--line:#dfd8ca;--muted:#65727d;--green:#167244;--serif:Newsreader,Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:14px/1.5 var(--sans)}button,input{font:inherit}a{color:inherit}.portal-skip{position:absolute;left:-9999px}.portal-skip:focus{left:16px;top:12px;z-index:9;background:#fff;padding:9px}.portal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;letter-spacing:.13em;font-size:14px}.portal-brand img{width:50px;height:50px;object-fit:contain}.portal-brand small{display:block;margin-top:2px;color:var(--gold);font-size:8px;letter-spacing:.21em}.portal-login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(125deg,#071827,#173852)}.portal-login-wrap{width:min(432px,100%)}.portal-login-page .portal-brand{justify-content:center;margin-bottom:25px;color:#fff}.portal-login-card{padding:32px;background:#fff;border-radius:15px;box-shadow:0 26px 70px rgba(0,0,0,.25)}.portal-eyebrow{margin:0 0 7px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.portal-login-card h1,.portal-page-head h1{margin:0;font:600 35px/1.05 var(--serif)}.portal-login-card>p:not(.portal-eyebrow):not(.portal-error):not(.portal-help){margin:10px 0 24px;color:var(--muted)}.portal-login-card label{display:block;margin:14px 0 6px;font-size:12px;font-weight:700}.portal-login-card input{width:100%;height:46px;border:1px solid var(--line);border-radius:7px;padding:0 12px}.portal-login-card input:focus{outline:2px solid var(--gold);border-color:transparent}.portal-primary{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:22px;padding:13px 16px;border:0;border-radius:7px;background:var(--gold);color:#fff;font-weight:700;cursor:pointer}.portal-primary:hover,.portal-primary:focus-visible{background:var(--navy)}.portal-primary:disabled{opacity:.65}.portal-error{color:#a12424;font-size:12px}.portal-help{margin:16px 0 0;color:var(--muted);font-size:12px}.portal-help a{color:var(--navy);font-weight:700}.portal-top{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:13px 28px;background:var(--navy);color:#fff}.portal-top-actions{display:flex;align-items:center;gap:17px;font-size:12px}.portal-text-button{border:0;background:none;color:#fff;text-decoration:underline;cursor:pointer}.portal-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 76px)}.portal-nav{padding:25px 14px;background:#fff;border-right:1px solid var(--line)}.portal-nav button,.portal-nav a{display:block;width:100%;margin:2px 0;padding:11px 12px;border:0;border-radius:7px;background:transparent;color:#314453;text-align:left;text-decoration:none;cursor:pointer}.portal-nav button:hover,.portal-nav a:hover,.portal-nav .is-active{background:#f7ead2;color:var(--navy);font-weight:700}.portal-main{max-width:1220px;width:100%;margin:0 auto;padding:32px}.portal-page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:24px}.portal-page-head p:not(.portal-eyebrow){margin:7px 0 0;color:var(--muted)}.portal-outline{padding:10px 13px;border:1px solid var(--gold);border-radius:7px;color:var(--navy);font-weight:700;text-decoration:none;white-space:nowrap}.portal-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.portal-kpi,.portal-panel{background:#fff;border:1px solid var(--line);border-radius:11px}.portal-kpi{padding:17px}.portal-kpi span{display:block;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.portal-kpi strong{display:block;margin-top:5px;font:600 29px/1.1 var(--serif)}.portal-kpi small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.portal-panel{padding:22px}.portal-panel h2{margin:0 0 16px;font:600 24px var(--serif)}.portal-table-wrap{overflow:auto}.portal-table{width:100%;min-width:720px;border-collapse:collapse}.portal-table th{text-align:left;padding:9px 10px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line)}.portal-table td{padding:13px 10px;border-bottom:1px solid #f0ede5}.portal-table td strong,.portal-table td small{display:block}.portal-table td small{color:var(--muted);font-size:11px}.portal-status{font-size:11px;font-weight:700;color:#895f12}.portal-status.is-paid{color:var(--green)}.portal-empty,.portal-loading{margin:0;color:var(--muted)}.portal-balance{margin-bottom:24px;padding:20px;border-radius:9px;background:#f7ead2}.portal-balance p,.portal-balance span{margin:0;color:#664d26}.portal-balance strong{display:block;margin:4px 0;font:600 42px/1.1 var(--serif)}.portal-profile{margin:0}.portal-profile div{padding:13px 0;border-bottom:1px solid var(--line)}.portal-profile dt{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.portal-profile dd{margin:3px 0 0;font-weight:600}@media(max-width:760px){.portal-top{padding:12px 16px}.portal-top-actions span{display:none}.portal-shell{grid-template-columns:minmax(0,1fr)}.portal-main{min-width:0}.portal-nav{display:flex;gap:5px;overflow:auto;padding:9px 12px;border-bottom:1px solid var(--line);border-right:0}.portal-nav button,.portal-nav a{flex:0 0 auto;width:auto;white-space:nowrap}.portal-main{padding:22px 16px}.portal-page-head{align-items:flex-start;flex-direction:column}.portal-kpis{grid-template-columns:1fr}.portal-login-card{padding:27px 22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.portal-status.is-refunded{display:block;margin-top:3px;color:#1d5f8c}
@media(max-width:760px){.portal-small-action{min-height:40px;padding:8px 14px!important;font-size:13px!important}label.portal-small-action{display:inline-flex;align-items:center}.portal-text-button{padding:10px 2px;font-size:14px}.portal-eyebrow{font-size:11px}.portal-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.portal-kpi{padding:12px 10px}.portal-kpi span{font-size:10.5px;letter-spacing:.03em}.portal-kpi strong{font-size:21px}.portal-kpi small{font-size:11px;line-height:1.3}.portal-panel{padding:16px}.portal-main small{font-size:12px}.portal-form-grid input,.portal-form-grid select,.portal-form-grid textarea{font-size:16px}}
@media(max-width:760px){.portal-day-row label{display:inline-flex;align-items:center;gap:8px;min-height:42px;font-size:15px}.portal-day-row .day-enabled{width:20px;height:20px}.portal-day-row input[type=time]{min-height:42px;font-size:16px}.share-link .portal-small-action,.share-link a{display:inline-flex;align-items:center;min-height:42px}}
.off-days-form .off-part{display:flex;align-items:center;gap:10px;font-weight:600}.off-days-form .off-part input{width:20px;height:20px;margin:0;flex:0 0 auto}.off-days-form label[hidden]{display:none}.off-list-title{margin:22px 0 8px;font:600 19px var(--serif)}
.off-days-form input{max-width:100%;min-width:0}
@media(max-width:560px){.off-days-form{grid-template-columns:minmax(0,1fr)!important}.off-days-form .portal-wide{grid-column:1}.off-days-form input[type=date],.off-days-form input[type=time]{min-height:46px;font-size:16px;-webkit-appearance:none;appearance:none}}
#portal-main:not([data-section=bookings]) #portal-kpis{display:none}
#portal-main:not([data-section=profile]) #portal-live-status.is-live{display:none}
#portal-main:not([data-section=profile]):not([data-section=overview]) #portal-live-status{display:none}
.portal-notice-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;margin:0 0 24px;padding:17px;border:1px solid var(--line);border-radius:9px;background:#fff}
.portal-notice-box strong{display:block}.portal-notice-box p{margin:4px 0 0;color:var(--muted);font-size:13px}
.portal-notice-select select{min-height:44px;min-width:190px;padding:0 12px;border:1px solid var(--gold);border-radius:8px;background:#fff;color:var(--navy);font:600 15px var(--sans);cursor:pointer}
.portal-notice-feedback{grid-column:1/-1;font-size:13px}.portal-notice-feedback:empty{display:none}.portal-notice-feedback.is-ok{color:var(--green)}.portal-notice-feedback.is-bad{color:#a12424}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:560px){.portal-notice-box{grid-template-columns:1fr}.portal-notice-select select{width:100%;font-size:16px}}
/* Consistent dropdowns (Compliance Documents etc.): same height and look as the other fields on every phone */
.portal-select,.portal-form-grid select{display:block;width:100%;min-height:46px;margin-top:6px;padding:0 42px 0 12px!important;border:1px solid var(--line);border-radius:7px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230c2235' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--navy);font:500 15px/1.2 var(--sans);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-overflow:ellipsis}
.portal-select:invalid{color:var(--muted)}
.portal-select:focus,.portal-form-grid select:focus{outline:2px solid var(--gold);border-color:transparent}
.portal-form-grid input[type=date],.portal-form-grid input[type=file]{min-height:46px}
@media(max-width:760px){.portal-select,.portal-form-grid select{font-size:16px}}
.areas-save{justify-self:start;align-self:end;width:auto!important;min-height:38px!important;height:auto;padding:8px 16px!important;font-size:13px!important;white-space:nowrap}
.portal-select,.portal-form-grid select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230c2235' stroke-width='2'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-color:#fff!important}
.short-bio-count{display:block;margin-top:4px;color:var(--muted);font-weight:500;font-size:12px}.short-bio-count.is-near{color:#8a5a0c}
.portal-form-grid textarea{font:500 15px/1.6 var(--sans);color:var(--navy)}
