/* Hourmeet workspace — composition inspired by WowDash Medical/Calendar. */
:root{--ink:#172554;--muted:#738198;--line:#e8ecf3;--bg:#f7f8fc;--brand:#315bdf}.demo{background:#edf1f9;color:#758197;padding:5px 12px;font-size:11px}.shell{grid-template-columns:236px minmax(0,1fr)}.side{position:sticky;top:0;height:100vh;background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:30px 16px;gap:28px;overflow:auto}.side:before{display:none}.logo{color:var(--ink);font-size:28px}.logo span{color:#315bdf}.side small{color:#8a95a8;font-size:10px;letter-spacing:1.2px}.nav{gap:7px}.nav button,.nav-public{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:14px;color:#718098;border-radius:999px;text-decoration:none}.nav button img{opacity:.55;flex:none}.nav button:hover,.nav button.active{background:#edf2ff;color:#315bdf}.nav button.active{font-weight:700}.nav button.active img{opacity:1}.sidefoot{color:#8a95a8;border-top:1px solid var(--line);padding-top:22px}.sidefoot strong{color:var(--ink)}.main{padding:0 32px 40px;background:var(--bg)}.top{margin:0 -32px 30px;padding:18px 32px;border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:84px;box-shadow:none}.top p{font-size:12px}.top strong{font-size:14px}.top label{font-size:12px}.top select{font-size:13px;background:#f7f8fc}.btn,.pill{min-height:40px;font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{transform:none;box-shadow:none;background:#f1f4fa}.btn.primary:hover{background:#264ac3}.btn:active{transform:scale(.98)}.card{border:1px solid var(--line);border-radius:14px;box-shadow:none;padding:24px}h1{font-size:30px;letter-spacing:-.9px}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:16px}.business-hero{padding:0;background:transparent!important;color:var(--ink);border-radius:0;overflow:visible}.business-hero:after{display:none}.business-hero h1{margin:8px 0}.business-hero .muted{color:var(--muted)}.business-hero .muted:first-child{font-size:12px}.business-hero .btn{background:#315bdf;border-color:#315bdf;color:white}.overview-stats{margin:26px 0;gap:18px}.stat-card{padding:22px 24px}.stat-card:after{display:none}.stat-card .muted{font-size:13px}.stat{font-size:34px;margin:8px 0;font-weight:700;line-height:1.2}.stat-detail,.stat-card .text-button{font-size:12px;color:var(--muted)}.stat-card .text-button{color:#315bdf;padding:0}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px;align-items:start}.dashboard-aside{gap:22px}.panel-heading{padding-bottom:16px;border-bottom:1px solid var(--line)}.panel-heading p,.panel-description{font-size:12px;margin-top:6px}.appointment-row{display:flex;align-items:center;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);min-width:0}.appointment-row:last-child{border:0}.appointment-row time{font-size:13px;font-weight:600;width:43px;flex:none}.appointment-row .avatar{width:38px;height:38px;font-size:12px;background:#edf2ff}.appointment-person{min-width:0;flex:1}.appointment-person strong{font-size:13px}.appointment-person p{font-size:12px;margin:3px 0}.appointment-person small{font-size:11px;color:#8e9bad}.appointment-end{display:grid;justify-items:end;gap:5px}.appointment-end .text-button{font-size:11px;padding:4px;color:#315bdf}.tag{font-size:10px;padding:4px 8px;white-space:nowrap}.request-row{padding:18px 0;border-bottom:1px solid var(--line)}.request-row:last-child{border:0;padding-bottom:0}.request-row strong{font-size:13px}.request-row p,.request-row small{font-size:12px;color:var(--muted)}.request-row .row{margin-top:12px}.request-row .btn{min-height:32px;padding:5px 16px;font-size:12px}.request-row .text-button{font-size:12px;color:#315bdf}.share-card{background:#f0f4ff}.share-card h3{margin:12px 0 8px;max-width:240px}.share-card p{font-size:12px}.profile-link{background:#fff;border:1px dashed #cbd6f2;border-radius:8px;padding:10px 12px;margin:16px 0;color:#315bdf;font-size:13px}.share-card .text-button{font-size:12px;color:#315bdf}.view-heading{margin-bottom:24px}.view-heading p{margin-top:8px}.agenda-workspace{padding:0;overflow:hidden}.agenda-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:20px;border-bottom:1px solid var(--line)}.agenda-toolbar h2{font-size:15px}.agenda-toolbar .row{gap:8px}.agenda-toolbar .btn{padding:5px 12px}.segmented{display:flex;background:#f0f3fa;padding:4px;border-radius:999px}.segmented button{border:0;background:transparent;color:#738198;border-radius:999px;font-size:12px;padding:8px 14px;transition:background .2s,color .2s}.segmented button.selected{background:#315bdf;color:#fff}.agenda-day{padding:0 24px;min-height:320px}.empty-state{padding:50px 20px;text-align:center;color:var(--muted);font-size:13px}.empty-state p{margin:10px 0 18px}.week-scroll{overflow-x:auto}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-height:420px}.week-column{border-right:1px solid var(--line);padding:8px}.week-column:last-child{border:0}.week-heading{display:grid;justify-items:center;gap:6px;background:transparent;border:0;color:var(--muted);width:100%;padding:14px 0 20px;font-size:12px}.week-heading strong{font-size:20px;color:var(--ink)}.week-event{display:grid;gap:5px;text-align:left;background:#edf2ff;border:0;border-left:3px solid #315bdf;border-radius:8px;padding:10px;width:100%;margin:8px 0;color:#243d80;font-size:11px}.week-event time{font-weight:700}.week-event span{font-size:10px}.week-event small{font-size:9px}.week-event.is-pending{background:#fff7e6;border-color:#e2af40;color:#856121}.no-events{text-align:center;font-size:11px;color:#a5afbf;margin-top:30px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-label{text-align:center;padding:15px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.month-day,.month-blank{min-height:95px;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:white;padding:12px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;color:var(--ink)}.month-day:hover{background:#f4f6fd}.month-day strong{font-size:12px}.month-day span{background:#edf2ff;border-radius:5px;padding:3px 6px;font-size:11px;color:#315bdf}.month-day.demo-today strong{background:#315bdf;color:white;border-radius:50%;padding:3px 6px}.month-day i{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.menu-toggle{display:none}.view.show{animation:workspace-in .28s cubic-bezier(.2,0,0,1)}@keyframes workspace-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.toast{background:#172554;max-width:calc(100vw - 32px)}.input{min-width:0;max-width:100%}.nav button[hidden]{display:none}button:focus-visible,a:focus-visible{outline:3px solid #9aaef1;outline-offset:3px}
@media(min-width:1500px){.main{padding-left:44px;padding-right:44px}.top{margin-left:-44px;margin-right:-44px;padding-left:44px;padding-right:44px}.dashboard-columns{grid-template-columns:minmax(0,2fr) minmax(310px,1fr)}}
@media(max-width:1150px){.shell{grid-template-columns:205px minmax(0,1fr)}.main{padding:0 22px 32px}.top{margin:0 -22px 26px;padding:16px 22px}.dashboard-columns{grid-template-columns:1fr}.dashboard-aside{grid-template-columns:1fr 1fr;align-items:start}.stat-card{padding:18px}.stat-detail{font-size:11px}}
@media(max-width:760px){.shell{display:block}.side{position:fixed;top:0;left:0;bottom:0;width:260px;height:100dvh;z-index:30;transform:translateX(-100%);transition:transform .25s cubic-bezier(.2,0,0,1);box-shadow:8px 0 40px #17255420;padding-top:32px;gap:24px}.side small,.sidefoot{display:block}.nav{display:grid;overflow:visible}.nav button{white-space:normal}.menu-open .side{transform:none}.menu-open:before{content:'';position:fixed;inset:0;background:#17255455;z-index:29}.menu-toggle{display:inline-flex;font-size:20px;padding:5px 12px}.main{padding:0 16px 32px;overflow:visible}.top{display:flex;flex-wrap:nowrap;align-items:center;margin:0 -16px 24px;padding:12px 16px;gap:12px;min-height:74px}.top>div:first-of-type{flex:1}.top p{font-size:11px}.top strong{font-size:12px}.top .row{margin:0}.top label{display:none}.top select{max-width:128px;min-height:36px;font-size:11px;padding:6px 9px}.business-hero h1{font-size:27px}.business-hero .row{gap:18px}.business-hero .muted:last-child{font-size:13px}.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0}.stat-card{padding:14px 10px;border-radius:12px}.stat-card .muted{font-size:10px;line-height:1.3;display:block;min-height:26px}.stat{font-size:25px}.stat-detail{font-size:10px;line-height:1.4;display:block}.stat-card .text-button{font-size:10px;text-align:left}.dashboard-columns{gap:16px}.dashboard-aside{grid-template-columns:1fr;gap:16px}.card{padding:20px}.agenda-workspace{padding:0}.day-card{padding:20px 16px}.panel-heading .btn{font-size:11px;padding:7px 12px}.appointment-row{gap:10px;padding:18px 0}.appointment-row .avatar{display:none}.appointment-person strong{font-size:12px}.appointment-person p{font-size:11px}.appointment-end .tag{font-size:9px}.appointment-end{max-width:100px}.appointment-row time{font-size:12px;width:38px}.share-card h3{max-width:none}.agenda-toolbar{padding:16px;gap:16px}.agenda-toolbar>.row{width:100%;justify-content:space-between}.agenda-toolbar h2{font-size:12px}.agenda-toolbar .pill{font-size:11px;max-width:155px;padding:7px 9px}.segmented button{padding:7px 10px;font-size:11px}.agenda-day{padding:0 16px}.month-label{padding:12px 3px;font-size:10px}.month-day,.month-blank{padding:8px 5px;min-height:67px;align-items:center}.month-day span{display:none}.month-day i{display:block;width:5px;height:5px;background:#315bdf;border-radius:50%}.view-heading{align-items:flex-start}.view-heading h1{font-size:26px}.view-heading p{font-size:12px}.modal .cols2{grid-template-columns:1fr 1fr}.modal-body{padding:22px}.modal input[type=time],.modal input[type=date]{appearance:none;min-height:44px;width:100%;font-size:14px}}
@media(prefers-reduced-motion:reduce){.view.show{animation:none}.side,.segmented button{transition:none}}

.workspace-wordmark{font-size:20px!important;font-weight:750;letter-spacing:-.8px;color:#315bdf!important}.nav button img,.share-card>img{filter:invert(30%) sepia(84%) saturate(1986%) hue-rotate(216deg) brightness(88%) contrast(92%)}.drawer-backdrop{display:none}@media(max-width:760px){.workspace-wordmark{font-size:19px!important}.menu-open:before{display:none}.menu-open .drawer-backdrop{display:block;position:fixed;inset:0;border:0;background:#17255455;z-index:29}}

@media(max-width:760px){.side{visibility:hidden}.menu-open .side{visibility:visible}}

/* Local Lucide SVGs: inherited color without filters, consistent stroke. */
.hm-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle;color:inherit}

.nav .hm-icon{width:20px;height:20px}.share-card>.hm-icon{width:28px;height:28px;color:#315bdf}.text-button .hm-icon{width:13px;height:13px;margin-right:5px}.btn .hm-icon{width:16px;height:16px}.menu-toggle .hm-icon{width:21px;height:21px}.nav-public{color:#718098}.appointment-end .text-button{display:flex;align-items:center;gap:4px}.appointment-end .text-button .hm-icon{margin:0}
/* Motion controller owns view entrances; no duplicate CSS animation. */
.view.show{animation:none}.view h1:focus,#requestsPanel h2:focus{outline:none}.btn,.text-button,.nav button{transition:background-color 160ms,color 160ms,transform 140ms}.btn:active,.text-button:active{transform:scale(.98)}.request-row{transition:background-color 200ms}.request-confirmed{background:#f1f9f5;border-radius:10px}.toast.show{animation:toast-arrive 220ms cubic-bezier(.2,0,0,1)}@keyframes toast-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.btn,.text-button,.nav button,.request-row{transition:none}.toast.show{animation:none}}
.account-connection-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line,#e3e8f4)}.account-connection-row p{margin:4px 0 0}.account-connection-row .btn{flex-shrink:0}@media(max-width:480px){.account-connection-row{flex-wrap:wrap}}
/* Account sections: readable data, clear status and responsive layouts. */
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading h1{margin:2px 0 8px}.section-heading p{margin:0}.section-heading .btn{flex-shrink:0}.branch-grid,.subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}.branch-card-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.branch-card-head h2{margin:0}.branch-card-head p{margin:6px 0 0}.branch-hours-title{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:20px;padding:18px 0 10px}.branch-hours-title span{font-size:12px}.branch-hour{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px}.branch-hour span{color:var(--muted)}.branch-hour strong{text-align:right;font-weight:600}.branch-form{max-width:650px;margin-bottom:20px;display:grid;gap:14px}.branch-form[hidden]{display:none!important}.branch-form label{display:grid;gap:7px;font-weight:600}.branch-form .btn{justify-self:start}.branch-footnote{margin-top:18px;font-size:13px}.subscription-main h2{margin:18px 0 8px}.subscription-main p{margin:8px 0}.subscription-list{padding-left:20px;line-height:2}.subscription-details{margin-top:20px}.subscription-prices{display:flex;gap:32px;flex-wrap:wrap;padding:20px 0}.subscription-prices div{display:grid;gap:4px}.subscription-prices strong{font-size:26px}.subscription-prices span{color:var(--muted);font-size:13px}.profile-intro{margin:8px 0 0}.profile-group-label{font-weight:700;font-size:13px;color:var(--muted);padding-top:18px;margin-bottom:10px;border-top:1px solid var(--line)}
@media(max-width:600px){.section-heading{align-items:stretch;flex-direction:column;gap:16px}.section-heading .btn{align-self:flex-start}.branch-hour{align-items:start}.subscription-prices{gap:22px}}

.subscription-plan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.subscription-plan{display:flex;flex-direction:column;gap:10px;text-align:left;background:var(--workspace-surface,#fff);color:var(--workspace-ink,var(--ink));border:1px solid var(--workspace-line,#dce5f4);border-radius:18px;padding:22px;cursor:pointer}.subscription-plan.is-selected{border:2px solid var(--workspace-accent,#315bdf);background:var(--workspace-accent-soft,#f2f5ff);padding:21px}.subscription-plan:focus-visible{outline:3px solid var(--workspace-accent-text,#315bdf);outline-offset:3px}.subscription-plan:disabled{cursor:default}.subscription-plan-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.subscription-amount{font-size:28px;font-weight:700}.subscription-amount small{font-size:14px;font-weight:400;color:var(--workspace-muted,var(--muted))}.subscription-plan-state{color:var(--workspace-accent-text,#315bdf);font-weight:700;margin-top:8px}.subscription-plan.is-selected .muted,.subscription-plan.is-selected .subscription-amount small{color:inherit}.subscription-note{margin-top:24px}@media(max-width:640px){.subscription-plan-options{grid-template-columns:1fr}}

/* Motion for the workspace configuration sections. */
#workspace-suscripcion .subscription-plan{border:2px solid var(--workspace-line,#dce5f4);padding:21px;transition:border-color 220ms cubic-bezier(.2,0,0,1),background-color 220ms cubic-bezier(.2,0,0,1),box-shadow 220ms cubic-bezier(.2,0,0,1),transform 150ms cubic-bezier(.2,0,0,1)}
#workspace-suscripcion .subscription-plan.is-selected{border-color:var(--workspace-accent,#315bdf);background:var(--workspace-accent-soft,#f2f5ff);box-shadow:0 5px 20px #315bdf14}
#workspace-suscripcion .subscription-plan-state{transition:color 180ms ease}
#workspace-personalizar .previewButton{transition:background-color 280ms cubic-bezier(.2,0,0,1),border-radius 280ms cubic-bezier(.2,0,0,1),box-shadow 200ms ease}
#workspace-personalizar .swatch{transition:transform 160ms cubic-bezier(.2,0,0,1),box-shadow 160ms ease}
#workspace-personalizar .input,#workspace-sucursales .input{transition:border-color 160ms ease,box-shadow 160ms ease}
@media(hover:hover){#workspace-suscripcion .subscription-plan:not(:disabled):hover{border-color:var(--workspace-accent,#315bdf);box-shadow:0 7px 20px #17255412}#workspace-personalizar .swatch:not(:disabled):hover{transform:scale(1.1)}}
#workspace-suscripcion .subscription-plan:not(:disabled):active,#workspace-personalizar .swatch:not(:disabled):active{transform:scale(.98)}
@media(prefers-reduced-motion:no-preference){#workspace-sucursales .branch-form:not([hidden]){animation:hm-branch-form-in 300ms cubic-bezier(.2,0,0,1) both}@keyframes hm-branch-form-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){#workspace-suscripcion .subscription-plan,#workspace-personalizar .previewButton,#workspace-personalizar .swatch,#workspace-personalizar .input,#workspace-sucursales .input{transition:none}#workspace-sucursales .branch-form{animation:none}}

.account-deletion{margin-top:24px;max-width:650px}.account-deletion p{margin:10px 0 18px}.account-delete-button{color:#a83b3b;border:1px solid #e7bfc1;background:transparent}.account-delete-button:hover{background:#fff4f4}.account-deletion .account-delete-note{font-size:14px;margin:12px 0 0}.account-delete-dialog{max-width:min(480px,calc(100% - 32px))}.account-delete-dialog p{line-height:1.55}
#workspace-inicio .overview-stats[hidden],#workspace-inicio .dashboard-columns[hidden],#workspace-inicio .share-card[hidden],[data-new-appointment][hidden]{display:none!important}
.toast[data-variant="success"]{background:#087f72;color:#fff;font-weight:700;border-radius:14px;box-shadow:0 12px 30px rgba(23,37,84,.2);padding:16px 22px;z-index:10000}
.toast[data-variant="error"]{background:#a5283d;color:#fff;font-weight:700;border-radius:14px;box-shadow:0 12px 30px rgba(23,37,84,.2);padding:16px 22px;z-index:10000}

/* The next appointment opens the same detail preview as the agenda. */
.next-appointment-preview{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;min-width:0;margin:12px 0 0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--workspace-ink);font:inherit;text-align:left;cursor:pointer}
.next-appointment-preview:disabled{cursor:default;opacity:1}
.next-appointment-date{font-size:13px;line-height:1.5;color:var(--workspace-muted);overflow-wrap:anywhere}
.next-appointment-preview .stat{margin:6px 0 8px}
.next-appointment-preview .stat-detail{font-size:13px;line-height:1.5;color:var(--workspace-muted);overflow-wrap:anywhere}
.next-appointment-action{display:inline-flex;align-items:center;gap:8px;margin-top:14px;min-height:28px;font-size:13px;font-weight:600;line-height:1.4;color:var(--workspace-accent-text)}
.next-appointment-action svg{flex:none}
.next-appointment-action[hidden],.next-appointment-date[hidden]{display:none}
.next-appointment-preview:focus-visible{outline:2px solid var(--workspace-accent-text);outline-offset:6px}
@media(hover:hover){.next-appointment-preview:not(:disabled):hover .next-appointment-action{text-decoration:underline;text-underline-offset:4px}}

@media(max-width:760px){
 .dashboard-widget-board:not(.is-editing) .workspace-widget[data-widget="next"][data-size="small"]:not([data-expanded="true"]){grid-column:1/-1}
 .dashboard-widget-board:not(.is-editing) .workspace-widget[data-widget="today"][data-size="small"]:not([data-expanded="true"]),
 .dashboard-widget-board:not(.is-editing) .workspace-widget[data-widget="pending"][data-size="small"]:not([data-expanded="true"]){grid-column:span 6}
}
