/* Business workspace: brand navigation, stable controls and semantic states. */
:root[data-appearance=business] .app-shell,
:root[data-appearance=business] .modal-mask{
 --theme-action:var(--panel-action,#4754E6);--theme-secondary:#007BA9;
 --theme-soft:var(--panel-soft,#EEF0FF);--theme-soft-secondary:var(--line);--accent:var(--panel-action,#4754E6);
}
:root[data-appearance=business] .app-shell .btn:not(.secondary,.outline,.danger,.success,.warning,.orange),
:root[data-appearance=business] .modal-mask .btn:not(.secondary,.outline,.danger,.success,.warning,.orange){background:var(--panel-action,#4754E6);color:var(--panel-on-action,#FFF)}
:root[data-appearance=business] .app-shell .sidebar.sidebar{background:linear-gradient(155deg,var(--brand-sidebar,#4754E6),var(--brand-sidebar-end,#6250DF));color:var(--brand-on-sidebar,#FFF)}
:root[data-appearance=business] .app-shell .sidebar .navlink,
:root[data-appearance=business] .app-shell .sidebar .side-title,
:root[data-appearance=business] .app-shell .sidebar .user-card span,
:root[data-appearance=business] .app-shell .sidebar .store-box span,
:root[data-appearance=business] .app-shell .sidebar .logo b{color:var(--brand-on-sidebar,#FFF)}
:root[data-appearance=business] .app-shell .sidebar .store-box,
:root[data-appearance=business] .app-shell .sidebar select,
:root[data-appearance=business] .app-shell .sidebar .btn{background:color-mix(in srgb,var(--brand-on-sidebar) 8%,transparent);border-color:color-mix(in srgb,var(--brand-on-sidebar) 24%,transparent);color:var(--brand-on-sidebar)}
:root[data-appearance=business] .app-shell .sidebar .store-icon,
:root[data-appearance=business] .app-shell .sidebar .avatar{background:color-mix(in srgb,var(--brand-on-sidebar) 12%,transparent);color:var(--brand-on-sidebar)}
:root[data-appearance=business] .app-shell .sidebar .navlink:hover:not(.active){background:color-mix(in srgb,var(--brand-on-sidebar) 10%,transparent);color:var(--brand-on-sidebar)}
:root[data-appearance=business] .app-shell .sidebar .navlink.active{background:var(--bg);color:var(--ink);box-shadow:none}
:root[data-appearance=business] .app-shell .sidebar .navlink.active .i{color:var(--panel-action)}
:root[data-appearance=business] .app-shell .sidebar .user-card{border-color:color-mix(in srgb,var(--brand-on-sidebar) 22%,transparent)}
.appearance-preview aside{background:var(--preview-sidebar);color:var(--preview-on-sidebar)}
.appearance-preview .preview-selected{background:var(--preview-surface);color:var(--preview-ink)}
.appearance-preview .preview-card{border-color:#DDE1EF}
/* States are never recoloured by a business palette. */
.app-shell .badge.cancelled,.app-shell .badge.no_show,.public-shell .badge.cancelled{background:#E51D4F;color:#FFF;border-color:#E51D4F}
.app-shell .badge.completed,.app-shell .badge.confirmed,.public-shell .badge.confirmed{background:var(--atry-success,#22C55E);color:#FFF;border-color:var(--atry-success,#22C55E)}
.app-shell .badge.pending{background:#F2C94C;color:#493500;border-color:#F2C94C}
.app-shell .badge{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:5px 9px;font-size:10px;font-weight:650;line-height:1.35;white-space:normal;max-width:100%;overflow-wrap:normal}
.app-shell .calendar-event.cancelled,.app-shell .calendar-event.no_show{opacity:1;text-decoration:none}
/* Comfortable action spacing for all card footers and table actions. */
.card-footer-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:22px;margin-top:6px}
.card>.actions:last-child,.card>.btn:last-child,.card>.row:last-child:has(>.btn){margin-top:20px}
.upcoming-list .activity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding:17px 0;line-height:1.6}
.upcoming-list .activity>span:last-child{font-size:13px;color:var(--muted)}
.upcoming-list .activity:last-child{border-bottom:0}
/* Calendar density follows available content width, not full monitor width. */
.calendar-surface{container-type:inline-size;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 12px 34px #17204406}
.calendar-grid.month,.calendar-grid.week{gap:10px;align-items:stretch}
.calendar-weekday{text-align:center;padding:8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.calendar-grid .calendar-day{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;min-height:124px;overflow:visible}
.calendar-grid .calendar-day.outside-month{background:var(--surface3);opacity:.6}
.calendar-grid .calendar-day.today-cell{border-color:var(--panel-action);box-shadow:inset 0 0 0 1px var(--panel-action)}
.calendar-date{font-size:11px;line-height:1.5;min-height:32px;width:100%;text-align:left;padding:3px 1px;white-space:normal}
.app-shell .calendar-grid .calendar-event,.app-shell .day-events .calendar-event{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;min-width:0;border:1px solid var(--line);border-left:3px solid #4754E6;background:var(--surface);color:var(--ink);padding:12px;margin:10px 0 0;border-radius:12px;text-align:left;box-shadow:0 3px 12px #17204406;transition:border-color .16s ease,box-shadow .16s ease}
.app-shell .calendar-event:hover{border-color:#8C95EA;box-shadow:0 6px 18px #4754E615}
.calendar-event .event-time{font:650 12px/1.4 system-ui,sans-serif;color:var(--panel-action);letter-spacing:.02em}
.calendar-event strong{font:650 12px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
.calendar-event .event-service,.calendar-event .event-staff{font:400 11px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
.calendar-event .event-staff{color:var(--muted)}
.app-shell .calendar-event.completed,.app-shell .calendar-event.confirmed{border-left-color:var(--atry-success,#22C55E)}
.app-shell .calendar-event.cancelled,.app-shell .calendar-event.no_show{border-left-color:#E51D4F}
.app-shell .calendar-event.pending{border-left-color:#C3920D}
.calendar-event .badge{align-self:flex-start;margin-top:3px;font-size:10px!important;padding:5px 8px!important}
.agenda-filters{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-wrap:wrap;align-items:end;gap:14px}
.agenda-filters label{flex:1 1 150px;min-width:0}.agenda-filters form{flex:2 1 260px;min-width:0;gap:10px}.agenda-filters form input{min-width:0;flex:1;width:100%}
.agenda-toolbar{gap:10px;flex-wrap:wrap;align-items:center;padding:4px 0}.agenda-toolbar>input{max-width:100%;min-width:0}
.day-events{display:grid;gap:16px}.day-events .card{margin:0}.day-events .row{gap:20px;align-items:flex-start}.day-events .calendar-event{margin:0!important;flex:1}.day-events .row>div{display:flex;gap:10px;flex-wrap:wrap;padding-top:8px}
@container(max-width:1000px){.calendar-grid.month,.calendar-grid.week{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-weekday{display:none}.calendar-grid .calendar-day{padding:12px}}
@container(max-width:650px){.calendar-grid.month,.calendar-grid.week{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:400px){.calendar-grid.month,.calendar-grid.week{grid-template-columns:1fr}}
@media(max-width:600px){.calendar-surface{padding:12px;border-radius:18px}.upcoming-list .activity{grid-template-columns:1fr;gap:5px}.card-footer-actions>.btn{width:100%}.agenda-filters{padding:14px}.agenda-filters form{flex-basis:100%;flex-wrap:wrap}.agenda-toolbar>span{flex-basis:100%;order:5;line-height:1.6}.day-events .row{flex-direction:column}.day-events .row>div{width:100%}.day-events .row>div>.btn{flex:1}}
@media(prefers-reduced-motion:reduce){.app-shell .calendar-event{transition:none}}
.agenda-toolbar{display:flex!important;flex-wrap:wrap;gap:10px;align-items:center}
.agenda-toolbar>input[type=date]{width:190px;flex:0 1 190px;min-width:150px}
.agenda-toolbar>.btn{flex-shrink:0}
@media(max-width:600px){.agenda-toolbar>input[type=date]{width:auto;flex:1 1 150px}.agenda-toolbar>.grow{min-width:0;flex-basis:100%}}
:root[data-appearance=business] .app-shell{--primary:var(--panel-action);--accent2:#007BA9;--brand-focus:var(--panel-action)}
/* Keep the administrator identity circular on every surface and breakpoint. */
.account-avatar.account-avatar--atry{background:#FFF!important;border:1px solid #E7EAF2!important;border-radius:50%!important;aspect-ratio:1;padding:0!important}
.account-avatar.account-avatar--atry img{width:78%;height:78%;object-fit:contain}
/* iOS standalone status bar and home indicator belong to the drawer surface. */
@media(max-width:1000px){
 html:has(.cc-sidebar.open),body:has(.cc-sidebar.open){background:#4754E6}
 body:has(.sidebar.open){overflow:hidden;overscroll-behavior:none}
 .cc-shell .cc-sidebar.sidebar,.app-shell .sidebar.sidebar{inset:0 auto 0 0;height:100vh;height:100dvh;max-height:100dvh;padding-top:calc(28px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));padding-left:calc(18px + env(safe-area-inset-left,0px));overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
 .cc-shell .cc-sidebar.sidebar>.sidebar-close,.app-shell .sidebar.sidebar>.sidebar-close{top:calc(14px + env(safe-area-inset-top,0px));right:14px}
 .cc-shell .cc-main{padding-top:calc(20px + env(safe-area-inset-top,0px))}
 .app-shell .topbar{padding-top:calc(18px + env(safe-area-inset-top,0px))}
 .sidebar-backdrop{inset:0;height:100vh;height:100dvh}
}
/* Forms must size to their grid cell, including long submit labels. */
.cc-shell .cc-filters>*{min-width:0;max-width:100%;box-sizing:border-box}
.cc-shell .cc-filters>.field{width:100%;margin:0;align-self:end}
.cc-shell .cc-filters label:has(input[name=reason]){grid-column:1/-1}
.cc-shell .cc-filters>.btn{grid-column:1/-1;justify-self:start;white-space:normal;overflow-wrap:anywhere;line-height:1.45;max-width:100%;min-width:0}
.cc-shell .btn,.modal:has([data-cc-form]) .btn,.modal:has([data-commercial-form]) .btn{white-space:normal;max-width:100%;min-width:0;overflow-wrap:break-word;line-height:1.45}
.cc-shell input,.cc-shell select,.cc-shell textarea{box-sizing:border-box;max-width:100%;min-width:0}
@media(max-width:600px){
 .cc-shell .cc-filters{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}
 .cc-shell .cc-filters>.btn{width:100%;justify-self:stretch;min-height:46px}
 .cc-shell .cc-filters label,.cc-shell .cc-filters .field{gap:8px;line-height:1.5}
 .cc-shell .cc-facts{gap:18px}
}
/* Prevent scrolling content from showing through the iOS status bar. */
@media(max-width:1000px){
 body:has(.cc-shell)::before{content:'';position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:#F5F6FC;z-index:40;pointer-events:none}
 body:has(.cc-sidebar.open)::before{background:#4754E6}
}
.cc-business-list{display:grid;gap:12px;margin:20px 0}.cc-business-entry{display:grid;grid-template-columns:48px minmax(180px,1.7fr) minmax(120px,1fr) minmax(160px,1fr) auto;gap:18px;align-items:center;padding:22px;background:#FFF;border:1px solid #E4E7F3;border-radius:20px;color:#252B50;text-decoration:none;box-shadow:0 7px 24px #20255905;transition:border-color .18s,transform .18s}.cc-business-entry:hover{border-color:#9BA4F1;transform:translateY(-2px)}.cc-business-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#EEF0FF;color:#4754E6;flex-shrink:0}.cc-business-mark .i{width:24px;height:24px}.cc-business-entry strong{display:block;font-size:14px;line-height:1.5}.cc-business-entry small{display:block;font-size:11px;color:#727A94;margin-top:7px;line-height:1.5;overflow-wrap:anywhere}.cc-business-open{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:650;color:#4754E6}.cc-business-hero{background:linear-gradient(115deg,#23296D,#3B46B7);color:#FFF;padding:30px;border-radius:24px;margin:20px 0}.cc-business-heading{display:flex;gap:18px;align-items:center}.cc-business-heading>div{flex:1;min-width:0}.cc-business-heading h2{font-size:26px;margin:9px 0;overflow-wrap:anywhere}.cc-business-heading .eyebrow{color:#BCEAF3}.cc-business-heading p{margin:0;color:#D4DAFF;font-size:12px}.cc-business-heading .cc-business-mark{background:#FFFFFF17;color:#FFF}.cc-subscription-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:20px;align-items:center;border-top:1px solid #FFFFFF24;margin-top:26px;padding-top:25px}.cc-subscription-summary span{display:block;color:#CDD3FC;font-size:11px;margin-bottom:8px}.cc-subscription-summary strong{display:block;font-size:14px;line-height:1.5}.cc-subscription-summary>.btn{background:#FFF;color:#29337D;min-height:44px}.cc-business-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cc-business-detail-grid>.cc-panel{margin:0}.cc-business-detail-grid .cc-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.cc-delete-zone{display:flex;gap:24px;align-items:center;justify-content:space-between;border-color:#F1CDD6!important}.cc-delete-zone h2{color:#9B2647;margin:10px 0}.cc-delete-zone p{font-size:12px;color:#71758B;max-width:660px;line-height:1.7}.cc-delete-zone .eyebrow{color:#B53152;font-size:9px}.cc-delete-zone>.btn{flex-shrink:0}.cc-back{display:inline-flex;align-items:center;gap:8px}.settings-tabs.workspace-tabs{margin-bottom:24px}.settings-tabs.workspace-tabs button{font-family:inherit}.settings-tabs.workspace-tabs button[aria-current]{background:#EEF0FF;color:#252B62;border-color:transparent}
@media(max-width:1200px){.cc-business-entry{grid-template-columns:42px minmax(0,1fr) minmax(120px,1fr)}.cc-business-entry>.cc-business-open{grid-column:2/-1}.cc-subscription-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.cc-subscription-summary>.btn{grid-column:1/-1;justify-self:start}.cc-business-detail-grid{grid-template-columns:1fr}}
@media(max-width:600px){.cc-business-entry{grid-template-columns:40px minmax(0,1fr);padding:18px;gap:12px}.cc-business-entry>.cc-business-plan,.cc-business-entry>span:nth-child(4){grid-column:2}.cc-business-mark{width:40px;height:40px}.cc-business-hero{padding:22px}.cc-business-heading{align-items:start;flex-wrap:wrap}.cc-business-heading h2{font-size:23px}.cc-subscription-summary{grid-template-columns:1fr;gap:18px}.cc-subscription-summary>.btn{width:100%;justify-self:stretch}.cc-delete-zone{align-items:stretch;flex-direction:column}.cc-business-detail-grid .cc-facts{grid-template-columns:1fr}.settings-tabs.workspace-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap}.settings-tabs.workspace-tabs button{flex:0 0 auto;white-space:nowrap}}
.demo-notice{position:relative;z-index:45;display:flex;flex-wrap:wrap;align-items:center;gap:9px 18px;background:#FFF6D8;color:#5A4300;border-bottom:1px solid #EED692;padding:13px 22px;font:12px/1.6 system-ui,sans-serif}.demo-notice strong{font-size:13px}.demo-notice nav{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto}.demo-notice a{color:#493700;font-weight:650;text-decoration:underline}.demo-notice~.app-shell,.demo-notice~.public-shell{min-height:calc(100svh - 70px)}
@media(max-width:600px){.demo-notice{padding:12px 16px;font-size:11px}.demo-notice nav{margin:0;width:100%}}

.admin-identity-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line,#e0e4ed);border-radius:24px;padding:28px;background:var(--surface,#fff);color:var(--ink,#202644);box-shadow:0 24px 80px #11132b30}.admin-identity-dialog::backdrop{background:#14172b70;backdrop-filter:blur(4px)}.admin-identity-dialog h2{font-size:21px;margin:0}.admin-identity-dialog label{display:grid;gap:8px}.admin-identity-dialog input{width:100%;min-width:0}.admin-identity-dialog [role=status]:empty{display:none}

.admin-identity-dialog{--surface:#fff;--ink:#202644;--muted:#65708b;--line:#dfe3f0;background:#fff;color:#202644}.admin-identity-dialog input{background:#f7f8fc;color:#202644;border:1px solid #dfe3f0}.admin-identity-dialog .btn[type=submit]{background:#4d4ce8;color:#fff;border-color:#4d4ce8}.admin-identity-dialog .btn.secondary{background:#f4f5fc;color:#35365c;border-color:#dfe3f0}

.sidebar-plan-access{display:flex;align-items:center;gap:10px;padding:12px 10px;margin-bottom:12px;border:1px solid #ffffff20;border-radius:13px;color:#fff;text-decoration:none;min-width:0;background:#ffffff08}.sidebar-plan-access:hover{background:#ffffff16}.sidebar-plan-access strong{display:block;font-size:11px;line-height:1.5}.sidebar-plan-access small{display:block;font-size:10px;line-height:1.5;opacity:.8}.sidebar-plan-access>.i{width:14px;flex-shrink:0;opacity:.65}.plan-access-dot{width:7px;height:7px;border-radius:50%;background:var(--atry-success);flex-shrink:0}.is-expiring .plan-access-dot{background:#F2C94C}.is-restricted .plan-access-dot{background:#FF6C8A}.subscription-renewal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#72540C;background:#FFF8DC;border:1px solid #F0E2AD;border-radius:12px;padding:12px 15px;margin-bottom:20px}.subscription-renewal>.i{width:16px;flex-shrink:0}.subscription-renewal a{margin-left:auto;color:#72540C;font-weight:650}.sidebar-plan-access:focus-visible{outline:2px solid #fff;outline-offset:3px}
