.auth-trigger{border:0;cursor:pointer;font:inherit}
.account-link{background:var(--ink);color:#fff!important;padding:13px 20px;border-radius:999px}
.auth-overlay{position:fixed;inset:0;z-index:40;background:rgba(20,16,17,.68);backdrop-filter:blur(7px);display:none;align-items:center;justify-content:center;padding:24px}
.auth-overlay.open{display:flex}
.auth-dialog{width:min(920px,100%);max-height:min(760px,92vh);overflow:auto;background:var(--cream);border-radius:28px;box-shadow:0 34px 90px rgba(0,0,0,.32);position:relative}
.auth-close{position:absolute;right:18px;top:18px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:24px;cursor:pointer;z-index:2}
.auth-layout{display:grid;grid-template-columns:.85fr 1.15fr;min-height:570px}
.auth-intro{background:var(--wine);color:#fff;padding:58px 45px;border-radius:28px 0 0 28px;display:flex;flex-direction:column;justify-content:space-between}
.auth-intro img{width:160px;filter:brightness(0) invert(1)}
.auth-intro h2{font-size:48px;margin:42px 0 18px}.auth-intro p{color:#efd9df}
.auth-pane{padding:58px 50px;display:flex;flex-direction:column;justify-content:center}
.auth-tabs{display:flex;gap:8px;margin-bottom:28px}.auth-tab{border:1px solid var(--line);border-radius:999px;padding:10px 15px;background:#fff;font-weight:750;cursor:pointer}.auth-tab.active{background:var(--ink);color:#fff}
.auth-form{display:none}.auth-form.active{display:block}.auth-form h3{font-size:36px;margin-bottom:8px}.auth-help{color:var(--muted);font-size:14px;margin-bottom:24px}
.field{display:block;margin:15px 0}.field span{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input{width:100%;border:1px solid #d9cfca;background:#fff;border-radius:12px;padding:14px 15px;font:inherit;outline:none}.field input:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(203,88,119,.12)}
.field .password-control{position:relative;display:block;margin:0}.password-control input{padding-right:82px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--wine);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:8px}.password-toggle:focus-visible{outline:2px solid var(--rose);outline-offset:2px;border-radius:8px}
.auth-submit{width:100%;border:0;border-radius:999px;padding:15px 18px;background:var(--rose);color:#fff;font-weight:800;font:inherit;cursor:pointer;margin-top:8px}.auth-submit:disabled{opacity:.6;cursor:wait}
.auth-message{min-height:22px;margin-top:14px;font-size:13px;color:var(--wine)}
.member-pane{padding:52px}.member-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:35px}.member-head h2{font-size:44px}.member-logout{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}
.role-badge{display:inline-block;margin-left:8px;padding:5px 9px;border-radius:999px;background:#efe5e0;color:var(--wine);font-size:10px;letter-spacing:.08em;vertical-align:middle}.role-badge.admin{background:var(--wine);color:#fff}
.password-change{max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}.password-change h3{font-size:30px;margin:8px 0}.password-change>p{color:var(--muted);margin-bottom:20px}
.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.member-area{border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px}.member-area h3{font-size:29px}.member-area p{color:var(--muted);font-size:14px;margin:10px 0 20px}.member-progress{height:9px;background:#eee5e0;border-radius:20px;overflow:hidden}.member-progress span{display:block;height:100%;background:var(--rose)}.member-percent{font-size:12px;font-weight:800;margin-top:8px}.member-continue{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:12px 16px;font-weight:750;cursor:pointer;margin-top:20px}.member-note{grid-column:1/-1;background:var(--paper);border-radius:16px;padding:16px;color:var(--muted);font-size:13px}
.resume-toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(120px);z-index:60;background:var(--ink);color:#fff;padding:13px 18px;border-radius:999px;box-shadow:0 16px 40px rgba(0,0,0,.22);transition:.25s;max-width:calc(100% - 30px);text-align:center}.resume-toast.show{transform:translateX(-50%) translateY(0)}
@media(max-width:760px){.auth-layout{grid-template-columns:1fr}.auth-intro{border-radius:28px 28px 0 0;padding:36px 30px}.auth-intro h2{font-size:37px;margin:25px 0 12px}.auth-pane,.member-pane{padding:38px 26px}.member-grid{grid-template-columns:1fr}.member-note{grid-column:auto}.account-link{padding:10px 12px;font-size:11px}}

[hidden]{display:none!important}
