@charset "UTF-8";

/* Kadın.ca authentication surface — extracted from the v1.6.0 visual system. */

.auth-page { min-height: 100vh; background: var(--background); }

.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(360px,.85fr) minmax(520px,1.15fr); }

.auth-art { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 48px; background: var(--brand-inverse); color: var(--on-inverse); }

.auth-art::before { content: "K"; position: absolute; right: -40px; bottom: -120px; color: rgba(255,255,255,.055); font-family: var(--font-display); font-size: 34rem; line-height: .8; }

.auth-art::after { content: ""; position: absolute; width: 340px; height: 340px; left: -170px; top: 24%; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018); }

.auth-art-copy { position: relative; z-index: 1; max-width: 480px; }

.auth-art-copy span { color: var(--brand-highlight); font-size: .7rem; font-weight: 850; letter-spacing: .18em; }

.auth-art-copy h2 { margin: 18px 0 20px; color: var(--on-inverse); font-family: var(--font-display); font-size: clamp(3rem,5vw,5.4rem); font-weight: 400; line-height: .94; }

.auth-art-copy p { max-width: 400px; color: rgba(255,255,255,.57); line-height: 1.75; }

.auth-art-note { position: relative; z-index: 1; display: flex; align-items: center; gap: var(--gap); color: rgba(255,255,255,.55); font-size: .72rem; }

.auth-art-note i { color: var(--success); }

.auth-form-wrap { display: grid; place-items: center; padding: 55px; }

.auth-card { width: min(100%, 540px); }

.auth-card > .brand-lockup { margin-bottom: 78px; }

.auth-heading { margin-bottom: 30px; }

.auth-heading .section-icon { margin-bottom: 22px; }

.auth-heading h1 { margin: var(--gap) 0; font-family: var(--font-display); font-size: var(--font-size-heading); font-weight: 400; line-height: var(--line-height-heading); }

.auth-heading p { max-width: 430px; margin: 0; color: var(--muted); font-size: var(--font-size-subtitle); line-height: var(--line-height-content); }

.back-link { display: inline-flex; align-items: center; gap: var(--gap); margin-top: 27px; color: var(--muted); font-size: .73rem; font-weight: 750; }

.back-link:hover { color: var(--brand-text); }

.installer-aside-copy .eyebrow { color: var(--brand-highlight); }

.installer-main > .notice { width: min(100%,920px); margin: 20px 0 0; }

.installer-welcome > .section-icon { margin-bottom: 27px; }

.installer-title .section-icon { margin-top: 4px; }

.installer-form .form-grid.two > .field { height: 126px; align-content: start; grid-template-rows: 22px 52px minmax(28px, 1fr); }

.finish-actions .button { width: 100%; min-height: 62px; }

.admin-sidebar .brand-lockup { padding-inline: 7px; }

.admin-main > .notice { margin-bottom: 20px; }

.page-header .eyebrow { font-size: .68rem; letter-spacing: .17em; }

.empty-state.large { min-height: 330px; }

.filter-bar .field { gap:var(--gap); }

table { width: 100%; border-collapse: collapse; }

th, td { padding: 17px 20px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }

