/* Frontend authentication dialog. Account/dashboard page styles stay separate. */
:root.dtc-auth-open{overflow:hidden;scrollbar-gutter:stable}
.dtc-auth-modal{
  --auth-surface:#fffbfc;--auth-field:#fff;--auth-ink:#32252d;--auth-muted:#79626f;
  --auth-action:var(--cm-action,var(--brand,#e8405a));--auth-action-hover:var(--cm-action-hover,var(--brand-hover,#9b2b3c));
  --auth-primary:var(--auth-action);--auth-primary-hover:var(--auth-action-hover);--auth-line:#e7d6df;
  --auth-soft:#f7eaf0;--auth-control:#c7adb9;--auth-focus:color-mix(in srgb,var(--auth-action) 28%,transparent);
  --auth-radius:26px;--auth-field-radius:14px;--auth-button-radius:999px;
  --auth-notice-bg:#fff6e9;--auth-notice-line:#e5c89c;--auth-notice-ink:#705020;
  box-sizing:border-box;position:fixed;inset:0;width:min(400px,calc(100vw - 32px));height:fit-content;
  max-width:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);
  margin:auto;padding:0;border:1px solid var(--auth-line);border-radius:var(--auth-radius);
  background:var(--auth-surface);color:var(--auth-ink);font:inherit;
  box-shadow:0 32px 110px #21111e47,0 8px 28px #21111e24;overflow:hidden;
  color-scheme:light;
}
.dtc-auth-modal:not([open]){display:none}
.dtc-auth-modal::backdrop{width:100vw;height:100vh;height:100dvh;background:#1d14245e;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.dtc-auth-modal,.dtc-auth-modal *{box-sizing:border-box}
.dtc-auth-modal__frame{position:relative;min-width:0;max-height:inherit;overflow:hidden}
#dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content{
  --ac-ink:var(--auth-ink);--ac-muted:var(--auth-muted);--ac-primary:var(--auth-primary);
  --ac-line:var(--auth-line);--ac-soft:var(--auth-soft);--ac-control:var(--auth-control);
  width:100%;max-width:none;max-height:calc(100vh - 42px);max-height:calc(100dvh - 42px);
  margin:0;padding:42px 24px 22px;overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--auth-control) transparent;
  scroll-padding-block:42px 18px;color:var(--auth-ink);background:transparent;
}
.dtc-auth-modal__close{
  position:absolute;z-index:3;top:5px;right:5px;display:grid;place-items:center;
  width:38px;height:38px;min-height:38px;margin:0;padding:0;border:0;
  border-radius:50%;background:transparent;color:var(--auth-muted);cursor:pointer;
  transition:background-color .15s ease,color .15s ease;
}
.dtc-auth-modal__close svg{display:block;width:16px;height:16px;pointer-events:none}
.dtc-auth-modal__close:hover{border-color:var(--auth-control);background:var(--auth-soft);color:var(--auth-primary)}
.dtc-auth-modal__close:focus-visible{outline:3px solid var(--auth-focus);outline-offset:3px}
.dtc-auth-modal__close:disabled{cursor:progress;opacity:.55}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth{display:block;padding:0;width:100%}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth .dtc-account-auth__card,
#dtc-auth-dialog.dtc-auth-modal .dtc-account-card.dtc-account-auth{
  width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth h1{
  margin:0 0 10px;padding:0;color:var(--auth-ink);font-size:21px;font-weight:650;
  line-height:1.3;letter-spacing:-.035em;text-align:center;overflow-wrap:anywhere;
}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth h1:has(+ .dtc-account-auth__description){margin-bottom:7px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__description{
  margin:0 0 17px;color:var(--auth-muted);font-size:12px;line-height:1.65;text-align:center;
}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__card>p:not([class]),
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth>p:not([class]){margin:0 0 14px;color:var(--auth-muted);font-size:12px;line-height:1.65;overflow-wrap:anywhere}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__card>p:not([class]) strong{color:var(--auth-ink);font-weight:600}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth .dtc-account-form{gap:12px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-form label{gap:5px;color:var(--auth-ink);font-weight:550;font-size:12px;line-height:1.5}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-form .dtc-account-consent{display:flex;align-items:flex-start;gap:8px;margin:2px 0;color:var(--auth-muted);font-size:11.5px;font-weight:400;line-height:1.7}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-consent input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:16px;margin:2px 0 0;accent-color:var(--auth-primary);cursor:pointer}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-consent span{min-width:0}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-consent a{font-weight:500}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-consent input:focus-visible{outline:2px solid var(--auth-focus);outline-offset:3px}
#dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content input:not([type=checkbox]){
  width:100%;min-width:0;min-height:40px;height:40px;padding:9px 12px;border:1px solid var(--auth-control);border-radius:var(--auth-field-radius);
  background:var(--auth-field);color:var(--auth-ink);font-size:13px;line-height:1.4;box-shadow:none;
}
#dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content input::placeholder{color:var(--auth-muted);opacity:.8}
#dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content input:not([type=checkbox]):hover{border-color:var(--auth-primary)}
#dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content input:not([type=checkbox]):focus-visible{
  outline:2px solid var(--auth-focus);outline-offset:3px;border-color:var(--auth-primary);
}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-password-field{gap:5px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-shell .dtc-account-password input{padding-right:44px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-password__toggle{inset:4px 4px 4px auto;width:32px;height:32px;min-height:32px;border-radius:50%;color:var(--auth-muted)}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-password__toggle svg{width:17px;height:17px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-password__toggle:hover,
#dtc-auth-dialog.dtc-auth-modal .dtc-account-password__toggle[aria-pressed=true]{background:var(--auth-soft);color:var(--auth-primary)}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth .dtc-account-form :is(button[type=submit],button:not([type])):not(.dtc-account-google,.dtc-account-secondary,.dtc-account-text){
  min-height:38px;margin-top:2px;padding:9px 14px;border-color:var(--auth-action);
  border-radius:var(--auth-button-radius);background:var(--auth-action);color:#fff!important;box-shadow:0 3px 9px color-mix(in srgb,var(--auth-action) 12%,transparent);
  font-size:12.5px;font-weight:600;line-height:1.4;
}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth .dtc-account-form :is(button[type=submit],button:not([type])):not(.dtc-account-google,.dtc-account-secondary,.dtc-account-text):hover{
  background:var(--auth-action-hover);border-color:var(--auth-action-hover);box-shadow:0 6px 18px color-mix(in srgb,var(--auth-action) 18%,transparent);transform:none;
}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth :is(.dtc-account-secondary,.dtc-account-google){
  min-height:36px;padding:8px 12px;border-radius:var(--auth-button-radius);border-color:var(--auth-control);background:var(--auth-field);color:var(--auth-ink)!important;font-size:12px;
}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth :is(.dtc-account-secondary,.dtc-account-google):hover{border-color:var(--auth-primary);background:var(--auth-soft);filter:none}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-shell .dtc-account-text{color:var(--auth-primary)!important}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-help,
#dtc-auth-dialog.dtc-auth-modal .dtc-account-form small{margin:0;color:var(--auth-muted);font-size:11px;line-height:1.65}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-shell a{color:var(--auth-primary);text-underline-offset:3px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__description>.dtc-account-button{width:100%;min-height:46px;padding:12px 14px;border-color:var(--auth-action);border-radius:var(--auth-button-radius);background:var(--auth-action);color:#fff!important;font-size:12.5px;line-height:1.6}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__description>.dtc-account-button:hover{background:var(--auth-action-hover);border-color:var(--auth-action-hover);filter:none}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth-footer{margin:15px 0 0;padding-top:12px;border-top:1px solid var(--auth-line);font-size:11.5px;line-height:1.6;color:var(--auth-muted)}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__resend{margin:10px 0 0;font-size:11.5px;line-height:1.6}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__alternative{margin:12px 0 0;text-align:center;font-size:12px;line-height:1.6}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__recipient{margin:0 0 13px;text-align:center;color:var(--auth-muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__recipient strong{font-weight:550}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth.dtc-account-card>.btn{min-height:36px;padding:8px 13px;border-radius:var(--auth-button-radius);font-size:12px;line-height:1.4}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth.dtc-account-card>.btn-primary{background:var(--auth-action);border-color:var(--auth-action);color:#fff}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth.dtc-account-card>.btn-primary:hover{background:var(--auth-action-hover);border-color:var(--auth-action-hover)}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth-footer a,#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__resend a{padding:3px 0;font-weight:500}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:var(--auth-muted);font-size:11px;line-height:1.6;text-align:center}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__divider::before,#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__divider::after{content:"";height:1px;flex:1;background:var(--auth-line)}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth--otp .dtc-account-form input[name=code]{height:54px;font-size:23px;letter-spacing:.2em;text-align:center;font-variant-numeric:tabular-nums}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth--otp .dtc-account-auth__recipient strong{max-width:100%;padding:5px 10px;border-radius:999px;background:var(--auth-soft);font-size:11.5px;overflow-wrap:anywhere}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth--otp .dtc-account-auth__recipient{display:flex;justify-content:center;margin-bottom:17px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp-field{gap:8px}
.dtc-account-otp{display:block;position:relative;min-width:0}
.dtc-account-otp__slots{display:none}
.dtc-account-otp.is-enhanced{height:54px}
.dtc-account-otp.is-enhanced .dtc-account-otp__slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;pointer-events:none}
.dtc-account-otp__slot{display:grid;place-items:center;min-width:0;height:54px;border:1px solid var(--auth-control);border-radius:12px;background:var(--auth-field);color:var(--auth-muted);font-size:20px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}
.dtc-account-otp__slot[data-filled=true]{color:var(--auth-ink);font-size:24px;font-weight:600}
.dtc-account-otp:focus-within .dtc-account-otp__slot[data-active=true]{border-color:var(--auth-primary);box-shadow:0 0 0 3px var(--auth-focus)}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp.is-enhanced input[data-dtc-otp-input]{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent!important;color:transparent!important;-webkit-text-fill-color:transparent;caret-color:transparent;outline:0;box-shadow:none}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp.is-enhanced input[data-dtc-otp-input]::placeholder{color:transparent;opacity:0}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-form .dtc-account-otp__hint{margin:0;color:var(--auth-muted);font-size:11px;font-weight:400;line-height:1.65;text-align:center}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp-actions{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:9px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp-actions .dtc-account-form{margin:0}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp-actions button.dtc-account-text{min-height:30px;margin:0;padding:5px 0;border:0;border-radius:6px;background:transparent!important;box-shadow:none;color:var(--auth-primary)!important;font-weight:500}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp-actions button.dtc-account-text:hover{background:transparent!important;text-decoration:underline;text-underline-offset:3px;filter:none}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-shell .dtc-account-text{min-height:30px;padding:5px 8px;font-size:11.5px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth.dtc-account-card .dtc-account-form+.dtc-account-form{margin-top:9px}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-notice,
.dtc-auth-modal__feedback{
  margin:0 0 14px;padding:10px 12px;border:1px solid var(--auth-notice-line);border-radius:var(--auth-field-radius);
  background:var(--auth-notice-bg);color:var(--auth-notice-ink);font-size:12px;line-height:1.6;
  overflow-wrap:anywhere;
}
.dtc-auth-modal__feedback:empty{display:none}
.dtc-auth-modal__feedback a{font-weight:600}
.dtc-auth-modal__loading{
  display:flex;min-height:160px;align-items:center;justify-content:center;gap:10px;
  margin:0;color:var(--auth-muted);font-size:13px;line-height:1.7;text-align:center;
}
.dtc-auth-modal__loading:before{
  content:"";display:block;flex:0 0 22px;width:22px;height:22px;border:2px solid var(--auth-line);
  border-top-color:var(--auth-primary);border-radius:50%;animation:dtc-auth-spin .8s linear infinite;
}
.dtc-auth-modal.is-loading .dtc-auth-modal__content{cursor:progress}
#dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content[aria-busy=true]{cursor:progress}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-shell :is(button,input):disabled{cursor:wait;opacity:.65}
#dtc-auth-dialog.dtc-auth-modal .dtc-account-shell :is(a,button,summary):focus-visible{outline:2px solid var(--auth-focus);outline-offset:3px}
@keyframes dtc-auth-spin{to{transform:rotate(360deg)}}
@keyframes dtc-auth-enter{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.dtc-auth-modal[open]{animation:dtc-auth-enter .2s ease-out}
:root[data-dtc-color-mode=dark] .dtc-auth-modal{
  --auth-surface:#211d21;--auth-field:#181518;--auth-ink:#faeff5;--auth-muted:#cbb7c3;
  --auth-primary:#efa4bf;--auth-primary-hover:#cf668d;--auth-line:#4c3d47;--auth-soft:#33252e;
  --auth-control:#79626f;--auth-focus:color-mix(in srgb,var(--auth-primary) 45%,transparent);--auth-notice-bg:#30291f;--auth-notice-line:#6e5838;--auth-notice-ink:#e8c994;
  border-color:#5c444f;box-shadow:0 32px 110px #0009,0 8px 28px #0006;color-scheme:dark;
}
:root[data-dtc-color-mode=dark] .dtc-auth-modal::backdrop{background:#09080b94}
:root[data-dtc-color-mode=dark] #dtc-auth-dialog.dtc-auth-modal .dtc-account-shell{
  --ac-ink:var(--auth-ink);--ac-muted:var(--auth-muted);--ac-primary:var(--auth-primary);--ac-line:var(--auth-line);--ac-soft:var(--auth-soft);
}
:root[data-dtc-account-contrast=high] .dtc-auth-modal{--auth-muted:var(--auth-ink);--auth-control:var(--auth-primary);--auth-line:var(--auth-primary)}
@media(max-width:540px){
  :root.dtc-auth-open{scrollbar-gutter:auto}
  .dtc-auth-modal{width:min(400px,calc(100vw - 32px));max-height:calc(100vh - 24px);max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));--auth-radius:24px}
  #dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content{max-height:calc(100vh - 26px);max-height:calc(100dvh - max(26px,env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 2px);padding:42px 20px 20px}
  .dtc-auth-modal__close{width:38px;height:38px;top:5px;right:5px}
  #dtc-auth-dialog.dtc-auth-modal .dtc-account-auth h1{font-size:21px}
  #dtc-auth-dialog.dtc-auth-modal .dtc-account-auth__description{font-size:12px;margin-bottom:16px}
  #dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content input:not([type=checkbox]){font-size:16px}
  #dtc-auth-dialog.dtc-auth-modal .dtc-account-auth .dtc-account-form{gap:12px}
}
@media(max-width:360px){#dtc-auth-dialog.dtc-auth-modal .dtc-auth-modal__content{padding-inline:17px}#dtc-auth-dialog.dtc-auth-modal .dtc-account-auth h1{font-size:20px}}
@media(max-width:360px){.dtc-account-otp.is-enhanced .dtc-account-otp__slots{gap:6px}.dtc-account-otp__slot{border-radius:10px}}
@media(forced-colors:active){#dtc-auth-dialog.dtc-auth-modal .dtc-account-otp.is-enhanced input[data-dtc-otp-input]{position:static;border:1px solid CanvasText;background:Canvas!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText;caret-color:auto;outline:revert;padding:9px 12px}.dtc-account-otp.is-enhanced .dtc-account-otp__slots{display:none}}
@media(prefers-reduced-motion:reduce){.dtc-auth-modal[open],.dtc-auth-modal__loading:before{animation:none}.dtc-auth-modal *{scroll-behavior:auto!important;transition:none!important}}
