@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#232d28;background:#f7f8fa;font-size:16px}*{box-sizing:border-box}body{margin:0}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #599c7d;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:white;border-right:1px solid #e7e9e8;padding:38px 24px;display:flex;flex-direction:column}.brand{display:block;margin:0 12px 56px}.brand strong{font-family:Manrope,sans-serif;font-size:43px;line-height:1;font-weight:800;font-style:italic;letter-spacing:-3px}.brand strong span{color:#5c986d;font-size:30px;letter-spacing:0}.brand small{display:block;letter-spacing:2.2px;font-size:12px;font-weight:800;margin-top:8px}.nav-label,.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px}.nav-label{color:#89918b;margin:0 12px 17px;font-size:12px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{background:transparent;text-align:left;padding:14px 12px;font-size:14px;border-radius:7px;font-weight:500;display:flex;gap:13px;align-items:center}.sidebar nav button span{font-size:22px;width:21px;text-align:center;font-weight:400}.sidebar nav button:hover{background:#f3f6f4}.sidebar nav button.active{background:#eaf2ed;color:#24513e;font-weight:700}.sidebar-bottom{margin-top:auto;padding:30px 12px 0;font-size:14px}.mini-mark{width:37px;height:37px;border:1px solid #cad8cf;display:grid;place-items:center;color:#397250;font-size:12px;font-weight:800;border-radius:50%;margin-bottom:16px}.sidebar-bottom b{line-height:1.7;display:block}.text-button{background:none;padding:0;font-size:14px;font-weight:600;text-align:left;color:#2d614a}.sidebar-bottom button{margin-top:16px;font-size:12px;line-height:1.7}.shell{margin-left:248px}header{height:88px;padding:0 48px;border-bottom:1px solid #e5e8e6;display:flex;align-items:center;justify-content:space-between;background:#fff}header>span{font-size:12px;font-weight:700;letter-spacing:2px}header>div{display:flex;align-items:center;gap:22px}.preview-tag{font-size:12px;padding:5px 10px;background:#f1f3f1;border-radius:20px;color:#637066}.contact-top{background:none;font-size:14px;font-weight:600}main{max-width:1510px;padding:40px 48px 20px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:24px}.intro .eyebrow{color:#60836d;font-size:12px;margin:0 0 11px}.intro h1{font-family:Manrope,sans-serif;font-size:36px;font-weight:700;letter-spacing:-1.4px;margin:0 0 12px;line-height:1.3}.intro p{color:#778079;margin:0;font-size:15px}.mobile-break{display:none}.button{padding:14px 18px;border-radius:6px;white-space:nowrap;font-size:14px;font-weight:600;display:inline-block}.button:hover{filter:brightness(.96)}.light{background:white;border:1px solid #dfe4e0}.dark{background:#203f32;color:#fff}.cream{background:#e5efc4;color:#203f32}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px}.membership-card{position:relative;overflow:hidden;border-radius:12px;padding:28px 30px;background:#173e32;color:white;min-height:274px}.card-top,.membership-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-top .eyebrow{font-size:12px;color:#c4d8c9}.plan-pill{font-size:12px;letter-spacing:1px;border:1px solid #799386;padding:7px 10px;border-radius:20px;color:#dde8df}.price{font:600 58px Manrope,sans-serif;letter-spacing:-2px;margin-top:19px;position:relative;z-index:1}.price span{font:400 16px 'DM Sans',sans-serif;letter-spacing:0;color:#c5d5cb;margin-left:8px}.membership-card>p{position:relative;z-index:1;line-height:1.65;font-size:14px;color:#d3e0d6;margin:8px 0 22px}.membership-bottom>span{font-size:12px;color:#b5cabc}.card-watermark{position:absolute;font:800 italic 165px Manrope,sans-serif;letter-spacing:-15px;right:-20px;top:75px;color:#28513f;transform:rotate(-12deg);user-select:none}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px;gap:10px}h2{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-.5px;margin:0}h3{font-family:Manrope,sans-serif;letter-spacing:-.3px;font-size:16px;margin:12px 0 8px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.benefit{background:white;border:1px solid #e3e7e4;border-radius:9px;padding:20px 17px;display:flex;align-items:flex-start;flex-direction:column}.icon-box{display:grid;place-items:center;background:#eff4ef;color:#477156;border-radius:9px;width:40px;height:40px;font-size:24px;flex-shrink:0}.frequency{font-size:12px;color:#7c877e;letter-spacing:1px;font-weight:700;margin-top:21px}.benefit h3{font-size:15px;margin:8px 0}.benefit p{font-size:13px;color:#748078;line-height:1.7;margin:0 0 22px}.benefit button{border-top:1px solid #edf0ec;background:none;padding:15px 0 0;width:100%;text-align:left;display:flex;justify-content:space-between;gap:5px;color:#2b5942;font-size:12px;font-weight:600;margin-top:auto}.visit-card{display:flex;align-items:center;gap:15px;padding:22px 0;margin-top:13px}.visit-card h3{font-size:15px;margin:0 0 5px}.visit-card p{font-size:12px;color:#7a837d;margin:0}.visit-card .button{margin-left:auto}.help-card{border-bottom:1px solid #e0e5df;padding:29px 3px 27px}.help-card .eyebrow{font-size:12px;letter-spacing:1.2px;color:#7c857d}.help-card h3{font-size:21px;margin:12px 0}.help-card p{font-size:14px;color:#778079;line-height:1.7;margin:0 0 16px}.phone-note{display:flex;gap:12px;align-items:center;padding:16px 3px}.phone-note>span{font-size:27px;color:#789481}.phone-note p{font-size:12px;color:#737e75;line-height:1.8}.phone-note button{font-size:12px}footer{border-top:1px solid #e1e6e2;display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:23px;margin-top:27px;font-size:12px;color:#899189}footer button{font-size:12px}#details{max-width:850px}#details>h2{font-size:30px;margin-top:27px}.details-lead{color:#6d7c70}.detail-list article{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid #dce4de}.detail-list article>b{color:#6b9778;margin-top:15px}.detail-list p{color:#6c776e;line-height:1.7}.notice{background:#edf1ed;border-left:3px solid #799982;padding:15px;font-size:14px;line-height:1.7;margin:22px 0}.mobile-nav{display:none}dialog{border:0;border-radius:15px;padding:34px;width:min(540px,calc(100% - 32px));max-height:90dvh;box-shadow:0 25px 100px #0f2d3140;color:#263a2e}dialog::backdrop{background:#0e211e99;backdrop-filter:blur(3px)}.close{position:absolute;right:14px;top:10px;background:none;font-size:30px;color:#7a887e}dialog h2{font-size:26px;margin:12px 0 16px}dialog p,dialog li{font-size:15px;line-height:1.7;color:#68776d}dialog li{margin:10px 0}label{display:block;font-size:14px;margin:18px 0 7px;font-weight:600}input,select,textarea{width:100%;padding:12px;border:1px solid #cbd6cf;border-radius:5px;background:#fff;color:#293f32;font-size:16px}textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.full{width:100%;margin-top:20px}.summary{background:#edf3ed;padding:18px;border-radius:8px;line-height:1.8;white-space:pre-line;font-size:15px}.summary:empty{display:none}.offline{background:#fff1d0;padding:12px;text-align:center;font-size:14px}body.benefits-view .dashboard{display:none}[hidden]{display:none!important}@media(min-width:1500px){main{padding-top:52px}.membership-card{min-height:303px;padding:32px}.benefit{padding:24px}.benefit p{font-size:14px}.frequency{font-size:12px}}@media(max-width:1200px){.sidebar{width:210px;padding:32px 14px}.shell{margin-left:210px}header{padding:0 28px}main{padding:30px 28px}.dashboard{grid-template-columns:minmax(0,1fr) 252px;gap:19px}.intro h1{font-size:30px}.intro>.button{font-size:12px}.membership-bottom>span{max-width:150px;line-height:1.7}.benefit{padding:17px 12px}.visit-card{flex-wrap:wrap}.visit-card .button{margin-left:55px}.section-heading h2{font-size:17px}.section-heading .text-button{font-size:12px}}@media(max-width:1000px){.sidebar{width:190px}.shell{margin-left:190px}.dashboard{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.phone-note{grid-column:2;margin-top:-60px}.intro>.button{display:none}.benefit p{font-size:14px}.visit-card .button{margin-left:auto}.membership-bottom>span{max-width:none}footer{flex-wrap:wrap}}@media(max-width:650px){.sidebar{display:none}.shell{margin:0}header{height:72px;padding:0 21px}header>span{font-size:12px;letter-spacing:1px}.contact-top{display:none}header>div{gap:0}main{padding:26px 20px 100px}.intro{margin-bottom:25px}.intro h1{font-size:31px;letter-spacing:-1px}.mobile-break{display:block}.intro p{font-size:14px;line-height:1.6}.intro .eyebrow{font-size:12px}.membership-card{padding:24px;min-height:294px}.card-top .eyebrow{font-size:12px}.plan-pill{font-size:12px}.price{font-size:54px}.membership-bottom{align-items:flex-start;flex-direction:column}.membership-bottom>span{display:none}.membership-bottom .button{width:100%;text-align:center;margin-top:3px}.card-watermark{font-size:140px;top:70px}.section-heading h2{font-size:17px}.benefit-grid{grid-template-columns:1fr}.benefit{position:relative;padding:19px 20px 18px 79px;min-height:150px}.benefit .icon-box{position:absolute;top:20px;left:20px}.frequency{margin-top:0;font-size:12px}.benefit h3{font-size:17px}.benefit p{font-size:14px;margin-bottom:13px}.benefit button{font-size:14px;padding-top:12px}.visit-card{padding:20px 0;gap:12px}.visit-card p{font-size:13px;line-height:1.6}.visit-card>div:nth-child(2){flex:1}.visit-card .button{width:100%;margin:0}.right-column{display:block}.help-card{padding:27px 3px}.phone-note{margin:0}.phone-note p,.phone-note button{font-size:13px}footer{font-size:12px;line-height:1.7;margin-top:10px}.mobile-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#fff;border-top:1px solid #dfe6e0;padding:9px 5px max(9px,env(safe-area-inset-bottom))}.mobile-nav button{background:none;display:grid;gap:3px;font-size:22px;color:#33513d;min-width:64px}.mobile-nav span{font-size:12px}dialog{padding:29px 23px}#details>h2{font-size:26px}.form-pair{grid-template-columns:1fr;gap:0}}
/* JHW black and gold */
:root{color-scheme:dark;background:#101011;color:#eeeae0}.sidebar,header{background:#151516;border-color:#30302d}.brand strong,.brand strong span,.mini-mark,.text-button,.benefit button,.mobile-nav button{color:#d5b363}.brand small{color:#beb7a8}.nav-label,.frequency,.intro .eyebrow,.help-card .eyebrow{color:#b9a578}.sidebar nav button:hover,.sidebar nav button.active{background:#2c271c;color:#ead09b}.sidebar-bottom{color:#c7c1b3}.mini-mark{border-color:#5f5031}.preview-tag{background:#30291b;color:#e2c88e}header{background:#151516}.intro p,.benefit p,.visit-card p,.help-card p,.phone-note p,footer,.details-lead,.detail-list p{color:#b0afa7}.membership-card{background:linear-gradient(120deg,#262119,#151515 80%);border:1px solid #8a7446;box-shadow:inset 0 1px #e2bd6126}.card-watermark{color:#d5b3630d}.card-top .eyebrow,.price span,.membership-card>p,.membership-bottom>span{color:#c7b990}.plan-pill{border-color:#74613a;color:#d5b363}.cream,.dark{background:#d5b363;color:#171511}.light{background:#232321;color:#e2d4b5;border-color:#5b5037}.benefit{background:#1a1a1b;border-color:#35332d}.icon-box{background:#332c1e;color:#d5b363}.benefit button{border-color:#37332a}.help-card,.detail-list article,footer{border-color:#39352c}.phone-note>span,.detail-list article>b{color:#d5b363}.notice{background:#28251d;border-color:#d5b363;color:#d8ceb8}.mobile-nav{background:#171717;border-color:#464030}dialog{background:#1c1c1d;color:#f0e9da}dialog p,dialog li,.close{color:#c5c0b5}input,select,textarea{background:#121213;color:#eee8dc;border-color:#5b5241}.summary{background:#29251a;color:#e4d5b3}.sidebar-bottom p{font-size:14px}.contact-links{display:grid;gap:13px}.contact-links a{color:#e7c77e;overflow-wrap:anywhere}.chat-log{display:grid;gap:12px;max-height:40vh;overflow:auto;margin:20px 0}.bubble{padding:14px 16px;border-radius:10px;background:#2b281f;white-space:pre-wrap;line-height:1.65;font-size:15px}.bubble.user{background:#343330;margin-left:28px}.bubble.assistant{margin-right:20px}.bubble small{display:block;color:#d5b363;margin-bottom:5px;font-weight:700}.inline-check{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-weight:400}.inline-check input{width:20px;margin-top:4px;flex-shrink:0;accent-color:#d5b363}.status-message{font-size:14px;line-height:1.7;color:#d9c592;padding:10px 0;white-space:pre-line}.status-message.error{color:#f5b6a0}.button:disabled{opacity:.5;cursor:not-allowed}.slot-option,.history-item{display:block;background:#28251e;border:1px solid #4a4130;border-radius:8px;padding:14px;text-align:left;width:100%;margin:9px 0;line-height:1.6;font-size:15px}.slot-option:hover{border-color:#d5b363}.slot-option.selected{outline:2px solid #d5b363}.muted{color:#bcb5a8;font-size:14px;line-height:1.7}.panel{border:1px solid #494130;background:#20201f;padding:20px;border-radius:9px;margin:18px 0}.admin-modal{width:min(940px,calc(100% - 30px))}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.admin-tabs button{background:#302b20;color:#e7c77e;padding:11px 14px;border-radius:5px}.admin-tabs button.active{background:#d5b363;color:#161512}.admin-item{border-bottom:1px solid #454034;padding:15px 0;line-height:1.7;overflow-wrap:anywhere}.admin-item:last-child{border-bottom:0}.admin-item .button{padding:8px 12px;margin:8px 8px 0 0}.flex-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.badge{display:inline-block;font-size:12px;color:#dcc594;background:#3c3424;padding:3px 8px;border-radius:5px}.terms{max-height:220px;overflow:auto;white-space:pre-wrap;line-height:1.7;border:1px solid #51452c;padding:14px;font-size:14px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.benefit p,.help-card p,.intro>div>p:last-child{font-size:16px}.benefit button,.frequency,.sidebar nav button,.contact-top,.visit-card p{font-size:14px}.benefit{padding:20px 15px}.frequency{font-size:12px}.link-block{display:block;margin-top:12px;overflow-wrap:anywhere}#app-banner{margin-bottom:25px;border:1px solid #685a38;padding:14px 17px;border-radius:8px;background:#242018;font-size:14px;line-height:1.6}#app-banner a{color:#f0cf84;text-decoration:underline}@media(max-width:650px){.details-grid{grid-template-columns:1fr}.benefit{padding-left:79px}.admin-modal{padding:29px 20px}.membership-bottom .button{white-space:normal}}

.plan-switch{position:relative;z-index:2;display:flex;gap:5px;padding:5px;background:#111111;border:1px solid #52452c;border-radius:7px;margin:18px 0 8px;width:fit-content;max-width:100%}.plan-switch button{padding:10px 12px;border-radius:4px;background:transparent;color:#cfc4ab;font-size:14px}.plan-switch button.selected{background:#d5b363;color:#191611;font-weight:700}.membership-card{min-height:335px}.membership-bottom>span{line-height:1.7}@media(max-width:650px){.membership-card{min-height:340px}.plan-switch button{font-size:13px;padding:9px}.membership-bottom>span{display:block}}
.portal-nav{display:block;padding:14px 12px;border:1px solid #6c5932;border-radius:7px;color:#e4c57e;margin-bottom:8px;font-size:14px}.member-login-link{color:#e4c57e;font-size:14px}.portal-view main>.intro,.portal-view .dashboard,.portal-view #details{display:none!important}.portal-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.portal-heading h1{font-size:30px;margin:10px 0;line-height:1.3}.portal-card{min-height:0;padding:30px}.membership-number{display:block;font-family:Manrope,sans-serif;font-size:clamp(19px,3vw,34px);letter-spacing:2px;overflow-wrap:anywhere;margin:20px 0;color:#f0d190;user-select:all}.portal-card .button{margin-bottom:6px}.portal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.login-page{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top,#30291a,#101011 65%)}.login-shell{width:100%;max-width:560px;margin:auto;padding:40px 24px}.login-shell>.brand{margin:0 0 35px}.login-card{border:1px solid #6c5932;border-radius:14px;padding:30px;background:#191919}.login-card h1{font-family:Manrope,sans-serif;font-size:34px;margin:15px 0}.login-card p{line-height:1.8;color:#c7c0b2}.login-card .full{text-align:center}.login-shell>p{overflow-wrap:anywhere}.login-page .muted{font-size:14px}#portal-content .panel p{line-height:1.8;overflow-wrap:anywhere}@media(max-width:650px){.portal-heading{align-items:flex-start}.portal-heading h1{font-size:25px}.portal-card{padding:22px}.member-login-link{font-size:12px}header>div{gap:10px}.portal-view .details-grid{gap:0}.login-card{padding:24px}}
.member-strip{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border:1px solid #49402e;background:#191918;padding:17px 22px;border-radius:9px;margin-bottom:20px}.member-strip>div{margin-right:auto}.member-strip strong{display:block;font-size:17px;letter-spacing:1.5px;color:#e9ce91;margin-top:5px;user-select:all}.member-strip .eyebrow{font-size:12px;color:#aca18d}.member-strip #copy-status{font-size:12px}.portal-stats{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin-bottom:30px}.saving-hero,.portal-stat{border:1px solid #4c4332;border-radius:11px;padding:25px;position:relative}.saving-hero{background:linear-gradient(125deg,#dfc484,#bd9346);color:#1c190f}.saving-icon{position:absolute;top:20px;right:22px;border:1px solid #6b541c66;border-radius:50%;height:36px;width:36px;display:grid;place-items:center;font-size:23px}.saving-hero p{margin:0 0 8px;font-weight:600;padding-right:30px}.saving-hero>strong{font:700 43px Manrope,sans-serif;letter-spacing:-1px}.saving-hero small{display:block;line-height:1.6;margin-top:10px;font-size:12px;color:#4a3c21}.portal-stat{background:#1c1c1c;display:flex;align-items:flex-start;flex-direction:column}.portal-stat>.eyebrow{color:#bca676}.portal-stat>strong{font:600 20px Manrope,sans-serif;margin-top:18px;overflow-wrap:anywhere}.portal-stat p{color:#bdb6a6;line-height:1.6;font-size:14px;margin:10px 0 18px}.portal-stat button{margin-top:auto}.portal-tabs{display:flex;gap:8px;border-bottom:1px solid #49402e;margin-bottom:25px;overflow:auto}.portal-tabs>button{font-size:16px;font-weight:600;white-space:nowrap;padding:14px 20px;background:none;border-bottom:3px solid transparent;color:#b3ad9f}.portal-tabs>button.active{color:#e4c780;border-color:#d5b363}.portal-tabs span{font-size:12px;background:#373024;padding:2px 6px;border-radius:5px;margin-left:5px}.job-card{display:grid;grid-template-columns:135px 1fr 100px;gap:22px;padding:23px 18px;margin:12px 0;border:1px solid #3b3830;border-radius:9px;background:#1b1b1b}.job-date{font-size:14px;line-height:1.8;color:#d5cbb8}.job-date span{display:block;font-size:12px;color:#a99d83;letter-spacing:.7px;margin-top:5px}.job-info h3{margin:0 0 8px;font-size:17px}.job-info p{margin:5px 0;font-size:14px;color:#beb7a8;line-height:1.8}.job-info summary{font-size:14px;color:#d9bf82;cursor:pointer;margin-top:14px}.job-notes{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.job-saving{text-align:right}.job-saving strong{display:block;font-size:21px;color:#e2c077}.job-saving span{font-size:13px;color:#bcb39e}.portal-empty{text-align:center;border:1px dashed #655233;border-radius:12px;padding:40px 25px;background:#1b1915}.portal-empty>span{font-size:32px;color:#d5b363}.portal-empty h3{font-size:21px}.portal-empty p{font-size:16px;line-height:1.8;color:#bab3a3;max-width:500px;margin:15px auto 25px}.member-record-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #51442d;padding:18px 0}.member-record-head strong{display:block;color:#e1bf72;font-size:30px}.member-record-head p{font-size:14px;overflow-wrap:anywhere}.member-record-head>div:last-child{text-align:right;flex-shrink:0}.member-record-head span:not(.eyebrow){font-size:13px;color:#c7bda6}.slot-option>span{float:right;color:#d5b363}.slot-option:disabled{opacity:.6;cursor:not-allowed}#panel-history>.section-heading{margin-top:0}@media(max-width:1000px){.portal-stats{grid-template-columns:1fr 1fr}.saving-hero{grid-column:span 2}.saving-hero>strong{font-size:48px}.job-card{grid-template-columns:110px 1fr 80px;gap:15px}}@media(max-width:650px){.portal-heading{margin-bottom:20px}.portal-stats{gap:12px}.portal-stat{padding:18px 15px}.portal-stat>strong{font-size:17px}.portal-stat .button{font-size:13px;padding:11px}.portal-stat .eyebrow{font-size:12px;letter-spacing:1px}.member-strip{padding:16px;gap:12px}.member-strip>div{width:100%}.portal-tabs>button{font-size:14px;padding:14px 10px}.job-card{grid-template-columns:1fr 80px;padding:18px;gap:12px}.job-date{grid-column:span 2;display:flex;justify-content:space-between;gap:10px}.job-date span{margin:0;font-size:12px}.job-saving strong{font-size:18px}.member-record-head{align-items:flex-start;flex-direction:column}.member-record-head>div:last-child{text-align:left}.portal-empty{padding:28px 20px}}

.portal-nav[aria-current="page"]{background:#30291c;color:#efd79c}
.mileage-tracker{border-color:#806735!important;background:linear-gradient(125deg,#282316,#161616)!important}.mileage-reading{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.mileage-reading strong{font-size:clamp(46px,7vw,72px);color:#e7c87b;line-height:1.2;font-variant-numeric:tabular-nums}.mileage-reading span{color:#d8ccb3}.mileage-controls{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.mileage-controls .button{min-height:46px}#gps-status{min-height:24px;color:#efd79c}#gps-duration{font-variant-numeric:tabular-nums}#mileage-recording-banner{background:#382e18;color:#f1d998;border:1px solid #91743c;padding:12px 16px;border-radius:8px;margin-bottom:15px}.portal-tabs{overflow-x:auto;white-space:nowrap}#panel-mileage small{font-size:14px;margin-top:5px}#panel-mileage .job-date{overflow-wrap:anywhere}#panel-mileage input[type=checkbox]{min-width:18px}@media(max-width:650px){.mileage-controls .button{flex:1 1 140px}.mileage-tracker{padding:20px!important}}
.garage-vehicle{margin:18px 0}.number-plate{display:inline-block;background:#eed382;color:#191919;border:2px solid #a88a44;border-radius:5px;padding:9px 16px;font-weight:800;font-size:22px;letter-spacing:2px}.garage-vehicle h3{margin:16px 0 0}.garage-vehicle .section-heading{align-items:flex-start;gap:15px}#garage-panel input{max-width:100%}

/* Development-preview identification; deliberately separate from membership status. */
.development-preview-strip{display:flex;align-items:center;gap:8px;padding:9px 48px;border-bottom:1px solid #4a3e27;background:#211d16;color:#e6ce96;font-size:12px;font-weight:700;letter-spacing:.025em}
.development-preview-dot{display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#d5b363}
.development-preview-notice{padding:15px 17px;margin-bottom:24px;border:1px solid #665431;border-left:3px solid #d5b363;border-radius:7px;background:#252016}
.development-preview-notice strong{display:flex;align-items:center;gap:8px;color:#e8ce92;font-size:13px;letter-spacing:.025em}
.login-card .development-preview-notice p{margin:8px 0 0;color:#c9c0aa;font-size:13px;line-height:1.65}
@media(max-width:1200px){.development-preview-strip{padding-left:28px;padding-right:28px}}
@media(max-width:650px){.development-preview-strip{padding:9px 20px}}

/* ---- Shared calendar ---- */
.cal-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0}.cal-nav,.cal-views{display:flex;gap:6px}.cal-toolbar .button{padding:8px 14px;min-height:40px}.cal-toolbar .button.active{background:#d5b363;color:#17140d;border-color:#d5b363}.cal-title{font-size:18px;min-width:180px;text-align:center;flex:1}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#b9b19c;margin:4px 0 8px}.cal-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.cal .st-available{background:#1f3a2a;border-color:#4f9a6c;color:#cfeedb}.cal .st-pending{background:#4a3a14;border-color:#d5b363;color:#f5e2b0}.cal .st-booked{background:#1e3552;border-color:#6aa2e0;color:#d3e6fb}.cal .st-completed{background:#303030;border-color:#8a8a8a;color:#d5d5d5}.cal .st-cancelled{background:#3b2020;border-color:#a45;color:#e9bcbc;opacity:.6;text-decoration:line-through}
.cal-dot.st-available{background:#4f9a6c}.cal-dot.st-pending{background:#d5b363}.cal-dot.st-booked{background:#6aa2e0}.cal-dot.st-completed{background:#8a8a8a}.cal-dot.st-cancelled{background:#a45}
.cal-ev{display:block;width:100%;text-align:left;border:1px solid;border-radius:5px;padding:2px 6px;font:inherit;font-size:12px;line-height:1.3;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal-ev-time{font-weight:700}.cal-ev-sub{display:block;opacity:.8}
.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #3a3528;border-radius:8px;overflow:hidden}.cal-dow{padding:6px;text-align:center;font-size:12px;color:#b9b19c;background:#1a1a19}.cal-cell{min-height:104px;border-top:1px solid #2e2b22;border-left:1px solid #2e2b22;padding:4px;background:#171716;min-width:0}.cal-cell:nth-child(7n+8){border-left:0}.cal-cell.other{opacity:.45}.cal-cell.today{background:#241f12;box-shadow:inset 0 0 0 1px #d5b363}
.cal-daynum{background:none;border:0;color:inherit;font:inherit;font-size:13px;cursor:pointer;padding:2px 4px;display:flex;gap:6px;align-items:center}.cal-count{display:none;background:#d5b363;color:#17140d;border-radius:9px;font-size:11px;padding:0 6px}.cal-chips{display:flex;flex-direction:column;gap:2px}.cal-more{background:none;border:0;color:#d5b363;font-size:12px;text-align:left;cursor:pointer;padding:2px}
.cal-grid-scroll{overflow-x:auto;border:1px solid #3a3528;border-radius:8px}.cal-grid{display:grid;grid-template-columns:52px repeat(var(--days),minmax(96px,1fr));min-width:100%;background:#171716}.cal-day{border-left:1px solid #2e2b22;min-width:0}.cal-colhead{display:block;width:100%;height:36px;background:#1a1a19;color:#d8ceb8;border:0;border-bottom:1px solid #2e2b22;font:inherit;font-size:13px;cursor:pointer}.cal-colhead.today{color:#d5b363;font-weight:700}
.cal-gutter-body{position:relative}.cal-gutter-body span{position:absolute;right:6px;transform:translateY(-7px);font-size:11px;color:#8d866f}.cal-col{position:relative;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour) - 1px),#2a2720 calc(var(--hour) - 1px),#2a2720 var(--hour));touch-action:pan-y;user-select:none}.cal-col.can-create{cursor:crosshair}.cal-col .cal-ev{position:absolute;left:2px;right:2px;width:auto;white-space:normal;z-index:1}.cal-ghost{position:absolute;left:2px;right:2px;background:rgba(213,179,99,.3);border:2px dashed #d5b363;border-radius:5px;font-size:11px;padding:2px 4px;pointer-events:none;z-index:2}
@media(max-width:650px){.cal-cell{min-height:64px;padding:2px}.cal-chips .cal-ev{height:8px;padding:0;border-radius:4px}.cal-chips .cal-ev span{display:none}.cal-more{font-size:10px}.cal-count{display:inline-block}.cal-title{order:-1;flex-basis:100%}.cal-toolbar{justify-content:center}.cal-grid{grid-template-columns:40px repeat(var(--days),minmax(88px,1fr))}}
/* ---- Staff portal ---- */
.admin-page{background:#101011;color:#eeeae0;margin:0}.admin-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.admin-side{background:#151516;border-right:1px solid #30302d;padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.admin-side nav{display:flex;flex-direction:column;gap:4px}.admin-side nav a{padding:11px 12px;border-radius:7px;color:#d8ceb8;text-decoration:none;font-size:15px}.admin-side nav a.active{background:#3c3424;color:#f5e2b0}.admin-side nav a:hover{background:#26231b}.admin-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;font-size:13px}.admin-side-foot a{color:#b9b19c}
.admin-main{padding:24px clamp(14px,3vw,40px) 60px;min-width:0}.admin-head{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.admin-head h1{margin:2px 0 0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0}.admin-stats article{border:1px solid #494130;background:#20201f;border-radius:9px;padding:14px}.admin-stats span{font-size:12px;color:#b9b19c}.admin-stats strong{display:block;font-size:30px;color:#f5e2b0}.admin-stats small{color:#8d866f}
.admin-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.admin-cols .wide{grid-column:1/-1}.admin-cols .panel{margin:0}.admin-row{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #2e2b22;color:inherit;font:inherit;padding:10px 2px;font-size:14px;line-height:1.6}button.admin-row{cursor:pointer}button.admin-row:hover{background:#26231b}.admin-row.voided{opacity:.55}.admin-row .amount{float:right;color:#f5e2b0}.admin-row a{color:#d5b363}
.admin-total{text-align:right}.admin-total strong{display:block;font-size:30px;color:#f5e2b0}.admin-total span{color:#b9b19c;font-size:13px}.admin-total.inline{text-align:left;margin:12px 0}
.admin-table-wrap{overflow-x:auto;margin-top:12px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;font-size:12px;color:#b9b19c;padding:8px;border-bottom:1px solid #3a3528}.admin-table td{padding:10px 8px;border-bottom:1px solid #2e2b22;vertical-align:top}.admin-table .num{text-align:right}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover,.admin-table tbody tr:focus{background:#26231b;outline:none}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chip-row .active{background:#d5b363;color:#17140d}.muted{color:#a69f8b}.error-notice{border-color:#c66}
.admin-dialog{max-width:620px;width:calc(100% - 24px);max-height:90vh;overflow:auto;background:#1b1b1a;color:#eeeae0;border:1px solid #494130;border-radius:12px;padding:24px}.admin-dialog::backdrop{background:rgba(0,0,0,.7)}.admin-dialog .close{position:absolute;right:10px;top:8px;background:none;border:0;color:inherit;font-size:28px;cursor:pointer}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.dialog-actions .button{text-decoration:none;text-align:center}
.admin-page input,.admin-page select,.admin-page textarea{width:100%;font:inherit}.admin-denied{max-width:560px;margin:12vh auto;padding:24px}.entry-form{margin-top:0}
@media(max-width:800px){.admin-shell{grid-template-columns:1fr}.admin-side{position:static;height:auto;flex-direction:column;padding:12px}.admin-side nav{flex-direction:row;overflow-x:auto}.admin-side nav a{white-space:nowrap}.admin-side-foot{flex-direction:row;margin:0}}

.call-now,.visit-card a.button,.portal-actions a.button[href^="tel"]{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#e4c57e;color:#17130a;font-weight:700;border:0;border-radius:999px;padding:12px 22px;text-decoration:none;box-shadow:0 0 0 3px rgba(228,197,126,.25)}
.call-now{font-size:15px;margin-right:10px;white-space:nowrap}
.call-now:hover,.visit-card a.button:hover{background:#f0d696}
.mobile-nav .mobile-call{background:#e4c57e;color:#17130a;font-weight:700;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-decoration:none}
@media(max-width:700px){header>div{flex-wrap:wrap;gap:8px}.call-now{font-size:14px;padding:10px 14px}}

.member-card{max-width:440px;margin:0 0 20px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#2a2417,#15130e 60%);border:1px solid #6c5932;box-shadow:0 8px 28px rgba(0,0,0,.45);color:#eeeae0}
.mc-top strong{font-size:26px;color:#e4c57e}.mc-top small{display:block;letter-spacing:.14em;font-size:10px;color:#b9a574}
.mc-body{display:flex;justify-content:space-between;gap:16px;margin-top:18px;align-items:flex-end}.mc-body b{display:block;margin:2px 0 12px;font-size:17px}.mc-number{font-size:22px!important;letter-spacing:.06em;color:#e4c57e}

.mc-foot{font-size:12px;color:#b9b19c;margin:4px 0 0}

.call-center{display:flex;flex-direction:column;align-items:center;text-align:center;margin:8px 0 28px}
.call-big{font-size:22px;padding:18px 40px;margin:0}.call-center p{margin:12px 0 0;color:#cfc8b4;font-size:15px}
@media(max-width:700px){.call-big{font-size:18px;padding:16px 24px;width:100%}}
