/* Sign-in and registration after FLW Labs CI v1.0 (docs/flwlabs-ci.md). Loaded by views/auth/_start.php after
   app.css and flwlabs-tokens.css; every rule is scoped to .auth-page, so app.css keeps its look elsewhere. */

/* Page and card */
body.auth-page{background:radial-gradient(ellipse 50rem 34rem at 12% 0%,rgba(0,217,232,.1),transparent 70%),radial-gradient(ellipse 46rem 30rem at 92% 100%,rgba(54,242,124,.06),transparent 70%),var(--flw-bg);color:var(--flw-white);font-family:var(--flw-font);font-size:16px;-webkit-font-smoothing:antialiased}
.auth-page ::selection{background:rgba(0,217,232,.35);color:var(--flw-white)}
.auth-page :focus-visible{outline:2px solid var(--flw-cyan);outline-offset:3px}
.auth-page .auth-shell{padding:var(--flw-space-6) 0}
.auth-page .card{width:min(448px,100%);padding:var(--flw-space-6);border:1px solid var(--flw-border);border-radius:var(--flw-radius-card);background:var(--flw-surface-glass);backdrop-filter:blur(14px);box-shadow:var(--flw-shadow)}
.auth-page .auth-card--wide{width:min(1040px,100%);padding:clamp(var(--flw-space-5),3vw,40px)}
.auth-page .brand-logo--primary{width:min(208px,64%);margin:0 0 var(--flw-space-5)}
.auth-page h1{margin:0 0 var(--flw-space-2);color:var(--flw-white);font-size:32px;font-weight:700;line-height:1.15;letter-spacing:var(--flw-tracking-tight)}
.auth-page .auth-card--wide>h1{font-size:40px}
.auth-page .muted{color:var(--flw-muted)}
.auth-page h1+.muted{margin:0;font-size:16px;line-height:1.55}
.auth-page a{color:var(--flw-cyan);text-decoration:none;transition:color var(--flw-transition)}
.auth-page a:hover{color:var(--flw-white);text-decoration:underline}

/* Steps and tabs */
.auth-page .auth-progress{gap:var(--flw-space-2);margin:0 0 var(--flw-space-4);color:var(--flw-muted-dim);font-size:12px;font-weight:600;letter-spacing:.14em}
.auth-page .auth-progress li+li::before{margin-right:var(--flw-space-2);color:var(--flw-border-hover)}
.auth-page .auth-progress .is-done{color:var(--flw-muted)}
.auth-page .auth-progress .is-on{color:var(--flw-cyan)}
.auth-page .auth-tabs{gap:var(--flw-space-1);margin:var(--flw-space-5) 0 0;padding:var(--flw-space-1);border:1px solid var(--flw-border);border-radius:var(--flw-radius-button);background:rgba(6,19,30,.6)}
.auth-page .auth-tab{min-height:40px;border-radius:8px;color:var(--flw-muted);font-size:15px;font-weight:600;transition:background var(--flw-transition),color var(--flw-transition)}
.auth-page .auth-tab:hover{color:var(--flw-white);text-decoration:none}
.auth-page .auth-tab.is-on{background:var(--flw-surface-hover);box-shadow:inset 0 0 0 1px var(--flw-border-hover);color:var(--flw-white)}

