#bb-app{--ink:#352c31;--muted:#81757d;--accent:#995972;--accent-dark:#77415a;--rose:#f7edf0;--line:#e9dde1;--paper:#fffdfd;--green:#417d64;font:16px/1.6 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fbf7f8;min-height:100vh}#bb-app *{box-sizing:border-box}#bb-app a{color:inherit}#bb-app button,#bb-app input,#bb-app select,#bb-app textarea{font:inherit}#bb-app button,#bb-app .link-button{cursor:pointer;border:0;border-radius:12px;padding:11px 18px;font-weight:650;line-height:1.45;transition:background .15s}#bb-app button:disabled{opacity:.5;cursor:wait}#bb-app .primary{background:var(--accent);color:#fff}#bb-app .primary:hover{background:var(--accent-dark)}#bb-app .ghost{background:var(--rose);color:var(--accent-dark)}#bb-app .danger{background:#fff0f0;color:#a24343}#bb-app button:focus-visible,#bb-app a:focus-visible,#bb-app input:focus-visible,#bb-app textarea:focus-visible,#bb-app select:focus-visible{outline:3px solid #ba7998;outline-offset:3px}#bb-app .bb-shell{max-width:1280px;margin:auto;padding:0 36px 24px}#bb-app .bb-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}#bb-app .bb-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:Georgia,serif;font-size:24px;line-height:1.2}#bb-app .brand-mark{font-size:27px;border:1px solid #d5bbc6;color:var(--accent);border-radius:50%;width:48px;height:48px;display:grid;place-items:center}#bb-app .bb-brand small{display:block;font:9px/2 system-ui,sans-serif;letter-spacing:3px;color:var(--muted);margin-top:3px}#bb-app nav{display:flex;gap:24px;align-items:center;font-size:14px}#bb-app nav a{text-decoration:none}#bb-app h1,#bb-app h2,#bb-app h3{color:var(--ink);font-weight:500;line-height:1.2;margin:0 0 14px}#bb-app h1{font-family:Georgia,serif;font-size:clamp(32px,4.5vw,56px);letter-spacing:-1.5px}#bb-app h2{font-family:Georgia,serif;font-size:26px}#bb-app h3{font-size:17px;font-weight:650}#bb-app p{margin:0 0 16px}#bb-app .page-title{padding:48px 0 30px;max-width:850px}#bb-app .page-title p{color:var(--muted);max-width:670px}#bb-app .eyebrow{display:block;text-transform:uppercase;letter-spacing:2.3px;font-size:11px;font-weight:700;color:var(--accent);margin-bottom:14px}#bb-app .card{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 32px #73354d05;margin-bottom:22px;min-width:0}#bb-app .narrow{max-width:580px}#bb-app .booking-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;align-items:start}#bb-app .booking-aside{position:sticky;top:24px}#bb-app .section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}#bb-app .section-title h2{margin:0}#bb-app .number{border-radius:50%;width:31px;height:31px;background:var(--rose);color:var(--accent);display:grid;place-items:center;font-size:13px;font-weight:700}#bb-app .muted{color:var(--muted)}#bb-app .small{font-size:13px}#bb-app .service-list h3{color:var(--accent);margin:26px 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:1.3px}#bb-app .service{display:flex;align-items:flex-start;gap:15px;padding:19px 16px;border:1px solid var(--line);border-radius:14px;margin:10px 0;cursor:pointer}#bb-app .service.selected{border-color:var(--accent);background:#fbf3f6}#bb-app .service input{margin-top:5px;accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}#bb-app .service span{flex:1;min-width:0}#bb-app .service strong{font-size:15px;display:block}#bb-app .service small{font-size:12px;color:var(--muted);display:block;margin:4px 0}#bb-app .service em{font-size:12px;font-style:normal;color:var(--accent)}#bb-app .service b{font-size:14px;white-space:nowrap}#bb-app label:not(.service):not(.check){display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;margin-bottom:18px}#bb-app input:not([type=checkbox]),#bb-app select,#bb-app textarea{width:100%;max-width:100%;border:1px solid var(--line);border-radius:10px;background:white;padding:11px 12px;min-height:44px;color:var(--ink);font-size:15px}#bb-app textarea{resize:vertical;min-height:90px}#bb-app .check{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;margin:17px 0}#bb-app .check input{margin-top:5px;accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}#bb-app .fields.two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}#bb-app .fields textarea{min-height:70px}#bb-app .slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;max-height:320px;overflow:auto;padding:3px}#bb-app .slots p{grid-column:1/-1;font-size:14px}#bb-app .slot{background:#fff;border:1px solid var(--line);color:var(--ink);padding:10px}#bb-app .slot.selected{background:var(--accent);color:white}#bb-app .summary{border-top:1px solid var(--line);padding-top:22px;margin:20px 0;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}#bb-app .summary strong{display:block;font-size:24px;color:var(--ink);font-weight:500}#bb-app .full{width:100%}#bb-app .actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#bb-app .notice{padding:14px 20px;border-radius:12px;margin-top:20px;background:#eaf6ef;color:#296348}#bb-app .notice.error{background:#ffeded;color:#a33e3e}#bb-app [hidden]{display:none!important}#bb-app .bb-footer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding:24px 0;margin-top:40px;text-align:center}#bb-app .hold-note{background:var(--rose);padding:12px;border-radius:10px;font-size:13px}#bb-app .tabs{display:flex;gap:8px;margin-top:24px;overflow-x:auto;padding-bottom:6px}#bb-app .tab{white-space:nowrap;background:transparent;font-size:13px}#bb-app .tab.active{background:var(--accent);color:white}#bb-app .agenda-heading{padding:35px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}#bb-app .agenda-heading h1{font-size:32px;letter-spacing:-.7px}#bb-app .agenda-heading label{margin:0!important}#bb-app .agenda-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:24px;align-items:start}#bb-app .open-ranges{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}#bb-app .badge{display:inline-block;border-radius:8px;font-size:11px;font-weight:650;background:var(--rose);color:var(--accent);padding:4px 9px}#bb-app .badge.available{background:#eaf5ef;color:var(--green)}#bb-app .exception-list,#bb-app .log-list{margin-top:18px}#bb-app .exception-list>div,#bb-app .log-list>div{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:12px}#bb-app details{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}#bb-app summary{cursor:pointer;font-weight:600;font-size:14px}#bb-app .weekly-form{margin-top:20px}#bb-app .weekly-row{border-bottom:1px solid var(--line);padding:12px 0}#bb-app .weekly-row strong{font-size:12px}#bb-app .weekly-range{display:flex;gap:5px;align-items:center;margin:8px 0}#bb-app .weekly-range input{min-width:0;font-size:12px!important;padding:8px!important}#bb-app .appointment{display:flex;align-items:flex-start;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}#bb-app .appointment-time{padding:12px;background:var(--rose);border-radius:10px;flex-shrink:0;text-align:center;min-width:66px}#bb-app .appointment-time strong,#bb-app .appointment-time span{display:block;font-size:15px}#bb-app .appointment-time span{font-size:11px;color:var(--muted)}#bb-app .appointment-info{flex:1;min-width:0;overflow-wrap:anywhere}#bb-app .appointment-info h3{margin:6px 0}#bb-app .appointment-info p{font-size:13px;margin:8px 0}#bb-app .appointment-info small{font-size:11px;color:var(--muted)}#bb-app .appointment-actions{display:flex;flex-direction:column;gap:6px}#bb-app .appointment-actions button{font-size:11px;padding:8px 11px}#bb-app .cancelled{opacity:.65}#bb-app .empty{text-align:center;color:var(--muted);padding:60px 10px}#bb-app .empty>span{font-size:44px;color:#cfb2bf}#bb-app .empty h3{margin:16px}#bb-app .services-admin{display:grid;grid-template-columns:1fr 1fr;gap:22px}#bb-app .services-admin .card{margin:0}#bb-app .confirmation{max-width:650px;text-align:center;margin:60px auto;padding:50px 24px}#bb-app .success-mark{background:#eaf5ef;color:var(--green);border-radius:50%;font-size:30px;width:60px;height:60px;display:grid;place-items:center;margin:0 auto 24px}#bb-app .confirmation h1{font-size:38px}#bb-app .link-button{display:inline-block;text-decoration:none}#bb-app hr{border:0;border-top:1px solid var(--line);margin:25px 0}body:has(> #bb-app){margin:0;background:#fbf7f8}#bb-app .bb-loading{padding:40px} @media(max-width:950px){#bb-app .agenda-grid{grid-template-columns:1fr}#bb-app .agenda-heading{align-items:flex-start;flex-direction:column}#bb-app .agenda-grid>section:first-child{order:0}#bb-app .booking-grid{grid-template-columns:1.2fr 1fr}#bb-app .card{padding:23px}#bb-app .fields.two{gap:0 12px}} @media(max-width:700px){#bb-app .bb-shell{padding:0 16px 16px}#bb-app .bb-header{padding:20px 0;gap:14px;align-items:flex-start;flex-direction:column}#bb-app .bb-brand{font-size:22px}#bb-app nav{gap:18px;width:100%;font-size:12px;flex-wrap:wrap}#bb-app nav .ghost{margin-left:auto;padding:8px 11px}#bb-app .page-title{padding:34px 0 22px}#bb-app h1{font-size:37px}#bb-app h2{font-size:24px}#bb-app .booking-grid,#bb-app .services-admin{grid-template-columns:1fr}#bb-app .booking-aside{position:static}#bb-app .card{padding:21px;border-radius:17px}#bb-app .fields.two{grid-template-columns:1fr}#bb-app .appointment{flex-wrap:wrap;gap:12px}#bb-app .appointment-actions{flex-direction:row;margin-left:78px}#bb-app .agenda-heading .actions{width:100%}#bb-app .agenda-heading .actions label{flex:1}#bb-app .agenda-heading h1{font-size:30px}#bb-app .service{padding:15px 12px;gap:10px}#bb-app .service b{font-size:12px}#bb-app .tabs{margin-right:-16px}#bb-app .tab{padding:10px 13px}}