th { color: var(--muted); background: var(--surface-solid); font-size: .64rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

td { color: var(--ink-soft); font-size: .7rem; }

tbody tr { transition: background var(--transition); }

tbody tr:hover { background: var(--brand-wash); }

tbody tr:last-child td { border-bottom: 0; }

.settings-form-grid > .field, .settings-form-grid > .field.span-two, .settings-form-grid.three > .field:last-child:nth-child(odd) { align-self: start; height: auto !important; min-height: 0; }

.settings-form-grid > .field.span-two { grid-column: 1 / -1; }

.settings-form-grid :is(.input-control,.select-control,.color-control), .settings-stack :is(.input-control,.select-control,.color-control,.range-control) { min-height: 58px; }

.settings-save .button { min-width: 210px; flex: 0 0 auto; }

@media (max-width: 1024px) {
.auth-shell { grid-template-columns: 1fr; }
.auth-art { min-height: 340px; padding: 34px; }
.auth-art-copy h2 { font-size: 3.8rem; }
.auth-art-note { display: none; }
.auth-form-wrap { padding: 45px 30px 60px; }
.auth-card > .brand-lockup { margin-bottom: 48px; }
.mobile-admin-bar .brand-copy { display: none; }
}

@media (max-width: 768px) {
h1 { font-size: var(--font-size-heading); }
.public-header .brand-copy small { display: none; }
.auth-art { min-height: 290px; }
.auth-art-copy h2 { font-size: 3.1rem; }
.auth-form-wrap { padding-inline: 22px; }
.installer-title .section-icon { margin-bottom: 18px; }
.installer-actions .button { width: 100%; }
.page-header > .button, .header-actions { width: 100%; }
.header-actions .button { flex: 1; }
.filter-bar .button { width: 100%; }
}

@media (max-width: 640px) {
.form-actions .button { width: 100%; }
.settings-save .button { width: 100%; min-width: 0; }
}

@media (max-width: 1280px) {
.form-grid.three > .field:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
.form-grid.three > .field:last-child:nth-child(odd) { grid-column: auto; }
}

@media (max-width: 1280px) and (min-width: 1025px) {
.settings-form-grid > .field.span-two { grid-column: auto; }
}

@media (max-width: 768px) {
.settings-form-grid > .field.span-two { grid-column: auto; }
}

.input-control,
.select-control,
.color-control {
  height: 52px;
  flex: 0 0 auto;
}

.form-grid > .field,
.form-grid > label.field {
  align-self: start;
  align-content: start;
  height: fit-content !important;
}

.form-grid > .field > .input-control,
.form-grid > .field > .select-control,
.form-grid > .field > .color-control,
.form-grid > .field > .password-control {
  align-self: start;
}

@keyframes languageMenuIn {
from { opacity: 0; transform: translateY(-7px) scale(.98); }
to { opacity: 1; transform: translateY(0) scale(1); }
}

.languages-search-card .field { margin: 0; }

.seo-settings-page .field-label {
  align-items: flex-start;
  line-height: 1.45;
}

.seo-settings-page .field-label > small {
  padding-top: 1px;
  color: var(--muted-light);
  font-size: .62rem;
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 640px) {
.seo-settings-page .field-label {
    display: grid;
    justify-content: start;
    gap: var(--gap);
  }
.seo-settings-page .field-label > small {
    text-align: left;
    white-space: normal;
  }
}

.button.disabled,
.button[aria-disabled="true"] { opacity: .5; pointer-events: none; transform: none; box-shadow: none; }

.language-toolbar-actions .button { min-height: 52px; }

@media (max-width: 1024px) {
.language-toolbar-actions .button { flex: 1; }
}

@media (max-width: 1024px) {
:root {
    --admin-content-padding-inline: 24px;
    --admin-content-padding-top: 0px;
    --admin-content-padding-bottom: 50px;
    --admin-page-title-size: clamp(3rem, 8vw, 4.2rem);
    --admin-panel-padding: 26px;
  }
}

@media (max-width: 768px) {
:root {
    --admin-content-padding-inline: 16px;
    --admin-panel-padding: 20px;
  }
}

.settings-stack > .form-actions,
.settings-stack .stack-form > .form-actions { justify-content: flex-start; margin-top: 0; }

.settings-stack .form-actions .button { min-width: 190px; }

@media (max-width: 768px) {
.settings-stack .form-actions .button { width: 100%; min-width: 0; }
}

.audit-filter-bar .filter-actions .button { min-height: 46px; }

@media (max-width: 768px) {
.audit-filter-bar .filter-actions .button { width: 100%; }
}

/* Stage 7 — public member authentication. */
.member-auth-page { min-height: 100vh; }
.member-auth-shell { min-height: 100svh; }
.member-auth-language { position: fixed; z-index: 60; top: 24px; right: 28px; display: flex; align-items: center; gap: var(--gap); }
[dir="rtl"] .member-auth-language { right: 28px; left: auto; }
.auth-language-menu { position: relative; }
.auth-language-menu > summary { list-style: none; display: inline-flex; align-items: center; gap: var(--gap); min-height: 46px; padding: 0 14px; border: 1px solid var(--header-control-border-color); border-radius: var(--radius-m); background: var(--header-control-background); color: var(--header-control-color); box-shadow: var(--header-control-shadow); backdrop-filter: blur(18px); cursor: pointer; user-select: none; transition: border-color var(--transition), background var(--transition), transform var(--transition); }
.auth-language-menu > summary:hover { transform: translateY(-1px); border-color: var(--header-control-hover-border-color); background: var(--header-control-hover-background); }
.auth-language-menu > summary::-webkit-details-marker { display: none; }
.auth-language-menu > summary > i:first-child { color: var(--brand-text); }
.auth-language-menu > summary > i:last-child { color: var(--muted-light); font-size: .65rem; transition: transform var(--transition); }
.auth-language-menu[open] > summary > i:last-child { transform: rotate(180deg); }
.auth-language-menu > summary span { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .7rem; font-weight: 800; }
.auth-language-menu > summary small { color: var(--muted-light); font-size: .58rem; font-weight: 800; letter-spacing: .06em; }
.auth-language-dropdown { position: absolute; top: calc(100% + 10px); right: 0; width: min(310px, calc(100vw - 32px)); max-height: min(64vh, 520px); overflow: auto; padding: 9px; border: 1px solid var(--line); border-radius: var(--radius-m); background: var(--surface-solid); box-shadow: 0 20px 65px rgba(43,25,35,.16); animation: languageMenuIn .16s ease both; }
[dir="rtl"] .auth-language-dropdown { right: auto; left: 0; }
.auth-language-dropdown a { display: flex; align-items: center; justify-content: space-between; gap: var(--gap); min-height: 42px; padding: 9px 11px; border-radius: var(--radius-s); color: var(--ink-soft); font-size: .7rem; font-weight: 750; }
.auth-language-dropdown a:hover, .auth-language-dropdown a.active { background: var(--brand-soft); color: var(--brand-text); }
.auth-language-dropdown a small { color: var(--muted-light); font-size: .58rem; }

.member-auth-page .auth-form-wrap { align-content: center; overflow-y: auto; }
.member-auth-page .auth-card { padding-block: 34px; }
.member-auth-page .auth-card > .brand-lockup { margin-bottom: 54px; }
.member-auth-page .auth-heading { margin-bottom: 27px; }
.member-auth-page .auth-heading h1 { letter-spacing: -.035em; }
.member-auth-page .stack-form { display: grid; gap: var(--gap); }
.member-auth-page .field { display: grid; gap: var(--gap); }
.member-auth-page .field > small { color: var(--muted-light); font-size: .66rem; line-height: 1.5; }
.member-auth-page .field-label { display: flex; align-items: center; justify-content: space-between; gap: var(--gap); color: var(--ink-soft); font-size: .69rem; font-weight: 820; }
.member-auth-page .field-label-link { color: var(--brand-text); font-size: .64rem; font-weight: 780; }
.member-auth-page .field-label-link:hover { color: var(--brand-text); text-decoration: underline; }
.member-auth-page .input-control { min-height: 56px; }
.member-auth-page .input-control input { min-width: 0; }
.member-auth-page .button.large { min-height: 58px; border-radius: var(--radius-m); }
.member-auth-page .button[disabled] { opacity: .52; cursor: not-allowed; transform: none; box-shadow: none; }
.member-auth-page .notice { margin-bottom: 20px; }
.member-auth-page .cf-turnstile { min-height: 65px; overflow: hidden; }

.auth-switch { margin: 24px 0 0; color: var(--muted); font-size: .72rem; text-align: center; }
.auth-switch a, .auth-terms-choice a { color: var(--brand-text); font-weight: 800; }
.auth-switch a:hover, .auth-terms-choice a:hover { color: var(--brand-text); text-decoration: underline; }

.auth-terms-choice { position: relative; display: flex; align-items: center; gap: var(--gap); min-width: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.55; cursor: pointer; }
.auth-terms-choice > input { position: absolute; opacity: 0; pointer-events: none; }
.auth-check { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 25px; border: 1.5px solid var(--line-strong); border-radius: var(--radius-s); background: var(--surface-solid); color: transparent; transition: border-color var(--transition), background var(--transition), color var(--transition), box-shadow var(--transition); }
.auth-terms-choice > input:checked + .auth-check { border-color: var(--brand-text); background: var(--brand-fill); color: var(--on-brand-fill); box-shadow: 0 0 0 4px rgba(var(--brand-rgb), .1); }
.auth-terms-choice > input:focus-visible + .auth-check { outline: 3px solid color-mix(in srgb, var(--brand-text) 22%, transparent); outline-offset: 2px; }
.auth-terms-choice:hover .auth-check { border-color: var(--brand-text); }
.auth-terms-choice:has(> input:disabled) { color: var(--muted); cursor: not-allowed; opacity: .72; }
.auth-terms-choice:has(> input:disabled):hover .auth-check { border-color: var(--line-strong); }
.auth-terms-choice > input:disabled + .auth-check { border-color: var(--line-strong); background: var(--surface-soft); box-shadow: none; }
.auth-terms-choice > input:disabled:checked + .auth-check { border-color: var(--muted-light); background: var(--muted-light); color: var(--on-inverse); box-shadow: none; }
.auth-terms-choice.is-invalid .auth-check,
.choice-row.is-invalid .choice-box {
  border-color: var(--danger) !important;
  background: var(--danger-soft) !important;
  color: transparent;
  box-shadow: 0 0 0 4px rgba(189,43,69,.08);
}
.auth-terms-choice.is-invalid > input:checked + .auth-check,
.choice-row.is-invalid > input:checked + .choice-box { color: var(--on-brand-fill); }
.auth-terms-choice.is-invalid:hover .auth-check,
.choice-row.is-invalid:hover .choice-box { border-color: var(--danger) !important; }
.member-auth-page form[data-verification-code-url],
.member-auth-page form[data-verification-code-url] > .field { width: 100%; min-width: 0; max-width: 100%; }
.auth-code-group { display: block; width: 100%; min-width: 0; max-width: 100%; }
.auth-code-digits {
  display: grid;
  grid-template-columns: minmax(0,1fr) 6px minmax(0,1fr) 6px minmax(0,1fr) 6px minmax(0,1fr) 6px minmax(0,1fr) 6px minmax(0,1fr);
  align-items: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: var(--gap);
}
.auth-code-digits > input {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 80px;
  height: 80px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-m);
  background: var(--surface-solid);
  color: var(--ink);
  font: inherit;
  font-size: 1.5rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  text-align: center;
  caret-color: var(--brand-text);
  transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}