/* Fields */
.auth-page .field{gap:var(--flw-space-2);margin-top:var(--flw-space-5)}
.auth-page label{color:var(--flw-white);font-size:14px;font-weight:600}
.auth-page input:where(:not([type=checkbox],[type=radio])){min-height:48px;padding:0 var(--flw-space-4);border:1px solid var(--flw-border);border-radius:var(--flw-radius-button);background:rgba(6,19,30,.7);color:var(--flw-white);font-size:16px;transition:border-color var(--flw-transition),box-shadow var(--flw-transition)}
.auth-page input::placeholder{color:var(--flw-muted-dim)}
.auth-page input:where(:not([type=checkbox],[type=radio])):hover{border-color:var(--flw-border-hover)}
.auth-page input:where(:not([type=checkbox],[type=radio])):focus{border-color:var(--flw-cyan);outline:none;box-shadow:0 0 0 3px rgba(0,217,232,.15)}
.auth-page .otp-input{min-height:60px;font-size:28px;font-weight:700}
.auth-page .auth-hint{margin:var(--flw-space-3) 0 0;color:var(--flw-muted);font-size:14px;line-height:1.5}
.auth-page .auth-optional{color:var(--flw-muted-dim);font-weight:500}
.auth-page .password-field input{padding-right:96px}
.auth-page .legal-check{gap:var(--flw-space-3);margin-top:var(--flw-space-5);padding:var(--flw-space-4);border:1px solid var(--flw-border);border-radius:var(--flw-radius-button);background:rgba(6,19,30,.5);color:var(--flw-muted);font-size:14px;font-weight:400}
.auth-page .legal-check input{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--flw-cyan)}

/* Buttons: brand gradient for the main action, outline for the rest */
.auth-page button,.auth-page .button{gap:var(--flw-space-2);min-height:48px;padding:0 var(--flw-space-5);border:0;border-radius:var(--flw-radius-button);background:var(--flw-gradient);color:var(--flw-bg);font-family:var(--flw-font);font-size:16px;font-weight:700;box-shadow:var(--flw-glow);transition:filter var(--flw-transition),box-shadow var(--flw-transition),transform var(--flw-transition),border-color var(--flw-transition),background var(--flw-transition)}
.auth-page button:hover,.auth-page .button:hover{background:var(--flw-gradient);color:var(--flw-bg);filter:brightness(1.06);box-shadow:0 0 40px rgba(0,221,184,.32);transform:translateY(-1px);text-decoration:none}
.auth-page .submit{margin-top:var(--flw-space-5)}
.auth-page .button--ghost,.auth-page button.button--ghost{border:1px solid var(--flw-border);background:transparent;color:var(--flw-white);font-weight:600;box-shadow:none}
.auth-page .button--ghost:hover,.auth-page button.button--ghost:hover{border-color:var(--flw-cyan);background:rgba(0,217,232,.06);color:var(--flw-white);filter:none;box-shadow:none}
.auth-page .auth-resend{margin-top:var(--flw-space-3)}
.auth-page button.password-toggle{top:6px;right:6px;min-height:36px;padding:0 var(--flw-space-3);border-radius:8px;background:var(--flw-surface-hover);color:var(--flw-white);font-size:13px;font-weight:600;box-shadow:none}
.auth-page button.password-toggle:hover{background:var(--flw-border);color:var(--flw-white);filter:none;box-shadow:none;transform:none}
.auth-page .form-link{margin:var(--flw-space-5) 0 0;color:var(--flw-muted);font-size:15px}

