/* === EGStrategy · Tema EGS (dark premium) ===
   Navy/teal + acento turquesa. Mismo lenguaje visual que EGS TeK. */

:root{
  --bg:#0e1a1e;
  --surface:#16262c;
  --surface-2:#1e2f36;
  --ink:#e7eeec;
  --muted:#9aaaab;
  --line:#28393f;
  --accent:#1fa897;
  --accent-2:#2bc4b2;
  --accent-soft:rgba(31,168,151,.12);
  --green-d:#2e6e69;
  --gold:#e0a43b;
  --critical:#c1272d;
  --radius:16px;
  --shadow:0 2px 8px rgba(0,0,0,.3),0 8px 32px rgba(0,0,0,.15);
  --maxw:920px;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{font-size:16px;scrollbar-color:var(--line) var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;
  display:flex;flex-direction:column;
}
::selection{background:rgba(31,168,151,.3);color:#fff}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.muted{color:var(--muted)}
code{background:var(--surface-2);padding:1px 6px;border-radius:6px;font-size:.9em}

/* Demo banner */
.demo-banner{
  background:rgba(245,183,49,.1);color:var(--gold);text-align:center;
  font-size:13px;padding:8px 14px;border-bottom:1px solid rgba(245,183,49,.15);
}
.demo-banner code{background:rgba(245,183,49,.14);color:var(--gold)}

/* ── Topbar ── */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px clamp(16px,4vw,32px);
  background:rgba(15,19,28,.82);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;
}
.brand{display:flex;align-items:center;gap:9px;font-weight:700}
.brand__logo{height:24px;width:auto;display:block;filter:drop-shadow(0 0 10px rgba(31,168,151,.35))}
.brand__name{letter-spacing:.3px;color:var(--ink)}
.brand__mk{color:var(--accent)}
.user-box{display:flex;align-items:center;gap:10px}
.user-name{font-size:14px;color:var(--ink);font-weight:600}
@media(max-width:480px){.user-name{display:none}}

/* Avatares con iniciales */
.avatar{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;color:#06120f;font-weight:700;font-size:14px;
  flex:0 0 auto;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;
}
.avatar--sm{width:30px;height:30px;font-size:12px}

.wrap{
  width:100%;max-width:var(--maxw);margin:0 auto;
  padding:clamp(18px,3.5vw,34px) clamp(16px,4vw,32px);flex:1;
}

/* ── Botones ── */
.btn{
  font:inherit;font-weight:600;cursor:pointer;border-radius:10px;
  padding:10px 16px;border:1px solid transparent;transition:.2s;
}
.btn--primary{background:var(--accent);color:#06120f}
.btn--primary:hover{background:var(--accent-2);box-shadow:0 0 18px rgba(31,168,151,.35)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{background:var(--surface-2)}
.btn--sm{padding:8px 14px;font-size:14px}
.btn--xs{padding:5px 10px;font-size:12.5px;border-radius:8px}
.btn--danger{background:transparent;color:#f3a3a3;border:1px solid rgba(193,39,45,.4)}
.btn--danger:hover{background:rgba(193,39,45,.15)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── Auth ── */
.auth{position:relative;display:flex;align-items:center;justify-content:center}
.auth::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(55% 45% at 50% 25%,rgba(31,168,151,.13),transparent 70%),
    radial-gradient(45% 40% at 80% 85%,rgba(43,196,178,.09),transparent 70%);
}
.auth-card{
  position:relative;z-index:1;width:100%;max-width:400px;
  background:linear-gradient(180deg,rgba(28,46,53,.78),rgba(20,32,38,.85));
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);
  box-shadow:var(--shadow),0 0 90px rgba(31,168,151,.10);padding:32px;overflow:hidden;
}
.auth-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--accent),var(--accent-2),transparent);opacity:.7;
}
.auth-logo{height:50px;width:auto;display:block;margin:0 auto 10px;filter:drop-shadow(0 0 24px rgba(31,168,151,.45))}
.auth-card h1{margin:0 0 2px;font-size:26px;color:var(--ink);letter-spacing:-.3px;text-align:center}
.auth-tagline{color:var(--accent);font-size:15px;font-weight:600;margin:0 0 4px;text-align:center}
.auth-card .muted{text-align:center;margin:0 0 8px;font-size:14px}
.field{display:block;margin:14px 0}
.field span{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:var(--muted)}
.field input{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;
  font:inherit;background:var(--surface-2);color:var(--ink);
}
.field input::placeholder{color:var(--muted);opacity:.55}
.field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.auth-card .btn{width:100%;margin-top:8px}
.auth-links{display:flex;flex-direction:column;gap:4px;margin-top:12px}
.link-btn{background:none;border:0;cursor:pointer;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;text-align:center;padding:2px}
.link-btn:hover{color:var(--accent)}
.auth-msg{font-size:13.5px;margin:12px 0 0;min-height:1.2em;color:var(--accent);text-align:center}
.auth-msg.err{color:#f3a3a3}

/* ── Tabs ── */
.tabs{
  display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:5px;margin-bottom:20px;box-shadow:var(--shadow);
  position:sticky;top:60px;z-index:5;backdrop-filter:blur(6px);
}
.tab{
  flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  background:none;border:0;border-radius:10px;color:var(--muted);
  font:inherit;font-weight:600;font-size:14.5px;cursor:pointer;padding:10px 8px;transition:.18s;
}
.tab:hover{color:var(--ink);background:var(--surface-2)}
.tab.is-active{color:#06120f;background:linear-gradient(135deg,var(--accent),var(--accent-2))}
@media(max-width:560px){.tab span{display:none}.tab{font-size:18px;padding:11px}}

.panel{animation:fadeUp .25s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:4px 0 16px;font-weight:700}

/* ── Card / composer ── */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.composer{padding:18px 18px 16px;margin-bottom:18px}
.composer__h{margin:0 0 10px;font-size:15px;color:var(--ink)}
.composer input,.composer textarea,.select{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;
  font:inherit;background:var(--surface-2);color:var(--ink);margin-bottom:9px;resize:vertical;
}
.composer input:focus,.composer textarea:focus,.select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.composer__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.composer__hint{font-size:12.5px}
.select{width:auto;min-width:150px;margin-bottom:0;cursor:pointer}

/* ── Muro / feed ── */
.feed{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.post.is-pinned{border-color:rgba(224,164,59,.4);box-shadow:var(--shadow),0 0 0 1px rgba(224,164,59,.15)}
.post__head{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.post__meta{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.post__author{font-weight:600;font-size:14px;color:var(--ink)}
.post__time{font-size:12px;color:var(--muted)}
.post__pin{margin-left:auto;font-size:11px;font-weight:700;color:var(--gold);background:rgba(224,164,59,.12);border-radius:999px;padding:3px 10px;text-transform:uppercase;letter-spacing:.05em}
.post h3{margin:2px 0 6px;font-size:17px;color:var(--ink)}
.post__body{color:var(--ink);font-size:14.5px;white-space:pre-wrap;word-wrap:break-word}
.post__foot{display:flex;align-items:center;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.post__foot .spacer{flex:1}

/* Comentarios */
.comments{margin-top:12px;display:none}
.comments.open{display:block}
.comment{display:flex;gap:9px;padding:9px 0;border-top:1px dashed var(--line)}
.comment:first-child{border-top:0}
.comment__b{min-width:0}
.comment__who{font-size:12.5px;color:var(--muted)}
.comment__who b{color:var(--ink)}
.comment__t{font-size:14px;color:var(--ink);white-space:pre-wrap;word-wrap:break-word}
.comment-form{display:flex;gap:8px;margin-top:10px}
.comment-form input{flex:1;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--surface-2);color:var(--ink)}
.comment-form input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}

/* ── Chat / canal ── */
.chat{display:flex;flex-direction:column;height:min(64vh,560px);overflow:hidden}
.chat__list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.msg{display:flex;gap:9px;max-width:82%}
.msg__b{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px 12px;min-width:0}
.msg__who{font-size:12px;color:var(--accent);font-weight:600;margin-bottom:2px}
.msg__t{font-size:14.5px;color:var(--ink);white-space:pre-wrap;word-wrap:break-word}
.msg__time{font-size:11px;color:var(--muted);margin-top:3px}
.msg.mine{align-self:flex-end;flex-direction:row-reverse}
.msg.mine .msg__b{background:var(--accent-soft);border-color:rgba(31,168,151,.3)}
.msg.mine .msg__who{color:var(--accent-2)}
.chat__compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:var(--surface)}
.chat__compose input{flex:1;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--surface-2);color:var(--ink)}
.chat__compose input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}

/* ── Recursos ── */
.res-cat{margin-bottom:22px}
.res-cat__h{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700;margin:0 0 12px}
.res-grid{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.res{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:15px;display:flex;flex-direction:column;gap:5px}
.res__top{display:flex;align-items:flex-start;gap:8px}
.res__icon{font-size:20px;line-height:1}
.res h3{margin:0;font-size:15px;color:var(--ink)}
.res__desc{font-size:13.5px;color:var(--muted);word-wrap:break-word}
.res__foot{display:flex;align-items:center;gap:8px;margin-top:6px}
.res__foot .spacer{flex:1}
.res__by{font-size:11.5px;color:var(--muted)}

/* ── Equipo ── */
.team-grid{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.member{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:13px 15px}
.member__b{min-width:0}
.member__name{font-weight:600;font-size:14.5px;color:var(--ink)}
.member__mail{font-size:12.5px;color:var(--muted);word-wrap:break-word}
.role{display:inline-block;margin-top:3px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px}
.role--admin{color:var(--gold);background:rgba(224,164,59,.12)}
.role--miembro{color:var(--accent);background:var(--accent-soft)}

.empty{color:var(--muted);font-size:14px;text-align:center;padding:26px 10px}

/* ── Footer ── */
.foot{
  max-width:var(--maxw);width:100%;margin:0 auto;display:flex;justify-content:space-between;
  gap:12px;flex-wrap:wrap;padding:20px clamp(16px,4vw,32px) 30px;
  color:var(--muted);font-size:13px;border-top:1px solid var(--line);
}

/* Toast */
.toast{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%);
  background:var(--surface);color:var(--ink);padding:11px 18px;border-radius:10px;
  box-shadow:var(--shadow),0 0 20px rgba(31,168,151,.12);
  border:1px solid var(--line);font-size:14px;z-index:50;max-width:90vw;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
}
