.jb{--ink:#122a41;--gold:#b28b50;max-width:1180px;margin:24px auto;padding:clamp(14px,3vw,40px);background:#f6f3ec;color:var(--ink);font:17px/1.65 Georgia,serif;border-radius:16px;box-sizing:border-box}.jb *{box-sizing:border-box}.jb h1{font-size:clamp(30px,4vw,52px);font-weight:400;line-height:1.15}.jb h2{font-size:clamp(24px,3vw,34px);font-weight:400}.jb h3{font-size:21px}.jb .notice{padding:12px;border-bottom:1px solid var(--gold);font:12px/1.6 system-ui,sans-serif;letter-spacing:.05em}.jb nav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.jb button{background:#16354e;color:white;border:1px solid #48647a;border-radius:7px;padding:12px 18px;min-height:46px;font:15px/1.4 system-ui,sans-serif;cursor:pointer}.jb button:hover,.jb button[aria-current]{background:#29516e}.jb button:disabled{opacity:.6;cursor:wait}.jb :focus-visible{outline:3px solid #af7013;outline-offset:4px}.jb-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:40px}.jb-panel{padding:clamp(16px,3vw,36px);border-top:1px solid var(--gold);background:#fffdf7}.jb aside{padding:24px;border-left:1px solid var(--gold)}.jb-choices,.jb-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px}.jb button.jb-choice{text-align:left;background:#e8eef1;color:#142e43;border:1px solid #a6b5bf;padding:20px}.jb-choice strong,.jb-choice small{display:block}.jb-choice small{margin-top:8px}.jb .jb-back{margin-top:28px;background:transparent;color:#17354e}.jb-steps{display:flex;gap:12px;flex-wrap:wrap;padding:0;list-style:none;font:12px/1.5 system-ui,sans-serif;margin:22px 0}.jb-steps li{color:#526373}.jb-steps [aria-current]{color:#142e43;font-weight:700;text-decoration:underline;text-underline-offset:7px}.jb-eyebrow{font:12px/1.5 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#745824}.jb label{display:block;margin:18px 0;font:15px/1.5 system-ui,sans-serif}.jb input:not([type=checkbox]),.jb select{display:block;width:100%;max-width:580px;padding:12px;margin-top:6px;min-height:46px;border:1px solid #8c9ca7;background:white;color:#172e40;border-radius:5px;font:16px system-ui,sans-serif}.jb input[type=checkbox]{width:20px;height:20px;vertical-align:middle}.jb-booking{border-bottom:1px solid #c3cbd1;padding:20px 0}.jb pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 system-ui,sans-serif;background:white;padding:15px}.jb details{padding:15px 0}.jb #jb-status:not(:empty){padding:15px;background:#fff0d9;color:#6c3600;border-left:4px solid #9e5500}.jb p{overflow-wrap:anywhere}.jb form{margin-bottom:25px}.jb summary{cursor:pointer}@media(max-width:700px){.jb-layout{grid-template-columns:1fr;gap:15px}.jb aside{border-left:0;border-top:1px solid var(--gold)}.jb{margin:10px 0}.jb nav button{flex:1}.jb-panel{padding:16px}}@media(prefers-reduced-motion:reduce){.jb *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.jb textarea{display:block;width:100%;padding:12px;border:1px solid #8c9ca7;border-radius:5px;font:16px/1.6 system-ui;background:white;color:#172e40}.jb blockquote{margin:20px 0;padding-left:20px;border-left:2px solid var(--gold);white-space:pre-wrap}
.jb{background:#f8fbfd}.jb aside{background:#eaf3f8!important}.jb-portrait{border:1px dashed #a8bac6;border-radius:100% 100% 45% 45%;max-width:180px;min-height:140px;display:grid;place-items:center;text-align:center;padding:18px;color:#526674;font-size:.9rem}.jb-week-scroll{overflow-x:auto;max-width:100%;border:1px solid #bfcfda;border-radius:12px}.jb-week{display:grid;grid-template-columns:45px repeat(7,minmax(125px,1fr));min-width:960px;background:white}.jb-day{min-width:0}.jb-day-heading{height:44px;box-sizing:border-box;margin:0!important;padding:10px 5px!important;text-align:center;font:600 14px system-ui!important;background:#edf5fa}.jb-day-grid{height:1408px;position:relative;border-left:1px solid #cbd7df;background:repeating-linear-gradient(to bottom,transparent 0,transparent 175px,#d7e0e6 175px,#d7e0e6 176px)}.jb-hours{position:relative}.jb-hours>span{position:absolute;font:12px system-ui;left:8px;transform:translateY(-50%)}.jb-available{position:absolute;left:0;right:0;background:#d8ebf6b0}.jb-closed{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#eee,#eee 8px,#f8f8f8 8px,#f8f8f8 16px);padding:8px}.jb .jb-calendar-booking{position:absolute;left:3px;right:3px;width:calc(100% - 6px);min-height:0;margin:0;border:1px solid #426b8d;border-radius:5px;padding:2px 4px;overflow:hidden;text-align:left;color:#102e45;background:#a9cde7;font:11px/1.2 system-ui;box-sizing:border-box;display:block}.jb-calendar-booking strong,.jb-calendar-booking span{display:block}.jb .jb-astropatia{background:#dac9e8;color:#39264b;border-color:#7a5e91}.jb-week-controls{display:flex;gap:8px;flex-wrap:wrap}.jb-calendar-hint{font-size:.85rem}.jb-panel{min-width:0}.jb-week-scroll:focus{outline:2px solid #285c80}
.jb-week{padding-bottom:12px}.jb .jb-calendar-booking{vertical-align:top}

/* Approved blue/turquoise customer palette, 2026-10-23. Presentation only. */
.jb[data-view="customer"]{--ink:#fff;--gold:#f2d390;color:#fff;background:radial-gradient(ellipse at 85% 0%,#116e88 0%,#095780 34%,#07335f 66%,#061f45 100%);border:1px solid #72b8c166;box-shadow:0 16px 50px #06224024}
.jb[data-view="customer"] .jb-eyebrow{color:#ffe2a2}
.jb[data-view="customer"] .notice{color:#edf8fc;border-color:#d6bd7e88}
.jb[data-view="customer"] .jb-panel{background:#07386c38;border:1px solid #8cd2dd88;border-radius:12px;box-shadow:0 0 22px #62dbef0d}
.jb[data-view="customer"] aside{background:transparent!important;border-color:#b4d7db99}
.jb[data-view="customer"] .jb-steps li{color:#edf9fc}
.jb[data-view="customer"] .jb-steps [aria-current]{color:#ffe2a2}
.jb[data-view="customer"] button{color:#fff;background:#074471;border:1px solid #8ed9e0aa;box-shadow:none}
.jb[data-view="customer"] button.jb-choice{color:#fff;background:#127aa536;border:1px solid #8ed9e0aa}
.jb[data-view="customer"] button:hover,.jb[data-view="customer"] button[aria-current]{background:#07557f;border-color:#f2d390}
.jb[data-view="customer"] .jb-back{background:transparent;color:#fff}
.jb[data-view="customer"] a{color:#ffe2a2}
.jb[data-view="customer"] input:not([type=checkbox]),.jb[data-view="customer"] select,.jb[data-view="customer"] textarea{background:#072f55;color:#fff;border-color:#a3c9d5}
.jb[data-view="customer"] select option{background:#072f55;color:#fff}
.jb[data-view="customer"] input::placeholder,.jb[data-view="customer"] textarea::placeholder{color:#c1d7e5;opacity:1}
.jb[data-view="customer"] input[type=checkbox]{accent-color:#e8c778}
.jb[data-view="customer"] :focus-visible{outline:3px solid #ffe2a2;outline-offset:4px}
.jb[data-view="customer"] .jb-portrait{color:#e1f0f5;border-color:#a8d1da99}
.jb[data-view="customer"] #jb-status:not(:empty){color:#fff3d8;background:#553912;border-color:#ffe2a2}

body:has(.jb[data-view="customer"]){background:#061f45;color:#fff}body:has(.jb[data-view="customer"])>header a{color:#fff}
/* Full-width customer background: keep content geometry, remove outer box. */
body:has(.jb[data-view="customer"]){min-height:100vh;background:radial-gradient(ellipse at 85% 0%,#116e88 0%,#095780 34%,#07335f 66%,#061f45 100%);background-attachment:fixed;color:#fff}
.jb[data-view="customer"]{background:transparent;border-color:transparent;border-radius:0;box-shadow:none}


/* Booking customer contrast: override theme colors without changing layout. */
.jb[data-view="customer"] h1,.jb[data-view="customer"] h2,.jb[data-view="customer"] h3,.jb[data-view="customer"] label{color:#fff;opacity:1}
.jb[data-view="customer"] #jb-contact input{color:#fff!important;-webkit-text-fill-color:#fff;background:#072f55!important;opacity:1}
.jb[data-view="customer"] #jb-contact input:autofill{color:#122a41!important;-webkit-text-fill-color:#122a41}

/* Customer flow: removed duplicate summary sidebar. */
.jb[data-view="customer"] .jb-layout{grid-template-columns:minmax(0,1fr)}

/* No empty booking shell or reserved space while the catalogue loads. */
.jb[data-view="customer"]:has(> #jb-app:empty):has(> #jb-status:empty){margin:0 auto;padding:0;border:0;min-height:0}

/* Admin work-hours only; public calendar unchanged. */
#jb-work-month .jb-work-scroll{overflow-x:auto}#jb-work-month .jb-work-grid{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:6px;min-width:760px;margin:16px 0}#jb-work-month .jb-work-day{display:flex;flex-direction:column;gap:5px;min-height:100px;text-align:left;background:#18384e;color:white;border:2px solid #8db5cf;padding:10px}#jb-work-month .jb-work-day.is-closed{background:#354552}#jb-work-month .jb-work-day[aria-pressed=true]{border:3px solid #e4ce93}#jb-work-month .jb-work-form{border:1px solid #8db5cf;padding:16px;margin:16px 0}#jb-work-month .jb-work-form input,#jb-work-month .jb-work-form select{max-width:100%;box-sizing:border-box}#jb-work-month [role=status]{font-weight:600}#jb-work-month button:disabled{opacity:.6;cursor:wait}
