/* =====================================================================
   Psikologhane Studyo · app.css (uygulama katmanı)
   Krem + Navy + Mustard · Fraunces + Inter
   ===================================================================== */

:root {
  --navy:#152132;  --navy-deep:#0d1824;  --navy-soft:#3a4e63;
  --mustard:#d4a04a; --mustard-bright:#e8b24d; --mustard-dark:#a87a32;
  --terracotta:#b75434; --sage:#6b8567; --plum:#6b4557;
  --cream:#f7f2e8; --cream-dark:#ece4d3; --cream-warm:#faf6ec;
  --ink:#1a1a1a; --muted:#6b6b6b; --muted-light:#a0a0a0;
  --red:#b0522c; --green:#5b7d5b;
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:'Inter',system-ui,sans-serif;
  background:var(--cream); color:var(--ink);
  line-height:1.65; font-size:16px; -webkit-font-smoothing:antialiased;
  min-height:100vh; display:flex; flex-direction:column;
}
a { color:inherit; text-decoration:none; }
.serif { font-family:'Fraunces',Georgia,serif; }

.container { max-width:1100px; margin:0 auto; padding:0 32px; width:100%; }

/* ---------------- Header ---------------- */
.app-header { position:sticky; top:0; z-index:40; background:rgba(247,242,232,0.95); backdrop-filter:blur(12px); border-bottom:1px solid var(--cream-dark); padding:16px 0; }
.app-header-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.brand { display:flex; align-items:baseline; gap:6px; }
.brand-logo { font-family:'Fraunces',serif; font-size:20px; font-weight:600; color:var(--navy); letter-spacing:-0.02em; }
.brand-tag { font-family:'Fraunces',serif; font-style:italic; font-size:14px; color:var(--mustard-dark); }
.nav-links { display:flex; gap:24px; font-size:13px; color:var(--navy-soft); font-weight:500; }
.nav-links a { transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--navy); }
.nav-cta { display:flex; gap:8px; align-items:center; }

/* ---------------- Buttons ---------------- */
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; font-size:13px; font-weight:600; border-radius:2px; letter-spacing:0.02em; transition:all .2s; border:none; cursor:pointer; font-family:inherit; text-decoration:none; }
.btn-navy { background:var(--navy); color:var(--cream); }
.btn-navy:hover { background:var(--navy-deep); transform:translateY(-1px); }
.btn-mustard { background:var(--mustard); color:var(--navy); }
.btn-mustard:hover { background:var(--mustard-bright); transform:translateY(-1px); }
.btn-ghost { background:transparent; color:var(--navy); border:1px solid var(--cream-dark); }
.btn-ghost:hover { border-color:var(--mustard); }
.btn-lg { padding:14px 28px; font-size:14px; }
.btn-xl { padding:18px 36px; font-size:15px; }
.btn-block { width:100%; justify-content:center; }
.btn[disabled] { opacity:0.6; cursor:not-allowed; transform:none; }

/* ---------------- Main ---------------- */
main.app-main { flex:1; padding:48px 0 72px; }

/* ---------------- Hero / intro ---------------- */
.page-head { margin-bottom:40px; }
.page-eyebrow { font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--mustard-dark); font-weight:700; margin-bottom:12px; }
.page-head h1 { font-family:'Fraunces',serif; font-size:44px; font-weight:500; color:var(--navy); letter-spacing:-0.025em; line-height:1.1; margin-bottom:14px; }
.page-head h1 em { font-style:italic; color:var(--mustard-dark); }
.page-head .intro { font-family:'Fraunces',serif; font-style:italic; font-size:18px; color:var(--navy-soft); max-width:560px; }

/* ---------------- Card ---------------- */
.card { background:white; border:1px solid var(--cream-dark); border-radius:3px; padding:28px; }
.card-lg { padding:36px; }

