:root {
    color-scheme: light;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #1d1d1f;
    background: #f5f5f7;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    --ink: #1d1d1f;
    --muted: #6e6e73;
    --blue: #0071e3;
    --line: #d2d2d7;
    --paper: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f5f5f7; }
[x-cloak] { display: none !important; }
.font-playfair, .font-montserrat { font-family: inherit; }
.site-logo { display: block; width: 220px; height: 73px; margin: 0 auto; object-fit: contain; }

.site-header { position:sticky;top:0;z-index:5;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px max(20px,calc((100vw - 1120px)/2));background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.07); }
.site-header-inner { width:100%;display:flex;align-items:center;justify-content:space-between;gap:22px; }
@media (max-width: 560px) { .site-logo { width: 150px; height: 50px; } }

.site-navigation { display: flex; align-items: center; gap: 24px; font-size: 14px; }

.site-navigation a { color: #424245; text-decoration: none; }
.site-navigation a:hover { color: var(--blue); }
.language-switcher { display: flex; align-items: center; gap: 4px; }
.language-switcher button { width: 35px; height: 35px; padding: 0; border: 1px solid transparent; border-radius: 50%; display: grid; place-items: center; background: transparent; font-size: 21px; line-height: 1; cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.language-switcher button:hover { transform: translateY(-1px); background: #f0f0f2; }
.language-switcher button[aria-pressed="true"] { border-color: #d2d2d7; background: #f0f0f2; }
.language-switcher svg { display:block;width:23px;height:16px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12); }
.hero-section { min-height: 590px; padding: 90px max(7vw, 32px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); align-items: center; gap: 6vw; background: linear-gradient(135deg, #f5f5f7 0%, #ececf1 100%); overflow: hidden; }
.hero-copy { max-width: 630px; margin: auto; }
.hero-banner { display: block; width: min(100%, 590px); aspect-ratio: 3 / 1; margin: 0 0 26px; border-radius: 16px; object-fit: cover; box-shadow: 0 12px 36px rgba(0,0,0,.13); }
.eyebrow { color: #86868b; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.hero-copy h1 { margin: 18px 0; color: var(--ink); font-size: clamp(52px, 7vw, 88px); line-height: .99; letter-spacing: -.065em; font-weight: 700; }
.hero-copy h1 span:not(.hero-line-primary) { color: #6e6e73; }
.hero-description { max-width: 480px; margin: 24px 0 32px; color: var(--muted); font-size: 19px; line-height: 1.55; }
.primary-button, .secondary-button, .light-button, .danger-button { min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; font: inherit; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.primary-button { color: white; background: var(--blue); box-shadow: 0 4px 12px rgba(0,113,227,.18); }
.primary-button:hover { background: #0077ed; transform: translateY(-1px); }
.primary-button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.danger-button { color: white; background: #d92d20; box-shadow: 0 4px 12px rgba(217,45,32,.18); }
.danger-button:hover { background: #b42318; transform: translateY(-1px); }
.danger-button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.carousel-header-actions { flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 860px) {
    .carousel-header-actions .primary-button,
    .carousel-header-actions .danger-button { min-height: 40px; padding: 0 16px; font-size: 14px; }
}
.secondary-button { width: 100%; margin-top: 18px; color: var(--blue); background: #f5f5f7; }
.secondary-button:hover { background: #e8e8ed; }
.hero-art { position: relative; width: min(36vw, 440px); aspect-ratio: 1; margin: auto; border-radius: 50%; display: grid; place-content: center; color: white; background: linear-gradient(145deg, #4d4d55, #19191d 75%); box-shadow: 0 36px 90px rgba(30,30,36,.22); }
.hero-mark { position: relative; z-index: 1; font-size: clamp(120px, 18vw, 220px); font-weight: 700; letter-spacing: -.1em; line-height: .8; }
.hero-art p { position: relative; z-index: 1; margin: 22px 0 0; text-align: center; font-size: 14px; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.hero-orbit { position: absolute; inset: 9%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.orbit-two { inset: 18%; border-color: rgba(255,255,255,.1); }
.intro-section { max-width: 1100px; margin: 0 auto; padding: 100px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; align-items: end; }
.intro-section h2, .section-heading h2, .closing-banner h2, .confirmation-section h2 { margin: 14px 0 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -.045em; font-weight: 650; }
.intro-copy { max-width: 510px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.7; }
.services-section, .booking-section { max-width: 1180px; margin: 0 auto; padding: 30px 28px 110px; }
.section-heading { margin-bottom: 34px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.service-card { overflow: hidden; border: 1px solid rgba(0,0,0,.06); border-radius: 22px; background: var(--paper); box-shadow: 0 8px 28px rgba(0,0,0,.045); transition: transform .2s ease, box-shadow .2s ease; }
.service-card:hover { transform: translateY(-4px); box-shadow: 0 15px 38px rgba(0,0,0,.09); }
.service-card-featured { border: 2px solid rgba(0,113,227,.55); box-shadow: 0 8px 28px rgba(0,91,190,.1); }
.service-card-featured:hover { border-color: var(--blue); box-shadow: 0 15px 38px rgba(0,91,190,.18); }
.service-card-art { height: 150px; display: grid; place-items: center; color: rgba(255,255,255,.8); background: radial-gradient(circle at 65% 30%, #a7a7ad, #5a5a62 48%, #303036 100%); }
.service-card:nth-child(3n + 2) .service-card-art { background: radial-gradient(circle at 35% 35%, #c5c5ca, #75757d 48%, #44444b 100%); }
.service-card:nth-child(3n) .service-card-art { background: radial-gradient(circle at 60% 35%, #d3d3d7, #85858d 48%, #4b4b53 100%); }
.service-card-art span { font-size: 26px; font-weight: 600; letter-spacing: -.06em; opacity: .7; }
.service-card-art img { width:100%; height:100%; object-fit:cover; }
.service-card-art span[x-show] { font-size:44px; opacity:1; filter:drop-shadow(0 5px 15px rgba(0,0,0,.2)); }
.service-card-content { padding: 23px; }
.service-title-with-icon { min-width:0;display:flex;align-items:center;gap:11px;margin:8px 0 6px; }
.service-title-with-icon img { width:40px;height:40px;max-width:40px;flex:0 0 40px;object-fit:contain;border-radius:9px; }
.service-title-with-icon h3 { min-width:0;margin:0;overflow-wrap:anywhere; }
.service-minimum-note { width:max-content;max-width:100%;margin:0 0 10px;padding:6px 10px;border:1px solid #bfdbfe;border-radius:999px;display:inline-flex;align-items:center;gap:6px;color:#0756a3;background:#eff6ff;font-size:12px;font-weight:700;line-height:1.2; }
.service-minimum-note svg { width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.service-professional { margin:0 0 7px;color:var(--muted);font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.service-professional-location { display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#9ca3af; }
.service-card h3 { margin: 0; color: var(--ink); font-size: 22px; font-weight: 650; letter-spacing: -.025em; }
.service-description { min-height: 58px; margin: 12px 0 18px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.service-meta { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 13px; }
.service-price { color: var(--ink); font-size: 16px; font-weight: 650; }
.empty-state { margin: 30px 0 0; padding: 58px 24px; border-radius: 24px; text-align: center; background: #fff; }
.empty-icon { width: 58px; height: 58px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; color: white; background: #1d1d1f; font-size: 27px; font-weight: 700; }
.empty-state h3 { margin: 0 0 9px; font-size: 23px; letter-spacing: -.03em; }
.empty-state p { max-width: 450px; margin: 0 auto; color: var(--muted); line-height: 1.6; }
.selection-bar { position: sticky; bottom: 18px; z-index: 10; margin-top: 30px; padding: 14px 18px 14px 24px; border: 1px solid rgba(0,0,0,.08); border-radius: 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: rgba(255,255,255,.92); box-shadow: 0 8px 30px rgba(0,0,0,.12); backdrop-filter: blur(16px); }
.selection-bar p { margin: 0; color: var(--muted); }
.booking-section { padding-top: 30px; }
.booking-card { padding: 30px; border: 1px solid rgba(0,0,0,.06); border-radius: 24px; background: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.045); }
.booking-summary { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid #e8e8ed; display: grid; grid-template-columns: .7fr 1fr; gap: 30px; }
.requested-hours-control { width:100%;display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--muted);font-size:13px; }
.requested-hours-control input { width:105px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font:inherit; }
.selected-slot-summary { margin:12px 0 18px;padding:16px 18px;border:1px solid #d9d9e0;border-radius:16px;display:flex;align-items:center;gap:12px;background:#f7f7f9; }
.selected-slot-summary .eyebrow { margin:0;font-size:12px; }
.booking-order-footer { position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));z-index:25;width:min(calc(100% - 32px),980px);padding:14px 20px;border:1px solid rgba(0,0,0,.1);border-radius:20px;display:grid;grid-template-columns:minmax(145px,.35fr) minmax(0,1fr);align-items:center;gap:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 36px rgba(0,0,0,.16);backdrop-filter:blur(18px);transform:translateX(-50%); }
.booking-order-heading { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.booking-order-heading .eyebrow { margin:0; }
.booking-order-heading>strong { font-size:19px;white-space:nowrap; }
.booking-order-lines { max-height:105px;overflow:auto; }
.booking-order-line { padding:4px 0;display:flex;justify-content:space-between;gap:16px;font-size:13px; }
.booking-order-line:first-child { font-weight:650; }
.booking-order-line span:last-child { color:var(--muted);text-align:right;font-weight:400; }
.booking-summary h3 { margin: 8px 0 0; font-size: 21px; }
.summary-line { padding: 6px 0; display: flex; flex-wrap:wrap; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 14px; }
.summary-line strong { color: var(--ink); white-space: nowrap; }
.booking-service-heading { min-width:0;max-width:100%;display:flex;align-items:center;gap:10px; }
.booking-service-heading>img { width:38px;height:38px;max-width:38px;flex:0 0 38px;object-fit:contain;border-radius:8px; }
.booking-service-heading>span { min-width:0;overflow-wrap:anywhere; }
.summary-total { padding-top: 13px; margin-top: 7px; border-top: 1px solid #e8e8ed; color: var(--ink); font-weight: 650; }
.booking-fields { margin-bottom: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.booking-fields label, .date-field, .contact-method-field, .contact-email-field { display: grid; gap: 8px; color: #424245; font-size: 14px; font-weight: 600; }
.contact-method-options { display: flex; flex-wrap: wrap; gap: 8px; }
.booking-fields input, .date-field input, .contact-email-field input, .professional-form input, .professional-form textarea, .professional-form select { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; outline: none; background: #fff; color: var(--ink); font: inherit; font-size: 15px; }
.booking-fields input:focus, .date-field input:focus, .contact-email-field input:focus, .professional-form input:focus, .professional-form textarea:focus, .professional-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,113,227,.14); }
.date-field { margin-bottom: 25px; }
.field-label { margin: 0 0 12px; color: #424245; font-size: 14px; font-weight: 650; }
.slot-grid { margin: 12px 0 22px; display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 9px; }
.slot-option { min-height: 44px; border: 1px solid #d2d2d7; border-radius: 10px; color: var(--ink); background: #fff; font: inherit; cursor: pointer; }
.slot-option:hover, .slot-option-selected { border-color: var(--blue); color: var(--blue); background: #f0f7ff; }
.slot-option-occupied { color: #a1a1a6; background: #f5f5f7; cursor: not-allowed; }
.payment-and-submit { margin-top: 18px; padding-top: 22px; border-top: 1px solid #e8e8ed; display: grid; gap: 16px; }
.payment-and-submit fieldset { border: 0; padding: 0; }
.radio-option { margin-right: 18px; color: #424245; font-size: 14px; }
.radio-option input { accent-color: var(--blue); }
                .booking-language-field { display: grid; gap: 8px; }
                .booking-language-label { color: #424245; font-size: 14px; font-weight: 600; }
                .notice { padding: 13px 16px; margin: 14px 0; border-radius: 12px; font-size: 14px; }
.notice-error { color: #9f1d20; background: #fff1f0; }
.notice-warning { color: #92400e; background: #fffbeb; border: 1px solid #fed7aa; }
.notice-info { color: #514400; background: #fff8db; }
.confirmation-section { max-width: 700px; margin: 0 auto 90px; padding: 60px 30px; text-align: center; }
.confirmation-mark { width: 70px; height: 70px; margin: 0 auto 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #34c759; font-size: 34px; }
.confirmation-section h2 { font-size: clamp(32px, 4vw, 46px); }
.confirmation-section > p:not(.eyebrow) { max-width: 500px; margin: 16px auto; color: var(--muted); line-height: 1.65; }
.closing-banner { padding: 85px 28px; text-align: center; color: #fff; background: #1d1d1f; }
.closing-banner .eyebrow { color: #a1a1a6; }
.closing-banner h2 { margin: 15px 0; }
.closing-banner > p:not(.eyebrow) { margin: 0 0 26px; color: #c5c5c9; }
.light-button { color: var(--ink); background: white; }
.light-button:hover { background: #e8e8ed; transform: translateY(-1px); }
.site-footer { min-height: 100px; padding: 25px 30px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: var(--muted); background: #f5f5f7; font-size: 12px; }
.site-footer p { margin: 0; }
.site-footer a:not(:first-child) { color: var(--muted); text-decoration: none; }
.professional-shell { min-height: 100vh; padding: 28px; background: #f5f5f7; }
.professional-wrap { max-width: 1500px; margin: 0 auto; }
.professional-header, .professional-panel { padding: 22px; border: 1px solid rgba(0,0,0,.07); border-radius: 18px; background: white; box-shadow: 0 5px 20px rgba(0,0,0,.04); }
.professional-header { margin-bottom: 20px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.professional-header h1 { margin: 4px 0; font-size: 25px; letter-spacing: -.04em; }
.professional-header-actions { flex-wrap: wrap; }
.professional-page-button { min-height: 48px; padding: 0 19px; border: 1px solid #0064c8; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; color: #fff; background: linear-gradient(135deg, #1684f8, #0067d5); box-shadow: 0 5px 16px rgba(0, 103, 213, .25); font-size: 15px; font-weight: 700; letter-spacing: .01em; text-decoration: none; white-space: nowrap; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.professional-page-button:hover { transform: translateY(-2px); background: linear-gradient(135deg, #0878eb, #005bbd); box-shadow: 0 8px 20px rgba(0, 103, 213, .32); }
.professional-page-button:focus-visible { outline: 3px solid rgba(0, 113, 227, .35); outline-offset: 3px; }
.professional-page-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.professional-logout-button { width: auto; min-height: 42px; margin: 0; padding: 0 16px; }
.professional-tabs { margin: 0 0 20px; display: flex; gap: 10px; overflow-x: auto; }
.professional-tabs button { padding: 11px 16px; border: 0; border-radius: 999px; color: var(--muted); background: #e8e8ed; font: inherit; cursor: pointer; white-space: nowrap; }
.professional-tabs button.active { color: #fff; background: var(--ink); }
.professional-form { display: grid; gap: 14px; }
.professional-form textarea { min-height: 90px; resize: vertical; }
.professional-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.professional-services-list { padding-top:28px;border-top:1px solid #e5e5ea; }
.service-list-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px; }
.service-list-heading .eyebrow { margin:0 0 4px; }
.service-list-heading h3 { margin:0;font-size:24px;font-weight:650;letter-spacing:-.035em; }
.service-count { min-width:34px;height:34px;padding:0 10px;display:grid;place-items:center;border:1px solid #e5e5ea;border-radius:99px;background:#f5f5f7;color:#515965;font-size:13px;font-weight:650; }
.professional-services-grid { display:grid;gap:12px; }
.professional-service-card { min-width:0;padding:18px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid #e8e8ed;border-radius:17px;background:linear-gradient(110deg,#fff 0%,#fcfcfd 100%);box-shadow:0 3px 12px rgba(29,29,31,.035);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.professional-service-card:hover { transform:translateY(-1px);border-color:#d2d2d7;box-shadow:0 9px 24px rgba(29,29,31,.07); }
.professional-service-icon { width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.035);border-radius:17px;background:linear-gradient(145deg,#f4f0ff,#e9e7f7);color:#6256a8; }
.professional-service-icon svg { width:31px;height:31px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.professional-service-icon img { display:block;width:100%;height:100%;max-width:50px;max-height:50px;object-fit:contain;border-radius:12px; }
.service-icon-clean { background:linear-gradient(145deg,#eaf6f2,#dcefe8);color:#39816b; }
.service-icon-hair { background:linear-gradient(145deg,#f5eef9,#eee3f4);color:#815593; }
.service-icon-nails { background:linear-gradient(145deg,#fff0f2,#f9e1e7);color:#b45a70; }
.service-icon-massage { background:linear-gradient(145deg,#fff4e8,#f8e8d7);color:#a86d37; }
.service-icon-skin { background:linear-gradient(145deg,#edf4fc,#e0eaf7);color:#5377a5; }
.professional-service-content { min-width:0; }
.professional-service-title { display:flex;align-items:center;gap:10px; }
.professional-service-title h4 { min-width:0;margin:0;color:#1d1d1f;font-size:16px;font-weight:650;letter-spacing:-.02em;overflow-wrap:anywhere; }
.active-indicator { flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;color:#39816b;font-size:11px;font-weight:600; }
.active-indicator i { width:6px;height:6px;border-radius:50%;background:#34a56f; }
.professional-service-description { margin:6px 0 10px;color:#74747b;font-size:13px;line-height:1.5; }
.professional-service-meta { display:flex;align-items:center;gap:9px;color:#77777e;font-size:12px; }
.professional-service-meta i { width:3px;height:3px;border-radius:50%;background:#b8b8bd; }
.professional-service-meta strong { color:#34343a;font-size:13px;font-weight:650; }
.professional-service-actions { display:flex;align-items:center;gap:8px; }
.professional-service-actions button { min-height:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:999px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.professional-service-actions button:hover { transform:translateY(-1px); }
.service-edit-button { border-color:#d8eaff!important;background:#f0f7ff!important;color:#0071e3; }
.service-edit-button:hover { border-color:#b7d8ff!important;background:#e3f0ff!important; }
.service-remove-button { border-color:#f6dddd!important;background:#fff4f4!important;color:#d93036; }
.service-remove-button:hover { border-color:#efc4c4!important;background:#ffe9e9!important; }
.professional-service-actions button span { font-size:17px;line-height:1; }
.service-empty-state { min-height:112px;padding:20px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px dashed #d2d2d7;border-radius:16px;color:#77777e;font-size:14px; }
.service-empty-state span { color:#8b7cc2;font-size:19px; }
.schedule-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.schedule-day { padding: 16px; border: 1px solid #e8e8ed; border-radius: 12px; display: grid; gap: 10px; }
.schedule-day input[type="time"] { width: 100%; min-height: 40px; padding: 7px; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
.toggle-switch { width:46px;height:27px;padding:3px;border:0;border-radius:99px;background:#d2d2d7;cursor:pointer;transition:background .2s ease; }
.toggle-switch span { width:21px;height:21px;display:block;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease; }
.toggle-switch.is-on { background:#34c759; }
.toggle-switch.is-on span { transform:translateX(19px); }
.toggle-switch:focus-visible,.booking-action:focus-visible { outline:3px solid rgba(0,113,227,.35);outline-offset:2px; }
.professional-bookings-table { width:100%;table-layout:fixed;border-collapse:collapse; }
.professional-bookings-table th { padding:11px 6px;background:#f7f7f8;border-bottom:1px solid #e5e5ea;color:#515965;font-size:12px;font-weight:650; }
.professional-bookings-table th:nth-child(1) { width:3%; }
.professional-bookings-table th:nth-child(2) { width:11%; }
.professional-bookings-table th:nth-child(3) { width:9%; }
.professional-bookings-table th:nth-child(4) { width:11%; }
.professional-bookings-table th:nth-child(5) { width:7%; }
.professional-bookings-table th:nth-child(6) { width:7%; }
.professional-bookings-table th:nth-child(7) { width:6%; }
.professional-bookings-table th:nth-child(8) { width:14%; }
.professional-bookings-table th:nth-child(9) { width:6%; }
.professional-bookings-table th:nth-child(10) { width:7%; }
.professional-bookings-table th:nth-child(11) { width:7%; }
.professional-bookings-table th:nth-child(12) { width:19%; }
.professional-bookings-table td { padding:10px 6px;border-bottom:1px solid #e5e5ea;vertical-align:middle;overflow-wrap:anywhere; }
.professional-bookings-table .booking-customer { font-weight:600; }
.booking-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.booking-action { min-width:0;padding:8px 10px;border:0;border-radius:8px;color:#fff;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:normal;line-height:1.3;transition:background .15s ease,transform .15s ease; }
.booking-action:disabled { opacity:.4;cursor:not-allowed; }
.booking-action-confirm { background:#34c759; }
.booking-action-reminder { background:#0071e3; }
.booking-action-edit { background:#f58220; }
.booking-action-cancel { background:#ed4245; }
.booking-status { display:inline-block;padding:6px 10px;border-radius:99px;font-size:12px;font-weight:650;white-space:nowrap; }
.status-pending { background:#fff4ce;color:#785600; }
.status-confirmed { background:#dcfce7;color:#16713b; }
.status-canceled { background:#fee2e2;color:#a32126; }
.modal-backdrop { position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#15171b66; }
[x-cloak] { display:none!important; }
.reschedule-modal { width:min(100%,440px);padding:26px;border:1px solid #e5e5ea;border-radius:20px;background:#fff;box-shadow:0 18px 60px #0003; }
.reschedule-modal h2 { margin:0 0 20px;font-size:24px;font-weight:650; }
.reschedule-modal label { display:grid;gap:7px;margin-top:14px;color:#424245;font-size:14px;font-weight:600; }
.reschedule-modal input { width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit; }

/* Consistent, calm controls across the customer, admin, and professional areas. */
:focus-visible { outline: 3px solid rgba(0,113,227,.35); outline-offset: 2px; }
button, input, select, textarea { font-family: inherit; }
button { touch-action: manipulation; }
.service-card, .booking-card, .professional-panel, .professional-header { border-color: #e5e5ea; box-shadow: 0 8px 28px rgba(29,29,31,.055); }
.professional-shell { padding-block: 40px; }
.professional-header, .professional-panel { border-radius: 20px; }
.professional-tabs { padding: 5px; border-radius: 999px; background: #e8e8ed; }
.professional-tabs button { background: transparent; }
.professional-tabs button.active { background: #1d1d1f; }
.schedule-day { border-color: #e5e5ea; }
body.admin-dashboard { min-height: 100vh; background: #f5f5f7; color: var(--ink); }
.admin-dashboard header { position: sticky; top: 0; z-index: 15; background: rgba(255,255,255,.9); backdrop-filter: saturate(180%) blur(18px); }
.admin-dashboard main { max-width: 1280px; }
.admin-dashboard main > div:first-child { align-items: center; flex-wrap: wrap; gap: 18px; }
.admin-dashboard main > div:first-child > div { max-width: 100%; flex-wrap: wrap; gap: 8px; }
.admin-dashboard main > div:first-child button { min-height: 42px; border-radius: 999px; }
.admin-dashboard .admin-tab-active { color: #fff; background: var(--blue); box-shadow: 0 4px 12px rgba(0,113,227,.18); }
.admin-dashboard .admin-tab-active:hover { background: #0077ed; }
.admin-dashboard .admin-professional-actions button { width: auto; min-height: 40px; margin: 0; padding: 0 16px; white-space: nowrap; }
.admin-dashboard .bg-white { border: 1px solid #e5e5ea; box-shadow: 0 8px 28px rgba(29,29,31,.045); }
.admin-dashboard input, .admin-dashboard select, .admin-dashboard textarea { border-color: #d2d2d7; border-radius: 10px; }
.admin-dashboard input:focus, .admin-dashboard select:focus, .admin-dashboard textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,113,227,.14); }
.admin-login { min-height: 100vh; background: #f5f5f7; color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.admin-login > div > div { border: 1px solid #e5e5ea; border-radius: 22px; box-shadow: 0 20px 60px rgba(29,29,31,.1); }
.admin-login .font-playfair { font-family: inherit; letter-spacing: -.035em; }
.admin-login input { min-height: 48px; border-radius: 11px; }
.admin-login button[type="submit"] { min-height: 48px; border-radius: 999px; background: var(--blue); background-image: none !important; }
.admin-login footer { color: var(--muted); }

@media (max-width: 760px) {
    .professional-shell { padding:18px; }
    .professional-header { align-items:flex-start;flex-direction:column; }
    .professional-header-actions { width:100%;justify-content:space-between;flex-wrap:wrap;gap:10px; }
    .professional-header-actions > a:first-of-type { flex:1 1 180px; }
    .professional-panel { padding:17px; }
    .professional-service-card { grid-template-columns:50px minmax(0,1fr);gap:13px;padding:15px; }
    .professional-service-icon { width:50px;height:50px;border-radius:15px; }
    .professional-service-icon svg { width:27px;height:27px; }
    .professional-service-actions { grid-column:2;justify-content:flex-start;padding-top:1px; }
    .professional-service-actions button { min-height:36px;padding:0 10px; }
    .professional-bookings-table,.professional-bookings-table tbody,.professional-bookings-table tr,.professional-bookings-table td { display:block;width:100%; }
    .professional-bookings-table thead { display:none; }
    .professional-bookings-table tr { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin:0 0 14px;padding:9px 12px;border:1px solid #e5e5ea;border-radius:14px;background:#fff; }
    .professional-bookings-table td { display:flex;align-items:flex-start;gap:7px;padding:7px 0;border:0;font-size:13px; }
    .professional-bookings-table td::before { flex:0 0 auto;color:#777;font-size:11px;font-weight:600; }
    .professional-bookings-table td:nth-child(1)::before { content:'#'; }
    .professional-bookings-table td:nth-child(2)::before { content:'Cliente'; }
    .professional-bookings-table td:nth-child(3)::before { content:'Teléfono'; }
    .professional-bookings-table td:nth-child(4)::before { content:'Email'; }
    .professional-bookings-table td:nth-child(5)::before { content:'Método'; }
    .professional-bookings-table td:nth-child(6)::before { content:'Data'; }
    .professional-bookings-table td:nth-child(7)::before { content:'Hora'; }
    .professional-bookings-table td:nth-child(8)::before { content:'Serviços'; }
    .professional-bookings-table td:nth-child(9)::before { content:'Pago'; }
    .professional-bookings-table td:nth-child(10)::before { content:'Total'; }
    .professional-bookings-table td:nth-child(11)::before { content:'Estado'; }
    .professional-bookings-table td:nth-child(12) { display:block;grid-column:1/-1;padding-top:10px; }
    .professional-bookings-table td:nth-child(12)::before { content:'Ações';display:block;margin-bottom:7px; }
.professional-bookings-table .booking-actions { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
    .booking-action { min-height:44px;font-size:13px;padding:10px 12px; }
}

/* ---------- Modern services showcase (professional dashboard) ---------- */
.service-showcase {
    margin: 16px 0;
    padding: 3px;
    border-radius: 26px;
    background: linear-gradient(115deg, #46d8ff 0%, #4f7bff 26%, #7d5cff 54%, #c85cff 76%, #ff5cc0 100%);
    box-shadow: 0 24px 48px -22px rgba(96,78,235,.55), 0 10px 26px -14px rgba(255,92,192,.4);
    transition: transform .22s ease, box-shadow .22s ease;
}
.service-showcase:hover {
    transform: translateY(-3px);
    box-shadow: 0 32px 58px -22px rgba(96,78,235,.62), 0 14px 32px -14px rgba(255,92,192,.5);
}
.service-showcase-inner {
    position: relative;
    padding: 18px 20px 18px 18px;
    border-radius: 23px;
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: hidden;
    background: radial-gradient(120% 220% at 0% 0%, #ffffff 0%, #eef3ff 38%, #efe9ff 66%, #ffe9fb 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.service-showcase-icon {
    position: relative;
    z-index: 1;
    flex: 0 0 88px;
    width: 88px;
    height: 88px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(120% 130% at 28% 16%, #5578ff 0%, #2b2fbe 46%, #16197f 100%);
    box-shadow: 0 16px 28px -10px rgba(36,40,175,.75), inset 0 2px 5px rgba(255,255,255,.4), inset 0 -8px 16px rgba(0,0,0,.3);
}
.service-showcase-icon img { width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 5px 9px rgba(0,0,0,.32)); }
.service-showcase-glyph { width: 54%; height: 54%; color: #cddbff; filter: drop-shadow(0 4px 8px rgba(0,0,0,.3)); }
.service-showcase-body { position: relative; z-index: 1; flex: 1 1 auto; min-width: 0; }
.service-showcase-title { margin: 0 0 10px; color: #14163a; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.12; font-weight: 800; letter-spacing: -.035em; }
.service-showcase-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.meta-pill { display: inline-flex; align-items: center; gap: 9px; padding: 6px 15px 6px 7px; border-radius: 999px; font-size: 15px; font-weight: 650; white-space: nowrap; }
.meta-pill-icon { display: grid; place-items: center; width: 26px; height: 26px; }
.meta-pill-icon svg { width: 22px; height: 22px; }
.meta-pill-time { color: #173a86; background: linear-gradient(180deg, #dcebff 0%, #c4dbff 100%); box-shadow: inset 0 0 0 1px rgba(86,126,255,.28); }
.meta-pill-time .meta-pill-icon { color: #2f6bff; }
.meta-pill-price { color: #5a2483; background: linear-gradient(180deg, #f2e2ff 0%, #e5cfff 100%); box-shadow: inset 0 0 0 1px rgba(158,96,255,.28); }
.meta-pill-price .meta-pill-icon { color: #8b4dff; }
.meta-divider { width: 1px; height: 26px; background: rgba(58,58,116,.18); }
.service-showcase-desc { margin: 0; color: #5c6079; font-size: 15px; line-height: 1.5; }
.service-showcase-actions { position: relative; z-index: 1; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.service-chevron {
    width: 56px; height: 56px; padding: 0;
    border: 0; border-radius: 50%;
    display: grid; place-items: center;
    color: #fff; cursor: pointer;
    background: linear-gradient(135deg, #3f6bff 0%, #6a4dff 42%, #cf4dff 72%, #ff4fb0 100%);
    box-shadow: 0 14px 26px -8px rgba(120,70,255,.7), inset 0 2px 5px rgba(255,255,255,.5);
    transition: transform .18s ease, box-shadow .18s ease;
}
.service-chevron svg { width: 26px; height: 26px; }
.service-chevron:hover { transform: translateX(2px) scale(1.04); box-shadow: 0 18px 30px -8px rgba(120,70,255,.8), inset 0 2px 5px rgba(255,255,255,.5); }
.service-remove {
    width: 40px; height: 40px; padding: 0;
    border: 1px solid rgba(220,60,90,.28); border-radius: 50%;
    display: grid; place-items: center;
    color: #d6335c; background: rgba(255,255,255,.7); cursor: pointer;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.service-remove svg { width: 19px; height: 19px; }
.service-remove:hover { color: #fff; background: #e11d48; border-color: #e11d48; }

@media (max-width: 640px) {
    .service-showcase-inner { flex-wrap: wrap; gap: 14px; padding: 16px; }
    .service-showcase-icon { flex-basis: 72px; width: 72px; height: 72px; border-radius: 18px; }
    .service-showcase-body { flex: 1 1 150px; }
    .service-showcase-title { font-size: 21px; margin-bottom: 8px; }
    .service-showcase-actions { flex-basis: 100%; flex-direction: row; justify-content: flex-end; gap: 10px; }
    .meta-pill { font-size: 14px; padding: 5px 13px 5px 6px; }
}

/* ---------- Modern services showcase (professional dashboard) ---------- */
.site-header-inner { min-height: 60px; padding: 8px 18px; gap: 10px; flex-wrap: wrap; }
    .site-navigation { gap: 13px; margin-left: auto; font-size: 12px; }
    .language-switcher { width: 100%; justify-content: flex-end; margin-top: -3px; }
    .language-switcher button { width: 31px; height: 31px; font-size: 19px; }
    .hero-section { min-height: initial; padding: 70px 24px; grid-template-columns: 1fr; gap: 52px; text-align: center; }
    .hero-description { margin: 20px auto 26px; font-size: 17px; }
    .hero-art { width: min(72vw, 340px); }
    .intro-section { padding: 68px 24px; grid-template-columns: 1fr; gap: 20px; }
    .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .services-section, .booking-section { padding: 20px 18px 70px; }
    .section-heading { align-items: start; flex-direction: column; }
    .service-card-content { padding: 17px; }
    .service-card h3 { font-size: 19px; }
    .service-description { min-height: 72px; }
    .booking-summary { grid-template-columns: 1fr; gap: 16px; }
    .booking-order-footer { grid-template-columns:1fr;gap:5px;padding:11px 15px; }
    .booking-order-heading { justify-content:space-between; }
    .booking-order-heading .eyebrow { font-size:10px; }
    .booking-order-heading>strong { font-size:17px; }
    .booking-order-lines { max-height:72px; }
    .booking-order-line { font-size:12px; }
    .booking-section { padding-bottom:180px; }
    .site-footer { flex-wrap: wrap; justify-content: center; text-align: center; }
    .admin-dashboard main { padding: 24px 16px; }
    .admin-dashboard main > div:first-child { align-items: stretch; flex-direction: column; }
    .admin-dashboard main > div:first-child > div { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 5px; }
    .admin-dashboard main > div:first-child button { flex: 0 0 auto; }
}
@media (max-width: 500px) {
    .site-header-inner { justify-content: space-between; }
    .site-navigation { gap: 10px; font-size: 11px; }
    .site-navigation a:nth-child(2) { display: none; }
    .language-switcher { width: auto; margin-top: 0; }
    .hero-copy h1 { font-size: 54px; }
    .service-grid { grid-template-columns: 1fr; }
    .service-card-art { height: 125px; }
    .service-description { min-height: 0; }
    .selection-bar { align-items: stretch; flex-direction: column; padding: 16px; }
    .selection-bar .primary-button { width: 100%; }
    .booking-card { padding: 20px; }
    .selected-slot-summary { align-items:center;flex-direction:row;gap:8px; }
    .selected-slot-summary .secondary-button { width:auto;justify-content:center; }
    .requested-hours-control { justify-content:space-between; }
    .booking-order-footer { width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom));border-radius:16px; }
    .booking-fields, .professional-form-grid { grid-template-columns: 1fr; }
                .booking-language-field { grid-column: 1 / -1; }
    .professional-shell { padding: 15px; }
    .professional-panel { padding:14px; }
    .professional-service-card { grid-template-columns:44px minmax(0,1fr);gap:11px;padding:13px;border-radius:15px; }
    .professional-service-icon { width:44px;height:44px;border-radius:13px; }
    .professional-service-icon svg { width:24px;height:24px; }
    .professional-service-title { align-items:flex-start;flex-direction:column;gap:4px; }
    .professional-service-description { margin:7px 0; }
    .professional-service-actions { gap:5px; }
    .professional-service-actions button { min-height:34px;padding:0 8px;font-size:12px; }
    .professional-bookings-table tr { grid-template-columns:1fr; }
    .professional-bookings-table td:nth-child(12) { grid-column:1; }
    .professional-bookings-table .booking-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .summary-field-hours { flex-direction:column;align-items:stretch;gap:6px; }
    .summary-field-hours .requested-hours-control { justify-content:space-between; }
    .summary-field-hours .summary-hours-input { width:100%; }
    .hours-min-hint { white-space:nowrap;overflow-wrap:normal; }
    .booking-service-heading { flex-wrap:wrap;gap:8px; }
    .booking-order-lines { max-height:90px; }
    .booking-order-line { font-size:11px;gap:8px; }
}

.onepage { min-height:100vh; color:var(--ink); }
.onepage-header { position:sticky;top:0;z-index:5;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px max(20px,calc((100vw - 1120px)/2));background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.07); }
.onepage-header .language-switcher { display:flex;align-items:center;gap:4px;margin-right:8px; }
.onepage-back-home { display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:9px 18px 9px 14px;border-radius:999px;color:#fff;background:#ff9500;font-size:14px;font-weight:600;text-decoration:none;box-shadow:0 4px 14px rgba(255,149,0,.28);transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.onepage-back-home:hover { background:#e68600;transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,149,0,.34); }
.onepage-back-home svg { width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.onepage-brand { display:inline-flex;align-items:center;text-decoration:none; }
.onepage-main { max-width:1120px;margin:auto;padding:0 24px 50px; }
.onepage-hero { padding:76px 0 52px;max-width:740px; }
.onepage-brand-banner { display:block;width:min(100%,590px);aspect-ratio:3/1;margin:0 0 28px;border-radius:16px;object-fit:cover;box-shadow:0 12px 36px rgba(25,38,92,.16); }
.onepage-hero>h1 { margin:10px 0 15px;font-size:clamp(38px,6vw,64px);line-height:1.03;letter-spacing:-.055em; }
.onepage-location { margin:4px 0 15px;color:#6b7280;font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:6px; }
.flag-icon { width:23px;height:16px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12); }

/* ---------- Onepage service carousel ---------- */
.onepage-carousel { position:relative;margin:32px 0;border-radius:26px;background:#fff;border:2px solid rgba(0,113,227,.55);box-shadow:0 12px 36px rgba(0,91,190,.12);overflow:hidden;min-height:380px; }
.onepage-carousel-slide { position:absolute;inset:0;display:flex;align-items:center;gap:24px;padding:32px 76px;opacity:0;transition:opacity .45s ease; }
.onepage-carousel-slide.active { position:relative;opacity:1;z-index:1; }
.onepage-carousel-slide.exiting { opacity:0;z-index:0;pointer-events:none; }
.onepage-carousel-art { flex:0 0 40%;max-width:420px;display:flex;align-items:center;justify-content:center;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#e0f2fe,#dbeafe);min-height:260px; }
.onepage-carousel-art img { max-width:100%;max-height:280px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.08)); }
.onepage-carousel-art span { font-size:64px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12)); }
.onepage-carousel-body { flex:1;min-width:0; }
.onepage-carousel-title { margin:0 0 12px;font-size:clamp(26px,3.5vw,36px);line-height:1.05;letter-spacing:-.03em;color:#14163a;font-weight:800; }
.onepage-service-heading { min-width:0;display:flex;align-items:center;gap:12px; }
.onepage-service-heading img { width:44px;height:44px;max-width:44px;flex:0 0 44px;object-fit:contain;border-radius:10px; }
.onepage-service-heading h2,.onepage-service-heading h3 { min-width:0;overflow-wrap:anywhere; }
.onepage-service-heading h3 { margin:0; }
.onepage-carousel-desc { margin:0 0 20px;color:var(--muted);font-size:16px;line-height:1.6; }
.onepage-carousel-meta { display:flex;align-items:center;gap:22px;margin:22px 0;font-size:16px; }
.onepage-carousel-meta strong { color:#14163a;font-weight:700; }
.onepage-carousel .secondary-button { display:inline-flex; }
.onepage-carousel-nav { position:absolute;top:14px;transform:none;z-index:3;background:rgba(255,255,255,.95);border:1px solid #dbeafe;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;color:#0756a3;cursor:pointer;box-shadow:0 4px 14px rgba(0,91,190,.12);transition:background .2s ease,transform .2s ease; }
.onepage-carousel-nav:hover { background:#eff6ff;transform:scale(1.08); }
.onepage-carousel-nav.prev { left:auto;right:62px; }
.onepage-carousel-nav.next { right:14px; }
.onepage-carousel-nav svg { width:22px;height:22px; }
.onepage-carousel-dots { position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3; }
.onepage-carousel-dots button { width:12px;height:12px;border-radius:50%;border:0;background:rgba(148,163,184,.5);cursor:pointer;transition:background .2s ease; }
.onepage-carousel-dots button.active { background:#6366f1; }
@media(max-width:760px){
    .onepage-carousel{ min-height:300px;margin:22px 0; }
    .onepage-carousel-slide{ flex-direction:column;text-align:center;gap:16px;padding:58px 22px 46px; }
    .onepage-carousel-title{ font-size:clamp(22px,6vw,28px); }
    .onepage-carousel-meta{ gap:14px;font-size:14px;justify-content:center; }
    .onepage-carousel-nav{ width:36px;height:36px;top:10px; }
    .onepage-carousel-nav.prev{ right:54px; }
    .onepage-carousel-nav.next{ right:10px; }
    .onepage-carousel-dots button{ width:10px;height:10px; }
}
.onepage-hero>p:last-child { color:var(--muted);font-size:18px;line-height:1.65; }
.onepage-group { padding:18px 0 46px; }
.onepage-group .section-heading { align-items:center;margin-bottom:20px; }
.onepage-group h2 { margin:5px 0;font-size:30px;letter-spacing:-.04em; }
.onepage-share { color:var(--blue);text-decoration:none;font-size:14px; }
.onepage-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.onepage-service { overflow:hidden;border:1px solid #e5e5ea;border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.045); }
.onepage-service-featured { border:2px solid rgba(0,113,227,.55);box-shadow:0 8px 26px rgba(0,91,190,.1); }
.onepage-art { height:170px;display:grid;place-items:center;background:linear-gradient(135deg,#f1edf7,#e6eaf4); }
.onepage-art img { width:100%;height:100%;object-fit:cover; }
.onepage-art span { font-size:54px; }
.onepage-service-body { padding:20px; }
.onepage-service h3 { margin:0;font-size:21px;letter-spacing:-.025em; }
.onepage-service-body>p { min-height:42px;color:var(--muted);font-size:14px;line-height:1.55; }
.onepage-meta { display:flex;justify-content:space-between;gap:10px;margin:18px 0;color:var(--muted);font-size:14px; }
.onepage-meta strong { color:var(--ink); }
.onepage-service .secondary-button { display:flex;justify-content:center;text-decoration:none; }
.onepage-service-min { display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:650;color:#6b21a8;background:linear-gradient(180deg,#f2e2ff,#e5cfff);box-shadow:inset 0 0 0 1px rgba(158,96,255,.3); }
.onepage-footer { max-width:1160px;padding:24px 22px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #dedee3;color:var(--muted);font-size:13px; }
.onepage-footer a { color:var(--blue); }
.report-filters { display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:22px; }
.report-summary-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px; }
.report-card { padding:16px 18px;border:1px solid #e5e5ea;border-radius:14px;background:#fff; }
.report-card .label { color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.02em;text-transform:uppercase; }
.report-card .value { color:var(--ink);font-size:24px;font-weight:700;letter-spacing:-.02em;margin-top:6px; }
.report-free-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px; }
.report-free-day { padding:14px;border:1px solid #e5e5ea;border-radius:12px;background:#fff; }
.report-free-slot { color:#16713b;font-weight:600; }
.payslip { max-width:760px;margin:0 auto;padding:30px;border:1px solid #e5e5ea;border-radius:18px;background:#fff; }
.payslip-head { border-bottom:1px solid #e5e5ea;padding-bottom:16px;margin-bottom:18px; }
.payslip-totals { border-top:1px solid #e5e5ea;margin-top:16px;padding-top:14px; }
@media print {
    body * { visibility: hidden; }
    .payslip, .payslip * { visibility: visible; }
    .payslip { position: absolute; left: 0; top: 0; width: 100%; box-shadow: none; }
}
.admin-services-panel { display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:22px;align-items:start; }
.admin-service-list { display:grid;gap:12px; }
.admin-service-row { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #eee; }
.admin-service-name { min-width:0;display:flex;align-items:center;gap:10px; }
.admin-service-name img { width:36px;height:36px;max-width:36px;flex:0 0 36px;object-fit:contain;border-radius:8px; }
.admin-service-name h4 { min-width:0;margin:0;overflow-wrap:anywhere; }
.admin-service-row>.admin-service-name { flex:1 1 180px; }
.admin-service-row>p { min-width:120px;margin:0; }
.admin-service-row>.flex { flex:0 0 auto; }
.admin-service-preview { max-width:100%;max-height:190px;object-fit:cover;border-radius:12px; }
@media(max-width:760px) { .onepage-main{padding:0 18px 36px}.onepage-hero{padding:50px 0 34px}.onepage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-services-panel{grid-template-columns:1fr}.admin-service-row{align-items:flex-start;flex-direction:column}.onepage-art{height:140px}.onepage-footer{flex-wrap:wrap}.onepage-footer>span{order:3;width:100%} }
@media(max-width:500px) { .onepage-grid{grid-template-columns:1fr}.onepage-hero h1{font-size:42px}.onepage-header{min-height:60px;padding:8px 16px}.onepage-brand-banner{margin-bottom:23px;border-radius:12px}.onepage-header .primary-button{padding:10px 13px;font-size:13px}.onepage-group .section-heading{align-items:flex-start;flex-direction:column;gap:6px}.onepage-footer{padding:23px 18px;flex-wrap:wrap}.onepage-footer>span{order:3;width:100%}.onepage-footer small{margin-left:auto}.admin-service-form .grid-cols-2{grid-template-columns:1fr}.admin-dashboard main{padding-left:12px;padding-right:12px}.admin-dashboard main>div:first-child{align-items:flex-start;flex-direction:column;gap:14px}.admin-dashboard main>div:first-child>div{max-width:100%;overflow-x:auto;padding-bottom:4px}.admin-dashboard main>div:first-child button{white-space:nowrap} }

.institutional { min-height:100vh;color:var(--ink); }
.institutional-header { position:sticky;top:0;z-index:15;min-height:70px;padding:10px max(22px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.07); }
.institutional-logo { color:var(--ink);font-weight:750;font-size:25px;letter-spacing:-.075em;text-decoration:none; }
.institutional-logo { display:inline-flex;align-items:center;flex:none; }
.institutional-logo span { color:var(--blue); }
.institutional-nav,.institutional-actions { display:flex;align-items:center;gap:24px; }
.institutional-nav a,.institutional-login { color:#424245;font-size:14px;text-decoration:none; }
.institutional-nav a:hover,.institutional-login:hover { color:var(--blue); }
.institutional-actions { gap:18px; }
.institutional-hero { max-width:1160px;min-height:630px;margin:auto;padding:74px 22px 80px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px; }
.institutional-hero-copy { max-width:610px; }
.institutional-brand-banner { display:block;width:min(100%,590px);aspect-ratio:3/1;margin:0 0 28px;border-radius:16px;object-fit:cover;box-shadow:0 12px 36px rgba(25,38,92,.16); }
.institutional-hero h1 { margin:16px 0 22px;font-size:clamp(48px,6.3vw,76px);line-height:.99;letter-spacing:-.065em;font-weight:680; }
.institutional-hero h1 span { color:#77777e; }
.institutional-lead { max-width:520px;margin:0;color:var(--muted);font-size:19px;line-height:1.65; }
.institutional-hero-actions { display:flex;align-items:center;gap:22px;margin-top:30px;flex-wrap:wrap; }
.institutional-hero-actions .primary-button,.institutional-cta .primary-button { text-decoration:none; }
.institutional-text-link { color:var(--blue);font-size:14px;text-decoration:none; }
.institutional-proof { display:flex;align-items:center;gap:10px;margin-top:30px;color:var(--muted);font-size:13px; }
.institutional-proof-mark { display:grid;place-items:center;width:22px;height:22px;border-radius:50%;color:#fff;background:#34a853;font-weight:700; }
.institutional-hero-visual { position:relative;display:grid;place-items:center;min-height:430px;border-radius:36px;background:radial-gradient(ellipse at 55% 48%,#fff 0,#f0eef8 45%,#e5eafa 100%); }
.mock-browser { width:min(78%,350px);overflow:hidden;border:1px solid rgba(0,0,0,.1);border-radius:23px;background:#fff;box-shadow:0 28px 70px rgba(34,34,55,.18);transform:rotate(3deg); }
.mock-browser-top { height:41px;padding:0 13px;display:flex;align-items:center;gap:5px;border-bottom:1px solid #eee;color:#aaa;font-size:10px; }
.mock-browser-top i { width:7px;height:7px;border-radius:50%;background:#d9d9dd; }
.mock-browser-top span { margin-left:auto;margin-right:auto;letter-spacing:-.03em; }
.mock-service-cover { height:156px;display:grid;place-items:center;background:linear-gradient(140deg,#d7d0e7,#b2bdcf 60%,#e9d9d4); }
.mock-service-cover span { color:#fff;font-size:46px;text-shadow:0 4px 18px #777; }
.mock-service-lines { padding:18px; }
.mock-service-lines>b,.mock-service-lines>i { display:block;height:10px;border-radius:10px;background:#e7e7eb; }
.mock-service-lines>b { width:65%;height:13px;margin-bottom:10px;background:#34343a; }
.mock-service-lines>i { width:90%;height:7px;background:#eeeef1; }
.mock-service-lines>div { margin-top:22px;display:flex;align-items:center;justify-content:space-between; }
.mock-service-lines>div span { width:30%;height:7px;border-radius:8px;background:#e9e9ed; }
.mock-service-lines>div strong { width:24%;height:10px;border-radius:8px;background:#33343a; }
.mock-service-lines>button { width:100%;height:37px;margin-top:17px;border:0;border-radius:10px;background:#171719; }
.visual-caption { position:absolute;right:8%;bottom:11%;padding:12px 16px;border:1px solid rgba(255,255,255,.8);border-radius:14px;color:#45454b;background:rgba(255,255,255,.8);box-shadow:0 8px 24px rgba(0,0,0,.08);font-size:12px; }
.institutional-intro { max-width:780px;margin:18px auto 45px;padding:45px 22px 30px;text-align:center; }
.institutional-intro h2 { margin:12px 0 15px;font-size:clamp(34px,4.4vw,52px);line-height:1.05;letter-spacing:-.055em; }
.institutional-intro>p:last-child { max-width:580px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.65; }
.institutional-features { max-width:1160px;margin:0 auto;padding:10px 22px 92px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.institutional-feature { min-height:255px;padding:26px;border:1px solid #e5e5ea;border-radius:23px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.035); }
.feature-icon { width:42px;height:42px;margin-bottom:25px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#1d1d1f;font-size:21px; }
.institutional-feature .eyebrow { margin-bottom:9px; }
.institutional-feature h3 { margin:0 0 10px;font-size:21px;letter-spacing:-.03em; }
.institutional-feature>p:last-child { margin:0;color:var(--muted);font-size:14px;line-height:1.6; }
.institutional-cta { max-width:1116px;margin:0 auto 70px;padding:38px 42px;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#e9e9ee; }
.institutional-cta h2 { max-width:630px;margin:8px 0;font-size:clamp(27px,3.5vw,40px);line-height:1.08;letter-spacing:-.05em; }
.institutional-cta p:last-child { margin:0;color:#626269;line-height:1.5; }
.institutional-footer { max-width:1160px;margin:auto;padding:25px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #dedee3;color:var(--muted);font-size:13px; }
.institutional-footer a:not(.institutional-logo) { color:var(--blue);text-decoration:none; }
.institutional-featured { max-width:1160px;margin:0 auto;padding:16px 22px 46px; }
.institutional-featured .institutional-intro { padding-top:0;padding-bottom:4px; }
.institutional-featured-professional { display:flex;align-items:baseline;flex-wrap:wrap;gap:0;margin:0 0 10px;line-height:1.3; }
.institutional-featured-name { color:var(--ink);font-size:19px;font-weight:700;letter-spacing:-.02em; }
.institutional-featured-location { color:var(--muted);font-size:14px;font-weight:500; }
.institutional-featured-empty { max-width:580px;margin:0 auto;padding:8px 22px 10px;color:var(--muted);font-size:16px;text-align:center; }
@media(max-width:850px) { .institutional-header{padding:10px 20px}.institutional-hero{min-height:auto;padding-top:54px;grid-template-columns:1fr;gap:38px}.institutional-hero-copy{max-width:700px}.institutional-hero-visual{min-height:390px}.mock-browser{width:min(65%,350px)}.institutional-features{grid-template-columns:1fr;max-width:650px;padding-bottom:60px}.institutional-feature{min-height:0}.institutional-cta{margin:0 20px 55px} }
@media(max-width:560px) { .institutional-header{min-height:60px;padding:8px 14px;gap:10px}.institutional-nav{display:none}.institutional-actions{gap:9px}.institutional-actions .language-switcher{gap:0}.institutional-actions .language-switcher button{width:30px;height:30px}.institutional-actions .language-switcher svg{width:19px;height:13px}.institutional-login{font-size:13px}.institutional-hero{padding:43px 18px 52px;gap:30px}.institutional-brand-banner{margin-bottom:23px;border-radius:12px}.institutional-hero h1{font-size:clamp(44px,12vw,58px)}.institutional-lead{font-size:17px}.institutional-hero-actions{align-items:flex-start;flex-direction:column;gap:17px;margin-top:24px}.institutional-hero-visual{min-height:320px;border-radius:26px}.mock-browser{width:72%}.mock-service-cover{height:120px}.visual-caption{right:4%;bottom:8%;font-size:10px}.institutional-intro{margin:0 auto 25px;padding:40px 20px 22px}.institutional-intro h2{font-size:36px}.institutional-intro>p:last-child{font-size:15px}.institutional-features{padding:0 18px 45px;gap:12px}.institutional-feature{padding:21px}.institutional-featured{padding:8px 18px 34px}.institutional-featured .institutional-intro{padding:34px 0 2px}.institutional-cta{align-items:flex-start;flex-direction:column;margin:0 18px 38px;padding:26px 22px}.institutional-cta .primary-button{width:100%;justify-content:center;text-align:center}.institutional-footer{padding:23px 18px;flex-wrap:wrap}.institutional-footer>span{order:3;width:100%}.institutional-footer small{margin-left:auto} }