/* Messages */
.auth-page .error,.auth-page .success{margin-top:var(--flw-space-4);padding:var(--flw-space-3) var(--flw-space-4);border-radius:var(--flw-radius-button);font-size:15px;line-height:1.5}
.auth-page .error{border:1px solid rgba(248,113,113,.4);background:rgba(248,113,113,.1);color:#fecaca}
.auth-page .success{border:1px solid rgba(54,242,124,.35);background:rgba(54,242,124,.08);color:#bdf8d3}

/* Registration: plan picker, e-mail row, trust line */
.auth-page .plan-picker{margin:var(--flw-space-6) 0 0}
.auth-page .plan-picker legend{margin-bottom:var(--flw-space-3);color:var(--flw-muted);font-size:12px;font-weight:600;letter-spacing:var(--flw-tracking-label);text-transform:uppercase}
.auth-page .plan-picker__grid{gap:var(--flw-space-3)}
.auth-page .plan-choice{gap:var(--flw-space-2);padding:var(--flw-space-4);border:1px solid var(--flw-border);border-radius:var(--flw-radius-card);background:rgba(6,19,30,.55);transition:border-color var(--flw-transition),background var(--flw-transition),transform var(--flw-transition)}
.auth-page .plan-choice:hover{border-color:var(--flw-border-hover);background:var(--flw-surface-hover)}
.auth-page .plan-choice:has(input:checked){border-color:var(--flw-cyan);background:rgba(0,217,232,.07);box-shadow:inset 0 0 0 1px rgba(0,217,232,.25),var(--flw-glow)}
.auth-page .plan-choice:has(input:focus-visible){outline:2px solid var(--flw-cyan);outline-offset:3px}
.auth-page .plan-choice__check{border-color:var(--flw-border-hover)}
.auth-page .plan-choice:has(input:checked) .plan-choice__check{border:5px solid var(--flw-cyan);background:var(--flw-bg)}
.auth-page .plan-choice__badge{padding:var(--flw-space-1) var(--flw-space-2);border-radius:0 0 8px 0;background:var(--flw-gradient);color:var(--flw-bg);font-size:11px;font-weight:700;letter-spacing:.08em}
.auth-page .plan-choice.is-recommended{padding-top:32px}
.auth-page .plan-choice strong{font-size:16px;font-weight:600}
.auth-page .plan-choice__price{font-size:28px;font-weight:700;letter-spacing:var(--flw-tracking-tight)}
.auth-page .plan-choice__price small,.auth-page .selected-plan__price small{color:var(--flw-muted);font-size:12px;font-weight:500}
.auth-page .plan-choice__facts{gap:var(--flw-space-1);padding-top:var(--flw-space-3);border-top-color:var(--flw-border);color:var(--flw-muted);font-size:13px;font-weight:500}
.auth-page .plan-choice__facts span::before,.auth-page .selected-plan li::before{color:var(--flw-green)}
.auth-page .registration-email{gap:var(--flw-space-5);margin-top:var(--flw-space-4);padding:var(--flw-space-4) var(--flw-space-5);border:1px solid var(--flw-border);border-radius:var(--flw-radius-card);background:rgba(6,19,30,.5)}
.auth-page .registration-email .auth-hint{margin-top:var(--flw-space-1)}
.auth-page .registration-submit{gap:var(--flw-space-2);margin-top:var(--flw-space-5)}
.auth-page .auth-trust{gap:var(--flw-space-2) var(--flw-space-5);margin-top:var(--flw-space-4);color:var(--flw-muted);font-size:13px;font-weight:500}
.auth-page .auth-trust span::first-letter{color:var(--flw-green)}

/* Workspace step */
.auth-page .profile-layout{gap:var(--flw-space-5);margin-top:var(--flw-space-5)}
.auth-page .selected-plan{padding:var(--flw-space-5);border:1px solid rgba(0,217,232,.32);border-radius:var(--flw-radius-card);background:linear-gradient(155deg,rgba(0,217,232,.1),rgba(6,19,30,.6))}
.auth-page .selected-plan__eyebrow{color:var(--flw-cyan);font-size:12px;font-weight:600;letter-spacing:var(--flw-tracking-label)}
.auth-page .selected-plan h2{margin:var(--flw-space-2) 0 var(--flw-space-1);font-size:20px;font-weight:600}
.auth-page .selected-plan__price{font-size:32px;font-weight:700;letter-spacing:var(--flw-tracking-tight)}
.auth-page .selected-plan ul{gap:var(--flw-space-2);border-color:var(--flw-border);color:var(--flw-white);font-size:14px}
.auth-page .selected-plan>p:not(.selected-plan__price){color:var(--flw-muted);font-size:13px}
.auth-page .selected-plan>a{font-size:14px;font-weight:600}
.auth-page .verified-email{gap:var(--flw-space-2);padding:6px var(--flw-space-3);border-color:rgba(54,242,124,.3);background:rgba(54,242,124,.08);color:#bdf8d3;font-size:13px;font-weight:600}

@media(max-width:620px){.auth-page .auth-shell{padding:var(--flw-space-4) 0}.auth-page .card{padding:var(--flw-space-5)}.auth-page h1{font-size:28px}.auth-page .auth-card--wide>h1{font-size:30px}.auth-page .registration-email{padding:var(--flw-space-4)}}
@media(prefers-reduced-motion:reduce){.auth-page button,.auth-page .button,.auth-page .plan-choice,.auth-page input{transition:none}.auth-page button:hover,.auth-page .button:hover{transform:none}}
/* Light theme (generated by resources/tools/light-theme.js): start */
html[data-theme="light"] body.auth-page { background: radial-gradient(ellipse 50rem 34rem at 12% 0%,rgba(0, 215, 230, 0.1),transparent 70%),radial-gradient(ellipse 46rem 30rem at 92% 100%,rgba(14, 216, 89, 0.06),transparent 70%),var(--flw-bg); color: var(--flw-white); }
html[data-theme="light"] .auth-page ::selection { background: rgba(0, 215, 230, 0.35); color: var(--flw-white); }
html[data-theme="light"] .auth-page :focus-visible { outline: 2px solid var(--flw-cyan); }
html[data-theme="light"] .auth-page .card { border: 1px solid var(--flw-border); background: var(--flw-surface-glass); box-shadow: var(--flw-shadow); }
html[data-theme="light"] .auth-page h1 { color: var(--flw-white); }
html[data-theme="light"] .auth-page .muted { color: var(--flw-muted); }
html[data-theme="light"] .auth-page a { color: var(--flw-cyan); text-decoration: none; }
html[data-theme="light"] .auth-page a:hover { color: var(--flw-white); text-decoration: underline; }
html[data-theme="light"] .auth-page .auth-progress { color: var(--flw-muted-dim); }
html[data-theme="light"] .auth-page .auth-progress li+li::before { color: var(--flw-border-hover); }
html[data-theme="light"] .auth-page .auth-progress .is-done { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .auth-progress .is-on { color: var(--flw-cyan); }
html[data-theme="light"] .auth-page .auth-tabs { border: 1px solid var(--flw-border); background: rgba(245, 249, 253, 0.6); }
html[data-theme="light"] .auth-page .auth-tab { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .auth-tab:hover { color: var(--flw-white); text-decoration: none; }
html[data-theme="light"] .auth-page .auth-tab.is-on { background: var(--flw-surface-hover); box-shadow: inset 0 0 0 1px var(--flw-border-hover); color: var(--flw-white); }
html[data-theme="light"] .auth-page label { color: var(--flw-white); }
html[data-theme="light"] .auth-page input:where(:not([type=checkbox],[type=radio])) { border: 1px solid var(--flw-border); background: rgba(245, 249, 253, 0.7); color: var(--flw-white); }
html[data-theme="light"] .auth-page input::placeholder { color: var(--flw-muted-dim); }
html[data-theme="light"] .auth-page input:where(:not([type=checkbox],[type=radio])):hover { border-color: var(--flw-border-hover); }
html[data-theme="light"] .auth-page input:where(:not([type=checkbox],[type=radio])):focus { border-color: var(--flw-cyan); outline: none; box-shadow: 0 0 0 3px rgba(0, 217, 232, 0.053); }
html[data-theme="light"] .auth-page .auth-hint { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .auth-optional { color: var(--flw-muted-dim); }
html[data-theme="light"] .auth-page .legal-check { border: 1px solid var(--flw-border); background: rgba(245, 249, 253, 0.5); color: var(--flw-muted); }
html[data-theme="light"] .auth-page .legal-check input { accent-color: var(--flw-cyan); }
html[data-theme="light"] .auth-page button, html[data-theme="light"] .auth-page .button { border: 0; background: var(--flw-gradient); color: var(--flw-bg); box-shadow: var(--flw-glow); }
html[data-theme="light"] .auth-page button:hover, html[data-theme="light"] .auth-page .button:hover { background: var(--flw-gradient); color: var(--flw-bg); box-shadow: 0 0 40px rgba(0, 221, 184, 0.112); text-decoration: none; }
html[data-theme="light"] .auth-page .button--ghost, html[data-theme="light"] .auth-page button.button--ghost { border: 1px solid var(--flw-border); background: transparent; color: var(--flw-white); box-shadow: none; }
html[data-theme="light"] .auth-page .button--ghost:hover, html[data-theme="light"] .auth-page button.button--ghost:hover { border-color: var(--flw-cyan); background: rgba(0, 215, 230, 0.06); color: var(--flw-white); box-shadow: none; }
html[data-theme="light"] .auth-page button.password-toggle { background: var(--flw-surface-hover); color: var(--flw-white); box-shadow: none; }
html[data-theme="light"] .auth-page button.password-toggle:hover { background: var(--flw-border); color: var(--flw-white); box-shadow: none; }
html[data-theme="light"] .auth-page .form-link { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .error { border: 1px solid rgba(219, 11, 11, 0.4); background: rgba(219, 11, 11, 0.1); color: #b40303; }
html[data-theme="light"] .auth-page .success { border: 1px solid rgba(14, 216, 89, 0.35); background: rgba(14, 216, 89, 0.08); color: #12a649; }
html[data-theme="light"] .auth-page .plan-picker legend { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .plan-choice { border: 1px solid var(--flw-border); background: rgba(245, 249, 253, 0.55); }
html[data-theme="light"] .auth-page .plan-choice:hover { border-color: var(--flw-border-hover); background: var(--flw-surface-hover); }
html[data-theme="light"] .auth-page .plan-choice:has(input:checked) { border-color: var(--flw-cyan); background: rgba(0, 215, 230, 0.07); box-shadow: inset 0 0 0 1px rgba(0, 217, 232, 0.088),var(--flw-glow); }
html[data-theme="light"] .auth-page .plan-choice:has(input:focus-visible) { outline: 2px solid var(--flw-cyan); }
html[data-theme="light"] .auth-page .plan-choice__check { border-color: var(--flw-border-hover); }
html[data-theme="light"] .auth-page .plan-choice:has(input:checked) .plan-choice__check { border: 5px solid var(--flw-cyan); background: var(--flw-bg); }
html[data-theme="light"] .auth-page .plan-choice__badge { background: var(--flw-gradient); color: var(--flw-bg); }
html[data-theme="light"] .auth-page .plan-choice__price small, html[data-theme="light"] .auth-page .selected-plan__price small { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .plan-choice__facts { border-top-color: var(--flw-border); color: var(--flw-muted); }
html[data-theme="light"] .auth-page .plan-choice__facts span::before, html[data-theme="light"] .auth-page .selected-plan li::before { color: var(--flw-green); }
html[data-theme="light"] .auth-page .registration-email { border: 1px solid var(--flw-border); background: rgba(245, 249, 253, 0.5); }
html[data-theme="light"] .auth-page .auth-trust { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .auth-trust span::first-letter { color: var(--flw-green); }
html[data-theme="light"] .auth-page .selected-plan { border: 1px solid rgba(0, 215, 230, 0.32); background: linear-gradient(155deg,rgba(0, 215, 230, 0.1),rgba(245, 249, 253, 0.6)); }
html[data-theme="light"] .auth-page .selected-plan__eyebrow { color: var(--flw-cyan); }
html[data-theme="light"] .auth-page .selected-plan ul { border-color: var(--flw-border); color: var(--flw-white); }
html[data-theme="light"] .auth-page .selected-plan>p:not(.selected-plan__price) { color: var(--flw-muted); }
html[data-theme="light"] .auth-page .verified-email { border-color: rgba(14, 216, 89, 0.3); background: rgba(14, 216, 89, 0.08); color: #12a649; }
/* Light theme (generated): end */