.auth-code-digits > span {
  width: auto;
  color: var(--muted-light);
  font-size: .72rem;
  line-height: 1;
  text-align: center;
}
.auth-code-digits > input:focus { border-color: var(--brand-text); outline: 0; box-shadow: 0 0 0 4px rgba(var(--brand-rgb), .1); }
.auth-code-group.is-checking .auth-code-digits > input { border-color: rgba(var(--brand-rgb), .52); background: var(--brand-soft); }
.auth-code-group.is-valid .auth-code-digits > input { border-color: var(--success); background: var(--success-soft); }
.auth-code-group.is-invalid .auth-code-digits > input { border-color: var(--danger); background: var(--danger-soft); }
.auth-inline-form { display: flex; justify-content: center; margin-top: 19px; }
.auth-text-button { appearance: none; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; padding: 10px 12px; background: transparent; color: var(--brand-text); font: inherit; font-size: .75rem; font-weight: 820; cursor: pointer; }
.auth-text-button:hover { color: var(--brand-text); }
.auth-text-button:focus-visible { outline: 2px solid var(--brand-text); outline-offset: 3px; border-radius: var(--radius-s); }

@media (max-width: 1024px) {
  .member-auth-language { top: 18px; right: 18px; }
  [dir="rtl"] .member-auth-language { right: 18px; left: auto; }
  .member-auth-page .auth-art { padding-top: 84px; }
  .member-auth-page .auth-form-wrap { overflow: visible; }
  .member-auth-page .auth-card { padding-block: 10px; }
}

