:root{color-scheme:dark;--green:#22c55e;--green-hi:#4ade80;--bg:#07100b;--panel:#0c1710;--surface:#111e16;--surface-hi:#16251b;--text:#f1f8f3;--muted:#9fb0a5;--border:rgba(255,255,255,.1);--danger:#fca5a5;--warning:#fcd34d;--sidebar:280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 5% 0,rgba(34,197,94,.11),transparent 34rem),var(--bg);color:var(--text)}button,input,textarea{font:inherit}button,a{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(32px,4vw,50px);line-height:1.02;letter-spacing:-.045em}h2{margin-bottom:8px;font-size:20px;letter-spacing:-.02em}p{color:var(--muted);line-height:1.55}.hidden{display:none!important}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 16px;color:#041008;background:var(--green);border-radius:10px;font-weight:800}.skip-link:focus{top:16px}
.auth-shell{min-height:100vh}.auth-brand{display:block;width:76px;margin:22px auto 12px}.auth-brand img,.workspace-brand img,.mobile-workspace-header img{display:block;width:100%;height:auto;object-fit:contain}.card{width:min(calc(100% - 32px),520px);margin:32px auto;padding:32px;background:rgba(15,26,18,.96);border:1px solid var(--border);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.32)}.login-card{margin-top:12px}.loading-card{text-align:center}.lede{margin-bottom:26px}.eyebrow{margin-bottom:9px;color:#87eba6;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.fine-print{margin:16px 0 0;font-size:13px;text-align:center}.fine-print a,.sidebar-footer a{color:#bff7cf}.spinner{width:30px;height:30px;margin:0 auto 14px;border:3px solid rgba(255,255,255,.14);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
form{display:grid;gap:16px}label{display:grid;gap:7px;color:#dce8df;font-size:13px;font-weight:700}label small{color:var(--muted);font-weight:500}input,textarea{width:100%;min-height:48px;padding:11px 13px;color:var(--text);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:11px}textarea{resize:vertical}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;color:#031108;background:var(--green);border:1px solid var(--green);border-radius:12px;font-weight:850;text-decoration:none;cursor:pointer}.button:hover{background:var(--green-hi)}.button:disabled{cursor:wait;opacity:.6}.button-secondary{color:#caf8d7;background:transparent;border-color:rgba(74,222,128,.38)}.button-secondary:hover{background:rgba(34,197,94,.09)}.compact{width:auto;min-height:43px;padding:9px 15px;font-size:13px}.text-button,.link-button{min-height:42px;padding:4px;color:#bff7cf;background:none;border:0;font-weight:750;cursor:pointer}.icon-button{width:42px;height:42px;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:10px;font-size:24px;cursor:pointer}.button:focus-visible,.text-button:focus-visible,.link-button:focus-visible,.nav-item:focus-visible,.filter:focus-visible,.menu-toggle:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(74,222,128,.62);outline-offset:3px}.message{margin:10px 0;padding:12px 14px;color:#dcfce7;background:rgba(34,197,94,.09);border:1px solid rgba(34,197,94,.28);border-radius:11px;font-size:13px}.message.error{color:#fecaca;background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}
.workspace{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.workspace-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar);display:flex;flex-direction:column;padding:24px 18px;background:rgba(8,18,11,.96);border-right:1px solid var(--border);backdrop-filter:blur(18px)}.workspace-brand{width:72px;margin:0 8px 25px}.identity{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;padding:0 8px 22px;border-bottom:1px solid var(--border)}.avatar{display:grid;place-items:center;width:46px;height:46px;color:#04210d;background:var(--green);border-radius:14px;font-size:18px;font-weight:900}.avatar.large{width:66px;height:66px;border-radius:20px;font-size:25px}.identity strong,.identity span,.identity small{display:block;overflow:hidden;text-overflow:ellipsis}.identity span{margin-top:2px;color:var(--muted);font-size:12px}.identity small{margin-top:4px;color:#8ee8aa;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.workspace-nav{display:grid;gap:4px;padding-block:20px;overflow:auto}.nav-item{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;min-height:45px;padding:9px 12px;color:#aebdb3;background:transparent;border:0;border-radius:11px;text-align:left;font-size:13px;font-weight:720;cursor:pointer}.nav-item span{font-size:17px;text-align:center}.nav-item:hover{color:white;background:rgba(255,255,255,.04)}.nav-item.current{color:#d7fbe1;background:rgba(34,197,94,.12)}.sidebar-footer{display:grid;gap:6px;margin-top:auto;padding:16px 8px 0;border-top:1px solid var(--border)}.sidebar-footer a{font-size:12px;text-decoration:none}.sidebar-footer .text-button{text-align:left}.workspace-main{grid-column:2;min-width:0}.mobile-workspace-header{display:none}.workspace-content{width:min(calc(100% - 64px),1180px);margin:0 auto;padding:50px 0 90px;outline:none}.workspace-panel{animation:panel-in .25s ease both}@keyframes panel-in{from{opacity:0;transform:translateY(5px)}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading>div:first-child{max-width:720px}.page-heading p:last-child{margin-bottom:0}.surface{padding:24px;background:linear-gradient(145deg,rgba(18,31,22,.98),rgba(13,24,17,.98));border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.16)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric-grid article{padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:17px}.metric-grid span,.metric-grid small{display:block;color:var(--muted);font-size:12px}.metric-grid strong{display:block;margin:14px 0 4px;font-size:35px;line-height:1}.overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:18px}.overview-stack{display:grid;gap:18px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.compact-list{display:grid}.empty-state{padding:28px 8px;color:var(--muted);text-align:center}.compact-booking,.appointment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:17px 0;border-top:1px solid var(--border)}.compact-booking:first-child,.appointment-row:first-child{border-top:0}.booking-primary strong,.booking-primary span,.booking-primary small{display:block}.booking-primary span{margin-top:5px;color:var(--muted);font-size:13px}.booking-primary small{margin-top:4px;color:#7f9185;font-size:11px}.booking-time{text-align:right}.booking-time strong,.booking-time span{display:block}.booking-time span{margin-top:5px;color:var(--muted);font-size:12px}.status-badge{display:inline-flex;width:max-content;padding:6px 9px;color:#c8f8d6;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.28);border-radius:999px;font-size:11px;font-weight:850;text-transform:capitalize}.status-badge.warning{color:var(--warning);background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3)}.status-badge.danger{color:var(--danger);background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}
.filter-group{display:flex;gap:5px;padding:4px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px}.filter{min-height:36px;padding:7px 12px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:12px;font-weight:750;cursor:pointer}.filter.active{color:#d8fbe2;background:rgba(34,197,94,.15)}.appointment-list{padding:8px 24px}.appointment-row{grid-template-columns:minmax(0,1.2fr) minmax(130px,.55fr) auto;align-items:center}.appointment-actions{display:flex;gap:7px}.mini-button{min-height:36px;padding:7px 10px;color:#c8f8d6;background:transparent;border:1px solid rgba(74,222,128,.3);border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}.mini-button.danger{color:#fecaca;border-color:rgba(248,113,113,.28)}
.editor-form{margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}fieldset{padding:16px;border:1px solid var(--border);border-radius:13px}legend{padding:0 7px;color:#dce8df;font-size:13px;font-weight:750}.form-actions{display:flex;gap:10px;align-items:center}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-card{display:flex;flex-direction:column;min-height:210px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.service-card p{font-size:13px}.service-meta{display:flex;gap:10px;margin-top:auto;padding-top:14px;color:#b7c7bc;font-size:12px}.service-actions{display:flex;gap:7px;margin-top:15px}.hours-list{display:grid}.hours-row{display:grid;grid-template-columns:130px 100px 1fr 1fr;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.hours-row:first-child{border-top:0}.hours-row>strong{font-size:13px}.closed-toggle{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:7px}.closed-toggle input{width:18px;min-height:18px;margin:0}.hours-row input[type=time]{min-height:42px}.profile-avatar-row{display:flex;gap:15px;align-items:center;margin-bottom:8px}.profile-avatar-row strong,.profile-avatar-row span{display:block}.profile-avatar-row span{margin-top:5px;color:var(--muted);font-size:12px}.billing-summary{display:grid;gap:10px;margin-bottom:16px}.billing-summary dl{display:grid;grid-template-columns:180px 1fr;gap:12px;margin:8px 0}.billing-summary dt{color:var(--muted)}.billing-summary dd{margin:0;font-weight:750}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.security-grid .danger-zone{grid-column:1/-1}.security-grid p{overflow-wrap:anywhere}
@media(max-width:1040px){:root{--sidebar:245px}.workspace-content{width:min(calc(100% - 40px),1040px)}.metric-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.appointment-row{grid-template-columns:1fr auto}.appointment-actions{grid-column:1/-1}.service-list{grid-template-columns:1fr}}
@media(max-width:760px){.auth-brand{width:66px}.card{padding:25px}.workspace{display:block}.workspace-sidebar{inset:72px 0 auto 0;width:auto;max-height:calc(100vh - 72px);padding:16px 18px 22px;transform:translateY(-120%);visibility:hidden;transition:transform .22s ease,visibility .22s;background:#09150d;border-right:0;border-bottom:1px solid var(--border)}.workspace-sidebar.open{transform:none;visibility:visible}.workspace-brand,.workspace-sidebar .identity{display:none}.workspace-nav{padding:0}.sidebar-footer{margin-top:10px}.mobile-workspace-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:72px;padding:6px 18px;background:rgba(7,16,11,.94);border-bottom:1px solid var(--border);backdrop-filter:blur(15px)}.mobile-workspace-header a{width:58px}.menu-toggle{min-width:72px;min-height:42px;color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:11px;font-weight:750}.workspace-main{display:block}.workspace-content{width:min(calc(100% - 28px),680px);padding:32px 0 70px}.page-heading{align-items:stretch;flex-direction:column;margin-bottom:23px}.page-heading .compact{align-self:flex-start}h1{font-size:clamp(32px,10vw,43px)}.metric-grid{gap:9px}.metric-grid article{padding:16px}.metric-grid strong{font-size:29px}.surface{padding:19px}.filter-group{align-self:flex-start}.appointment-list{padding:5px 18px}.appointment-row{grid-template-columns:1fr}.booking-time{text-align:left}.form-grid{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr 1fr;gap:8px}.hours-row>strong{grid-column:1/-1}.hours-row .closed-toggle{grid-column:1/-1}.security-grid{grid-template-columns:1fr}.security-grid .danger-zone{grid-column:auto}}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr 1fr}.metric-grid article{min-width:0}.metric-grid span,.metric-grid small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duration-grid{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column}.form-actions .button{width:100%}.billing-summary dl{grid-template-columns:1fr;gap:3px}.compact-booking{grid-template-columns:1fr}.booking-time{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}

/* Read-only provider portfolio. */
.catalog-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;margin-top:20px}.catalog-card{min-width:0;margin:0;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.catalog-card img{display:block;width:100%;height:250px;object-fit:contain;background:var(--bg);border-radius:10px}.catalog-card figcaption{margin:12px 0 6px;color:var(--text);font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.catalog-original{display:inline-flex;align-items:center;min-height:44px;color:#bff7cf;font-size:13px;font-weight:750}.catalog-unavailable{display:grid;place-items:center;min-height:180px;padding:20px;border:1px dashed var(--border);border-radius:10px;text-align:center}

/* Focused subscription route compatibility inside the shared account visual system. */
.shell{width:min(calc(100% - 32px),720px);margin:0 auto;padding:24px 0 60px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:68px;margin-bottom:25px}.brand{display:block;width:68px}.brand img{display:block;width:100%;height:auto}.back-link{color:#c7f9d5;font-size:13px;font-weight:750;text-decoration:none}.shell>#subscription-content>h1,.shell>#subscription-content>.lede,.shell>#subscription-content>.eyebrow{padding-inline:3px}.plan-line{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--border)}.plan-name{font-size:18px;font-weight:850}.price{color:var(--muted);font-size:13px;text-align:right}.details{display:grid;gap:12px;margin:18px 0}.detail-row{display:flex;gap:16px;justify-content:space-between}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right}.billing-actions{display:grid;gap:10px;margin-top:22px}.notice{margin:14px 0 0;padding:12px 14px;color:#dcfce7;background:rgba(34,197,94,.09);border:1px solid rgba(34,197,94,.28);border-radius:11px}.shell .status-badge{margin:20px 0 12px}.shell .status-badge.problem{color:var(--warning);background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3)}.shell .status-badge.locked{color:var(--danger);background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3)}#billing-offer{overflow-wrap:anywhere}#billing-offer h3{margin-top:24px}#billing-offer .terms-check{grid-template-columns:22px minmax(0,1fr);align-items:start;margin:18px 0}#billing-offer .terms-check input{width:18px;min-height:18px;margin:2px 0 0}#billing-offer .button{width:100%}#offer-policies{padding-left:22px}#offer-policies li{margin:8px 0}#offer-policies a,#billing-support a{color:#bff7cf}