/* ---------------- Form ---------------- */
.form-stack { display:flex; flex-direction:column; gap:18px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:var(--navy); margin-bottom:6px; letter-spacing:0.02em; }
.form-group label .hint { color:var(--muted); font-weight:400; font-size:12px; margin-left:6px; }
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="password"],
.form-group input[type="tel"],
.form-group input[type="url"],
.form-group select,
.form-group textarea {
  width:100%; padding:12px 14px; font-size:14px; font-family:inherit;
  background:var(--cream-warm); border:1px solid var(--cream-dark); border-radius:2px;
  color:var(--ink); transition:border-color .2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--mustard); }
.form-group .error { color:var(--red); font-size:12px; margin-top:4px; }
.form-actions { margin-top:8px; }

/* ---------------- Auth layout ---------------- */
.auth-wrap { max-width:460px; margin:0 auto; }
.auth-card { background:white; border:1px solid var(--cream-dark); border-radius:3px; padding:36px 32px; }
.auth-card h1 { font-family:'Fraunces',serif; font-size:30px; font-weight:500; color:var(--navy); letter-spacing:-0.02em; margin-bottom:8px; }
.auth-card .sub { font-family:'Fraunces',serif; font-style:italic; font-size:15px; color:var(--muted); margin-bottom:28px; }
.auth-alt { text-align:center; margin-top:20px; font-size:13px; color:var(--muted); }
.auth-alt a { color:var(--mustard-dark); font-weight:600; }

/* ---------------- Alert ---------------- */
.alert { padding:12px 16px; border-radius:2px; font-size:14px; margin-bottom:20px; border-left:3px solid var(--mustard); background:var(--cream-warm); }
.alert.error { border-color:var(--red); color:var(--red); background:rgba(176,82,44,0.08); }
.alert.success { border-color:var(--green); color:var(--green); background:rgba(91,125,91,0.08); }
.alert.info { border-color:var(--navy-soft); color:var(--navy); }

/* ---------------- Plans ---------------- */
.plans-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:12px; }
.plan-card { background:white; border:1px solid var(--cream-dark); border-radius:3px; padding:36px 30px; position:relative; display:flex; flex-direction:column; transition:transform .2s, border-color .2s, box-shadow .2s; }
.plan-card:hover { transform:translateY(-3px); border-color:var(--mustard); box-shadow:0 14px 36px rgba(21,33,50,0.08); }
.plan-card.popular { border-top:3px solid var(--mustard); }
.plan-card .badge { position:absolute; top:-12px; right:24px; background:var(--mustard); color:var(--navy); font-size:10px; letter-spacing:0.18em; text-transform:uppercase; font-weight:700; padding:4px 10px; border-radius:2px; }
.plan-card h3 { font-family:'Fraunces',serif; font-size:28px; font-weight:500; color:var(--navy); margin-bottom:6px; letter-spacing:-0.02em; }
.plan-card .plan-tagline { font-family:'Fraunces',serif; font-style:italic; font-size:14px; color:var(--muted); margin-bottom:24px; }
.plan-card .price { margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--cream-dark); }
.plan-card .price .amount { font-family:'Fraunces',serif; font-size:42px; font-weight:500; color:var(--navy); letter-spacing:-0.02em; }
.plan-card .price .period { font-size:13px; color:var(--muted); margin-left:6px; }
.plan-card ul { list-style:none; margin-bottom:28px; flex:1; }
.plan-card ul li { padding:6px 0; font-size:14px; color:var(--navy-soft); display:flex; gap:8px; align-items:flex-start; }
.plan-card ul li::before { content:'✓'; color:var(--mustard); font-weight:700; flex-shrink:0; }

/* ---------------- Dashboard ---------------- */
.dash-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:32px; }
.dash-tile { background:white; border:1px solid var(--cream-dark); border-radius:3px; padding:24px; }
.dash-tile-label { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--mustard-dark); font-weight:700; margin-bottom:10px; }
.dash-tile-value { font-family:'Fraunces',serif; font-size:32px; font-weight:500; color:var(--navy); letter-spacing:-0.02em; }
.dash-tile-hint { font-size:12px; color:var(--muted); margin-top:6px; }

