:root{
  --goal-bg-deep:#0d1024;
  --goal-bg-mid:#1a2142;
  --goal-card:#171f3fd6;
  --goal-card-strong:#1f2a52;
  --goal-border:rgba(169,192,255,0.24);
  --goal-title:#f0f3ff;
  --goal-text:#c6d1ef;
  --goal-muted:#8f9ec6;
  --goal-accent:#69d38f;
  --goal-accent-2:#4fb8ff;
  --goal-danger:#ff8da1;
  --goal-pill:#243261;
  --goal-shadow:0 18px 44px rgba(0,0,0,0.34);
}

body[data-theme="light"]{
  --goal-bg-deep:#eef3ff;
  --goal-bg-mid:#dde7ff;
  --goal-card:rgba(255,255,255,0.92);
  --goal-card-strong:#ffffff;
  --goal-border:rgba(88,113,176,0.2);
  --goal-title:#1b2d59;
  --goal-text:#30497f;
  --goal-muted:#6077a8;
  --goal-accent:#219a5a;
  --goal-accent-2:#2f8fdd;
  --goal-danger:#b93b52;
  --goal-pill:#eaf0ff;
  --goal-shadow:0 15px 33px rgba(47,78,133,0.18);
}

*{box-sizing:border-box}

body{
  margin:0;
  padding-top:4.5rem;
  font-family:"Manrope","Segoe UI",sans-serif;
  color:var(--goal-text);
  background:
    radial-gradient(circle at 8% 5%, rgba(105,211,143,0.2), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(79,184,255,0.2), transparent 28%),
    linear-gradient(150deg, var(--goal-bg-mid), var(--goal-bg-deep) 64%);
}

.app{width:min(1160px, calc(100% - 2rem));margin:0 auto;padding:1.2rem 0 1.9rem}

.intro-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}
.intro-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}

.pill-link,.theme-toggle,.privacy-toggle{
  text-decoration:none;
  border:1px solid var(--goal-border);
  background:var(--goal-pill);
  color:var(--goal-title);
  border-radius:999px;
  min-height:40px;
  padding:.55rem .85rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  font-weight:700;
  font-size:.88rem;
  cursor:pointer;
}

.auth-provider{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--goal-border);
  background:var(--goal-pill);
  color:var(--goal-muted);
  border-radius:999px;
  min-height:40px;
  padding:.5rem .75rem;
  font-weight:700;
  font-size:.79rem;
}

