/* === Restore Nice Theme (font, colors, buttons, badges) ===
   Loads AFTER app.css (non-destructive override).
*/

/* Font: Inter */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

:root{
  --bg:#0b1220;
  --bg-elev:#0f172a;
  --card:#0e1726;
  --card-border:#1f2b3a;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --accent:#60a5fa;       /* link accents */
  --primary:#22c55e;      /* green gradient end */
  --primary2:#10b981;     /* green gradient start */
  --danger:#ef4444;
  --radius:18px;
}

html,body{
  background:var(--bg) !important;
  color:var(--text) !important;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji","Segoe UI Emoji" !important;
  line-height:1.45;
}

.container{max-width:980px;margin:0 auto;padding:18px 16px !important}
.card{background:var(--bg-elev) !important;border:1px solid var(--card-border) !important;border-radius:var(--radius) !important;box-shadow:0 10px 28px rgba(0,0,0,.35) !important;padding:18px !important;margin-bottom:18px !important}
.row-sub,.note,.muted{color:var(--muted) !important}
a{color:var(--accent)}

/* Topbar tidy + logout aligned right */
.topbar{position:sticky;top:0;z-index:50;background:var(--bg) !important;border-bottom:1px solid var(--card-border) !important;color:var(--text) !important;display:flex;align-items:center;gap:12px;padding:10px 16px}
.topbar-title{font-weight:700;font-size:1.05rem}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}

/* Inputs */
label{display:block;margin:0 0 10px 0;font-size:.96rem}
label > input, label > select, label > textarea{
  display:block;width:100%;padding:11px 12px;border-radius:12px;background:#0b1220;color:var(--text);
  border:1px solid var(--card-border);outline:none
}
label > input:focus, label > select:focus, label > textarea:focus{border-color:#2b394d;box-shadow:0 0 0 3px rgba(56,189,248,.15)}

/* Buttons — rounded, gradient primary */
button{font:inherit;cursor:pointer}
.btn{
  background: linear-gradient(90deg, var(--primary2), var(--primary));
  color:#062e1b !important;
  font-weight:700; border:0; border-radius:999px; padding:10px 16px;
  box-shadow:0 8px 22px rgba(16,185,129,.35);
}
.btn:hover{filter:brightness(1.04)}
.btn:active{transform:translateY(1px)}
.btn-secondary{
  background:#0f172a !important; color:#e5e7eb !important; border:1px solid #223348 !important;
  box-shadow:none !important; border-radius:999px; padding:10px 14px
}
.btn-ghost{
  background:transparent !important; color:#cbd5e1 !important; border:1px dashed #334155 !important;
  box-shadow:none !important; border-radius:999px; padding:8px 12px
}
.btn-danger-subtle{
  background:#1c0f11 !important; color:#fecaca !important; border:1px solid #3f1a1d !important;
  border-radius:999px; padding:8px 12px
}
.btn-disabled,.btn[disabled]{opacity:.55 !important; cursor:not-allowed !important; filter:grayscale(.3)}

/* Child card action area: no cramming */
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--card-border);border-radius:14px;background:#0e1726;margin:8px 0}
.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}

/* Tips */
.tip{
  background:#0a1322;border:1px solid #23324a;border-left:4px solid var(--accent);
  color:#cbd5e1;border-radius:12px;padding:10px 12px;margin-top:10px;font-size:.92rem
}
.link{color:var(--accent);cursor:pointer}

/* Form grid so "Points Action" never crams into one line */
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:860px){
  .form-grid.cols-2{grid-template-columns:1fr 1fr}
  .form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
}

/* Badges & tags */
.tag{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;letter-spacing:.2px}
.tag-add,.tag-redeem{background:#065f46 !important; color:#d1fae5 !important; border:1px solid #0f766e !important;}
.tag-edit{background:#7c2d12 !important; color:#ffedd5 !important; border:1px solid #9a3412 !important;}
.tag-subtract{background:#7f1d1d !important; color:#fee2e2 !important; border:1px solid #991b1b !important;}
.badge-neutral{display:inline-block;padding:2px 8px;border-radius:999px;background:#0f172a;color:#cbd5e1;border:1px solid #223042;font-size:12px;font-weight:600}

/* Activity list */
.pill{display:inline-block;padding:4px 12px;border-radius:999px;background:#0b8d5a;color:#fff;font-weight:700}
.tx{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--card-border);border-radius:12px;background:#0e1726;margin:8px 0}
.tx-main{display:flex;flex-direction:column;gap:4px}
.tx-head{display:flex;align-items:center;gap:8px}
.tx-meta{font-size:12px;color:#94a3b8}
.tx-reason{font-size:14px}
.pill.success{ background: rgba(34,197,94,0.15); border-color: rgba(34,197,94,0.35); color:#bbf7d0; }
.pill.danger { background: rgba(239,68,68,0.15); border-color: rgba(239,68,68,0.35); color:#fecaca; }
.pill.warn   { background: rgba(245,158,11,0.15); border-color: rgba(245,158,11,0.35); color:#fde68a; }
.pill.neutral{ background: rgba(148,163,184,0.12); border-color: rgba(148,163,184,0.25); color:#cbd5e1; }