.empty-state { background:white; border:1px dashed var(--cream-dark); border-radius:3px; padding:48px 32px; text-align:center; }
.empty-state h3 { font-family:'Fraunces',serif; font-size:24px; font-weight:500; color:var(--navy); margin-bottom:10px; letter-spacing:-0.01em; }
.empty-state p { color:var(--muted); margin-bottom:24px; max-width:420px; margin-left:auto; margin-right:auto; }

/* ---------------- Input prefix ---------------- */
.input-prefix { display:flex; align-items:stretch; border:1px solid var(--cream-dark); border-radius:2px; background:var(--cream-warm); }
.input-prefix span { display:flex; align-items:center; padding:0 12px; color:var(--muted); background:var(--cream-dark); font-weight:600; font-size:14px; border-right:1px solid var(--cream-dark); }
.input-prefix input { flex:1; border:0; background:transparent; padding:12px 14px; font-size:14px; outline:none; font-family:inherit; }

/* ---------------- Wizard ---------------- */
.wizard-form { max-width:720px; margin:0 auto; }
.wizard-progress { display:flex; gap:6px; margin-bottom:36px; }
.wizard-progress .progress-dot { flex:1; height:5px; border-radius:3px; background:var(--cream-dark); cursor:pointer; transition:background .2s; }
.wizard-progress .progress-dot.done { background:var(--mustard); }
.wizard-progress .progress-dot.active { background:var(--navy); }

.wizard-step { display:none; animation:wzfade .25s ease; }
.wizard-step.active { display:block; }
@keyframes wzfade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.wizard-step .step-eyebrow { font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--mustard-dark); font-weight:700; margin-bottom:14px; }
.wizard-step h2 { font-family:'Fraunces',serif; font-size:32px; font-weight:500; color:var(--navy); letter-spacing:-0.02em; line-height:1.15; margin-bottom:8px; }
.wizard-step h2 em { font-style:italic; color:var(--mustard-dark); }
.wizard-step .step-intro { font-family:'Fraunces',serif; font-style:italic; font-size:16px; color:var(--muted); margin-bottom:32px; }

.wizard-nav { display:flex; justify-content:space-between; align-items:center; margin-top:40px; padding-top:24px; border-top:1px solid var(--cream-dark); }
.wizard-nav .wizard-step-info { font-size:12px; color:var(--muted); letter-spacing:0.04em; font-family:'Fraunces',serif; font-style:italic; }
.wizard-nav .wizard-step-info span { color:var(--navy); font-style:normal; font-weight:600; }

/* Logo upload */
.logo-upload { display:flex; gap:24px; align-items:center; padding:24px; background:white; border:1px solid var(--cream-dark); border-radius:3px; flex-wrap:wrap; }
.logo-preview { width:140px; height:140px; border:1px dashed var(--cream-dark); border-radius:3px; display:flex; align-items:center; justify-content:center; background:var(--cream-warm); flex-shrink:0; overflow:hidden; }
.logo-preview img { max-width:100%; max-height:100%; object-fit:contain; }
.logo-placeholder { font-size:12px; color:var(--muted-light); font-style:italic; font-family:'Fraunces',serif; }

/* Palette */
.palette-presets { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-bottom:28px; }
.palette-preset { display:flex; align-items:center; gap:10px; padding:12px 14px; background:white; border:1px solid var(--cream-dark); border-radius:3px; cursor:pointer; transition:all .2s; font-family:inherit; }
.palette-preset:hover { border-color:var(--mustard); }
.palette-preset.selected { border-color:var(--navy); background:var(--cream-warm); }
.palette-preset > span { width:18px; height:18px; border-radius:50%; border:1px solid rgba(0,0,0,0.05); flex-shrink:0; }
.palette-preset em { font-family:'Fraunces',serif; font-style:italic; font-size:13px; color:var(--navy); margin-left:auto; }