#bb-app .bb-logo{width:76px;height:76px;object-fit:contain;flex-shrink:0;border-radius:12px;background:white}#bb-app .range-summary{padding:12px 14px;border-radius:12px;background:#edf6f0;color:#356b51;font-size:12px;margin:12px 0}#bb-app .range-summary:empty{display:none}#bb-app .range-summary strong,#bb-app .range-summary span,#bb-app .range-summary small{display:block}#bb-app .range-summary span{font-size:16px;margin:5px 0}#bb-app .base-hours{padding:16px;background:var(--rose);border-radius:12px;margin:20px 0}#bb-app .base-hours p{margin:12px 0 0}#bb-app .reservation-code{padding:20px;background:var(--rose);border-radius:14px;margin:22px 0;text-align:left}#bb-app .reservation-code strong,#bb-app .reservation-code small{display:block}#bb-app .reservation-code code{display:block;font-size:16px;overflow-wrap:anywhere;margin:12px 0;user-select:all;color:var(--accent-dark)}#bb-app .reservation-code small{font-size:12px;color:var(--muted)}#bb-app .service-list{min-width:0}#bb-app .service b{max-width:100%;overflow-wrap:anywhere}#bb-app .actions>button{max-width:100%}@media(max-width:850px){#bb-app .booking-grid{grid-template-columns:1fr}#bb-app .booking-aside{position:static}}@media(max-width:380px){#bb-app .bb-shell{padding-left:12px;padding-right:12px}#bb-app .card{padding:16px}#bb-app .bb-brand{font-size:20px}#bb-app .bb-logo{width:60px;height:60px}#bb-app .service{flex-wrap:wrap}#bb-app .service b{margin-left:28px}#bb-app .slots{grid-template-columns:repeat(3,minmax(0,1fr))}#bb-app .bb-header nav{gap:12px}}
/* Customer history, status controls and longer private reservation codes. */
#bb-app .appointment{flex-wrap:wrap}#bb-app .appointment-info{min-width:0;overflow-wrap:anywhere}#bb-app .appointment-actions{flex-wrap:wrap;max-width:100%}#bb-app .appointment-actions button{max-width:100%;white-space:normal}#bb-app .appointment>div{min-width:0;overflow-wrap:anywhere}#bb-app .actions .link-button{max-width:100%;white-space:normal}#bb-app .confirmation .link-button{display:inline-block;margin:6px}#bb-app .reservation-code{max-width:100%}@media(max-width:600px){#bb-app .appointment-actions{margin-left:0;width:100%}#bb-app .appointment-actions button{flex:1 1 120px}}
/* 1.4: intrinsic widths must never force controls outside their grid cell. */
#bb-app{width:100%;max-width:100%;overflow-wrap:anywhere}#bb-app .bb-shell{width:100%;min-width:0}#bb-app form,#bb-app label,#bb-app section,#bb-app aside,#bb-app .card,#bb-app .fields,#bb-app .fields>*{min-width:0;max-width:100%}#bb-app .booking-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}#bb-app .agenda-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}#bb-app .services-admin,#bb-app .fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}#bb-app input:not([type=checkbox]),#bb-app select,#bb-app textarea{box-sizing:border-box;min-width:0;width:100%;inline-size:100%;max-inline-size:100%;font-size:16px}#bb-app input[type=date],#bb-app input[type=time]{appearance:none;-webkit-appearance:none;display:block;overflow:hidden}#bb-app input::-webkit-date-and-time-value{text-align:left;min-width:0}#bb-app .weekly-range input{flex:1 1 0;width:0;min-width:0;font-size:16px!important}#bb-app .weekly-range button{flex:0 0 38px;padding:8px}#bb-app .check{overflow-wrap:anywhere}#bb-app .check input{inline-size:17px;max-inline-size:17px}#bb-app .actions>*,#bb-app .agenda-heading .actions>*{min-width:0;max-width:100%}#bb-app button,#bb-app .link-button{white-space:normal;overflow-wrap:anywhere}#bb-app .message-editor{display:flex;flex-direction:column;gap:8px;padding:12px 0}#bb-app .locked-token{display:inline-block;align-self:flex-start;max-width:100%;padding:5px 9px;border:1px solid #cbd8cf;border-radius:7px;background:#edf6f0;color:#356b51;font:13px monospace;overflow-wrap:anywhere}#bb-app .message-item{border-bottom:1px solid var(--line);padding:12px 0}#bb-app .message-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.6 system-ui,sans-serif;background:var(--rose);padding:14px;border-radius:10px}#bb-app .just-saved{outline:2px solid var(--green);outline-offset:3px}#bb-app .message-log{overflow:auto;max-width:100%}#bb-app .message-log table{width:100%;border-collapse:collapse;font-size:13px}#bb-app .message-log td,#bb-app .message-log th{padding:8px;text-align:left;border-bottom:1px solid var(--line)}
@media(max-width:950px){#bb-app .agenda-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:850px){#bb-app .booking-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){#bb-app .fields.two,#bb-app .services-admin{grid-template-columns:minmax(0,1fr)}#bb-app .agenda-heading .actions label{flex:1 1 100%;width:100%}#bb-app .agenda-heading .actions{display:flex;flex-wrap:wrap}#bb-app .bb-header{flex-wrap:wrap}#bb-app .bb-header nav{width:100%;flex-wrap:wrap;gap:12px}#bb-app .slots{grid-template-columns:repeat(3,minmax(0,1fr))}#bb-app .appointment-info{flex:1 1 160px}#bb-app .tabs{max-width:100%;margin-right:0}#bb-app .tab{flex:0 0 auto}#bb-app .narrow{width:100%}#bb-app .weekly-range{width:100%}#bb-app .appointment>button{width:100%}}
#bb-app .check>span{flex:1;min-width:0;overflow-wrap:anywhere}#bb-app .check>span a{display:inline}
