/* Iron Circle HQ — members portal. Same design system as the public site. */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:wght@400;500;600&family=Barlow+Condensed:wght@400;500;600&display=swap');

:root {
  --black: #0a0a0a; --iron: #1a1a1a; --steel: #2a2a2a; --ash: #3d3d3d;
  --smoke: #6b6b6b; --silver: #a8a8a8; --white: #f0ede8;
  --gold: #c9a84c; --gold-dim: #7a6330; --red: #8b1a1a; --amber: #d4800a;
  --green: #4a7c4a;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--black); color: var(--white); font-family: 'Barlow', sans-serif; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

.bebas { font-family: 'Bebas Neue', sans-serif; letter-spacing: .08em; }
.label { font-family: 'Barlow Condensed', sans-serif; letter-spacing: .25em; text-transform: uppercase; font-size: .8rem; color: var(--gold); }
.muted { color: var(--smoke); }

/* Login */
.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(ellipse at 50% 35%, #1c1a14 0%, var(--black) 65%); }
.login-box { width: 380px; max-width: 92vw; background: var(--iron); border: 1px solid var(--steel); padding: 2.6rem; }
.login-box h1 { font-family: 'Bebas Neue', sans-serif; font-size: 2.2rem; letter-spacing: .15em; text-align: center; }
.login-box h1 span { color: var(--gold); }
.login-sub { text-align: center; color: var(--smoke); font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: .2em; text-transform: uppercase; font-size: .8rem; margin: .4rem 0 2rem; }
.login-box input { width: 100%; background: var(--black); border: 1px solid var(--steel); color: var(--white);
  padding: .85rem 1rem; font-size: 1rem; margin-bottom: 1rem; font-family: 'Barlow', sans-serif; }
.login-box input:focus { outline: none; border-color: var(--gold); }
.login-box button { width: 100%; background: var(--gold); color: var(--black); border: 1px solid var(--gold);
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .2em; text-transform: uppercase; font-weight: 600;
  font-size: 1rem; padding: .9rem; transition: all .2s; }
.login-box button:hover { background: transparent; color: var(--gold); }
.login-err { color: #c96a5a; font-size: .85rem; text-align: center; margin-top: .8rem; min-height: 1.2em; }

/* App shell */
.shell { display: flex; min-height: 100vh; }
.sidebar { width: 220px; background: var(--iron); border-right: 1px solid var(--steel); padding: 1.8rem 0;
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.sidebar .brand { font-family: 'Bebas Neue', sans-serif; font-size: 1.3rem; letter-spacing: .2em; padding: 0 1.6rem 1.6rem; }
.sidebar .brand span { color: var(--gold); }
.sidebar nav { display: flex; flex-direction: column; flex: 1; }
.sidebar nav button { background: none; border: none; border-left: 2px solid transparent; color: var(--silver);
  text-align: left; padding: .85rem 1.6rem; font-family: 'Barlow Condensed', sans-serif; letter-spacing: .18em;
  text-transform: uppercase; font-size: .9rem; }
.sidebar nav button:hover { color: var(--white); }
.sidebar nav button.active { color: var(--gold); border-left-color: var(--gold); background: rgba(201,168,76,.05); }
.sidebar .me { padding: 1.2rem 1.6rem; border-top: 1px solid var(--steel); font-size: .9rem; }
.sidebar .me .name { font-weight: 600; }
.sidebar .me .role { color: var(--gold-dim); font-family: 'Barlow Condensed', sans-serif; letter-spacing: .15em;
  text-transform: uppercase; font-size: .75rem; }
.sidebar .me button { background: none; border: none; color: var(--smoke); font-size: .8rem; padding: 0; margin-top: .5rem; }
.sidebar .me button:hover { color: var(--red); }

main { flex: 1; padding: 2.4rem 2.8rem; max-width: 1080px; }
.view { display: none; }
.view.active { display: block; }
.view-title { font-family: 'Bebas Neue', sans-serif; font-size: 2.4rem; letter-spacing: .08em; margin-bottom: .2rem; }
.view-sub { color: var(--smoke); margin-bottom: 2rem; }

/* Cards & grids */
.card { background: var(--iron); border: 1px solid var(--steel); padding: 1.6rem; }
.grid { display: grid; gap: 1.2rem; }
.g2 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.g3 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.stat { text-align: center; }
.stat .num { font-family: 'Bebas Neue', sans-serif; font-size: 2.6rem; color: var(--gold); }
.stat .cap { font-family: 'Barlow Condensed', sans-serif; letter-spacing: .2em; text-transform: uppercase;
  font-size: .78rem; color: var(--smoke); }

/* Habits */
.habit { display: flex; align-items: center; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--steel); }
.habit:last-child { border-bottom: none; }
.habit .pillar-tag { font-family: 'Barlow Condensed', sans-serif; font-size: .72rem; letter-spacing: .15em;
  text-transform: uppercase; color: var(--gold-dim); width: 66px; flex-shrink: 0; }
.habit .h-name { flex: 1; }
.habit .h-streak { color: var(--amber); font-size: .85rem; white-space: nowrap; }
.habit button { width: 30px; height: 30px; border: 1px solid var(--ash); background: none; color: transparent; font-size: 1rem; flex-shrink: 0; }
.habit button.done { background: var(--gold); border-color: var(--gold); color: var(--black); }
.habit button:hover { border-color: var(--gold); }

/* Progress bars */
.bar { height: 8px; background: var(--steel); margin-top: .4rem; }
.bar i { display: block; height: 100%; background: var(--gold); }
.pillar-progress { margin-bottom: 1rem; }
.pillar-progress .row { display: flex; justify-content: space-between; font-size: .9rem; }
.pillar-progress .pct { color: var(--gold); }

/* Feed */
.composer { margin-bottom: 1.6rem; }
.composer textarea { width: 100%; background: var(--iron); border: 1px solid var(--steel); color: var(--white);
  font-family: 'Barlow', sans-serif; font-size: .95rem; padding: .9rem 1rem; min-height: 70px; resize: vertical; }
.composer textarea:focus { outline: none; border-color: var(--gold); }
.composer .row { display: flex; gap: .6rem; margin-top: .6rem; align-items: center; }
.composer select { background: var(--iron); border: 1px solid var(--steel); color: var(--silver); padding: .5rem .8rem;
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .1em; text-transform: uppercase; font-size: .82rem; }
.composer .post-btn { margin-left: auto; background: var(--gold); border: 1px solid var(--gold); color: var(--black);
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .18em; text-transform: uppercase; font-weight: 600;
  padding: .55rem 1.6rem; }
.post { border: 1px solid var(--steel); background: var(--iron); padding: 1.3rem 1.5rem; margin-bottom: 1rem; }
.post.prayer { border-left: 2px solid var(--gold); }
.post.scripture { border-left: 2px solid var(--gold-dim); }
.post.gym { border-left: 2px solid var(--amber); }
.post-head { display: flex; align-items: baseline; gap: .7rem; margin-bottom: .5rem; }
.post-head .who { font-weight: 600; }
.post-head .kind { font-family: 'Barlow Condensed', sans-serif; font-size: .72rem; letter-spacing: .2em;
  text-transform: uppercase; color: var(--gold-dim); }
.post-head .when { margin-left: auto; color: var(--smoke); font-size: .8rem; }
.post-body { color: var(--silver); white-space: pre-wrap; }
.post-actions { margin-top: .8rem; }
.post-actions button { background: none; border: 1px solid var(--ash); color: var(--silver);
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .15em; text-transform: uppercase; font-size: .78rem;
  padding: .35rem 1rem; }
.post-actions button.prayed { border-color: var(--gold); color: var(--gold); }

/* Scoreboard */
table { width: 100%; border-collapse: collapse; }
th { font-family: 'Barlow Condensed', sans-serif; letter-spacing: .18em; text-transform: uppercase; font-size: .78rem;
  color: var(--smoke); text-align: left; padding: .6rem .8rem; border-bottom: 1px solid var(--ash); }
td { padding: .75rem .8rem; border-bottom: 1px solid var(--steel); font-size: .95rem; }
tr.me-row td { background: rgba(201,168,76,.06); }
td .rank { font-family: 'Bebas Neue', sans-serif; color: var(--gold-dim); font-size: 1.2rem; }
.group-goal { margin-top: 1.6rem; }

/* Applications */
.app-card { border: 1px solid var(--steel); background: var(--iron); padding: 1.4rem 1.6rem; margin-bottom: 1rem; }
.app-card .head { display: flex; align-items: baseline; gap: .8rem; }
.app-card .head .when { margin-left: auto; color: var(--smoke); font-size: .8rem; }
.app-card dl { display: grid; grid-template-columns: 160px 1fr; gap: .3rem .8rem; margin: .9rem 0; font-size: .92rem; }
.app-card dt { color: var(--smoke); font-family: 'Barlow Condensed', sans-serif; letter-spacing: .1em; text-transform: uppercase; font-size: .8rem; }
.app-card dd { color: var(--silver); }
.app-card .actions { display: flex; gap: .6rem; }
.app-card .actions button { font-family: 'Barlow Condensed', sans-serif; letter-spacing: .15em; text-transform: uppercase;
  font-size: .8rem; padding: .45rem 1.2rem; background: none; border: 1px solid var(--ash); color: var(--silver); }
.app-card .actions .approve { border-color: var(--green); color: #7aa87a; }
.app-card .actions .reject { border-color: var(--red); color: #c96a5a; }
.status-pill { font-family: 'Barlow Condensed', sans-serif; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
  padding: .2rem .7rem; border: 1px solid var(--ash); color: var(--smoke); }
.status-pill.approved { border-color: var(--green); color: #7aa87a; }
.status-pill.rejected { border-color: var(--red); color: #c96a5a; }
.status-pill.new { border-color: var(--gold); color: var(--gold); }

.status-pill.archived { border-color: var(--ash); color: var(--silver); }
.score-chip { font-family: 'Barlow Condensed', sans-serif; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; padding: .2rem .7rem; border: 1px solid; }
.score-chip.strong { border-color: var(--green); color: #7aa87a; }
.score-chip.standard { border-color: var(--ash); color: var(--silver); }
.score-chip.weak { border-color: var(--amber); color: var(--amber); }

/* Application filter tabs */
.filter-tabs { display: flex; gap: .5rem; margin-bottom: 1.2rem; flex-wrap: wrap; }
.filter-tabs button { background: none; border: 1px solid var(--ash); color: var(--silver);
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .18em; text-transform: uppercase;
  font-size: .8rem; padding: .45rem 1.2rem; }
.filter-tabs button.active { border-color: var(--gold); color: var(--gold); background: rgba(201,168,76,.06); }

/* Goal editor */
.goal-row { display: flex; gap: .6rem; align-items: center; padding: .5rem 0; border-bottom: 1px solid var(--steel); }
.goal-row:last-child { border-bottom: none; }
.goal-row input, .goal-row select { background: var(--black); border: 1px solid var(--steel); color: var(--white);
  font-family: 'Barlow', sans-serif; font-size: .92rem; padding: .55rem .8rem; }
.goal-row input:focus, .goal-row select:focus { outline: none; border-color: var(--gold); }
.goal-row .g-text { flex: 1; }
.goal-row .g-by { color-scheme: dark; }
.goal-row .g-del { background: none; border: none; color: var(--smoke); font-size: 1rem; padding: .3rem; }
.goal-row .g-del:hover { color: var(--red); }
.add-goal { margin-top: 1rem; background: none; border: 1px solid var(--gold-dim); color: var(--gold);
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .18em; text-transform: uppercase;
  font-size: .82rem; padding: .5rem 1.4rem; }
.add-goal:hover { border-color: var(--gold); }

/* Wins, comments */
.post.win { border-left: 2px solid var(--gold); background: linear-gradient(90deg, rgba(201,168,76,.06), var(--iron) 40%); }
.comments { margin-top: .9rem; border-top: 1px solid var(--steel); padding-top: .7rem; }
.comment { font-size: .88rem; color: var(--silver); padding: .25rem 0; }
.comment b { color: var(--white); font-weight: 600; }
.comment .when { color: var(--smoke); font-size: .75rem; margin-left: .4rem; }
.comment-add { display: flex; gap: .5rem; margin-top: .5rem; }
.comment-add input { flex: 1; background: var(--black); border: 1px solid var(--steel); color: var(--white);
  font-family: 'Barlow', sans-serif; font-size: .88rem; padding: .45rem .7rem; }
.comment-add input:focus { outline: none; border-color: var(--gold); }
.comment-add button { background: none; border: 1px solid var(--ash); color: var(--silver); padding: 0 .8rem; }
.comment-add button:hover { border-color: var(--gold); color: var(--gold); }

/* Goal blocks + milestones */
.goal-block { border-bottom: 1px solid var(--steel); padding: .6rem 0; }
.goal-block:last-child { border-bottom: none; }
.goal-done .g-text { text-decoration: line-through; color: var(--smoke); }
.g-win { background: none; border: 1px solid var(--gold-dim); color: var(--gold);
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .12em; text-transform: uppercase;
  font-size: .75rem; padding: .45rem .8rem; white-space: nowrap; }
.g-win:hover { border-color: var(--gold); }
.goal-done .g-win { border-color: var(--ash); color: var(--smoke); cursor: default; }
.milestones { padding: .4rem 0 0 .4rem; }
.ms-row { display: block; font-size: .88rem; color: var(--silver); padding: .2rem 0; cursor: pointer; }
.ms-row input { accent-color: var(--gold); margin-right: .5rem; }
.ms-done { text-decoration: line-through; color: var(--smoke); }
.ms-add { display: flex; gap: .5rem; margin-top: .4rem; }
.ms-add input { flex: 1; background: var(--black); border: 1px solid var(--steel); color: var(--white);
  font-family: 'Barlow', sans-serif; font-size: .85rem; padding: .4rem .7rem; }
.ms-add input:focus { outline: none; border-color: var(--gold); }
.ms-add button { background: none; border: 1px solid var(--ash); color: var(--silver); padding: 0 .8rem; }
.ms-add button:hover { border-color: var(--gold); color: var(--gold); }

/* Calendar */
.cal-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.cal-head button { background: none; border: 1px solid var(--ash); color: var(--silver); padding: .35rem .9rem; font-size: 1rem; }
.cal-head button:hover { border-color: var(--gold); color: var(--gold); }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: var(--steel); border: 1px solid var(--steel); }
.cal-dow { background: var(--iron); padding: .4rem; text-align: center; font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: .15em; text-transform: uppercase; font-size: .72rem; color: var(--smoke); }
.cal-cell { background: var(--black); min-height: 74px; padding: .3rem; font-size: .8rem; }
.cal-cell.empty { background: var(--iron); }
.cal-cell.today { outline: 1px solid var(--gold); outline-offset: -1px; }
.cal-day { color: var(--smoke); font-size: .75rem; }
.cal-evt { background: rgba(201,168,76,.12); border-left: 2px solid var(--gold); color: var(--silver);
  padding: .15rem .35rem; margin-top: .25rem; font-size: .72rem; line-height: 1.3; }
.cal-evt.personal { border-left-color: var(--smoke); background: rgba(107,107,107,.12); }
.cal-evt .evt-del { background: none; border: none; color: var(--smoke); font-size: .7rem; padding: 0 .1rem; float: right; }
.cal-evt .evt-del:hover { color: var(--red); }

/* Founder finance form */
.fin-form { display: grid; gap: .6rem; margin-top: .8rem; }
.fin-form input, .fin-form select { background: var(--black); border: 1px solid var(--steel); color: var(--white);
  font-family: 'Barlow', sans-serif; font-size: .92rem; padding: .6rem .8rem; }
.fin-form input:focus, .fin-form select:focus { outline: none; border-color: var(--gold); }
.fin-form button { background: var(--gold); border: 1px solid var(--gold); color: var(--black);
  font-family: 'Barlow Condensed', sans-serif; letter-spacing: .18em; text-transform: uppercase;
  font-weight: 600; padding: .6rem; }
.fin-form button:hover { background: transparent; color: var(--gold); }

@media (max-width: 780px) {
  .shell { flex-direction: column; }
  .sidebar { width: 100%; height: auto; position: static; flex-direction: row; align-items: center; overflow-x: auto; }
  .sidebar nav { flex-direction: row; }
  main { padding: 1.4rem 1.2rem; }
}