.color-pickers { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.color-pick { background:white; border:1px solid var(--cream-dark); border-radius:3px; padding:18px; text-align:center; }
.color-pick label { display:block; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--mustard-dark); font-weight:700; margin-bottom:12px; }
.color-pick input[type="color"] { width:80px; height:80px; border:none; border-radius:50%; cursor:pointer; padding:0; background:none; }
.color-pick input[type="color"]::-webkit-color-swatch-wrapper { padding:0; border-radius:50%; }
.color-pick input[type="color"]::-webkit-color-swatch { border:2px solid white; border-radius:50%; box-shadow:0 0 0 1px var(--cream-dark); }

/* Mood */
.mood-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px; }
.mood-card { display:block; background:white; border:1px solid var(--cream-dark); border-radius:3px; padding:18px; cursor:pointer; transition:all .2s; position:relative; }
.mood-card:hover { border-color:var(--mustard); transform:translateY(-2px); }
.mood-card.selected { border-color:var(--navy); background:var(--cream-warm); }
.mood-card.selected::after { content:'✓'; position:absolute; top:10px; right:12px; color:var(--mustard-dark); font-weight:700; }
.mood-card input { position:absolute; opacity:0; pointer-events:none; }
.mood-card-name { font-family:'Fraunces',serif; font-size:18px; font-weight:500; color:var(--navy); letter-spacing:-0.01em; margin-bottom:4px; }
.mood-card-desc { font-size:12px; color:var(--muted); line-height:1.5; }

/* Font */
.font-section { margin-bottom:28px; }
.font-section h4 { font-family:'Fraunces',serif; font-size:14px; font-weight:600; color:var(--navy-soft); letter-spacing:0.02em; margin-bottom:12px; text-transform:uppercase; letter-spacing:0.16em; font-size:11px; }
.font-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.font-card { display:flex; flex-direction:column; gap:8px; padding:16px; background:white; border:1px solid var(--cream-dark); border-radius:3px; cursor:pointer; transition:all .2s; }
.font-card:hover { border-color:var(--mustard); }
.font-card.selected { border-color:var(--navy); background:var(--cream-warm); }
.font-card input { position:absolute; opacity:0; pointer-events:none; }
.font-card .font-name { font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--mustard-dark); font-weight:700; }
.font-card .font-sample { font-size:18px; color:var(--navy); }

/* Liked accounts */
.liked-list { display:flex; flex-direction:column; gap:8px; }
.liked-item { display:flex; align-items:stretch; border:1px solid var(--cream-dark); border-radius:2px; background:var(--cream-warm); }
.liked-item .prefix { display:flex; align-items:center; padding:0 12px; color:var(--muted); background:var(--cream-dark); font-weight:600; font-size:14px; }
.liked-item input { flex:1; border:0; background:transparent; padding:10px 12px; font-size:14px; outline:none; font-family:inherit; }
.liked-item .liked-remove { background:transparent; border:0; padding:0 14px; color:var(--muted); cursor:pointer; font-size:20px; line-height:1; transition:color .2s; }
.liked-item .liked-remove:hover { color:var(--red); }

/* ---------------- Button sizes ---------------- */
.btn-sm { padding:8px 14px; font-size:12px; }
.btn-link { background:none; border:0; color:var(--mustard-dark); font-size:12px; font-weight:600; cursor:pointer; padding:6px 0; font-family:inherit; }
.btn-link:hover { color:var(--terracotta); }

