/* ==========  CRM SaaS - estilos base  ========== */
:root{
    --tx:#EAE6FF; --mut:#94A3B8; --acc:#7B61FF; --cy:#22D3EE; --vlt:#A78BFA;
    --bg:#0B0E16; --surf:#12172A; --surf2:#1A1F3A; --brd:rgba(167,139,250,.15);
    --ok:#22c55e; --err:#ef4444; --warn:#f59e0b;
    --grad:linear-gradient(135deg,var(--acc),var(--cy));
    --grad2:linear-gradient(135deg,var(--vlt),var(--acc));
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--cy);text-decoration:none}
a:hover{text-decoration:underline}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.mut{color:var(--mut)}
.small{font-size:.82rem}

/* ==========  TOPBAR / BRAND  ========== */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--brd);background:rgba(11,14,22,.85);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;color:var(--tx)}
.brand:hover{text-decoration:none}
.brand img{height:28px;filter:drop-shadow(0 2px 8px rgba(123,97,255,.4))}
.brand span{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.topbar nav{display:flex;gap:14px;align-items:center}
.lnk{color:var(--mut);font-weight:500;font-size:.9rem}
.lnk:hover{color:var(--tx);text-decoration:none}
.lnk-mini{color:var(--vlt);font-size:.75rem;font-weight:600}

/* ==========  BUTTONS  ========== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:10px;border:0;cursor:pointer;font-family:inherit;font-weight:600;font-size:.9rem;transition:transform .1s,filter .15s}
.btn:hover{filter:brightness(1.1);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn.pri{background:var(--grad);color:#fff}
.btn.ghost{background:rgba(123,97,255,.08);color:var(--tx);border:1px solid var(--brd)}
.btn.ghost:hover{background:rgba(123,97,255,.15)}
.btn.warn{background:rgba(239,68,68,.15);color:var(--err);border:1px solid var(--err)}
.btn.warn:hover{background:rgba(239,68,68,.25)}
.btn.lg{padding:13px 26px;font-size:1rem}
.btn.mini{padding:5px 10px;font-size:.75rem}
.btn.block{display:flex;width:100%;justify-content:center;margin-top:18px}

/* ==========  FORMS  ========== */
input,textarea,select{width:100%;padding:10px 12px;background:rgba(11,14,22,.6);color:var(--tx);border:1px solid var(--brd);border-radius:8px;font-family:inherit;font-size:.92rem;transition:.15s}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--cy);box-shadow:0 0 0 3px rgba(34,211,238,.12);background:rgba(11,14,22,.85)}
input[readonly]{background:rgba(11,14,22,.3);color:var(--mut);cursor:default}
textarea{resize:vertical;min-height:80px;line-height:1.5}
select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
label.field{display:block;font-size:.75rem;color:var(--mut);margin-bottom:5px;letter-spacing:.4px;text-transform:uppercase;font-weight:600}
label.check{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:.9rem;cursor:pointer}
label.check input{width:auto;margin:0;cursor:pointer}
.row-form{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}

/* ==========  MSG / FLASH  ========== */
.msg{padding:11px 16px;border-radius:10px;margin-bottom:14px;display:flex;align-items:center;gap:10px;font-size:.9rem}
.msg.ok{background:rgba(34,197,94,.1);border:1px solid var(--ok);color:var(--ok)}
.msg.err{background:rgba(239,68,68,.1);border:1px solid var(--err);color:var(--err)}
.msg.warn{background:rgba(245,158,11,.1);border:1px solid var(--warn);color:var(--warn)}

/* ==========  CHIP / BADGE  ========== */
.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:700;background:var(--grad);color:#fff;text-transform:uppercase;letter-spacing:.5px}
.chip.mini{background:rgba(123,97,255,.15);color:var(--vlt);font-size:.62rem}

/* ==========  CARDS  ========== */
.card{background:var(--surf);border:1px solid var(--brd);border-radius:14px;padding:22px;margin-bottom:18px}
.card h3{font-size:1.05rem;font-weight:700;margin-bottom:14px;color:var(--vlt);display:flex;align-items:center;gap:8px}
.card h3 i{color:var(--cy)}

/* ==========  GRIDS  ========== */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
@media (max-width:700px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* ==========  TABLES  ========== */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;padding:10px;color:var(--mut);font-size:.72rem;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--brd);font-weight:600}
.tbl td{padding:12px 10px;border-bottom:1px solid var(--brd);font-size:.9rem;vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:rgba(123,97,255,.03)}

/* ==========  PUBLIC LANDING  ========== */
.pub-main{max-width:1100px;margin:0 auto;padding:20px}
.pub-foot{padding:30px 24px;border-top:1px solid var(--brd);display:flex;justify-content:space-between;color:var(--mut);font-size:.8rem;flex-wrap:wrap;gap:14px;margin-top:60px}
.pub-foot nav{display:flex;gap:20px}
.pub-foot a{color:var(--mut)}
.pub-foot a:hover{color:var(--cy)}

.hero{padding:80px 20px 60px;text-align:center;background:radial-gradient(ellipse at top,rgba(123,97,255,.15),transparent 60%)}
.hero-inner{max-width:780px;margin:0 auto}
.badge{display:inline-block;padding:6px 14px;background:rgba(167,139,250,.1);color:var(--vlt);border:1px solid var(--brd);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:1px;margin-bottom:24px;text-transform:uppercase}
.hero h1{font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:20px;letter-spacing:-.5px}
.hero .grad{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero .lead{font-size:1.15rem;color:var(--mut);margin-bottom:34px;max-width:600px;margin-left:auto;margin-right:auto}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.hint{color:var(--mut);font-size:.8rem}
@media (max-width:600px){.hero h1{font-size:2rem}.hero .lead{font-size:1rem}}

.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:60px 20px;max-width:1100px;margin:0 auto}
.feat{background:var(--surf);border:1px solid var(--brd);border-radius:16px;padding:26px;transition:transform .2s,border-color .2s}
.feat:hover{transform:translateY(-3px);border-color:rgba(167,139,250,.4)}
.feat-ic{width:48px;height:48px;border-radius:12px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;margin-bottom:16px}
.feat h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}
.feat p{color:var(--mut);font-size:.9rem;line-height:1.55}

