﻿:root{--portal-bg:#f6f3ee;--portal-card:#fff;--portal-text:#27231f;--portal-muted:#756f68;--portal-line:#e5dfd7;--portal-danger:#9b3e35}
*{box-sizing:border-box}.cp-body{margin:0;background:var(--portal-bg);color:var(--portal-text);font-family:Inter,Arial,sans-serif}.cp-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 64px}.cp-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.cp-brand{display:flex;align-items:center;gap:14px;min-width:0}.cp-logo{width:46px;height:46px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid var(--portal-line);padding:5px}.cp-logo-fallback{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:"Instrument Serif",serif;font-size:26px}.cp-company{display:flex;flex-direction:column;min-width:0}.cp-company strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-company span{font-size:12px;color:var(--portal-muted)}.cp-nav{display:flex;gap:8px;flex-wrap:wrap}.cp-nav a{color:var(--portal-muted);text-decoration:none;padding:9px 12px;border-radius:999px;font-size:13px}.cp-nav a:hover,.cp-nav a.is-active{background:#fff;color:var(--portal-text)}.cp-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.cp-card{background:var(--portal-card);border:1px solid var(--portal-line);border-radius:20px;padding:22px;box-shadow:0 8px 30px rgba(43,37,31,.035)}.cp-card+.cp-card{margin-top:16px}.cp-eyebrow{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:11px;color:var(--portal-muted);margin-bottom:7px}.cp-title{font-family:"Instrument Serif",serif;font-size:42px;line-height:1;margin:0 0 12px;font-weight:400}.cp-subtitle{margin:0;color:var(--portal-muted);line-height:1.55}.cp-next{margin-top:20px;padding:20px;border-radius:17px;background:color-mix(in srgb,var(--accent) 9%,#fff)}.cp-next h2{margin:0 0 8px;font-size:20px}.cp-meta{color:var(--portal-muted);font-size:14px;line-height:1.6}.cp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.cp-button,.cp-button-secondary,.cp-button-danger{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:11px 16px;font:600 13px Inter,Arial,sans-serif;text-decoration:none;cursor:pointer}.cp-button{background:var(--accent);color:#fff}.cp-button-secondary{background:#f2eee8;color:var(--portal-text)}.cp-button-danger{background:#fff2ef;color:var(--portal-danger);border:1px solid #efd1cb}.cp-list{display:grid;gap:10px;margin-top:14px}.cp-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--portal-line)}.cp-item:last-child{border-bottom:0}.cp-item-main{min-width:0}.cp-item-title{font-weight:600;margin-bottom:4px}.cp-item-meta{font-size:13px;color:var(--portal-muted);line-height:1.55}.cp-date{font-size:13px;font-weight:600;white-space:nowrap}.cp-empty{padding:22px 0;color:var(--portal-muted);font-size:14px}.cp-alert{border-radius:15px;padding:14px 16px;margin:14px 0;font-size:14px;line-height:1.5}.cp-alert-info{background:#f4f0e8}.cp-alert-success{background:#eef7f0}.cp-alert-error{background:#fff0ed;color:#7a3129}.cp-login-shell{width:min(520px,calc(100% - 32px));margin:0 auto;padding:54px 0}.cp-login-logo{font-family:"Instrument Serif",serif;font-size:36px;text-decoration:none;color:var(--portal-text);display:inline-block;margin-bottom:32px}.cp-login-logo i{color:var(--accent);font-style:normal}.cp-login-card{background:#fff;border:1px solid var(--portal-line);border-radius:24px;padding:30px}.cp-login-card h1{font-family:"Instrument Serif",serif;font-size:38px;font-weight:400;margin:0 0 10px}.cp-login-card p{color:var(--portal-muted);line-height:1.55}.cp-field{display:grid;gap:7px;margin-top:18px}.cp-field>span,.cp-field-title{font-size:13px;font-weight:600}.cp-input,.cp-select,.cp-textarea{width:100%;border:1px solid #d9d2c8;background:#fff;border-radius:12px;padding:12px 13px;font:14px Inter,Arial,sans-serif;color:var(--portal-text)}.cp-textarea{resize:vertical}.cp-login-button{width:100%;margin-top:18px}.cp-code{font-size:24px;letter-spacing:.22em;text-align:center;font-variant-numeric:tabular-nums}.cp-debug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.cp-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.cp-company-card{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--portal-line);border-radius:18px;background:#fff}.cp-company-card-main{flex:1;min-width:0}.cp-company-card h2{margin:0 0 5px;font-size:17px}.cp-company-card p{margin:0;color:var(--portal-muted);font-size:13px}.cp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cp-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.cp-check-grid label{display:flex;align-items:center;gap:8px;background:#faf8f5;border:1px solid var(--portal-line);border-radius:11px;padding:10px;font-size:13px}.cp-section{margin-top:28px}.cp-section h2{font-size:18px;margin:0 0 5px}.cp-help{font-size:12px;color:var(--portal-muted);line-height:1.5}.cp-availability{display:grid;gap:9px;margin-top:12px}.cp-availability-row{display:grid;grid-template-columns:130px 1fr 1fr;gap:8px;align-items:center}.cp-availability-row strong{font-size:13px}.cp-time-row{display:flex;align-items:center;gap:6px}.cp-time-row input{min-width:0}.cp-danger-zone{margin-top:34px;border-top:1px solid var(--portal-line);padding-top:24px}.cp-danger-zone h2{color:var(--portal-danger)}.cp-tabs{display:flex;gap:8px;margin:18px 0}.cp-tabs a{text-decoration:none;color:var(--portal-muted);padding:9px 13px;border-radius:999px;background:#eee9e2;font-size:13px}.cp-tabs a.is-active{background:var(--accent);color:#fff}.cp-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1ede7;font-size:11px}.cp-booking-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.cp-cancel-button{padding:7px 10px;font-size:12px}.cp-reschedule{border-left:4px solid var(--accent)}
@media(max-width:800px){.cp-grid,.cp-form-grid,.cp-company-grid{grid-template-columns:1fr}.cp-header{align-items:flex-start;flex-direction:column}.cp-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.cp-title{font-size:36px}.cp-availability-row{grid-template-columns:1fr}.cp-check-grid{grid-template-columns:1fr}.cp-check-grid>span{align-items:flex-start}.cp-item{align-items:flex-start;flex-direction:column}.cp-date{white-space:normal}}

.cp-register-prompt { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(32, 29, 26, .12); display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: #746d66; }
.cp-register-prompt a { color: var(--accent); font-weight: 600; text-decoration: none; }
.cp-register-prompt a:hover { text-decoration: underline; }


.cp-company strong{color:var(--accent)}
.cp-eyebrow{color:var(--accent)}
.cp-nav a:hover,.cp-nav a.is-active{background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent)}
.cp-section h2{color:var(--portal-text)}
.cp-input:focus,.cp-select:focus,.cp-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.cp-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.cp-check-grid>span{display:flex;align-items:center;gap:12px;background:#faf8f5;border:1px solid var(--portal-line);border-radius:14px;padding:12px 14px;min-height:54px}
.cp-check-grid label{display:block;flex:1;margin:0;line-height:1.45;cursor:pointer;font-size:14px}
.cp-check-grid input[type=checkbox],.cp-danger-zone input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0;flex:0 0 auto}
.cp-danger-zone .cp-field{display:block}
.cp-danger-zone .cp-field input[type=checkbox]+label{display:inline;cursor:pointer;font-size:14px;line-height:1.5;margin-left:8px}
.cp-help a{color:var(--accent)}
.cp-button-secondary:hover{background:color-mix(in srgb,var(--accent) 10%,#f2eee8)}
.cp-status{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,#fff)}

.cp-beta-global{position:fixed;right:18px;bottom:18px;z-index:60;padding:7px 11px;border-radius:999px;background:var(--portal-text);color:#fff;font:600 11px Inter,Arial,sans-serif;letter-spacing:.04em;box-shadow:0 8px 24px rgba(39,35,31,.16);opacity:.88}
@media(max-width:800px){.cp-beta-global{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));font-size:10px}}

/* Client booking beta */
.cp-book-page{max-width:980px;margin:0 auto}.cp-book-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.cp-book-service{display:flex;flex-direction:column;gap:5px;padding:15px 16px;border:1px solid var(--portal-line);border-radius:15px;background:#faf8f5;color:var(--portal-text);text-decoration:none;transition:.15s ease}.cp-book-service:hover{border-color:var(--accent);transform:translateY(-1px)}.cp-book-service.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.cp-book-service strong{font-size:15px}.cp-book-service span{font-size:12px;color:var(--portal-muted)}.cp-book-slots{display:grid;gap:10px;margin-top:14px}.cp-book-slot{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid var(--portal-line);border-radius:15px;padding:14px 15px;background:#fff}.cp-book-slot-time{display:flex;flex-direction:column;gap:4px}.cp-book-slot-time strong{font-size:13px}.cp-book-slot-time span{font-family:"Instrument Serif",serif;font-size:24px;color:var(--accent)}.cp-book-slot-main{display:flex;flex-direction:column;gap:4px;min-width:0}.cp-book-slot-main strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-book-slot-main span{font-size:11px;color:var(--portal-muted)}.cp-book-success{text-align:center;padding:34px 12px 18px}.cp-book-success-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;margin:0 auto 14px;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);font-size:25px;font-weight:600}.cp-book-success h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:34px;margin:0 0 8px}.cp-book-success p{max-width:560px;margin:0 auto;color:var(--portal-muted);line-height:1.55}.cp-book-success .cp-actions{justify-content:center}
@media(max-width:800px){.cp-book-services{grid-template-columns:1fr}.cp-book-slot{grid-template-columns:1fr;gap:10px}.cp-book-slot .cp-button{width:100%}.cp-book-slot-main strong{white-space:normal}.cp-book-success{padding-top:24px}}
.cp-waitlist-section{margin-top:34px;padding-top:27px;border-top:1px solid var(--portal-line)}.cp-waitlist-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.cp-waitlist-heading .cp-eyebrow{margin-bottom:5px}.cp-waitlist-heading h2{margin:0}.cp-waitlist-heading p{max-width:480px;margin:0}.cp-waitlist-slot{background:#faf8f5}.cp-waitlist-slot .cp-book-slot-time span{color:var(--portal-text)}
@media(max-width:800px){.cp-waitlist-heading{display:block}.cp-waitlist-heading p{margin-top:8px}}

/* Client profile preferences — compact, quiet and touch-friendly */
.cp-preference-section{margin-top:30px;padding-top:0}
.cp-preference-section+.cp-preference-section{margin-top:22px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--portal-line) 72%,transparent)}
.cp-preference-section h2{font-size:16px;letter-spacing:-.01em}
.cp-preference-section .cp-help{margin:7px 0 0}
.cp-choice-grid{list-style:none;margin:13px 0 0;padding:0}
ul.cp-choice-grid,.cp-choice-grid ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;width:100%;margin:13px 0 0;padding:0}
.cp-choice-grid ul{margin:0}
ul.cp-choice-grid>li,.cp-choice-grid ul>li{position:relative;list-style:none;min-width:0;margin:0;padding:0}
.cp-choice-grid input[type=checkbox]{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.cp-choice-grid input[type=checkbox]+label{display:inline-flex;align-items:center;gap:8px;min-height:38px;margin:0;padding:8px 13px 8px 10px;border:1px solid #ddd6cd;border-radius:999px;background:#fff;color:#4a433d;font-size:13px;font-weight:500;line-height:1.2;cursor:pointer;white-space:normal;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.cp-choice-grid input[type=checkbox]+label::before{content:"";display:grid;place-items:center;flex:0 0 auto;width:16px;height:16px;border:1px solid #b9b0a6;border-radius:5px;background:#fff;color:#fff;font-size:11px;font-weight:700;line-height:1;box-sizing:border-box}
.cp-choice-grid input[type=checkbox]+label:hover{border-color:color-mix(in srgb,var(--accent) 40%,#ddd6cd);background:#fcfbf9}
.cp-choice-grid input[type=checkbox]:focus-visible+label{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.cp-choice-grid input[type=checkbox]:checked+label{border-color:color-mix(in srgb,var(--accent) 52%,#ddd6cd);background:color-mix(in srgb,var(--accent) 7%,#fff);color:color-mix(in srgb,var(--accent) 72%,#332e29)}
.cp-choice-grid input[type=checkbox]:checked+label::before{content:"✓";border-color:var(--accent);background:var(--accent)}
@media(max-width:600px){ul.cp-choice-grid,.cp-choice-grid ul{gap:7px}.cp-choice-grid input[type=checkbox]+label{min-height:40px;padding:9px 12px 9px 10px}}


/* Client login refresh */
.cp-login-card{box-shadow:0 22px 54px rgba(40,35,31,.06)}
.cp-login-card .cp-brand{margin-bottom:18px}
.cp-brand{display:flex;align-items:center;gap:14px;padding:2px 2px 0}
.cp-logo,.cp-logo-fallback{width:48px;height:48px;border-radius:14px;flex:0 0 48px}
.cp-logo{object-fit:cover;border:1px solid var(--portal-line);background:#fff}
.cp-logo-fallback{display:grid;place-items:center;background:#f4efe8;border:1px solid var(--portal-line);color:var(--accent);font:600 18px Inter,Arial,sans-serif}
.cp-company strong{display:block;font-size:15px;line-height:1.2}
.cp-company span{display:block;margin-top:2px;color:var(--portal-muted);font-size:13px}
.cp-login-intro{margin-bottom:20px}
.cp-auth-stack{display:grid;gap:16px;margin-top:16px}
.cp-auth-option{border:1px solid var(--portal-line);border-radius:18px;background:#fcfbf9;padding:18px}
.cp-auth-option-primary{background:linear-gradient(180deg,#fdfcfb 0%,#fbf8f4 100%)}
.cp-auth-option-secondary{background:#fff}
.cp-auth-option-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:10px}
.cp-auth-option-head h2{margin:0;font-size:18px;font-family:Inter,Arial,sans-serif;font-weight:600;letter-spacing:-.01em}
.cp-auth-option-head p{margin:4px 0 0;font-size:13px;line-height:1.55;color:var(--portal-muted)}
.cp-auth-option-kicker{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);font:600 13px Inter,Arial,sans-serif;flex:0 0 34px}
.cp-auth-option-head-compact{margin-bottom:0}
.cp-login-alt-full{display:block;width:100%;margin-top:16px;text-align:center}
.cp-login-divider-compact{margin:0}
.cp-login-links-bottom{justify-content:center;margin-top:4px}
.cp-login-link-subtle{font-size:12px;line-height:1.3;color:#7f766d;text-decoration:none}
.cp-login-link-subtle:hover{text-decoration:underline;color:var(--accent)}
.cp-login-links{display:flex;justify-content:flex-start}
.cp-login-link{font-weight:500}
@media(max-width:800px){
  .cp-login-card{padding:24px 18px;border-radius:20px}
  .cp-auth-option{padding:16px}
  .cp-auth-option-head{gap:12px}
  .cp-auth-option-head h2{font-size:16px}
  .cp-login-card h1{font-size:32px}
}

/* ALEA wordmark on the client sign-in surface. Keep the tenant logo below
   independent: this is the ALEA product mark, not the company branding. */
.cp-login-logo {
    width: 126px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 32px;
    overflow: visible;
    font-size: 0;
    line-height: 0;
}
.cp-login-logo-image {
    display: block;
    width: 126px;
    height: auto;
    max-height: 42px;
    object-fit: contain;
    object-position: left center;
}
@media (max-width: 780px) {
    .cp-login-logo,
    .cp-login-logo-image {
        width: 114px;
    }
}


/* Client sign-in orbit — light counterpart to the Professional/Backoffice login motion. */
.cp-login-shell-orbit {
    position: relative;
    isolation: isolate;
}
.cp-login-shell-orbit > .cp-login-logo,
.cp-login-shell-orbit > .cp-login-card {
    position: relative;
    z-index: 3;
}
.cp-client-orbit {
    position: absolute;
    z-index: 0;
    width: 470px;
    aspect-ratio: 1;
    right: -330px;
    top: 51%;
    transform: translateY(-50%);
    pointer-events: none;
    opacity: .82;
}
.cp-client-orbit-ring {
    position: absolute;
    border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent);
    border-radius: 50%;
}
.cp-client-orbit-ring-a {
    inset: 0;
    animation: cpClientOrbitSpin 38s linear infinite;
}
.cp-client-orbit-ring-b {
    inset: 17%;
    border-style: dashed;
    border-color: color-mix(in srgb, var(--accent) 17%, transparent);
    animation: cpClientOrbitSpinReverse 29s linear infinite;
}
.cp-client-orbit-ring-a::before,
.cp-client-orbit-ring-b::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent) 72%, #fff);
    box-shadow: 0 0 22px color-mix(in srgb, var(--accent) 25%, transparent);
}
.cp-client-orbit-ring-a::before {
    width: 9px;
    height: 9px;
    top: 13%;
    left: 12%;
}
.cp-client-orbit-ring-b::after {
    width: 6px;
    height: 6px;
    right: 28%;
    bottom: 6%;
}
.cp-client-orbit-core {
    position: absolute;
    inset: 29%;
    display: grid;
    place-content: center;
    text-align: center;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--accent) 14%, #e8e1d8);
    background: rgba(255,255,255,.38);
    backdrop-filter: blur(12px);
    box-shadow: inset 0 0 50px color-mix(in srgb, var(--accent) 4%, transparent);
}
.cp-client-orbit-core span {
    font-family: "Instrument Serif", Georgia, serif;
    font-size: 56px;
    line-height: .82;
    color: color-mix(in srgb, var(--accent) 78%, #2c2722);
}
.cp-client-orbit-core small {
    margin-top: 11px;
    color: #8a8178;
    font-size: 9px;
    letter-spacing: .28em;
    text-transform: uppercase;
}
.cp-client-orbit-note {
    position: absolute;
    padding: 8px 11px;
    border: 1px solid color-mix(in srgb, var(--accent) 13%, #e4ddd4);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(9px);
    color: #7b726a;
    font-size: 10px;
    white-space: nowrap;
    box-shadow: 0 8px 24px rgba(45,38,32,.04);
}
.cp-client-orbit-note-a { top: 8%; left: 8%; }
.cp-client-orbit-note-b { right: 0; bottom: 22%; }
.cp-client-orbit-note-c { left: 3%; bottom: 9%; }
@keyframes cpClientOrbitSpin { to { transform: rotate(360deg); } }
@keyframes cpClientOrbitSpinReverse { to { transform: rotate(-360deg); } }
@media (max-width: 980px) {
    .cp-client-orbit {
        right: -360px;
        opacity: .60;
    }
}
@media (max-width: 780px) {
    .cp-login-shell-orbit {
        overflow: hidden;
        width: 100%;
        padding-left: 16px;
        padding-right: 16px;
    }
    .cp-client-orbit {
        width: 330px;
        right: -205px;
        top: 118px;
        opacity: .42;
    }
    .cp-client-orbit-note { display: none; }
    .cp-client-orbit-core span { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
    .cp-client-orbit-ring-a,
    .cp-client-orbit-ring-b {
        animation: none;
    }
}


/* Client navigation v5: primary actions + compact settings menu */
.cp-settings-wrap{display:inline-flex;align-items:center;position:relative}
.cp-settings-menu{position:relative}
.cp-settings-menu>summary{list-style:none}
.cp-settings-menu>summary::-webkit-details-marker{display:none}
.cp-settings-trigger,.cp-activity-bell{width:42px;height:42px;border:1px solid var(--portal-line);border-radius:50%;display:inline-grid;place-items:center;background:var(--portal-card);color:var(--portal-text);cursor:pointer;padding:0;text-decoration:none;position:relative}
.cp-settings-trigger svg,.cp-activity-bell svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cp-settings-trigger:hover,.cp-activity-bell:hover,.cp-settings-menu[open]>.cp-settings-trigger{background:color-mix(in srgb,var(--accent) 10%,var(--portal-card));color:var(--portal-text)}
.cp-settings-popover{position:absolute;z-index:80;right:0;top:calc(100% + 10px);width:min(300px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 100px));overflow:auto;background:var(--portal-card);border:1px solid var(--portal-line);border-radius:18px;padding:14px;box-shadow:0 22px 60px rgba(28,23,19,.18);color:var(--portal-text)}
.cp-settings-title{font-family:"Instrument Serif",serif;font-size:23px;line-height:1.1;padding:4px 5px 12px}
.cp-settings-section{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--portal-line)}
.cp-settings-section:first-of-type{border-top:0;padding-top:2px}
.cp-settings-link,.cp-settings-action{width:100%;min-height:44px;display:flex;align-items:center;text-align:left;border:0;background:transparent;color:var(--portal-text);font:500 14px/1.25 Inter,Arial,sans-serif;text-decoration:none;border-radius:10px;padding:10px 11px;cursor:pointer}
.cp-settings-link:hover,.cp-settings-action:hover{background:color-mix(in srgb,var(--accent) 8%,var(--portal-card))}
.cp-settings-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--portal-muted);font-weight:600;padding:2px 6px 7px}
.cp-language-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.cp-language-options a{min-height:40px;display:grid;place-items:center;border:1px solid var(--portal-line);border-radius:10px;color:var(--portal-muted);font-size:12px;font-weight:700;text-decoration:none}
.cp-language-options a.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.cp-settings-footer{padding-bottom:0}
.cp-settings-logout{color:var(--portal-danger)}
.cp-theme-action:before{content:"◐";font-size:15px;margin-right:9px;color:var(--portal-muted)}
.cp-activity-count{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;border-radius:999px;padding:0 5px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--portal-bg)}
html[data-alea-theme="dark"] .cp-settings-popover{box-shadow:0 22px 60px rgba(0,0,0,.36)}

@media (max-width:760px){
  .cp-shell{width:min(100% - 24px,1120px);padding-top:18px}
  .cp-header{position:relative;display:block;min-height:104px;padding-right:100px;margin-bottom:18px}
  .cp-brand{min-height:46px}
  .cp-nav{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:calc(100vw - 24px);max-width:none}
  .cp-nav>a:not(.cp-activity-bell){min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 6px;border-radius:11px;font-size:12px;line-height:1.15;background:var(--portal-card);border:1px solid var(--portal-line)}
  .cp-nav>a:not(.cp-activity-bell).is-active{background:color-mix(in srgb,var(--accent) 11%,var(--portal-card));border-color:color-mix(in srgb,var(--accent) 28%,var(--portal-line))}
  .cp-nav>.cp-activity-bell{position:absolute;right:50px;top:2px;width:42px;height:42px;padding:0}
  .cp-nav>.cp-settings-wrap{position:absolute;right:0;top:2px}
  .cp-settings-popover{position:fixed;right:12px;top:72px;width:min(330px,calc(100vw - 24px));max-height:calc(100vh - 90px);border-radius:18px}
}

.cp-settings-trigger-label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
\n\n/* Client mobile-first v1 — home, fast booking and guided setup */\n.cp-client-home{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;align-items:start}.cp-home-intro{grid-column:1/-1;padding:22px 24px}.cp-home-primary,.cp-home-secondary{display:grid;gap:16px}.cp-next-card{padding:28px}.cp-next-priority{margin-top:12px}.cp-next-service{margin:0;font-family:"Instrument Serif",serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1}.cp-next-date{margin-top:16px;font-size:18px;font-weight:600}.cp-next-actions{margin-top:20px}.cp-book-primary{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:14px;align-items:center;min-height:84px;padding:16px 18px;border-radius:20px;background:var(--accent,#9a8979);color:#fff;text-decoration:none}.cp-book-primary:hover{filter:brightness(1.03)}.cp-book-primary-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.16);font-size:28px;line-height:1}.cp-book-primary strong{display:block;font-size:17px}.cp-book-primary small{display:block;margin-top:3px;color:rgba(255,255,255,.8);font-size:13px}.cp-book-primary-arrow{font-size:30px;text-align:right}.cp-card-head-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cp-card-head-inline>a{color:inherit;font-size:13px}.cp-upcoming-row{align-items:center}.cp-date-mobile{min-width:96px;text-align:left}.cp-home-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cp-welcome-title{font-size:34px}.cp-book-full-times{margin-top:14px;padding-top:18px;border-top:1px solid var(--portal-line,#e5dfd8)}.cp-book-full-times .cp-waitlist-heading{margin-bottom:10px}.cp-priority-alert{border-color:color-mix(in srgb,var(--accent,#9a8979) 45%,var(--portal-line,#ddd))}.cp-no-next{margin-top:12px}.cp-settings-link-primary{font-weight:650}.cp-settings-link-primary:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent,#9a8979);color:#fff;font-size:11px;margin-right:7px}.cp-book-heading,.cp-bookings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cp-book-step{padding:24px 0;border-top:1px solid var(--portal-line,#e5dfd8)}.cp-book-step:first-of-type{border-top:0}.cp-book-step-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:15px}.cp-book-step-heading h2{margin:0;font-size:20px}.cp-book-step-heading p{margin:4px 0 0;color:var(--portal-muted,#746b63);font-size:13px}.cp-book-step-number{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--accent,#9a8979);color:#fff;font-size:13px;font-weight:700}.cp-book-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin;scroll-snap-type:x proximity}.cp-book-day{flex:0 0 68px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:78px;padding:9px 7px;border:1px solid var(--portal-line,#ddd);border-radius:16px;color:var(--portal-text,#2d2925);text-decoration:none;scroll-snap-align:start;background:var(--portal-card,#fff)}.cp-book-day span,.cp-book-day small{font-size:11px;color:var(--portal-muted,#746b63);text-transform:capitalize}.cp-book-day strong{font-size:20px;margin:3px 0}.cp-book-day.is-selected{background:var(--accent,#9a8979);border-color:var(--accent,#9a8979);color:#fff}.cp-book-day.is-selected span,.cp-book-day.is-selected small{color:rgba(255,255,255,.8)}.cp-book-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cp-book-service{min-height:76px}.cp-book-slot{border-radius:16px}.cp-approval-note{margin:-4px 0 14px}.cp-book-again{white-space:nowrap}.cp-guided-setup{margin:18px 0 8px;padding:18px;border:1px solid var(--portal-line,#ddd);border-radius:18px;background:color-mix(in srgb,var(--portal-card,#fff) 92%,var(--accent,#9a8979) 8%)}.cp-guided-setup-copy h2{margin:4px 0 6px;font-size:24px}.cp-guided-setup-copy p{margin:0;color:var(--portal-muted,#746b63)}.cp-guided-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.cp-guided-progress button{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 10px;border:1px solid var(--portal-line,#ddd);border-radius:12px;background:var(--portal-card,#fff);color:var(--portal-text,#2d2925);font:inherit;font-size:12px;text-align:left}.cp-guided-progress button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--portal-line,#ddd);font-weight:700}.cp-guided-progress button.is-active{border-color:var(--accent,#9a8979)}.cp-guided-progress button.is-active span,.cp-guided-progress button.is-done span{background:var(--accent,#9a8979);color:#fff}.cp-guided-actions{display:flex;justify-content:space-between;gap:10px;margin:18px 0 8px}.is-client-guided-setup .cp-danger-zone{display:none}.is-client-guided-setup .cp-profile-save{justify-content:flex-end}.is-client-guided-setup .cp-profile-save .cp-button{min-width:180px}\n@media(max-width:760px){.cp-client-home{display:flex;flex-direction:column;gap:14px}.cp-home-primary,.cp-home-secondary{display:contents}.cp-home-intro{order:1;padding:18px}.cp-next-card{order:2;padding:20px 18px}.cp-book-primary{order:3;min-height:78px;border-radius:18px}.cp-priority-alert{order:4}.cp-upcoming-card{order:5}.cp-smart-card{order:6}.cp-home-profile-grid{order:7;grid-template-columns:1fr}.cp-next-service{font-size:36px}.cp-next-date{font-size:17px}.cp-next-actions{display:grid;grid-template-columns:1fr 1fr}.cp-next-actions>a,.cp-next-actions input{width:100%;text-align:center}.cp-card-head-inline{align-items:flex-start}.cp-upcoming-row{display:grid;grid-template-columns:78px 1fr;gap:10px}.cp-date-mobile{min-width:0;font-size:12px}.cp-book-heading,.cp-bookings-heading{display:block}.cp-bookings-shortcut,.cp-book-again{display:none}.cp-book-page{padding:18px 14px}.cp-book-step{padding:20px 0}.cp-book-step-heading h2{font-size:18px}.cp-book-days{margin-left:-4px;margin-right:-4px}.cp-book-day{flex-basis:64px}.cp-book-services{grid-template-columns:1fr}.cp-book-service{min-height:66px;padding:13px 14px}.cp-book-slot{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:14px}.cp-book-slot .cp-button,.cp-book-slot .cp-button-secondary{grid-column:1/-1;width:100%;min-height:46px}.cp-book-slot-time{min-width:0}.cp-bookings-page .cp-item{display:grid;grid-template-columns:1fr;gap:12px;padding:16px 0}.cp-bookings-page .cp-date{order:-1;text-align:left;font-weight:600}.cp-booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cp-booking-actions .cp-button-danger,.cp-booking-actions .cp-button-secondary{width:100%;min-height:44px}.cp-guided-setup{padding:15px}.cp-guided-progress{grid-template-columns:1fr}.cp-guided-progress button{min-height:44px}.cp-guided-actions{position:sticky;bottom:12px;z-index:5;padding:10px;border:1px solid var(--portal-line,#ddd);border-radius:16px;background:var(--portal-card,#fff)}.is-client-guided-setup .cp-profile-save{position:sticky;bottom:12px;z-index:6;padding:10px;border:1px solid var(--portal-line,#ddd);border-radius:16px;background:var(--portal-card,#fff)}.is-client-guided-setup .cp-profile-save .cp-button{width:100%}}\n
.cp-book-other-date{margin-top:8px}.cp-book-other-date summary{display:inline-flex;cursor:pointer;color:var(--accent);font-size:13px;font-weight:600}.cp-book-other-date input[type=date]{display:block;margin-top:10px;max-width:240px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--portal-line);border-radius:12px;background:var(--portal-card);color:var(--portal-text);font:16px Inter,Arial,sans-serif}

/* Client booking v1.2 — service first, availability by day */
.cp-book-day{flex-basis:104px;min-height:112px;gap:1px}
.cp-book-day em{display:block;margin-top:6px;font-style:normal;font-size:10px;line-height:1.2;text-align:center;color:var(--portal-muted,#746b63)}
.cp-book-day.is-selected em{color:rgba(255,255,255,.9)}
.cp-book-day.is-empty{opacity:.48;pointer-events:none}
.cp-book-day.is-empty em{color:var(--portal-muted,#746b63)}
@media(max-width:760px){.cp-book-day{flex-basis:96px;min-height:108px;padding:10px 7px}.cp-book-day em{font-size:10px}}


/* Client booking v1.3 — faster service selection + request feedback */
.cp-book-fast{position:relative}
.cp-book-loading{display:none;align-items:center;gap:9px;margin:10px 0 2px;padding:10px 12px;border:1px solid var(--portal-line,#ddd);border-radius:12px;background:color-mix(in srgb,var(--portal-card,#fff) 92%,var(--accent,#9a8979) 8%);color:var(--portal-muted,#746b63);font-size:12px;font-weight:600}
.cp-book-loading.is-visible{display:flex}
.cp-book-loading-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--accent,#9a8979);animation:cpBookPulse .8s ease-in-out infinite alternate}
.cp-book-fast[aria-busy="true"] .cp-book-service,.cp-book-fast[aria-busy="true"] .cp-book-day{pointer-events:none}
@keyframes cpBookPulse{from{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.cp-book-loading-dot{animation:none}}

/* Stripe booking payment action */
@media(max-width:760px){.cp-booking-actions .cp-button{width:100%;min-height:44px}}