/* Plan gate */
.plan-gate{position:fixed;inset:0;background:rgba(5,12,22,0.72);display:flex;align-items:center;justify-content:center;z-index:999}
.plan-gate[hidden]{display:none}
.plan-gate-card{max-width:520px;width:92%;background:linear-gradient(180deg,#0e1a2a,rgba(7,12,20,0.98));border:1px solid rgba(120,180,255,0.2);border-radius:14px;padding:1.5rem;box-shadow:0 16px 40px rgba(0,0,0,0.45)}
.plan-gate-card h2{margin:0 0 0.5rem;color:var(--goal-title)}
.plan-gate-card p{margin:0 0 1rem;color:var(--goal-text)}
.plan-gate-actions{display:flex;gap:0.75rem;flex-wrap:wrap}

.theme-icon{color:var(--goal-accent-2)}

.eyebrow{margin:0;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--goal-accent);font-weight:800}
h1{margin:.35rem 0;color:var(--goal-title);font-family:"Sora","Manrope",sans-serif;font-size:1.72rem}
.page-subtitle{margin:0;color:var(--goal-muted);font-size:.95rem;max-width:72ch}

.metrics-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1rem 0}
.metric-card{background:linear-gradient(165deg,var(--goal-card-strong),var(--goal-card));border:1px solid var(--goal-border);border-radius:16px;padding:.9rem 1rem;box-shadow:var(--goal-shadow)}
.metric-label{margin:0;color:var(--goal-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.metric-value{margin:.25rem 0;color:var(--goal-title);font-size:1.2rem;font-family:"Sora","Manrope",sans-serif;font-weight:800}

.dashboard-grid{display:grid;gap:1rem}
.card{background:linear-gradient(165deg,var(--goal-card-strong),var(--goal-card));border:1px solid var(--goal-border);border-radius:18px;padding:1.05rem;box-shadow:var(--goal-shadow)}
.card h2,.card h3{margin:0 0 .8rem;color:var(--goal-title);font-family:"Sora","Manrope",sans-serif}

.field{display:flex;flex-direction:column;gap:.42rem;margin-bottom:.75rem}
.field label{font-size:.77rem;color:var(--goal-muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.field input,.field select,.field textarea{
  width:100%;min-height:46px;padding:.76rem .82rem;border-radius:11px;border:1px solid rgba(166,194,255,0.24);
  background:rgba(16,28,58,.62);color:var(--goal-title);font-size:.95rem
}
.field textarea{min-height:88px;resize:vertical}
body[data-theme="light"] .field input,body[data-theme="light"] .field select,body[data-theme="light"] .field textarea{background:#f8faff}

.actions-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.btn{border:0;border-radius:12px;padding:.78rem .9rem;font-weight:800;cursor:pointer}
.btn-primary{color:#082015;background:linear-gradient(132deg,var(--goal-accent),#8cebaf)}
.btn-soft{color:var(--goal-title);background:var(--goal-pill);border:1px solid var(--goal-border)}

.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 .8rem}
.filters button{border:1px solid rgba(166,194,255,0.26);background:var(--goal-pill);color:var(--goal-muted);border-radius:999px;padding:.45rem .72rem;font-size:.84rem;font-weight:700;cursor:pointer}
.filters button.is-active,.filters button:hover{color:#10254e;background:linear-gradient(120deg,#b8e6ff,#89ffbb);border-color:transparent}

.goals-list{display:grid;gap:.7rem}
.goal-item{border:1px solid rgba(175,203,255,0.18);border-radius:13px;padding:.78rem;background:rgba(12,24,54,.48)}
body[data-theme="light"] .goal-item{background:#f8faff}
.goal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.goal-title{margin:0;color:var(--goal-title);font-weight:800}
.goal-meta{margin:.2rem 0 0;color:var(--goal-muted);font-size:.84rem}
.goal-tags{display:flex;gap:.35rem;flex-wrap:wrap}
.tag{font-size:.72rem;font-weight:700;border-radius:999px;padding:.24rem .55rem;background:var(--goal-pill);color:var(--goal-muted);border:1px solid var(--goal-border)}

.progress{margin:.62rem 0 .2rem;height:10px;border-radius:999px;background:rgba(90,120,189,.24);overflow:hidden}
.progress > span{display:block;height:100%;background:linear-gradient(120deg,var(--goal-accent),var(--goal-accent-2));}
.goal-values{display:flex;justify-content:space-between;color:var(--goal-muted);font-size:.82rem;gap:.6rem}

.goal-controls{margin-top:.66rem;display:grid;grid-template-columns:1fr auto auto auto;gap:.45rem;align-items:center}
.goal-controls input{min-height:38px;padding:.42rem .62rem;border-radius:10px;border:1px solid rgba(166,194,255,0.24);background:rgba(16,28,58,.62);color:var(--goal-title)}
body[data-theme="light"] .goal-controls input{background:#fff}
.mini-btn{border:1px solid var(--goal-border);background:var(--goal-pill);color:var(--goal-title);border-radius:10px;padding:.43rem .62rem;font-weight:700;cursor:pointer;font-size:.8rem}
.mini-btn-danger{border-color:rgba(255,141,161,.45);color:var(--goal-danger)}

.plan-box{margin-top:.68rem;padding:.64rem;border-radius:11px;border:1px dashed var(--goal-border);background:rgba(14,26,56,.42)}
body[data-theme="light"] .plan-box{background:#f5f8ff}
.plan-box strong{color:var(--goal-title)}
.plan-box p{margin:.35rem 0 0;color:var(--goal-text);font-size:.86rem}
.plan-box ul{margin:.35rem 0 0;padding-left:1rem;color:var(--goal-muted);font-size:.82rem}

.empty{color:var(--goal-muted);padding:.6rem;border:1px dashed var(--goal-border);border-radius:10px}

#goal_msg{min-height:1.1rem;font-weight:700;font-size:.9rem;margin-top:.48rem}

.notify-box{margin:0 0 .85rem;padding:.68rem;border:1px solid var(--goal-border);border-radius:12px;background:rgba(14,26,56,.35)}
body[data-theme="light"] .notify-box{background:#f4f8ff}
.notify-box h4{margin:0 0 .55rem;color:var(--goal-title);font-size:.9rem;display:flex;align-items:center;gap:.45rem}
.badge{min-width:20px;height:20px;border-radius:999px;padding:0 .35rem;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;background:#ff5a76}
.notifications-list{display:grid;gap:.45rem;color:var(--goal-muted);font-size:.83rem}
.notification-item{border:1px solid rgba(176,206,255,.18);border-radius:10px;padding:.48rem .56rem;background:rgba(17,30,60,.45)}
body[data-theme="light"] .notification-item{background:#ffffff}
.notification-item.unread{border-color:rgba(105,211,143,.65)}
.notification-item strong{display:block;color:var(--goal-title);font-size:.82rem}
.notification-item p{margin:.24rem 0 .2rem}
.notification-item small{color:var(--goal-muted)}
.mini-btn-markall{justify-self:start}

@media (min-width:760px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.metrics-grid{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:340px 1fr;align-items:start}}
@media (max-width:700px){.intro-topbar{flex-direction:column}.app{width:min(1160px, calc(100% - 1.2rem))}.goal-controls{grid-template-columns:1fr 1fr}.goal-controls .mini-btn:first-of-type{grid-column:1 / -1}}