.cta-bottom{text-align:center;padding:80px 20px;background:radial-gradient(ellipse at bottom,rgba(34,211,238,.1),transparent 60%)}
.cta-bottom h2{font-size:2rem;font-weight:800;margin-bottom:12px}
.cta-bottom p{color:var(--mut);margin-bottom:26px}

/* ==========  AUTH FORMS  ========== */
.auth-wrap{max-width:440px;margin:60px auto;padding:20px}
.auth-card{background:var(--surf);border:1px solid var(--brd);border-radius:16px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.auth-card h2{font-size:1.5rem;margin-bottom:6px}
.auth-card .mut{margin-bottom:22px;font-size:.9rem}
.auth-alt{text-align:center;margin-top:18px;color:var(--mut);font-size:.9rem}

.acc-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.acc-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:rgba(11,14,22,.5);border:1px solid var(--brd);border-radius:12px;cursor:pointer;font-family:inherit;color:var(--tx);text-align:left;width:100%;transition:.15s}
.acc-item:hover{background:rgba(123,97,255,.1);border-color:var(--vlt)}
.acc-item.active{background:rgba(34,211,238,.08);border-color:var(--cy)}
.acc-avatar{width:44px;height:44px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}
.acc-info{flex:1}
.acc-title{font-weight:700;font-size:.95rem}
.acc-meta{color:var(--mut);font-size:.78rem;margin-top:2px}
.acc-arrow{color:var(--mut);font-size:.85rem}

/* ==========  APP LAYOUT  ========== */
body.app{background:var(--bg)}
.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
@media (max-width:900px){.layout{grid-template-columns:1fr}.side{display:none}}
.side{background:linear-gradient(180deg,#0B0E16,#0F0A25 60%,#1E1560);border-right:1px solid var(--brd);padding:18px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.side .brand{padding:4px 6px 20px}
.acc-switch{background:rgba(11,14,22,.5);border:1px solid var(--brd);border-radius:10px;padding:10px 12px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.acc-name{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.acc-name i{color:var(--vlt);margin-right:4px}
.nav{flex:1;display:flex;flex-direction:column;gap:2px}
.nav-sec{font-size:.62rem;color:var(--mut);letter-spacing:1.5px;text-transform:uppercase;padding:14px 12px 6px;font-weight:700;display:flex;align-items:center;gap:8px}
.nav-sec .soon{font-size:.55rem;padding:1px 6px;border-radius:6px;background:rgba(148,163,184,.15);color:var(--mut);letter-spacing:.5px;text-transform:none}
.nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;color:var(--tx);font-size:.88rem;opacity:.85;transition:.15s;border:1px solid transparent}
.nav a:hover{background:rgba(123,97,255,.1);opacity:1;text-decoration:none}
.nav a.active{background:var(--grad);color:#fff;opacity:1;box-shadow:0 6px 20px -6px rgba(123,97,255,.5)}
.nav a.disabled{opacity:.3;cursor:not-allowed}
.nav a.disabled:hover{background:transparent}
.nav a i{width:16px;text-align:center}
.side-foot{padding-top:16px;text-align:center;color:var(--mut);font-size:.7rem;letter-spacing:1px}

.main{padding:28px 36px;max-width:100%;overflow-x:hidden}
@media (max-width:600px){.main{padding:20px}}
.top{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.top h1{font-size:1.5rem;font-weight:800}
.top .who{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--mut);font-size:.85rem}
.top .who .out{color:var(--mut)}
.top .who .out:hover{color:var(--err);text-decoration:none}

/* ==========  DASHBOARD  ========== */
.welcome{margin-bottom:22px}
.welcome h2{font-size:1.4rem;font-weight:700}
.welcome .wave{display:inline-block;animation:wave 2s ease-in-out infinite}
@keyframes wave{0%,60%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-8deg)}}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px}
.kpi{background:var(--surf);border:1px solid var(--brd);border-radius:12px;padding:16px;display:flex;align-items:center;gap:14px}
.kpi-ic{width:44px;height:44px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}
.kpi .n{font-size:1.6rem;font-weight:800;font-family:'JetBrains Mono',monospace}
.kpi .l{color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;margin-top:2px}

.timeline{list-style:none;padding:0}
.timeline li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--brd)}
.timeline li:last-child{border:none}
.tl-dot{width:8px;height:8px;border-radius:50%;background:var(--vlt);margin-top:6px;flex-shrink:0;box-shadow:0 0 0 3px rgba(167,139,250,.15)}
.tl-body{flex:1;font-size:.88rem}

.checklist{list-style:none;padding:0}
.checklist li{padding:9px 12px;border-radius:8px;margin-bottom:4px;display:flex;align-items:center;gap:10px;font-size:.9rem}
.checklist li.done{background:rgba(34,197,94,.08);color:var(--ok)}
.checklist li.done i{color:var(--ok)}
.checklist li a{color:var(--tx)}
.checklist li a:hover{color:var(--cy);text-decoration:none}
.checklist li.dim{color:var(--mut);opacity:.7}
.checklist li i{width:16px}
