/* Direct PESO Alive login composition; behavior remains owned by PHP/JS. */
body.auth-page {
    min-height: 100vh !important;
    padding: 24px 32px !important;
    overflow-x: hidden;
    color: var(--peso-ink) !important;
    background:
        linear-gradient(color-mix(in srgb,var(--peso-ink) 3.5%,transparent) 1px,transparent 1px),
        linear-gradient(90deg,color-mix(in srgb,var(--peso-ink) 3.5%,transparent) 1px,transparent 1px),
        radial-gradient(circle at 50% 24%,color-mix(in srgb,var(--peso-primary) 11%,transparent),transparent 26rem),
        radial-gradient(circle at 90% 88%,color-mix(in srgb,var(--peso-gold) 10%,transparent),transparent 24rem),
        var(--peso-canvas) !important;
    background-size: 56px 56px,56px 56px,auto,auto,auto !important;
    font-family: "Plus Jakarta Sans",Inter,"Segoe UI",sans-serif !important;
}
body.auth-page .auth-background { display:none !important; }
body.auth-page .auth-toolbar {
    position:relative !important; inset:auto !important; z-index:10; width:min(100%,1024px); margin:0 auto;
    padding:0 !important; display:flex; align-items:center; justify-content:space-between; pointer-events:auto;
}
body.auth-page :is(.auth-back-link,.auth-theme-toggle) {
    min-height:40px; padding:8px 15px !important; color:var(--peso-ink) !important;
    background:color-mix(in srgb,var(--peso-surface) 84%,transparent) !important;
    border:1px solid color-mix(in srgb,var(--peso-line) 84%,transparent) !important; border-radius:999px !important;
    box-shadow:0 4px 14px -10px rgba(13,43,29,.28) !important; backdrop-filter:blur(14px); font-size:.76rem; font-weight:750;
}
body.auth-page :is(.auth-back-link,.auth-theme-toggle):hover { border-color:var(--peso-primary) !important; color:var(--peso-primary) !important; transform:translateY(-1px); }
body.auth-page .auth-shell { min-height:calc(100vh - 88px) !important; width:100%; padding:30px 0 42px !important; display:grid !important; place-items:center !important; }
body.auth-page .auth-form-panel {
    position:relative; width:min(100%,480px) !important; max-width:480px !important; min-height:0 !important;
    margin:0 auto !important; padding:clamp(28px,5vw,40px) !important; overflow:hidden; color:var(--peso-ink) !important;
    background:color-mix(in srgb,var(--peso-surface) 92%,transparent) !important;
    border:1px solid color-mix(in srgb,var(--peso-line) 78%,transparent) !important; border-radius:28px !important;
    box-shadow:0 30px 70px -32px rgba(7,45,29,.38),inset 0 1px rgba(255,255,255,.65) !important; backdrop-filter:blur(20px);
}
body.auth-page .auth-form-panel::before { content:""; position:absolute; top:0; left:48px; right:48px; height:3px; border-radius:0 0 999px 999px; background:linear-gradient(90deg,var(--peso-primary),var(--peso-primary-glow,#1b9d61)); }
body.auth-page .auth-form-wrap { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
body.auth-page :is(.auth-login-identity,.role-login-identity) { width:100%; display:flex !important; flex-direction:column; align-items:center; gap:5px !important; padding:0 !important; color:var(--peso-ink) !important; background:transparent !important; border:0 !important; box-shadow:none !important; text-align:center; }
body.auth-page :is(.auth-login-logo,.role-login-logo) { width:64px !important; height:64px !important; margin-bottom:5px; display:grid !important; place-items:center; padding:7px; background:color-mix(in srgb,var(--peso-primary) 6%,var(--peso-surface)) !important; border:1px solid color-mix(in srgb,var(--peso-primary) 20%,var(--peso-line)) !important; border-radius:18px !important; }
body.auth-page :is(.auth-login-logo,.role-login-logo) img { width:50px !important; height:50px !important; border:0 !important; border-radius:50% !important; }
body.auth-page :is(.auth-login-identity,.role-login-identity) > span:nth-child(2) { display:flex; flex-direction:column; align-items:center; }
body.auth-page :is(.auth-login-identity,.role-login-identity) strong { color:var(--peso-ink) !important; font-size:1rem !important; }
body.auth-page :is(.auth-login-identity,.role-login-identity) small { margin-top:2px; color:var(--peso-primary) !important; font-size:.64rem !important; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
body.auth-page .role-login-identity > i { display:none !important; }
body.auth-page .auth-form-heading { margin:20px 0 24px !important; text-align:center !important; }
body.auth-page .auth-form-heading h1 { margin:0 !important; color:var(--peso-ink) !important; font-family:"Space Grotesk","Plus Jakarta Sans",Inter,sans-serif !important; font-size:clamp(1.9rem,5vw,2.45rem) !important; font-weight:800 !important; letter-spacing:-.04em !important; }
body.auth-page .auth-login-subtitle { margin:7px 0 0 !important; color:var(--peso-muted) !important; font-size:.86rem !important; }
body.auth-page .auth-form { display:grid; gap:17px; }
body.auth-page .auth-field { margin:0 !important; }
body.auth-page .auth-field label { color:var(--peso-ink) !important; font-size:.78rem !important; font-weight:750 !important; }
body.auth-page .auth-label-row a { color:var(--peso-primary) !important; font-size:.75rem !important; font-weight:750; }
body.auth-page .auth-input-wrap { min-height:50px !important; margin-top:7px; padding:0 14px !important; display:flex; align-items:center; gap:10px; background:color-mix(in srgb,var(--peso-canvas) 65%,var(--peso-surface)) !important; border:1px solid var(--peso-line) !important; border-radius:16px !important; box-shadow:none !important; }
body.auth-page .auth-input-wrap:focus-within { border-color:var(--peso-primary) !important; box-shadow:var(--peso-focus) !important; }
body.auth-page .auth-input-wrap > i { color:var(--peso-muted) !important; }
body.auth-page .auth-input-wrap input { min-height:48px !important; padding:0 !important; color:var(--peso-ink) !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
body.auth-page .auth-password-toggle { min-width:40px !important; min-height:40px !important; color:var(--peso-muted) !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
body.auth-page .auth-submit { min-height:52px !important; margin-top:2px; border:0 !important; border-radius:16px !important; background:linear-gradient(135deg,var(--peso-primary),var(--peso-primary-glow,#1b9d61)) !important; box-shadow:0 16px 30px -16px rgba(1,98,54,.72) !important; }
body.auth-page .auth-secondary-action { margin-top:22px !important; color:var(--peso-muted) !important; font-size:.78rem !important; text-align:center; }
body.auth-page .auth-secondary-action a { color:var(--peso-primary) !important; font-weight:750; }
body.auth-page :is(.auth-login-security,.role-login-security) { width:100%; margin-top:16px !important; justify-content:center; color:var(--peso-muted) !important; background:transparent !important; border:0 !important; font-size:.72rem !important; }
body.auth-page :is(.auth-login-security,.role-login-security) i { color:var(--peso-primary) !important; }
html[data-theme="dark"] body.auth-page .auth-form-panel { box-shadow:0 30px 70px -28px rgba(0,0,0,.66),inset 0 1px rgba(255,255,255,.04) !important; }
@media (max-width:600px) { body.auth-page { padding:16px 12px !important; } body.auth-page :is(.auth-back-link,.auth-theme-toggle) { padding:8px 11px !important; } body.auth-page .auth-theme-toggle span { display:none; } body.auth-page .auth-form-panel { padding:26px 20px !important; border-radius:22px !important; } }
@media (prefers-reduced-motion:no-preference) { body.auth-page .auth-form-panel { animation:peso-alive-login-in .45s cubic-bezier(.22,1,.36,1) both; } @keyframes peso-alive-login-in { from { opacity:0; transform:translateY(22px) scale(.985); } } }

/* ---- Standalone verify-email page (data-peso-page="verify-email", own inline <style>) ---- */
body[data-peso-page="verify-email"] {
    min-height:100vh; padding:24px 20px; color:var(--peso-ink);
    background:
        linear-gradient(color-mix(in srgb,var(--peso-ink) 3.5%,transparent) 1px,transparent 1px),
        linear-gradient(90deg,color-mix(in srgb,var(--peso-ink) 3.5%,transparent) 1px,transparent 1px),
        radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--peso-primary) 12%,transparent),transparent 26rem),
        radial-gradient(circle at 88% 90%,color-mix(in srgb,var(--peso-gold) 10%,transparent),transparent 24rem),
        var(--peso-canvas);
    background-size:56px 56px,56px 56px,auto,auto,auto;
    font-family:"Plus Jakarta Sans",Inter,"Segoe UI",sans-serif;
}
body[data-peso-page="verify-email"] .verify-back {
    position:fixed; left:24px; top:22px; z-index:10; display:inline-flex; align-items:center; gap:8px;
    min-height:40px; padding:8px 15px; color:var(--peso-ink); text-decoration:none;
    background:color-mix(in srgb,var(--peso-surface) 84%,transparent);
    border:1px solid color-mix(in srgb,var(--peso-line) 84%,transparent);
    border-radius:999px; box-shadow:0 4px 14px -10px rgba(13,40,27,.28); backdrop-filter:blur(14px);
    font-size:.76rem; font-weight:750; transition:transform .18s ease,border-color .18s ease,color .18s ease;
}
body[data-peso-page="verify-email"] .verify-back:hover { transform:translateY(-1px); border-color:var(--peso-primary); color:var(--peso-primary); }
body[data-peso-page="verify-email"] .theme {
    right:24px; top:22px; width:40px; height:40px; color:var(--peso-ink);
    background:color-mix(in srgb,var(--peso-surface) 84%,transparent);
    border:1px solid color-mix(in srgb,var(--peso-line) 84%,transparent);
    border-radius:999px; box-shadow:0 4px 14px -10px rgba(13,40,27,.28); backdrop-filter:blur(14px);
}
body[data-peso-page="verify-email"] .verify-card {
    position:relative; overflow:hidden; width:min(100%,452px); padding:clamp(28px,5vw,40px);
    background:color-mix(in srgb,var(--peso-surface) 92%,transparent);
    border:1px solid color-mix(in srgb,var(--peso-line) 78%,transparent); border-radius:28px;
    box-shadow:0 30px 70px -32px rgba(7,45,29,.38),inset 0 1px rgba(255,255,255,.65); backdrop-filter:blur(20px);
    animation:peso-alive-login-in .45s cubic-bezier(.22,1,.36,1) both;
}
body[data-peso-page="verify-email"] .verify-card::before {
    content:""; position:absolute; top:0; left:48px; right:48px; height:3px; border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,var(--peso-primary),var(--peso-primary-glow,#1b9d61));
}
body[data-peso-page="verify-email"] .mark {
    width:62px; height:62px; border-radius:18px; color:var(--peso-primary); font-size:24px; font-weight:800;
    background:color-mix(in srgb,var(--peso-primary) 8%,var(--peso-surface));
    border:1px solid color-mix(in srgb,var(--peso-primary) 20%,var(--peso-line));
}
body[data-peso-page="verify-email"] .eyebrow {
    margin:20px 0 8px; color:var(--peso-primary); font-size:.66rem; font-weight:850;
    letter-spacing:.12em; text-transform:uppercase;
}
body[data-peso-page="verify-email"] h1 {
    font-family:"Space Grotesk","Plus Jakarta Sans",Inter,sans-serif;
    font-size:clamp(1.75rem,5vw,2.3rem); font-weight:800; letter-spacing:-.035em; line-height:1.12; color:var(--peso-ink);
}
body[data-peso-page="verify-email"] .lead { color:var(--peso-muted); font-size:.9rem; line-height:1.6; margin:11px 0 22px; }
body[data-peso-page="verify-email"] .message { border-radius:12px; font-size:.88rem; }
body[data-peso-page="verify-email"] .message.notice { background:color-mix(in srgb,var(--peso-primary) 11%,var(--peso-surface)); color:var(--peso-ink); }
body[data-peso-page="verify-email"] label { color:var(--peso-ink); font-weight:750; font-size:.82rem; }
body[data-peso-page="verify-email"] input {
    padding:15px; text-align:center; font-size:1.3rem; letter-spacing:.38em; color:var(--peso-ink);
    background:color-mix(in srgb,var(--peso-canvas) 65%,var(--peso-surface));
    border:1px solid var(--peso-line); border-radius:16px;
}
body[data-peso-page="verify-email"] input:focus { border-color:var(--peso-primary); box-shadow:var(--peso-focus,0 0 0 4px rgba(1,98,54,.16)); }
body[data-peso-page="verify-email"] button { border-radius:14px; font-weight:800; }
body[data-peso-page="verify-email"] .primary {
    min-height:52px; color:#fff; border:0;
    background:linear-gradient(135deg,var(--peso-primary),var(--peso-primary-glow,#1b9d61));
    box-shadow:0 16px 30px -16px rgba(1,98,54,.72); transition:transform .16s ease,filter .16s ease;
}
body[data-peso-page="verify-email"] .primary:hover { transform:translateY(-1px); filter:brightness(1.04); }
body[data-peso-page="verify-email"] .secondary { color:var(--peso-primary); background:transparent; border:1px solid var(--peso-line); }
body[data-peso-page="verify-email"] .secondary:hover { border-color:var(--peso-primary); }
body[data-peso-page="verify-email"] .foot { color:var(--peso-muted); font-size:.8rem; margin-top:18px; }
html[data-theme="dark"] body[data-peso-page="verify-email"] .verify-card { box-shadow:0 30px 70px -28px rgba(0,0,0,.66),inset 0 1px rgba(255,255,255,.04); }
@media (max-width:600px) {
    body[data-peso-page="verify-email"] .verify-back { left:14px; top:14px; }
    body[data-peso-page="verify-email"] .verify-back span { display:none; }
    body[data-peso-page="verify-email"] .theme { right:14px; top:14px; }
    body[data-peso-page="verify-email"] .verify-card { padding:26px 20px; border-radius:22px; }
}
@media (prefers-reduced-motion:reduce) { body[data-peso-page="verify-email"] .verify-card { animation:none; } }
