/* The account pages (account/) and the legal pages (legal/): a plain paper page with the brand on
   top and one column of cards, in the landing page's scheme (../styles.css). */
.page{min-height:100vh;display:flex;flex-direction:column}
.page-nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.page-nav nav{display:flex;gap:22px;font-size:14px;font-weight:500}
.page-nav nav a{color:#16201fb3}
.page-nav nav a:hover{color:var(--ink)}
.page-main{flex:1;width:min(560px,100% - 32px);margin:24px auto 64px}
.page-main.wide{width:min(980px,100% - 32px)}
.page-main h1{font-size:clamp(34px,6vw,48px);margin-bottom:10px}
.page-main .sub{color:var(--muted);margin-bottom:28px}

.panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 18px 40px -28px #16201f66}
.panel+.panel{margin-top:18px}
.panel h2{font-size:22px;letter-spacing:-.02em;margin-bottom:6px}
.panel .muted{color:var(--muted);font-size:15px}

.form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.form input[type=email],.form input[type=password]{font:inherit;font-size:16px;padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:#16201f08;color:var(--ink)}
.form input:focus{outline:none;border-color:var(--sun);background:#fff}
.form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;color:#3b4442}
.form .check input{margin-top:5px;accent-color:var(--sun)}
.form .check a,.links a,.legal a,.panel .muted a{text-decoration:underline;text-underline-offset:3px}
.form .btn,.panel .btn{width:100%;min-height:52px;padding:0 24px;border:0;font:inherit;font-weight:600;cursor:pointer}
.form .btn:disabled,.panel .btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:#16201f0a;box-shadow:none}
.btn.danger{background:transparent;color:#c8402f;border:1px solid #c8402f55}
.btn.danger:hover{background:#c8402f10;box-shadow:none}
.links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:16px;font-size:14px;color:#3b4442}

.msg{font-size:14px;min-height:1em}
.msg.error{color:#c8402f}
.msg.ok{color:#2f7d55}
.note{padding:12px 14px;border-radius:12px;background:#e8643c14;border:1px solid #e8643c40;font-size:14px;margin-bottom:18px}
.note.ok{background:#2f7d5514;border-color:#2f7d5540}
.hidden{display:none !important}

.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row b{font-weight:600}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#2f7d5520;color:#2f7d55}
.badge.warn{background:#a8660f20;color:#a8660f}
.actions-col{display:flex;flex-direction:column;gap:10px;margin-top:18px}

/* The plans: three cards side by side (one column on a phone); the yearly one stands out. */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:18px}
.plan{position:relative;display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.plan.best{border:2px solid var(--sun)}
.plan .tag{position:absolute;top:-12px;left:20px;padding:3px 10px;border-radius:999px;background:var(--sun);color:#fff;font-size:12px;font-weight:700}
.plan h3{font-size:20px;letter-spacing:-.02em}
.plan .price{font-size:32px;font-weight:700;letter-spacing:-.03em}
.plan .per{color:var(--muted);font-size:14px;margin-bottom:12px}
.plan ul{margin:0 0 18px;padding-left:18px;color:#3b4442;font-size:15px;flex:1}
.plan .btn{margin-top:auto}

/* Legal pages: readable prose. */
.legal h2{font-size:22px;margin:32px 0 8px}
.legal p,.legal li{color:#3b4442;margin-bottom:10px}
.legal .todo{background:#ffe9a8;padding:0 4px;border-radius:4px}

.page-foot{padding:24px 0 32px;color:var(--muted);font-size:13px;display:flex;gap:18px;flex-wrap:wrap}
.page-foot a{color:var(--muted)}
@media(max-width:560px){.page-nav nav{gap:14px}.panel{padding:22px}}