/* ---------------- IG-tarzı feed ---------------- */
.ig-profile-header { display:flex; gap:32px; align-items:center; padding:8px 0 32px; border-bottom:1px solid var(--cream-dark); margin-bottom:24px; flex-wrap:wrap; }
.ig-avatar { width:120px; height:120px; border-radius:50%; background:var(--navy); color:var(--mustard); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:48px; font-weight:500; overflow:hidden; flex-shrink:0; border:4px solid #fff; box-shadow:0 0 0 2px rgba(201,154,92,.55), 0 12px 30px -10px rgba(30,22,12,.32); }
.ig-avatar img { width:100%; height:100%; object-fit:cover; }
.ig-meta { flex:1; min-width:200px; }
.ig-handle { font-family:'Fraunces',serif; font-size:24px; font-weight:500; color:var(--navy); margin-bottom:2px; }
.ig-name { font-family:'Fraunces',serif; font-style:italic; font-size:16px; color:var(--navy-soft); margin-bottom:6px; }
.ig-bio { font-size:13px; color:var(--mustard-dark); font-weight:600; letter-spacing:0.04em; margin-bottom:8px; }
.ig-bio-short { font-size:14px; color:var(--navy-soft); line-height:1.5; max-width:480px; margin-bottom:14px; }
.ig-stats { display:flex; gap:24px; font-size:13px; color:var(--muted); }
.ig-stats strong { color:var(--navy); font-family:'Fraunces',serif; font-size:18px; font-weight:500; margin-right:4px; }

.feed-tabs { display:flex; gap:6px; align-items:center; padding-bottom:14px; border-bottom:1px solid var(--cream-dark); margin-bottom:24px; flex-wrap:wrap; }
.feed-tab { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; font-size:12px; color:var(--navy-soft); border-radius:2px; transition:all .2s; letter-spacing:0.04em; font-weight:600; text-transform:uppercase; }
.feed-tab:hover { background:var(--cream-warm); color:var(--navy); }
.feed-tab.active { background:var(--navy); color:var(--cream); }
.feed-tab span { background:rgba(255,255,255,0.15); padding:2px 7px; border-radius:8px; font-size:11px; }
.feed-tab:not(.active) span { background:var(--cream-dark); color:var(--navy-soft); }

.ig-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; }
.ig-cell { display:block; aspect-ratio:1/1; background:var(--cream-warm); position:relative; overflow:hidden; }
.ig-cell img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.ig-cell:hover img { transform:scale(1.04); }
.ig-cell-empty { background:var(--cream-warm); border:1px dashed var(--cream-dark); }
.ig-cell-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; color:var(--muted-light); font-family:'Fraunces',serif; font-style:italic; gap:6px; }
.ig-cell-placeholder .ig-date { font-size:24px; color:var(--mustard-dark); font-style:normal; font-weight:500; }
.ig-cell-placeholder .ig-status { font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); }
.ig-cell-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(13,24,36,0.85), transparent 50%); color:var(--cream); padding:12px; display:flex; flex-direction:column; justify-content:flex-end; opacity:0; transition:opacity .2s; }
.ig-cell:hover .ig-cell-overlay { opacity:1; }
.ig-cell-date { font-size:11px; letter-spacing:0.06em; color:var(--mustard); font-weight:600; margin-bottom:4px; }
.ig-cell-cap { font-size:12px; line-height:1.4; opacity:0.95; }

