.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#0f2742f5,#081c31fa),var(--ds-primary)}.auth-layout{display:grid;width:min(100%,1020px);min-height:0;max-height:calc(100vh - 40px);grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);overflow:hidden;background:var(--surface);border:1px solid rgba(217,227,235,.2);border-radius:var(--radius-lg);box-shadow:0 28px 70px #020c1847}.auth-hero{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:22px;padding:30px;color:#fff;background:linear-gradient(160deg,rgba(28,181,163,.22),transparent 45%),linear-gradient(180deg,#0f2742,#081c31)}.auth-brand{display:inline-flex;width:max-content;align-items:center;gap:12px;color:inherit;font-weight:800}.auth-brand img{width:40px;height:40px;border-radius:12px}.auth-brand strong{font-size:22px;letter-spacing:-.5px}.auth-hero-copy{max-width:540px}.auth-hero .section-kicker{color:var(--ds-highlight)}.auth-hero :is(h1,h2){margin-bottom:12px;color:#fff;font-size:clamp(30px,3.4vw,44px);line-height:1.04;letter-spacing:0}.auth-hero p{max-width:470px;margin-bottom:0;color:#c8d7df;font-size:14px}.auth-preview{width:min(100%,410px);padding:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md)}.auth-preview-header,.auth-preview-list span{display:flex;align-items:center}.auth-preview-header{justify-content:space-between;gap:12px;margin-bottom:12px}.auth-preview-header>span{width:30px;height:30px;background:var(--ds-highlight);border-radius:10px}.auth-preview-header strong,.auth-preview-header small{display:block}.auth-preview-header strong{flex:1;color:#fff;font-size:14px}.auth-preview-header small{color:var(--ds-highlight);font-weight:800}.auth-preview-bars{display:grid;height:104px;grid-template-columns:repeat(6,1fr);align-items:end;gap:9px;padding:10px;background:#081c3194;border-radius:14px}.auth-preview-bars span{min-height:34px;background:linear-gradient(180deg,var(--ds-highlight),var(--ds-accent));border-radius:999px 999px 5px 5px}.auth-preview-list{display:grid;gap:7px;margin-top:10px;color:#dce8ee;font-size:13px}.auth-preview-list span{gap:9px}.auth-preview-list b{width:8px;height:8px;background:var(--ds-accent);border-radius:50%}.auth-panel{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:34px;background:var(--surface)}.auth-panel [hidden]{display:none}.auth-panel-heading{margin-bottom:20px}.auth-panel h2{margin-bottom:7px;color:var(--ink-900);font-size:27px;line-height:1.12;letter-spacing:0}.auth-panel p{color:var(--ink-500);font-size:13px}.auth-form{display:grid;gap:12px}.auth-password-field{position:relative}.auth-password-field input{padding-right:48px}.auth-password-toggle{position:absolute;right:10px;bottom:8px;display:grid;width:34px;height:34px;place-items:center;color:var(--ink-500);background:transparent;border:0;border-radius:9px;transition:color var(--transition),background var(--transition)}.auth-password-toggle:hover,.auth-password-toggle:focus-visible{color:var(--ds-accent-hover);background:var(--ds-accent-soft)}.auth-password-toggle svg{width:18px;height:18px}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ink-500);font-size:13px}.auth-options a,.auth-text-button{color:var(--ds-accent-hover);background:transparent;border:0;font-weight:750;font:inherit;cursor:pointer}.auth-options a:hover,.auth-text-button:hover{text-decoration:underline}.auth-check{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:6px 8px;border-radius:10px;font-size:14px;font-weight:650;cursor:pointer}.auth-check input{width:20px;height:20px;margin:0;accent-color:var(--ds-accent)}.auth-check input:disabled{cursor:default;opacity:.85}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}.auth-actions-stacked{grid-template-columns:1fr}.auth-message{margin:0;align-items:flex-start;gap:10px;padding:12px 13px;color:var(--ink-700);background:#f0f6f8;border:1px solid #d5e3e8;border-radius:var(--radius-sm);font-size:14px;font-weight:650;line-height:1.35}.auth-message:not([hidden]){display:flex}.auth-message svg{flex:0 0 auto;width:19px;height:19px;margin-top:1px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.auth-message.is-success{color:#126b5f;background:#e6f7f1;border-color:#8cdbc9}.auth-message.is-error{color:#a73434;background:#fff0f0;border-color:#f1b8b8}#auth-login-message.is-error:not([hidden]){position:static;width:auto;margin:0;padding:12px 13px;align-items:flex-start;transform:none;box-shadow:none;pointer-events:auto;animation:auth-login-error-inline-in .18s ease-out both}@keyframes auth-login-error-inline-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#auth-login-message.is-error:not([hidden]){animation:none}}.auth-message.is-pending{color:#185b77;background:#edf8fc;border-color:#a9dcea}.email-notice{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#07142685;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.email-notice[hidden]{display:none}.email-notice-panel{width:min(420px,100%);padding:28px;text-align:center;color:var(--ink-800);background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 24px 70px #07142647}.email-notice-icon{display:inline-grid;place-items:center;width:56px;height:56px;margin-bottom:16px;color:var(--ds-accent-hover);background:var(--ds-accent-soft);border-radius:50%}.email-notice-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.email-notice-panel h2{margin:0;font-size:24px;line-height:1.15}.email-notice-panel p{margin:10px 0 22px;color:var(--ink-600);font-size:15px;line-height:1.5}.email-notice-panel .button{width:100%}.auth-demo-note{padding-top:13px;margin:15px 0 0;border-top:1px solid var(--line)}.auth-sign-out[hidden],.auth-screen[hidden],.app-shell[hidden]{display:none}.migration-dialog{width:min(560px,calc(100vw - 28px));padding:0;color:var(--ink-800);background:transparent;border:0}.migration-dialog::backdrop{background:#06183480;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.migration-dialog-shell{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px #091c3a3d}.migration-dialog-heading{display:flex;align-items:flex-start;gap:14px}.migration-dialog-icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;color:var(--ds-accent-hover);background:var(--ds-accent-soft);border-radius:14px}.migration-dialog-icon svg{width:22px;height:22px;fill:currentColor}.migration-dialog h2{margin:4px 0 6px;color:var(--ink-900);font-size:22px;letter-spacing:0}.migration-dialog p{margin:0;color:var(--ink-500);font-size:13px;line-height:1.5}.migration-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 14px}.migration-summary-grid article{padding:13px;background:#f8fafc;border:1px solid #edf1f6;border-radius:12px}.migration-summary-grid strong,.migration-summary-grid span{display:block}.migration-summary-grid strong{color:var(--ink-900);font-size:22px}.migration-summary-grid span{margin-top:3px;color:var(--ink-500);font-size:11px;font-weight:750}.migration-dialog-note{padding:12px;background:#fff8e8;border:1px solid #f4dfaa;border-radius:12px}.migration-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}@media(max-width:900px){.auth-layout{grid-template-columns:1fr;max-height:none}.auth-hero{min-height:0}.auth-preview{width:100%}}@media(max-height:720px)and (min-width:901px){.auth-preview{display:none}.auth-hero,.auth-panel{padding-block:26px}}@media(max-width:560px){.auth-screen{padding:10px}.auth-layout{min-height:auto;border-radius:var(--radius-md)}.auth-hero,.auth-panel{padding:20px}.auth-hero{min-height:0}.auth-hero h1{font-size:27px}.auth-panel h2{font-size:23px}.auth-options,.auth-actions,.migration-dialog-actions,.migration-summary-grid{grid-template-columns:1fr}.auth-options{display:grid;gap:10px}}@media(max-width:900px)and (max-height:820px){.auth-preview,.auth-hero-copy p,.auth-demo-note{display:none}}.periodize-app-auth{min-height:100svh;padding:24px 16px;background:radial-gradient(circle at 12% 10%,rgba(28,181,163,.16),transparent 30%),linear-gradient(145deg,#0f2742,#081c31)}.periodize-app-auth .app-auth-card{width:min(100%,440px);padding:28px 30px 30px;color:var(--ink-900);background:#fffffffa;border:1px solid rgba(255,255,255,.72);border-radius:24px;box-shadow:0 24px 64px #030f1d47}.periodize-app-auth .app-auth-back{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;color:var(--ink-500);font-size:13px;font-weight:750}.periodize-app-auth .app-auth-back:hover,.periodize-app-auth .app-auth-back:focus-visible{color:var(--ds-accent-hover)}.periodize-app-auth .app-simple-brand{justify-content:flex-start;gap:10px;color:var(--ink-900);font-size:25px}.periodize-app-auth .app-simple-icon,.periodize-app-auth .app-simple-icon img{width:44px;height:44px}.periodize-app-auth .auth-panel-heading{margin:28px 0 22px;text-align:left}.periodize-app-auth .auth-panel-heading h1{color:var(--ink-900);font-size:30px;line-height:1.08}.periodize-app-auth .auth-panel-heading p{display:block;margin-top:8px;color:var(--ink-500);font-size:14px;line-height:1.5}.periodize-app-auth .app-simple-form{gap:14px}.periodize-app-auth .app-simple-field>span{position:static;display:block;width:auto;height:auto;margin:0 0 7px;overflow:visible;color:var(--ink-700);font-size:14px;font-weight:800;clip:auto;white-space:normal}.periodize-app-auth .app-simple-field input{min-height:48px;padding:0 13px;color:var(--ink-900);background:#fbfdfe;border:1px solid var(--line);border-radius:12px;font-size:16px}.periodize-app-auth .app-simple-field input::placeholder{color:var(--ink-500)}.periodize-app-auth .app-simple-field input:focus{border-color:var(--ds-accent-hover);box-shadow:var(--focus-ring);outline:2px solid var(--ds-accent-hover);outline-offset:2px}.periodize-app-auth .app-simple-password-toggle{top:auto;right:8px;bottom:2px;width:44px;height:44px;color:var(--ink-500);border-radius:9px;transform:none}.periodize-app-auth .app-forgot-link,.periodize-app-auth .app-terms-link{color:var(--ink-500);font-size:13px;font-weight:650}.periodize-app-auth .app-forgot-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:44px}.periodize-app-auth .app-forgot-link strong{color:var(--ds-accent-hover)}.periodize-app-auth .auth-actions{gap:10px}.periodize-app-auth .button{min-height:48px;border-radius:12px;font-size:14px;font-weight:800}.periodize-app-auth .button-primary{color:#fff;background:var(--ds-primary);box-shadow:0 8px 18px #0f27422e}.periodize-app-auth .button-primary:hover,.periodize-app-auth .button-primary:focus-visible{background:var(--ds-accent-hover);box-shadow:0 10px 22px #15998933}.periodize-app-auth .button-secondary{color:var(--ds-primary);background:#fff;border-color:var(--line)}.periodize-app-auth .button-secondary:hover,.periodize-app-auth .button-secondary:focus-visible{color:var(--ds-accent-hover);background:var(--ds-accent-soft);border-color:#1cb5a36b}.periodize-app-auth .auth-message{font-size:13px}.auth-signup-page .auth-screen{align-items:flex-start;overflow-y:auto;padding-block:24px;background:radial-gradient(circle at 12% 10%,rgba(28,181,163,.16),transparent 30%),linear-gradient(145deg,#0f2742,#081c31)}.auth-signup-page .auth-layout{width:min(100%,1040px);max-height:none;margin-block:0;border-color:#ffffff3d;border-radius:24px;box-shadow:0 24px 64px #030f1d47}.auth-signup-page .auth-panel{justify-content:flex-start;padding:38px}.auth-signup-page .auth-panel-heading{margin-bottom:24px}.auth-signup-page .auth-panel-heading h1{font-size:30px}.auth-signup-page .auth-form{grid-template-columns:minmax(0,1fr);gap:14px}.auth-signup-page .auth-panel .field{min-width:0;display:grid;gap:7px;color:var(--ink-700);font-size:12px;font-weight:800}.auth-signup-page .auth-panel .field input{width:100%;min-width:0;min-height:48px;padding:0 13px;color:var(--ink-900);background:#fbfdfe;border:1px solid var(--line);border-radius:12px;font-size:16px}.auth-signup-page .auth-panel .field input:focus{border-color:var(--ds-accent);box-shadow:var(--focus-ring);outline:none}.auth-signup-page .auth-actions{gap:10px;margin-top:2px}.auth-signup-page .button{min-height:48px;border-radius:12px;font-size:14px;font-weight:800}.auth-signup-page .button-primary{background:var(--ds-primary);box-shadow:0 8px 18px #0f27422e}.auth-signup-page .button-primary:hover,.auth-signup-page .button-primary:focus-visible{background:var(--ds-accent-hover)}.auth-signup-page .button-secondary{color:var(--ds-primary);background:#fff;border-color:var(--line)}.auth-signup-page .button-secondary:hover,.auth-signup-page .button-secondary:focus-visible{color:var(--ds-accent-hover);background:var(--ds-accent-soft);border-color:#1cb5a36b}@media(min-width:901px){.auth-signup-page .auth-screen{align-items:center;overflow:hidden;padding:16px}.auth-signup-page .auth-layout{height:calc(100vh - 32px);max-height:calc(100vh - 32px);overflow:hidden}.auth-signup-page .auth-hero,.auth-signup-page .auth-panel{padding:18px 30px}.auth-signup-page .auth-panel{overflow-y:auto;scrollbar-width:thin}.auth-signup-page .auth-panel-heading{margin-bottom:10px}.auth-signup-page .auth-panel-heading h1{font-size:28px}.auth-signup-page .auth-form{grid-template-columns:1fr;gap:6px}.auth-signup-page .auth-panel .field{gap:3px}.auth-signup-page .auth-panel .field input{min-height:48px}.auth-signup-page .auth-password-requirements{margin:-3px 0 0;font-size:14px;line-height:1.5}.auth-signup-page .auth-captcha-widget{min-height:50px}.auth-signup-page .auth-captcha-status{font-size:14px}.auth-signup-page .button{min-height:48px}}@media(max-width:560px){.periodize-app-auth{align-items:center;padding:12px}.periodize-app-auth .app-auth-card{padding:22px 18px 20px;border-radius:20px}.periodize-app-auth .auth-panel-heading{margin-top:24px}.periodize-app-auth .auth-panel-heading h1{font-size:27px}.auth-signup-page .auth-panel{padding:24px 20px}.auth-signup-page .auth-panel-heading h1{font-size:27px}}.auth-panel .section-kicker{color:var(--ds-accent-hover)}@media(max-width:900px){.auth-signup-page .auth-hero-copy,.auth-signup-page .auth-preview{display:none}.auth-signup-page .auth-hero{padding:18px 20px}.auth-signup-page .auth-screen{padding:12px}}.auth-signup-page .auth-panel .field input::placeholder{color:var(--ink-500)}.auth-signup-page .auth-message:empty{display:none}.auth-signup-page .field input[aria-invalid=true]{border-color:var(--ds-danger)}.auth-plan-choice{margin:0 0 22px;padding:14px 16px;border:1px solid #b9d9e9;border-radius:12px;background:#f2f9fc;color:#0f2742;font-weight:700}@media(min-width:901px){.auth-signup-page .auth-plan-choice{margin-bottom:12px;padding:10px 12px;font-size:12px;line-height:1.35}}
