:root {
    --auth-primary: #5547ed;
    --auth-primary-hover: #4438ca;
    --auth-ink: #151823;
    --auth-text: #3f4654;
    --auth-muted: #737b8b;
    --auth-line: #dfe3e9;
    --auth-canvas: #f5f6f9;
    --auth-danger: #b42318;
}

body.auth-v2 {
    min-width: 320px;
    min-height: 100dvh;
    margin: 0;
    background: var(--auth-canvas);
    color: var(--auth-ink);
    font-family: "DM Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

.auth-dashboard-scene {
    position: fixed;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    background: #4e43c8;
    pointer-events: none;
}
.auth-dashboard-scene::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: rgba(72, 61, 190, .50);
    box-shadow: inset 0 0 180px rgba(29, 24, 94, .16);
    content: "";
}
.auth-dashboard-preview {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    background: #f4f6fa;
    filter: blur(6px);
    opacity: .95;
    transform: none;
}
.auth-example-workspace,
.auth-example-workspace > .app-shell,
.auth-example-workspace .app-content,
.auth-example-workspace .main.main-agenda,
.auth-example-workspace .agenda-page,
.auth-example-workspace .agenda-workspace,
.auth-example-workspace .agenda-body,
.auth-example-workspace .agenda-calendar-wrap,
.auth-example-workspace .full-calendar,
.auth-example-workspace .auth-calendar-stage {
    width: 100%;
    height: 100%;
    min-height: 0;
}
.auth-example-workspace > .app-shell { min-height: 100%; }
.auth-example-workspace .app-content,
.auth-example-workspace .main.main-agenda { overflow: hidden; }
.auth-example-workspace .agenda-page { gap: 0; }
.auth-example-workspace .agenda-workspace {
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
}
.auth-example-workspace .full-calendar { padding: 0; }
.auth-dashboard-sidebar {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    padding: 19px 11px;
    border-right: 1px solid #e0e3eb;
    background: #fff;
    color: #7d8597;
}
.auth-dashboard-preview-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 19px;
}
.auth-dashboard-preview-brand strong { display: none; }
.auth-dashboard-preview-brand .platform-logo-icon { width: 58px; height: 58px; padding: 0; background: transparent; }
.auth-dashboard-preview-brand .platform-logo-icon img { display: block; width: 100%; height: 100%; }
.auth-dashboard-nav { display: grid; gap: 4px; }
.auth-dashboard-nav span,
.auth-dashboard-settings {
    display: flex;
    min-height: 70px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 7px;
    padding: 8px 4px;
    border-radius: 13px;
    font-size: 10px;
}
.auth-dashboard-nav span i,
.auth-dashboard-settings i { width: 22px; font-size: 20px; text-align: center; }
.auth-dashboard-nav span.is-active { background: #eeecff; color: #5547ed; }
.auth-dashboard-settings { margin-top: auto; border-top: 1px solid #e7e9ef; border-radius: 0; }
.auth-dashboard-main { display: flex; min-width: 0; min-height: 0; flex-direction: column; background: #fff; }
.auth-dashboard-topbar {
    display: flex;
    height: 78px;
    align-items: center;
    justify-content: space-between;
    padding: 0 38px;
    border-bottom: 1px solid #e4e7ee;
    background: #fff;
}
.auth-dashboard-search {
    display: flex;
    width: min(420px, 42vw);
    height: 43px;
    align-items: center;
    gap: 11px;
    padding: 0 15px;
    border: 1px solid #e1e5ec;
    border-radius: 11px;
    background: #f8f9fb;
    color: #8b93a2;
    font-size: 12px;
}
.auth-dashboard-profile { display: flex; align-items: center; gap: 10px; color: #2e3441; font-size: 12px; }
.auth-dashboard-profile i { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #e9e7ff; color: #5547ed; font-style: normal; font-weight: 800; }
.auth-dashboard-content { padding: 38px 42px; }
.auth-dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.auth-dashboard-heading small { color: #7a8394; font-size: 10px; font-weight: 750; letter-spacing: .08em; }
.auth-dashboard-heading h2 { margin: 6px 0 0; color: #181d2a; font-size: 31px; letter-spacing: -.045em; }
.auth-dashboard-heading p { margin: 6px 0 0; color: #778091; font-size: 13px; }
.auth-dashboard-heading > span { display: inline-flex; height: 46px; align-items: center; gap: 9px; padding: 0 17px; border-radius: 11px; background: #5547ed; color: #fff; font-size: 12px; font-weight: 750; }
.auth-dashboard-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin-top: 30px; }
.auth-dashboard-metrics article { display: flex; min-height: 94px; align-items: center; gap: 15px; padding: 19px; border: 1px solid #e1e4eb; border-radius: 15px; background: #fff; }
.auth-dashboard-metrics article > i { display: grid; width: 45px; height: 45px; flex: 0 0 auto; place-items: center; border-radius: 12px; background: #eceaff; color: #5547ed; }
.auth-dashboard-metrics article:nth-child(2) > i { background: #e4f7ef; color: #158563; }
.auth-dashboard-metrics article:nth-child(3) > i { background: #fff0dc; color: #c57719; }
.auth-dashboard-metrics span { display: grid; gap: 3px; }
.auth-dashboard-metrics strong { color: #202533; font-size: 22px; }
.auth-dashboard-metrics small { color: #838b99; font-size: 10px; }
.auth-dashboard-panels { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .7fr); gap: 18px; margin-top: 18px; }
.auth-dashboard-agenda,
.auth-dashboard-summary { overflow: hidden; border: 1px solid #e1e4eb; border-radius: 15px; background: #fff; }
.auth-dashboard-agenda > header,
.auth-dashboard-summary > header { display: flex; min-height: 72px; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid #e9ebf0; }
.auth-dashboard-agenda h3,
.auth-dashboard-summary h3 { margin: 0; color: #242936; font-size: 16px; }
.auth-dashboard-agenda header p { margin: 3px 0 0; color: #8b92a0; font-size: 10px; }
.auth-dashboard-agenda header > span,
.auth-dashboard-summary header > span { color: #5547ed; font-size: 10px; font-weight: 700; }
.auth-dashboard-appointments { padding: 3px 22px; }
.auth-dashboard-appointments article { display: grid; grid-template-columns: 55px 5px minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 70px; border-bottom: 1px solid #eceef2; }
.auth-dashboard-appointments article:last-child { border-bottom: 0; }
.auth-dashboard-appointments time { color: #252a38; font-size: 12px; font-weight: 750; }
.auth-dashboard-appointments article > i { width: 4px; height: 34px; border-radius: 99px; background: var(--event-color); }
.auth-dashboard-appointments article > span { display: grid; gap: 4px; }
.auth-dashboard-appointments article > span strong { color: #2b303c; font-size: 11px; }
.auth-dashboard-appointments article > span small { color: #8a92a0; font-size: 9px; }
.auth-dashboard-appointments article > b { padding: 6px 9px; border-radius: 99px; background: #e8f8f1; color: #268566; font-size: 8px; }
.auth-dashboard-summary { padding-bottom: 28px; }
.auth-dashboard-bars { display: flex; height: 170px; align-items: end; gap: 11px; padding: 28px 24px 18px; }
.auth-dashboard-bars i { width: 100%; min-height: 18px; border-radius: 7px 7px 2px 2px; background: #7468f4; }
.auth-dashboard-summary > strong,
.auth-dashboard-summary > small { display: block; margin-inline: 24px; }
.auth-dashboard-summary > strong { color: #222735; font-size: 23px; }
.auth-dashboard-summary > small { margin-top: 4px; color: #8991a0; font-size: 10px; }

.auth-calendar-toolbar {
    display: grid;
    min-height: 88px;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    padding: 0 25px;
    border-bottom: 1px solid #dfe3eb;
    background: #fff;
}
.auth-calendar-period,
.auth-calendar-actions,
.auth-calendar-view-switch { display: flex; align-items: center; }
.auth-calendar-period { gap: 10px; }
.auth-calendar-period strong { margin-left: 6px; color: #171c2b; font-size: 18px; letter-spacing: -.03em; white-space: nowrap; }
.auth-calendar-icon,
.auth-calendar-today,
.auth-calendar-actions > span,
.auth-calendar-actions > strong {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid #dce0e8;
    border-radius: 11px;
    background: #fff;
    color: #5c6477;
    font-size: 12px;
    font-style: normal;
    font-weight: 750;
    white-space: nowrap;
}
.auth-calendar-icon { width: 42px; padding: 0; }
.auth-calendar-today { border-color: #c8c2ff; background: #f4f2ff; color: #4d40df; }
.auth-calendar-view-switch { gap: 2px; padding: 4px; border: 1px solid #dfe2e9; border-radius: 12px; background: #f1f2f6; }
.auth-calendar-view-switch span { display: inline-flex; min-height: 34px; align-items: center; padding: 0 13px; border-radius: 9px; color: #747c8f; font-size: 12px; font-weight: 750; }
.auth-calendar-view-switch span.is-active { background: #5547ed; color: #fff; }
.auth-calendar-actions { min-width: 0; justify-content: flex-end; gap: 8px; }
.auth-calendar-actions > span:nth-child(1),
.auth-calendar-actions > span:nth-child(2) { border-color: transparent; background: #f4f5f8; }
.auth-calendar-actions > strong { border-color: #5547ed; background: #5547ed; color: #fff; }
.auth-calendar-summary {
    display: flex;
    min-height: 47px;
    align-items: center;
    border-bottom: 1px solid #dfe3eb;
    background: #fbfbfd;
}
.auth-calendar-summary > span { display: inline-flex; min-height: 31px; align-items: center; gap: 8px; padding: 0 17px; border-right: 1px solid #e2e5ec; color: #747d90; font-size: 11px; }
.auth-calendar-summary > span i { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 7px; background: #efedff; color: #5547ed; }
.auth-calendar-summary > span strong { color: #202635; font-size: 12px; }
.auth-calendar-summary > small { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding: 0 22px; color: #7a8396; font-size: 10px; }
.auth-calendar-stage { display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: hidden; background: #fff; }
.auth-calendar-day-head {
    display: grid;
    min-width: 0;
    min-height: 45px;
    grid-template-columns: 72px repeat(7, minmax(0, 1fr));
    border-bottom: 1px solid #dbe0e9;
    background: #fbfbfd;
}
.auth-calendar-day-head > * { display: grid; place-items: center; border-left: 1px solid #dbe0e9; color: #626a7d; font-size: 11px; letter-spacing: .04em; }
.auth-calendar-day-head > span { border-left: 0; }
.auth-calendar-day-head .is-today { background: #ebe8ff; color: #4d40df; }
.auth-calendar-body {
    display: grid;
    min-width: 0;
    min-height: 0;
    flex: 1;
    grid-template-columns: 72px minmax(0, 1fr);
    overflow: hidden;
}
.auth-calendar-times { display: grid; min-height: 0; grid-template-rows: repeat(10, minmax(0, 1fr)); border-right: 1px solid #cfd5df; background: #f7f8fa; }
.auth-calendar-times time { padding: 10px 10px 0 4px; border-top: 1px solid #dbe0e8; color: #535d70; font-size: 11px; font-weight: 750; text-align: right; }
.auth-calendar-times time:first-child { border-top: 0; }
.auth-calendar-week { position: relative; display: grid; min-width: 0; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.auth-calendar-day-column {
    position: relative;
    min-width: 0;
    border-left: 1px solid #d6dbe4;
    background-color: #fff;
    background-image: linear-gradient(to bottom, #dfe3ea 1px, transparent 1px);
    background-size: 100% 11.111%;
}
.auth-calendar-day-column:first-child { border-left: 0; }
.auth-calendar-day-column.is-today { background-color: #f7f5ff; }
.auth-calendar-day-column.is-closed {
    background-color: #f5f6f8;
    background-image:
        linear-gradient(to bottom, #dfe3ea 1px, transparent 1px),
        repeating-linear-gradient(135deg, transparent 0, transparent 10px, rgba(122, 131, 149, .16) 10px, rgba(122, 131, 149, .16) 11px);
    background-size: 100% 11.111%, auto;
}
.auth-calendar-event {
    --event-color: #695cf4;
    --event-bg: #efedff;
    position: absolute;
    z-index: 1;
    top: var(--event-top);
    left: var(--event-left, 3%);
    display: flex;
    width: var(--event-width, 94%);
    height: var(--event-height);
    min-height: 38px;
    flex-direction: column;
    gap: 3px;
    overflow: hidden;
    padding: 7px 8px;
    border: 1px solid color-mix(in srgb, var(--event-color) 36%, #fff);
    border-left: 4px solid var(--event-color);
    border-radius: 8px;
    background: var(--event-bg);
    color: #1d2331;
}
.auth-calendar-event > span { display: flex; min-width: 0; align-items: center; gap: 5px; }
.auth-calendar-event > span b { color: color-mix(in srgb, var(--event-color) 80%, #172033); font-size: 9px; }
.auth-calendar-event > span em { margin-left: auto; overflow: hidden; padding: 2px 6px; border-radius: 99px; background: rgba(255, 255, 255, .82); color: #687184; font-size: 7px; font-style: normal; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.auth-calendar-event > strong,
.auth-calendar-event > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-calendar-event > strong { font-size: 11px; line-height: 1.2; }
.auth-calendar-event > small { color: #70798c; font-size: 8px; }
.auth-calendar-event.is-compact { flex-direction: row; align-items: center; gap: 5px; padding-block: 5px; }
.auth-calendar-event.is-compact > span { flex: 0 0 auto; }
.auth-calendar-event.is-compact > small,
.auth-calendar-event.is-compact em { display: none; }
.auth-calendar-event.event-red { --event-color: #ef3636; --event-bg: #fee9e9; }
.auth-calendar-event.event-blue { --event-color: #3872e8; --event-bg: #e8efff; }
.auth-calendar-event.event-purple { --event-color: #a156e4; --event-bg: #f2e9fc; }
.auth-calendar-event.event-violet { --event-color: #6557dc; --event-bg: #efedff; }
.auth-calendar-event.event-amber { --event-color: #ee9f18; --event-bg: #fff3de; }
.auth-calendar-event.event-green { --event-color: #1aa680; --event-bg: #e2f5f0; }

.auth-v2 *,
.auth-v2 *::before,
.auth-v2 *::after { box-sizing: border-box; }
.auth-v2 :is(button, input) { font: inherit; }
.auth-v2 a { color: inherit; }

.auth-shell {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 100dvh;
    grid-template-rows: 72px minmax(0, 1fr) 52px;
}

.auth-header,
.auth-footer {
    width: min(1120px, calc(100% - 48px));
    margin-inline: auto;
}

.auth-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid #eceef1;
}
.auth-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--auth-ink);
    text-decoration: none;
}
.auth-brand .platform-logo-icon { display: grid; width: 34px; height: 34px; padding: 0; }
.auth-brand .platform-logo-icon img { width: 100%; height: 100%; object-fit: contain; }
.auth-brand strong { font-size: 18px; font-weight: 820; letter-spacing: -.045em; }
.auth-header p { margin: 0; color: var(--auth-muted); font-size: 12px; }
.auth-header p a { margin-left: 5px; color: var(--auth-ink); font-weight: 750; text-decoration: none; }
.auth-header p a:hover { color: var(--auth-primary); text-decoration: underline; text-underline-offset: 4px; }

.auth-workspace {
    display: grid;
    min-height: 0;
    align-items: center;
    justify-items: center;
    padding: 48px 24px;
}
.auth-workspace-inner {
    display: grid;
    width: min(1020px, 100%);
    grid-template-columns: minmax(290px, 330px) minmax(0, 660px);
    align-items: stretch;
    justify-content: center;
    gap: 0;
    padding: 14px;
    border: 1px solid #e4e6ec;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 22px 54px rgba(25, 31, 50, .08);
}
.auth-intro {
    display: flex;
    min-height: 390px;
    align-self: stretch;
    flex-direction: column;
    justify-content: center;
    padding: 42px;
    border-radius: 19px;
    background: #f0eeff;
}
.auth-intro > span {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 18px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(85, 71, 237, .09);
    color: var(--auth-primary);
    font-size: 9px;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.auth-intro h2 {
    margin: 0;
    color: var(--auth-ink);
    font-size: 33px;
    font-weight: 750;
    letter-spacing: -.05em;
    line-height: 1.1;
}
.auth-intro p { margin: 15px 0 0; color: var(--auth-muted); font-size: 14px; line-height: 1.65; }
.auth-intro small { display: block; margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(85, 71, 237, .13); color: #716b93; font-size: 10px; font-weight: 650; line-height: 1.5; }
.auth-panel { width: 100%; align-self: center; padding: 44px 48px; }
.auth-card { width: 100%; }
.auth-card-login { width: min(430px, 100%); margin-inline: auto; }
.auth-card-register { width: min(570px, 100%); margin-inline: auto; }
.auth-card-heading { margin-bottom: 30px; }
.auth-card-heading h1 {
    margin: 0;
    color: var(--auth-ink);
    font-size: 38px;
    font-weight: 760;
    letter-spacing: -.055em;
    line-height: 1.08;
}
.auth-card-heading p { margin: 10px 0 0; color: var(--auth-muted); font-size: 14px; line-height: 1.55; }

.auth-alert {
    margin: -8px 0 22px;
    padding: 13px 15px;
    border-left: 3px solid #d92d20;
    background: #fff5f4;
    color: var(--auth-danger);
}
.auth-alert strong { display: block; font-size: 12px; }
.auth-alert p { margin: 3px 0 0; font-size: 11px; line-height: 1.45; }

.auth-form { display: grid; gap: 18px; }
.auth-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 14px; }
.auth-field { display: grid; min-width: 0; gap: 7px; color: var(--auth-text); font-size: 12px; font-weight: 680; }
.auth-field > span:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.auth-field > span:first-child small { color: #9298a4; font-size: 9px; font-weight: 520; }
.auth-input { position: relative; display: block; min-width: 0; }
.auth-input input {
    width: 100%;
    height: 54px;
    padding: 0 15px;
    border: 1px solid var(--auth-line);
    border-radius: 11px;
    outline: 0;
    background: #fbfcfe;
    color: var(--auth-ink);
    font-size: 14px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.auth-input:has(button) input { padding-right: 50px; }
.auth-input input::placeholder { color: #a3a9b4; }
.auth-input input:hover { border-color: #bfc5cf; }
.auth-input input:focus { border-color: var(--auth-primary); background: #fff; box-shadow: 0 0 0 3px rgba(85, 71, 237, .10); }
.auth-input button {
    position: absolute;
    top: 7px;
    right: 7px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #828a98;
    cursor: pointer;
}
.auth-input button:hover { background: #f1f0ff; color: var(--auth-primary); }
.auth-input button:focus-visible { outline: 2px solid var(--auth-primary); outline-offset: 1px; }

.auth-submit {
    width: 100%;
    min-height: 54px;
    padding: 0 18px;
    border: 1px solid var(--auth-primary);
    border-radius: 11px;
    background: var(--auth-primary);
    color: #fff;
    box-shadow: 0 8px 18px rgba(85, 71, 237, .18);
    cursor: pointer;
    font-size: 13px;
    font-weight: 760;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.auth-submit:hover { border-color: var(--auth-primary-hover); background: var(--auth-primary-hover); box-shadow: 0 10px 22px rgba(68, 56, 202, .22); }
.auth-submit:focus-visible { outline: 3px solid rgba(85, 71, 237, .22); outline-offset: 3px; }
.auth-legal-note { margin: -4px 0 0; color: #8a919e; font-size: 9px; line-height: 1.55; text-align: center; }
.auth-legal-note a { color: #606775; text-decoration: underline; text-underline-offset: 2px; }

.auth-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #eceef1;
    color: #969ca7;
    font-size: 10px;
}
.auth-footer nav { display: flex; align-items: center; gap: 16px; }
.auth-footer a { color: #767d8a; text-decoration: none; }
.auth-footer a:hover { color: var(--auth-primary); }

.auth-login-story {
    background: linear-gradient(145deg, #171c38 0%, #4035ad 56%, #5547ed 100%);
}
.auth-login-app {
    position: relative;
    z-index: 1;
    align-self: center;
    width: min(610px, 100%);
    margin: 31px 0 25px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 18px;
    background: #fff;
    color: #1f2431;
    box-shadow: 0 28px 68px rgba(8, 10, 38, .32);
    transform: rotate(-.7deg);
}
.auth-login-app > header {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 15px;
    border-bottom: 1px solid #e7e9ef;
    background: #fbfbfd;
}
.auth-login-app-brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #252a37;
}
.auth-login-app-brand .platform-logo-icon { display: grid; width: 27px; height: 27px; padding: 0; }
.auth-login-app-brand .platform-logo-icon img { width: 100%; height: 100%; object-fit: contain; }
.auth-login-app-brand > strong { font-size: 11px; font-weight: 800; letter-spacing: -.03em; }
.auth-login-app > header > em {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #37836c;
    font-size: 8px;
    font-style: normal;
    font-weight: 720;
}
.auth-login-app > header > em i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #25a77f;
    box-shadow: 0 0 0 4px #e7f7f1;
}
.auth-login-app-body {
    display: grid;
    min-height: 262px;
    grid-template-columns: 54px minmax(0, 1fr);
}
.auth-login-app-body > nav {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 7px;
    padding: 17px 9px;
    border-right: 1px solid #eceef2;
    background: #f8f8fb;
}
.auth-login-app-body > nav i {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    color: #a0a6b3;
    font-size: 11px;
}
.auth-login-app-body > nav i.is-active {
    background: #eceaff;
    color: #5547ed;
}
.auth-login-app-main { padding: 20px 22px 18px; }
.auth-login-app-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 15px;
}
.auth-login-app-heading > span { display: grid; gap: 2px; }
.auth-login-app-heading > span small {
    color: #8a919f;
    font-size: 8px;
    font-weight: 720;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.auth-login-app-heading > span strong { color: #202532; font-size: 21px; letter-spacing: -.05em; }
.auth-login-app-heading > em {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 7px 10px;
    border-radius: 9px;
    background: #efedff;
    color: #5547ed;
    font-style: normal;
}
.auth-login-app-heading > em b { font-size: 13px; }
.auth-login-app-heading > em small { font-size: 8px; font-weight: 680; }
.auth-login-app-agenda { display: grid; gap: 7px; }
.auth-login-app-agenda article {
    display: grid;
    min-height: 52px;
    grid-template-columns: 42px 4px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 7px 10px;
    border: 1px solid #e9ebf0;
    border-radius: 10px;
    background: #fff;
}
.auth-login-app-agenda article:nth-child(2) { background: #fafafd; }
.auth-login-app-agenda time {
    color: #3a4150;
    font-size: 9px;
    font-weight: 780;
}
.auth-login-app-agenda article > i {
    width: 3px;
    height: 27px;
    border-radius: 999px;
    background: #5547ed;
}
.auth-login-app-agenda article:nth-child(2) > i { background: #28a77f; }
.auth-login-app-agenda article:nth-child(3) > i { background: #e7a33e; }
.auth-login-app-agenda article > span {
    display: grid;
    min-width: 0;
    gap: 2px;
}
.auth-login-app-agenda strong,
.auth-login-app-agenda small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.auth-login-app-agenda strong { color: #2b303e; font-size: 10px; }
.auth-login-app-agenda small { color: #8a919f; font-size: 8px; }
.auth-login-app-agenda article > em {
    padding: 4px 6px;
    border-radius: 999px;
    background: #e9f7f2;
    color: #2c8268;
    font-size: 7px;
    font-style: normal;
    font-weight: 720;
}
.auth-login-app-agenda article:nth-child(2) > em { background: #f0f1f4; color: #7b8290; }
.auth-login-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 13px;
    color: #6d7483;
    font-size: 10px;
    font-weight: 730;
}
.auth-login-kicker i { color: #5547ed; font-size: 9px; }
.auth-login-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: -2px 0 0;
    color: #8b92a0;
    font-size: 9px;
    font-weight: 560;
}
.auth-login-trust i { color: #32a47f; font-size: 9px; }

.auth-v2-login,
.auth-v2-register {
    background: #fff;
}
.auth-v2-login .auth-shell,
.auth-v2-register .auth-shell {
    display: block;
    min-height: 100dvh;
}
.auth-v2-login .auth-header,
.auth-v2-register .auth-header {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    width: 100%;
    height: 82px;
    margin: 0;
    padding: 0 44px;
    border: 0;
}
.auth-v2-login .auth-brand,
.auth-v2-register .auth-brand { color: #fff; }
.auth-v2-login .auth-header p,
.auth-v2-register .auth-header p { color: #737b8b; }
.auth-v2-login .auth-header p a,
.auth-v2-register .auth-header p a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    margin-left: 10px;
    padding: 0 14px;
    border: 1px solid #dfe2e9;
    border-radius: 10px;
    background: #fff;
    color: #282d3a;
}
.auth-v2-login .auth-header p a:hover,
.auth-v2-register .auth-header p a:hover {
    border-color: #c7c2ff;
    background: #f4f2ff;
    color: var(--auth-primary);
    text-decoration: none;
}
.auth-v2-login .auth-workspace,
.auth-v2-register .auth-workspace {
    display: block;
    min-height: 100dvh;
    padding: 0;
}
.auth-v2-login .auth-workspace-inner,
.auth-v2-register .auth-workspace-inner {
    width: 100%;
    min-height: 100dvh;
    grid-template-columns: minmax(0, 1fr) minmax(560px, 1fr);
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
.auth-register-story {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: 100dvh;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    padding: 124px clamp(56px, 5vw, 96px) 64px;
    border-radius: 0;
    background: linear-gradient(145deg, #5b4cef 0%, #4637c8 100%);
    color: #fff;
}
.auth-register-story::before,
.auth-register-story::after {
    position: absolute;
    z-index: -1;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    content: "";
}
.auth-register-story::before {
    top: -145px;
    right: -115px;
    width: 330px;
    height: 330px;
}
.auth-register-story::after {
    bottom: 74px;
    left: -95px;
    width: 210px;
    height: 210px;
    background: rgba(164, 238, 213, .10);
}
.auth-register-story-copy {
    position: relative;
    z-index: 1;
    max-width: 580px;
}
.auth-register-story-copy > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    background: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .92);
    font-size: 10px;
    font-weight: 780;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.auth-register-story-copy h2 {
    max-width: 580px;
    margin: 0;
    color: #fff;
    font-size: clamp(44px, 4vw, 64px);
    font-weight: 780;
    letter-spacing: -.06em;
    line-height: .99;
}
.auth-register-story-copy p {
    max-width: 520px;
    margin: 19px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 15px;
    line-height: 1.65;
}
.auth-register-livecard {
    position: relative;
    z-index: 1;
    align-self: center;
    width: min(610px, 100%);
    margin: 32px 0 26px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 18px;
    background: rgba(255, 255, 255, .97);
    color: #202534;
    box-shadow: 0 25px 55px rgba(24, 18, 91, .30);
    transform: rotate(-1deg);
}
.auth-register-livecard > header {
    display: grid;
    min-height: 46px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 0 15px;
    border-bottom: 1px solid #e8eaf0;
    background: #fbfbfd;
}
.auth-register-livecard > header small {
    overflow: hidden;
    color: #7d8493;
    font-size: 9px;
    font-weight: 720;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.auth-register-livecard > header em {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #218062;
    font-size: 8px;
    font-style: normal;
    font-weight: 780;
}
.auth-register-livecard > header em i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #23a47c;
}
.auth-register-window-dots { display: flex; gap: 4px; }
.auth-register-window-dots i { width: 6px; height: 6px; border-radius: 50%; background: #d7dbe4; }
.auth-register-livecard-body { padding: 19px; }
.auth-register-salon-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.auth-register-salon-heading > span { display: grid; min-width: 0; gap: 2px; }
.auth-register-salon-heading small { color: #858d9c; font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.auth-register-salon-heading > span strong {
    overflow: hidden;
    color: #171b28;
    font-size: 22px;
    letter-spacing: -.045em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.auth-register-salon-heading time {
    display: grid;
    min-width: 62px;
    gap: 1px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #efedff;
    color: #5547ed;
    text-align: center;
}
.auth-register-salon-heading time strong { font-size: 11px; }
.auth-register-day-preview { display: grid; gap: 7px; margin-top: 16px; }
.auth-register-day-preview article {
    display: grid;
    min-height: 52px;
    grid-template-columns: 40px 4px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    border: 1px solid #e8eaf0;
    border-radius: 11px;
    background: #fff;
}
.auth-register-day-preview article > time { color: #3b4252; font-size: 9px; font-weight: 800; }
.auth-register-day-preview article > i { width: 3px; height: 25px; border-radius: 999px; background: #5547ed; }
.auth-register-day-preview article:nth-child(2) > i { background: #22a77e; }
.auth-register-day-preview article > span { display: grid; min-width: 0; gap: 2px; }
.auth-register-day-preview article strong,
.auth-register-day-preview article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.auth-register-day-preview article strong { color: #2b303e; font-size: 9px; }
.auth-register-day-preview article small { color: #8a919f; font-size: 7px; }
.auth-register-day-preview article > em { padding: 4px 6px; border-radius: 999px; background: #f3f4f7; color: #7c8494; font-size: 7px; font-style: normal; font-weight: 720; }
.auth-register-ready-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 11px;
    padding: 10px 11px;
    border-radius: 11px;
    background: #eaf8f3;
    color: #216e58;
}
.auth-register-ready-note > i { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; border-radius: 8px; background: #25a77f; color: #fff; font-size: 10px; }
.auth-register-ready-note > span { display: grid; gap: 1px; }
.auth-register-ready-note strong { font-size: 9px; }
.auth-register-ready-note small { color: #5f8c7e; font-size: 7px; }
.auth-register-story-footer {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 17px;
    color: rgba(255, 255, 255, .78);
    font-size: 9px;
    font-weight: 650;
}
.auth-register-story-footer span { display: inline-flex; align-items: center; gap: 6px; }
.auth-register-story-footer i { color: #9ce5cc; }
.auth-v2-login .auth-panel,
.auth-v2-register .auth-panel {
    display: grid;
    align-self: stretch;
    min-height: 100dvh;
    place-items: center;
    padding: 112px clamp(52px, 6vw, 112px) 82px;
    background: #fff;
}
.auth-v2-login .auth-card-login { width: min(500px, 100%); margin-inline: auto; }
.auth-v2-register .auth-card-register { width: min(570px, 100%); }
.auth-v2-login .auth-card-heading { margin-bottom: 28px; text-align: left; }
.auth-v2-login .auth-card-heading h1 { font-size: 44px; }
.auth-v2-login .auth-card-heading p { max-width: 410px; margin: 10px 0 0; }
.auth-v2-login .auth-input input { background: #fff; }
.auth-v2-register .auth-card-heading { margin-bottom: 20px; }
.auth-register-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 13px;
    color: #686f7f;
    font-size: 10px;
    font-weight: 730;
}
.auth-register-kicker i { width: 7px; height: 7px; border-radius: 50%; background: #27a77f; box-shadow: 0 0 0 4px #e6f7f1; }
.auth-v2-register .auth-card-heading h1 { font-size: 42px; }
.auth-v2-register .auth-card-heading p { max-width: 450px; }
.auth-register-field-wide { grid-column: 1 / -1; }
.auth-password-field {
    position: relative;
    display: grid;
    min-width: 0;
}
.auth-password-field .auth-field > span:first-child small { display: inline-flex; align-items: center; gap: 5px; }
.auth-password-field .auth-field > span:first-child small i { color: #6c60e8; font-size: 9px; }
.auth-password-field .auth-input input { padding-right: 84px; }
.auth-password-safe {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 49px;
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    visibility: hidden;
    opacity: 0;
    background: #28a77f;
    color: #fff;
    font-size: 9px;
    pointer-events: none;
    transform: translateY(-50%) scale(.72);
    transition: visibility .15s ease, opacity .15s ease, transform .15s ease;
}
.auth-password-field[data-state="safe"] .auth-password-safe {
    visibility: visible;
    opacity: 1;
    transform: translateY(-50%) scale(1);
}
.auth-password-field[data-state="safe"] .auth-input input { border-color: #8acdb8; box-shadow: 0 0 0 3px rgba(40, 167, 127, .09); }
.auth-password-strength {
    position: absolute;
    z-index: 20;
    right: 0;
    bottom: calc(100% + 10px);
    display: grid;
    width: min(430px, 100%);
    gap: 9px;
    padding: 13px 14px;
    border: 1px solid #e4e7ed;
    border-radius: 12px;
    visibility: hidden;
    opacity: 0;
    background: #fff;
    box-shadow: 0 16px 38px rgba(22, 28, 48, .16);
    pointer-events: none;
    transform: translateY(5px);
    transition: visibility .15s ease, opacity .15s ease, transform .15s ease, border-color .15s ease, background .15s ease;
}
.auth-password-strength::after {
    position: absolute;
    right: 26px;
    bottom: -6px;
    width: 11px;
    height: 11px;
    border-right: 1px solid #e4e7ed;
    border-bottom: 1px solid #e4e7ed;
    background: inherit;
    content: "";
    transform: rotate(45deg);
}
.auth-password-field[data-state="checking"]:hover .auth-password-strength,
.auth-password-field[data-state="checking"]:focus-within .auth-password-strength {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.auth-password-strength-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #656d7b;
    font-size: 10px;
    font-weight: 690;
}
.auth-password-strength-heading strong { color: #858c99; font-size: 10px; }
.auth-password-meter { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.auth-password-meter i { height: 5px; border-radius: 999px; background: #e0e3e9; transition: background .15s ease; }
.auth-password-strength[data-level="1"] .auth-password-meter i:nth-child(1) { background: #d7504b; }
.auth-password-strength[data-level="2"] .auth-password-meter i:nth-child(-n+2) { background: #d89535; }
.auth-password-strength[data-level="3"] .auth-password-meter i:nth-child(-n+3) { background: #6557ec; }
.auth-password-strength[data-level="4"] .auth-password-meter i { background: #28a77f; }
.auth-password-strength[data-level="1"] .auth-password-strength-heading strong { color: #b33f3b; }
.auth-password-strength[data-level="2"] .auth-password-strength-heading strong { color: #a66d22; }
.auth-password-strength[data-level="3"] .auth-password-strength-heading strong { color: #5547ed; }
.auth-password-strength[data-level="4"] .auth-password-strength-heading strong { color: #218262; }
.auth-password-strength[data-level="3"],
.auth-password-strength[data-level="4"] { border-color: #cfdad8; background: #f6fbf9; }
.auth-password-strength ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.auth-password-strength li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: #9096a2;
    font-size: 9px;
    white-space: nowrap;
}
.auth-password-strength li::before {
    display: grid;
    width: 13px;
    height: 13px;
    flex: 0 0 13px;
    place-items: center;
    border: 1px solid #cfd4dc;
    border-radius: 50%;
    color: #fff;
    content: "";
    font-size: 8px;
    font-weight: 800;
}
.auth-password-strength li.is-met { color: #4d5564; }
.auth-password-strength li.is-met::before { border-color: #28a77f; background: #28a77f; content: "✓"; }
.auth-password-strength > p { margin: 0; color: #858c99; font-size: 9px; line-height: 1.4; }
.auth-register-submit,
.auth-login-submit { display: flex; align-items: center; justify-content: space-between; }
.auth-register-submit i,
.auth-login-submit i { font-size: 11px; transition: transform .15s ease; }
.auth-register-submit:hover i,
.auth-login-submit:hover i { transform: translateX(3px); }
.auth-register-reassurance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: -3px 0 0;
    color: #9298a4;
    font-size: 9px;
}
.auth-register-reassurance i { color: #737b8a; font-size: 8px; }
.auth-v2-login .auth-footer,
.auth-v2-register .auth-footer {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    width: 50%;
    height: 54px;
    margin: 0;
    padding: 0 clamp(42px, 5vw, 96px);
    border-top: 0;
    background: #fff;
}
.auth-v2-login .auth-footer { color: #969ca7; }
.auth-v2-login .auth-footer a { color: #767d8a; }
.auth-v2-login .auth-footer a:hover { color: var(--auth-primary); }

.auth-v2 .cookie-banner {
    right: 18px;
    bottom: 18px;
    left: auto;
    width: min(430px, calc(100% - 36px));
    border: 1px solid var(--auth-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(18, 25, 45, .12);
}

@media (max-width: 1180px) {
    .auth-v2-login .auth-header,
    .auth-v2-register .auth-header { height: 76px; padding-inline: 32px; }
    .auth-v2-login .auth-header p,
    .auth-v2-register .auth-header p { color: rgba(255, 255, 255, .78); }
    .auth-v2-login .auth-header p a,
    .auth-v2-register .auth-header p a {
        border-color: rgba(255, 255, 255, .55);
        background: rgba(255, 255, 255, .10);
        color: #fff;
    }
    .auth-v2-login .auth-header p a:hover,
    .auth-v2-register .auth-header p a:hover { border-color: #fff; background: #fff; color: var(--auth-primary); }
    .auth-v2-login .auth-workspace-inner,
    .auth-v2-register .auth-workspace-inner {
        width: 100%;
        grid-template-columns: 1fr;
        padding: 0;
    }
    .auth-register-story {
        min-height: 330px;
        padding: 104px 42px 43px;
        border-radius: 0;
    }
    .auth-register-story-copy { max-width: 700px; }
    .auth-register-story-copy h2 { max-width: 680px; font-size: 42px; }
    .auth-register-story-copy p { max-width: 650px; margin-top: 13px; }
    .auth-register-livecard { display: none; }
    .auth-login-app { display: none; }
    .auth-register-story-footer { align-self: end; margin-top: 24px; }
    .auth-v2-login .auth-panel,
    .auth-v2-register .auth-panel { min-height: 0; padding: 58px 42px 82px; }
    .auth-v2-login .auth-footer,
    .auth-v2-register .auth-footer {
        position: static;
        width: 100%;
        height: 56px;
        padding: 0 42px;
        border-top: 1px solid #eceef1;
    }
}

@media (max-width: 820px) {
    .auth-workspace-inner { width: min(620px, 100%); grid-template-columns: 1fr; padding: 10px; }
    .auth-intro { width: 100%; min-height: 0; justify-self: center; padding: 30px 34px; }
    .auth-panel { padding: 38px 34px; }
    .auth-v2-login .auth-workspace-inner,
    .auth-v2-register .auth-workspace-inner { width: 100%; grid-template-columns: 1fr; padding: 0; }
    .auth-v2-login .auth-panel,
    .auth-v2-register .auth-panel { padding: 42px 40px; }
}

@media (max-width: 640px) {
    .auth-shell { grid-template-rows: 64px minmax(0, 1fr) 48px; }
    .auth-header,
    .auth-footer { width: calc(100% - 28px); }
    .auth-brand .platform-logo-icon { width: 32px; height: 32px; }
    .auth-brand strong { font-size: 17px; }
    .auth-header p { font-size: 0; }
    .auth-header p a { margin: 0; font-size: 11px; }
    .auth-workspace { align-items: start; padding: 28px 14px; }
    .auth-workspace-inner { padding: 8px; border-radius: 20px; }
    .auth-intro { padding: 25px 23px; border-radius: 14px; }
    .auth-panel { padding: 31px 17px 25px; }
    .auth-intro > span { margin-bottom: 10px; }
    .auth-intro h2 { font-size: 27px; }
    .auth-intro p { margin-top: 10px; font-size: 13px; }
    .auth-intro small { margin-top: 13px; }
    .auth-field-grid { grid-template-columns: 1fr; }
    .auth-card-heading { margin-bottom: 26px; }
    .auth-card-heading h1 { font-size: 34px; }
    .auth-footer > span { display: none; }
    .auth-footer { justify-content: center; }
    .auth-v2-login .auth-header,
    .auth-v2-register .auth-header { height: 68px; padding-inline: 20px; }
    .auth-v2-login .auth-header p a { min-height: 32px; margin: 0; padding-inline: 11px; }
    .auth-v2-login .auth-workspace { padding: 0; }
    .auth-v2-login .auth-workspace-inner { padding: 0; border-radius: 0; }
    .auth-v2-login .auth-panel { padding: 44px 20px 58px; border-radius: 0; }
    .auth-v2-login .auth-card-login { padding: 0; }
    .auth-v2-login .auth-card-heading { margin-bottom: 25px; }
    .auth-v2-login .auth-card-heading h1 { font-size: 35px; }
    .auth-v2-register .auth-workspace { padding: 0; }
    .auth-v2-register .auth-workspace-inner { padding: 0; border-radius: 0; }
    .auth-register-story { min-height: 310px; padding: 90px 24px 31px; border-radius: 0; }
    .auth-register-story-copy > span { margin-bottom: 12px; }
    .auth-register-story-copy h2 { font-size: 31px; line-height: 1.04; }
    .auth-register-story-copy p { font-size: 12px; }
    .auth-register-story-footer { margin-top: 20px; }
    .auth-v2-register .auth-panel { padding: 44px 20px 58px; }
    .auth-v2-register .auth-card-heading h1 { font-size: 35px; }
    .auth-password-strength ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .auth-v2-login .auth-footer,
    .auth-v2-register .auth-footer { width: 100%; padding: 0 20px; }
}

@media (max-width: 360px) {
    .auth-brand strong { display: none; }
    .auth-workspace { padding-inline: 14px; }
}

@media (max-height: 820px) and (min-width: 1181px) {
    .auth-register-story { padding: 100px 46px 44px; }
    .auth-register-story-copy > span { margin-bottom: 12px; }
    .auth-register-story-copy h2 { font-size: 44px; }
    .auth-register-story-copy p { margin-top: 13px; }
    .auth-register-livecard { margin-block: 17px 14px; }
    .auth-login-app { margin-block: 15px 12px; }
    .auth-login-app-body { min-height: 225px; }
    .auth-login-app-main { padding-block: 14px; }
    .auth-login-app-agenda article { min-height: 44px; }
    .auth-register-livecard-body { padding: 14px; }
    .auth-register-day-preview { margin-top: 10px; }
    .auth-register-day-preview article { min-height: 47px; }
    .auth-register-ready-note { margin-top: 8px; padding-block: 8px; }
    .auth-v2-login .auth-panel,
    .auth-v2-register .auth-panel { padding: 90px 44px 58px; }
    .auth-v2-login .auth-card-heading,
    .auth-v2-register .auth-card-heading { margin-bottom: 17px; }
}

@media (max-height: 700px) and (min-width: 641px) {
    .auth-workspace { align-items: start; padding-block: 34px; }
    .auth-workspace-inner { align-items: start; }
    .auth-card-heading { margin-bottom: 24px; }
    .auth-form { gap: 14px; }
    .auth-field-grid { gap-block: 13px; }
    .auth-input input,
    .auth-submit { height: 50px; min-height: 50px; }
    .auth-input button { top: 5px; }
    .auth-v2-login .auth-workspace { padding: 0; }
    .auth-v2-login .auth-card-login { padding: 0; }
    .auth-v2-login .auth-card-heading { margin-bottom: 22px; }
    .auth-v2-login .auth-card-heading h1 { font-size: 32px; }
}

@media (max-height: 700px) and (min-width: 1181px) {
    .auth-v2-login .auth-workspace,
    .auth-v2-register .auth-workspace { padding: 0; }
    .auth-register-story { min-height: 100dvh; padding: 82px 38px 40px; }
    .auth-register-story-copy h2 { font-size: 37px; }
    .auth-register-livecard { margin-block: 11px 9px; }
    .auth-login-app { margin-block: 9px 6px; }
    .auth-login-app > header { min-height: 40px; }
    .auth-login-app-body { min-height: 196px; }
    .auth-login-app-main { padding-block: 10px; }
    .auth-login-app-heading { padding-bottom: 8px; }
    .auth-login-app-agenda article { min-height: 38px; }
    .auth-v2-login .auth-panel,
    .auth-v2-register .auth-panel { min-height: 100dvh; padding: 72px 38px 48px; }
    .auth-v2-login .auth-card-heading,
    .auth-v2-register .auth-card-heading { margin-bottom: 16px; }
    .auth-v2-login .auth-card-heading h1,
    .auth-v2-register .auth-card-heading h1 { font-size: 35px; }
}

@media (prefers-reduced-motion: reduce) {
    .auth-v2 *,
    .auth-v2 *::before,
    .auth-v2 *::after { transition-duration: .001ms !important; }
}

/* E-mail verification shares the compact authentication card. */
.auth-verification-icon { margin-bottom: 22px; }
.auth-verification-icon img { display: block; }
.auth-verification-address { overflow-wrap: anywhere; }
.auth-verification-help { margin: 18px 0 0; color: var(--auth-muted); font-size: 13px; line-height: 1.6; }
.auth-verification-success { padding: 14px; border-radius: 12px; background: #ecf8f1; color: #247a50; font-size: 13px; line-height: 1.6; }
.auth-verification-logout { margin-top: 24px; text-align: center; }
.auth-verification-logout button { border: 0; background: transparent; color: var(--auth-muted); text-decoration: underline; cursor: pointer; font: inherit; font-size: 13px; }
.auth-verification .auth-submit { height: auto; white-space: normal; text-align: center; padding-block: 14px; text-decoration: none; }

/* Compact Sovado authentication */
body.auth-v2-login,
body.auth-v2-register {
    background:
        linear-gradient(145deg, rgba(85, 71, 237, .18), transparent 44%),
        linear-gradient(320deg, rgba(255, 179, 151, .08), transparent 40%),
        #111225;
}

.auth-v2-login .auth-shell,
.auth-v2-register .auth-shell {
    display: grid;
    min-height: 100dvh;
    grid-template-rows: 104px minmax(0, 1fr) 54px;
}

.auth-v2-login .auth-header,
.auth-v2-register .auth-header {
    position: static;
    width: 100%;
    height: auto;
    justify-content: center;
    margin: 0;
    padding: 8px 24px;
    border: 0;
}

.auth-v2-login .auth-brand,
.auth-v2-register .auth-brand {
    flex-direction: row;
    gap: 10px;
    color: #fff;
}

.auth-v2-login .auth-brand .platform-logo-icon,
.auth-v2-register .auth-brand .platform-logo-icon {
    width: 54px;
    height: 54px;
}

.auth-v2-login .auth-brand strong,
.auth-v2-register .auth-brand strong {
    font-size: 28px;
    letter-spacing: -.035em;
}

.auth-v2-login .auth-workspace,
.auth-v2-register .auth-workspace {
    display: grid;
    min-height: 0;
    align-items: center;
    padding: 16px 24px 34px;
}

.auth-v2-login .auth-workspace { padding-block: 6px 20px; }

.auth-v2-login .auth-workspace-inner,
.auth-v2-register .auth-workspace-inner {
    display: block;
    width: min(520px, 100%);
    min-height: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.auth-v2-register .auth-workspace-inner { width: min(640px, 100%); }

.auth-v2-login .auth-panel,
.auth-v2-register .auth-panel {
    display: block;
    min-height: 0;
    padding: 34px 42px 32px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(3, 5, 20, .34), 0 8px 24px rgba(3, 5, 20, .18);
}

.auth-v2-register .auth-panel { padding-block: 32px 28px; }

.auth-v2-login .auth-card-login,
.auth-v2-register .auth-card-register {
    width: 100%;
    margin: 0;
}

.auth-v2-login .auth-card-heading,
.auth-v2-register .auth-card-heading {
    margin: 0 0 25px;
    text-align: left;
}

.auth-v2-login .auth-card-heading h1,
.auth-v2-register .auth-card-heading h1 {
    margin: 0;
    color: var(--auth-ink);
    font-size: 34px;
    font-weight: 790;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.auth-v2-login .auth-card-heading p,
.auth-v2-register .auth-card-heading p {
    max-width: none;
    margin: 9px 0 0;
    color: var(--auth-muted);
    font-size: 14px;
    line-height: 1.5;
}

.auth-v2-login .auth-form,
.auth-v2-register .auth-form { gap: 15px; }

.auth-v2-register .auth-field-grid { gap: 14px; }

.auth-v2-login .auth-field,
.auth-v2-register .auth-field {
    gap: 7px;
    color: #444b5a;
    font-size: 12px;
    font-weight: 680;
}

.auth-v2-login .auth-input input,
.auth-v2-register .auth-input input {
    height: 52px;
    min-height: 52px;
    border-color: #d9dde5;
    border-radius: 12px;
    background: #f9fafb;
    color: var(--auth-ink);
}

.auth-v2-login .auth-input input:focus,
.auth-v2-register .auth-input input:focus {
    border-color: var(--auth-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(85, 71, 237, .12);
}

.auth-v2-login .auth-input button,
.auth-v2-register .auth-input button {
    top: 6px;
    right: 6px;
    width: 40px;
    height: 40px;
    border-radius: 9px;
}

.auth-v2-login .auth-submit,
.auth-v2-register .auth-submit {
    min-height: 52px;
    height: 52px;
    padding-inline: 18px;
    border-radius: 12px;
    background: var(--auth-primary);
    box-shadow: none;
    font-size: 13px;
}

.auth-v2-login .auth-submit:hover,
.auth-v2-register .auth-submit:hover {
    background: var(--auth-primary-hover);
    box-shadow: 0 10px 24px rgba(85, 71, 237, .22);
}

.auth-v2-register .auth-password-strength {
    position: static;
    width: 100%;
    margin-top: 9px;
    padding: 0;
    gap: 6px;
    border: 0;
    border-radius: 0;
    visibility: visible;
    opacity: 1;
    background: transparent;
    box-shadow: none;
    pointer-events: auto;
    transform: none;
}

.auth-v2-register .auth-password-strength::after { display: none; }
.auth-v2-register .auth-password-strength-heading { font-size: 9px; }
.auth-v2-register .auth-password-strength-heading > span { color: #858c99; }
.auth-v2-register .auth-password-meter i { height: 4px; }
.auth-v2-register .auth-password-strength > p { font-size: 9px; }
.auth-v2-register .auth-password-strength[data-level="3"],
.auth-v2-register .auth-password-strength[data-level="4"] { background: transparent; }

.auth-choice-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0 14px;
    color: #9096a3;
    font-size: 11px;
}

.auth-choice-divider::before,
.auth-choice-divider::after {
    height: 1px;
    flex: 1;
    background: #e3e6eb;
    content: "";
}

.auth-choice-divider span { flex: 0 0 auto; }

.auth-social-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.auth-social-button {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #dfe2e8;
    border-radius: 8px;
    opacity: 1;
    background: #fff;
    color: #343a48;
    text-align: center;
    cursor: not-allowed;
    font: inherit;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.auth-social-button[disabled] { opacity: .62; }
.auth-social-button.is-enabled { background: #fff; cursor: pointer; }
.auth-social-button.is-enabled:hover {
    border-color: #c8c2ff;
    background: #f8f7ff;
    box-shadow: 0 8px 20px rgba(31, 27, 89, .08);
    transform: translateY(-1px);
}
.auth-social-button.is-enabled:focus-visible { outline: 3px solid rgba(85, 71, 237, .2); outline-offset: 2px; }

.auth-social-button i {
    flex: 0 0 20px;
    color: #252a36;
    font-size: 18px;
    text-align: center;
}

.auth-social-button .fa-google { color: #4285f4; }

.auth-social-button span {
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
    white-space: nowrap;
}

.auth-social-confirmed {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    color: #147a5d;
    font-size: 10px;
    font-weight: 760;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.auth-social-confirmed i { font-size: 13px; }
.auth-input-verified input { padding-right: 46px; background: #f3faf7 !important; color: #31584d !important; }
.auth-input-verified > i {
    position: absolute;
    top: 50%;
    right: 16px;
    color: #188664;
    transform: translateY(-50%);
}
.auth-social-link-notice {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: -7px 0 20px;
    padding: 13px 14px;
    border: 1px solid #dcd8ff;
    border-radius: 11px;
    background: #f6f4ff;
    color: #5146bd;
}
.auth-social-link-notice > i { margin-top: 2px; }
.auth-social-link-notice p { display: grid; gap: 3px; margin: 0; }
.auth-social-link-notice strong { color: #35305f; font-size: 11px; }
.auth-social-link-notice span { color: #696582; font-size: 10px; line-height: 1.45; }

.auth-switch-link {
    margin: 18px 0 0;
    color: #717988;
    font-size: 11px;
    text-align: center;
}

.auth-switch-link a {
    margin-left: 3px;
    color: var(--auth-primary);
    font-weight: 750;
    text-decoration: none;
}

.auth-switch-link a:hover { text-decoration: underline; text-underline-offset: 3px; }

.auth-v2-login .auth-legal-note,
.auth-v2-register .auth-legal-note { margin-top: -2px; }

.auth-v2-login .auth-footer,
.auth-v2-register .auth-footer {
    position: static;
    width: min(720px, calc(100% - 32px));
    height: auto;
    justify-content: center;
    gap: 24px;
    margin-inline: auto;
    padding: 0 16px 22px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .62);
    font-size: 10px;
}

.auth-v2-login .auth-footer a,
.auth-v2-register .auth-footer a { color: rgba(255, 255, 255, .72); }

.auth-v2-login .auth-footer a:hover,
.auth-v2-register .auth-footer a:hover { color: #fff; }

@media (max-width: 700px) {
    .auth-v2-login .auth-shell,
    .auth-v2-register .auth-shell { grid-template-rows: 86px minmax(0, 1fr) auto; }

    .auth-v2-login .auth-header,
    .auth-v2-register .auth-header { height: auto; padding: 14px 20px 8px; }

    .auth-v2-login .auth-brand,
    .auth-v2-register .auth-brand { flex-direction: row; }

    .auth-v2-login .auth-brand .platform-logo-icon,
    .auth-v2-register .auth-brand .platform-logo-icon { width: 42px; height: 42px; }

    .auth-v2-login .auth-workspace,
    .auth-v2-register .auth-workspace { padding: 8px 14px 24px; }

    .auth-v2-login .auth-workspace-inner,
    .auth-v2-register .auth-workspace-inner { width: 100%; }

    .auth-v2-login .auth-panel,
    .auth-v2-register .auth-panel {
        padding: 30px 22px 27px;
        border-radius: 20px;
    }

    .auth-v2-login .auth-card-heading,
    .auth-v2-register .auth-card-heading { margin-bottom: 22px; }

    .auth-v2-login .auth-card-heading h1,
    .auth-v2-register .auth-card-heading h1 { font-size: 29px; }

    .auth-v2-register .auth-field-grid { grid-template-columns: 1fr; }
    .auth-v2-register .auth-register-field-wide { grid-column: auto; }

    .auth-v2-login .auth-footer,
    .auth-v2-register .auth-footer {
        width: 100%;
        min-height: 52px;
        padding: 0 16px 16px;
    }
}

@media (max-width: 480px) {
    .auth-social-actions { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
    .auth-v2-login .auth-panel,
    .auth-v2-register .auth-panel { padding-inline: 18px; }

    .auth-social-button { padding-inline: 10px; }
}