/* ---------------- Post detail ---------------- */
.post-detail { max-width:1000px; margin:0 auto; }
.post-back { display:inline-block; margin-bottom:18px; font-size:13px; color:var(--navy-soft); }
.post-back:hover { color:var(--mustard-dark); }
.post-card { display:grid; grid-template-columns:minmax(300px, 460px) 1fr; gap:32px; background:white; border:1px solid var(--cream-dark); border-radius:3px; padding:24px; }
.post-image-col img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:2px; display:block; }
.post-image-failed, .post-image-placeholder { aspect-ratio:1/1; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--cream-warm); border:1px dashed var(--cream-dark); padding:20px; text-align:center; gap:6px; }
.post-image-failed { color:var(--red); }
.post-image-failed small { color:var(--muted); font-size:11px; word-break:break-word; max-width:100%; }
.post-image-placeholder { color:var(--muted); font-style:italic; font-family:'Fraunces',serif; }
.post-actions-row { display:flex; gap:8px; margin-top:12px; }
.post-meta-line { font-size:13px; color:var(--navy-soft); margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--cream-dark); }
.post-meta-line strong { color:var(--navy); font-family:'Fraunces',serif; }
.status-pill { display:inline-block; padding:2px 8px; border-radius:2px; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; font-weight:700; margin-left:4px; }
.status-pill.status-scheduled { background:var(--mustard); color:var(--navy); }
.status-pill.status-published { background:var(--sage); color:white; }
.status-pill.status-draft     { background:var(--cream-dark); color:var(--navy-soft); }
.status-pill.status-skipped   { background:var(--terracotta); color:white; }
.post-actions-bottom { display:flex; gap:10px; margin-top:18px; padding-top:18px; border-top:1px solid var(--cream-dark); align-items:center; }

@media (max-width:820px) {
  .post-card { grid-template-columns:1fr; }
  .ig-grid { gap:3px; }
}

/* ---------------- Sample grid (örnek görseller) ---------------- */
.sample-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:40px; }
.sample-card { background:white; border:1px solid var(--cream-dark); border-radius:3px; overflow:hidden; transition:all .2s; }
.sample-card:hover { transform:translateY(-2px); border-color:var(--mustard); box-shadow:0 14px 36px rgba(21,33,50,0.08); }
.sample-image { display:block; aspect-ratio:1/1; background:var(--cream-warm); overflow:hidden; position:relative; }
.sample-image img { width:100%; height:100%; object-fit:cover; display:block; }
.sample-pending, .sample-failed { display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--muted); font-family:'Fraunces',serif; font-style:italic; font-size:14px; gap:6px; padding:20px; text-align:center; }
.sample-failed { color:var(--red); font-style:normal; }
.sample-failed small { font-size:11px; color:var(--muted); font-family:inherit; max-width:100%; word-break:break-word; }
.sample-actions { display:flex; gap:0; border-top:1px solid var(--cream-dark); }
.sample-btn { flex:1; padding:12px 8px; background:white; border:0; border-right:1px solid var(--cream-dark); cursor:pointer; font-family:inherit; font-size:12px; font-weight:600; color:var(--navy-soft); transition:all .15s; letter-spacing:0.02em; }
.sample-btn:last-child { border-right:0; }
.sample-btn:hover:not(:disabled) { background:var(--cream-warm); color:var(--navy); }
.sample-btn.active.like-btn       { background:var(--mustard); color:var(--navy); }
.sample-btn.active.dislike-btn    { background:var(--red); color:white; }
.sample-btn.active:not(.like-btn):not(.dislike-btn) { background:var(--navy); color:var(--cream); }
.sample-btn:disabled { opacity:0.5; cursor:wait; }

.sample-footer { display:flex; justify-content:space-between; align-items:center; gap:14px; padding-top:24px; border-top:1px solid var(--cream-dark); flex-wrap:wrap; }

@media (max-width:820px) {
  .sample-grid { grid-template-columns:1fr; }
}

/* ---------------- Footer ---------------- */
.app-footer { background:var(--navy-deep); color:rgba(247,242,232,0.7); padding:32px 0; margin-top:auto; font-size:13px; }
.app-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.app-footer em { font-family:'Fraunces',serif; color:var(--mustard); }
.app-footer a { color:rgba(247,242,232,0.6); transition:color .2s; }
.app-footer a:hover { color:var(--mustard); }

/* ---------------- Responsive ---------------- */
@media (max-width:820px) {
  .nav-links { display:none; }
  .plans-grid, .dash-grid { grid-template-columns:1fr; }
  .page-head h1 { font-size:32px; }
  main.app-main { padding:32px 0 56px; }
  .container { padding:0 20px; }
}
