/* TaitaSoloAI app — same palette and type as the landing page, so signing in does not
   feel like being handed off to a different product. */
:root{
  --bg:#07101f; --panel:#0c1727; --panel-2:#101d33;
  --text:#f7f9fc; --muted:#93a3ba; --border:rgba(255,255,255,.12);
  --blue:#4169f5; --purple:#7259f5; --cyan:#3ccfee; --green:#28c98a; --red:#f2647a;
  --gradient:linear-gradient(135deg,#4169f5 0%,#7259f5 58%,#985cf3 100%);
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Inter",system-ui,sans-serif;
  background:
    radial-gradient(1100px 620px at 12% -10%, rgba(65,105,245,.20), transparent 60%),
    radial-gradient(900px 560px at 100% 0%, rgba(114,89,245,.16), transparent 62%),
    var(--bg);
  color:var(--text); min-height:100vh; display:flex; flex-direction:column;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.brand-text{font-family:"Manrope",sans-serif;letter-spacing:-.02em}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}

/* header */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 26px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none}
.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--gradient);
  display:grid;place-items:center;font-weight:800;font-family:"Manrope",sans-serif;font-size:19px}
.brand-text{font-weight:800;font-size:1.16rem}
.brand-ai{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.topnav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.topnav a{color:var(--muted);font-weight:600;font-size:.94rem}
.topnav a:hover{color:var(--text);text-decoration:none}
.topnav a.quiet{color:#6d7d94}

/* layout */
.auth-wrap{flex:1;display:grid;place-items:center;padding:44px 20px}
.board-wrap{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:34px 22px 60px}
.appfoot{padding:22px;text-align:center;color:#63728a;font-size:.86rem;border-top:1px solid var(--border)}

/* cards */
.card{width:100%;max-width:452px;background:var(--panel);border:1px solid var(--border);
  border-radius:var(--radius);padding:32px 30px;box-shadow:0 30px 80px rgba(0,0,0,.42)}
.card h1{font-size:1.62rem;margin-bottom:7px}
.card .sub{color:var(--muted);font-size:.97rem;margin-bottom:24px;line-height:1.55}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px 24px;margin-bottom:18px}
.panel h2{font-size:1.12rem;margin-bottom:6px}
.panel p.hint{color:var(--muted);font-size:.93rem;line-height:1.6}

/* forms */
label{display:block;font-weight:600;font-size:.9rem;margin:16px 0 7px}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select,textarea{
  width:100%;padding:12px 14px;border-radius:12px;font:inherit;font-size:.98rem;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.13);color:var(--text)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(65,105,245,.22)}
/* A dark <select> with default options renders white-on-white in Chrome on Windows. */
select option{background:#0c1727;color:var(--text)}
.btn{display:inline-block;width:100%;margin-top:22px;padding:13px 18px;border:0;border-radius:12px;
  background:var(--gradient);color:#fff;font:inherit;font-weight:700;font-size:1rem;cursor:pointer}
.btn:hover{filter:brightness(1.07)}
.btn.secondary{background:rgba(255,255,255,.07);border:1px solid var(--border)}
.btn.inline{width:auto;margin-top:0;padding:9px 16px;font-size:.92rem}
.row{display:flex;gap:14px;flex-wrap:wrap}
.row>*{flex:1 1 190px}
.checkline{display:flex;gap:11px;align-items:flex-start;margin-top:18px}
.checkline input{margin-top:3px;width:17px;height:17px;flex:0 0 auto}
.checkline span{font-size:.88rem;color:var(--muted);line-height:1.55}
.alt{margin-top:20px;text-align:center;color:var(--muted);font-size:.93rem}

/* notes */
.note{padding:12px 15px;border-radius:12px;font-size:.93rem;margin-bottom:16px;line-height:1.55}
.note-error{background:rgba(242,100,122,.13);border:1px solid rgba(242,100,122,.42);color:#ffd4dc}
.note-ok{background:rgba(40,201,138,.12);border:1px solid rgba(40,201,138,.40);color:#c8f6e4}
.note-info{background:rgba(60,207,238,.10);border:1px solid rgba(60,207,238,.34);color:#cdf1fb}

/* board */
.board-head{margin-bottom:24px}
.board-head h1{font-size:1.85rem;margin-bottom:6px}
.board-head p{color:var(--muted)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.stat{background:var(--panel-2);border:1px solid var(--border);border-radius:15px;padding:18px}
.stat .k{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.09em}
.stat .v{font-family:"Manrope",sans-serif;font-weight:800;font-size:1.5rem;margin-top:7px}
/* nowrap: in the narrow status column "To do" was breaking onto two lines and the
   pill turned into a lozenge with one word above the other. */
.pill{display:inline-block;padding:4px 11px;border-radius:999px;font-size:.78rem;
  font-weight:700;white-space:nowrap}
.pill.on{background:rgba(40,201,138,.16);color:#7ff0c4}
.pill.off{background:rgba(255,255,255,.08);color:var(--muted)}
.pill.warn{background:rgba(242,180,100,.16);color:#ffd9a8}
table{width:100%;border-collapse:collapse;margin-top:12px}
th,td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--border);font-size:.94rem}
th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}
.empty{color:var(--muted);padding:16px 0;font-size:.95rem}
@media (max-width:620px){
  .card{padding:26px 20px}
  .board-wrap{padding:24px 16px 48px}
  .topbar{padding:14px 16px}
}

/* EN | ES switch in the header */
.langsw{display:inline-flex;gap:2px;align-items:center;margin-left:6px;
  border:1px solid var(--border);border-radius:999px;padding:3px 4px;font-size:.78rem;font-weight:700}
.langsw a,.langsw strong{padding:2px 8px;border-radius:999px;line-height:1.6}
.langsw a{color:var(--muted);text-decoration:none}
.langsw a:hover{color:var(--text)}
.langsw strong{background:var(--gradient);color:#fff}

/* ---- sales demo banner ----------------------------------------------------- */
.demobar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:10px 22px;background:linear-gradient(90deg,#12204a,#2a2470);color:#dfe6ff;
  font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.12)}
.demobar .demotag{font-weight:800;letter-spacing:.12em;font-size:.7rem;
  background:#ffd45e;color:#2b2200;padding:3px 9px;border-radius:999px}
.demobar .demotext{flex:1;min-width:180px}
.demobar a{color:#fff;text-decoration:none;font-weight:600;
  border:1px solid rgba(255,255,255,.32);padding:5px 12px;border-radius:999px}
.demobar a:hover{background:rgba(255,255,255,.14)}
@media (max-width:620px){ .demobar{padding:10px 16px;gap:10px} }

/* ---- growth switches -------------------------------------------------------- */
.switch{display:inline-block;position:relative;width:46px;height:26px;cursor:pointer}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;border-radius:999px;background:#2a3350;
  transition:background .18s ease}
.switch span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;
  border-radius:50%;background:#fff;transition:transform .18s ease}
.switch input:checked + span{background:linear-gradient(135deg,#4169f5,#7259f5)}
.switch input:checked + span::after{transform:translateX(20px)}
.switch input:focus-visible + span{box-shadow:0 0 0 3px rgba(65,105,245,.4)}

/* ---- wallet ----------------------------------------------------------------- */
.pcheckline{display:flex;gap:10px;align-items:center;margin:6px 0 16px;font-weight:500}
.pcheckline input{width:18px;height:18px}
form.inline label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}

/* ---- admin ------------------------------------------------------------------ */
.btn.small{padding:6px 12px;font-size:.82rem}
.btn.secondary{background:#1b2440;border:1px solid #2c3860}
.adminlink{color:#ffd45e!important;font-weight:700}
td .danger{color:#ff8a8a}