@media (max-width: 640px) {
  .member-auth-language { top: 12px; right: 12px; }
  [dir="rtl"] .member-auth-language { right: 12px; left: auto; }
  .auth-language-menu > summary { min-height: 44px; padding-inline: 12px; }
  .auth-language-menu > summary span { max-width: 105px; }
  .member-auth-page .auth-art { min-height: 255px; padding: 76px 24px 28px; }
  .member-auth-page .auth-art .brand-lockup { display: none; }
  .member-auth-page .auth-form-wrap { padding: 34px 18px 48px; }
  .member-auth-page .auth-card > .brand-lockup { margin-bottom: 38px; }
  .member-auth-page .auth-heading h1 { font-size: var(--font-size-heading); }
  .auth-code-digits {
    grid-template-columns: minmax(0,1fr) 4px minmax(0,1fr) 4px minmax(0,1fr) 4px minmax(0,1fr) 4px minmax(0,1fr) 4px minmax(0,1fr);
    gap: var(--gap);
  }
  .auth-code-digits > input { width: 100%; min-height: 80px; height: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  .auth-language-dropdown { animation: none; }
}

.member-auth-footer {
  position: fixed;
  z-index: 35;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  max-width: calc(100% - 32px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--gap);
  padding: 8px 13px;
  border: 1px solid var(--header-control-border-color);
  border-radius: var(--radius-l);
  background: var(--surface-glass);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(18px);
  color: var(--muted);
  font-size: .75rem;
  font-weight: 730;
}

.member-auth-footer a,
.member-auth-footer button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  border: 0;
  padding: 0 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

.member-auth-footer a:hover,
.member-auth-footer button:hover { color: var(--brand-text); }
.member-auth-footer button:focus-visible,
.member-auth-footer a:focus-visible { outline: 2px solid color-mix(in srgb, var(--brand-text) 24%, transparent); outline-offset: 3px; border-radius: var(--radius-s); }

@media (max-width: 640px) {
  .member-auth-footer {
    position: static;
    transform: none;
    max-width: calc(100% - 28px);
    margin: 0 auto 14px;
    border-radius: var(--radius-m);
  }
}

/* Central member-auth validation states.
   The status element is part of the auth field DOM so icon spacing and
   tooltip behavior do not depend on generated pseudo-content. */

/* Live authentication validation.
   Kept in auth.css because this stylesheet is already part of every member-auth page. */
.member-auth-page .field-support {
  display: block;
  align-self: start;
  width: 100%;
  min-width: 0;
  margin-top: 0;
}
.member-auth-page .password-meter { width: 100%; margin-top: 0; }

.member-auth-page .field { overflow: visible; }

.member-auth-page .input-control.is-checking,
.member-auth-page .input-control.is-checking:focus-within {
  border-color: rgba(var(--brand-rgb), .52) !important;
  box-shadow: 0 0 0 4px rgba(var(--brand-rgb), .08), 0 8px 24px rgba(32,20,27,.035) !important;
}
.member-auth-page .input-control.is-valid,
.member-auth-page .input-control.is-valid:focus-within {
  border-color: var(--success) !important;
  box-shadow: 0 0 0 4px rgba(20,122,86,.10), 0 8px 24px rgba(32,20,27,.035) !important;
}
.member-auth-page .input-control.is-invalid,
.member-auth-page .input-control.is-invalid:focus-within,
.member-auth-page .select-control.is-invalid,
.member-auth-page .select-control.is-invalid:focus-within,
.member-auth-page .textarea-control.is-invalid,
.member-auth-page .textarea-control.is-invalid:focus-within {
  border-color: var(--danger) !important;
  background: var(--danger-soft) !important;
  box-shadow: 0 0 0 4px rgba(189,43,69,.10), 0 8px 24px rgba(32,20,27,.035) !important;
}
.member-auth-page .input-control.is-valid > i:first-child { color: var(--success) !important; }
.member-auth-page .input-control.is-invalid > i:first-child { color: var(--danger) !important; }

/* Authentication layout/type contract */
.member-auth-page main p { font-size: var(--font-size-content); line-height: var(--line-height-content); }
.member-auth-page main .auth-heading p { font-size: var(--font-size-subtitle); }

/* Compact task-first authentication on handheld screens. */
.member-auth-language {
  top: max(12px, env(safe-area-inset-top));
  inset-inline-start: auto;
  inset-inline-end: auto;
  right: max(12px, env(safe-area-inset-right));
  left: auto;
}
[dir="rtl"] .member-auth-language {
  inset-inline-start: auto;
  inset-inline-end: auto;
  right: max(12px, env(safe-area-inset-right));
  left: auto;
}
.auth-language-dropdown {
  inset-inline-start: auto;
  inset-inline-end: auto;
  right: 0;
  left: auto;
}
[dir="rtl"] .auth-language-dropdown {
  inset-inline-start: auto;
  inset-inline-end: auto;
  left: auto;
  right: 0;
}
.member-auth-page :is(.field > small, .field-label, .field-label-link, .auth-switch, .auth-terms-choice) {
  font-size: .75rem;
}

@media (max-width: 768px) {
  .member-auth-page .auth-art { display: none; }
  .member-auth-page .auth-form-wrap { min-height: 100svh; padding-top: max(86px, calc(env(safe-area-inset-top) + 70px)); }
  .auth-page:not(.member-auth-page) .auth-art { min-height: 140px; padding: 24px; }
  .auth-page:not(.member-auth-page) .auth-art-copy h2 { margin: 8px 0 0; font-size: 2rem; }
  .auth-page:not(.member-auth-page) .auth-art-copy :is(span, p),
  .auth-page:not(.member-auth-page) .auth-art-note { display: none; }
  :is(.auth-language-menu > summary, .member-auth-footer) {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--surface-raised);
  }
  .member-auth-footer { padding-bottom: max(8px, env(safe-area-inset-bottom)); }
}

@media (max-width: 640px) {
  .auth-language-menu > summary { min-height: 44px; }
}
