/* TJP Tracker v0.6.28 — Supabase Auth Foundation */
html[data-cloud-auth="pending"] #appShell,
html[data-cloud-auth="signed-out"] #appShell{visibility:hidden;pointer-events:none}
html[data-cloud-auth="ready"] #appShell{visibility:visible}

.tjp-auth-gate{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 68% 16%,rgba(101,230,154,.08),transparent 34%),#050708;color:#f5f7f8;font-family:Inter,"Segoe UI",Arial,sans-serif}
.tjp-auth-gate.open{display:flex}
.tjp-auth-card{width:min(430px,100%);border:1px solid #20262c;background:rgba(8,11,14,.97);box-shadow:0 28px 90px rgba(0,0,0,.52);padding:30px}
.tjp-auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.tjp-auth-brand img{width:144px;height:auto;display:block}
.tjp-auth-brand span{margin-left:auto;font-size:10px;font-weight:800;letter-spacing:.14em;color:#65e69a;border:1px solid rgba(101,230,154,.25);padding:6px 8px}
.tjp-auth-card small.auth-eyebrow{display:block;color:#6f7a84;font-size:10px;font-weight:800;letter-spacing:.13em;margin-bottom:8px}
.tjp-auth-card h1{font-size:27px;line-height:1.08;margin:0 0 8px;font-weight:820}
.tjp-auth-card>p{margin:0 0 23px;color:#7e8993;font-size:13px;line-height:1.55}
.tjp-auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #20262c;margin-bottom:22px}
.tjp-auth-tabs button{border:0;background:transparent;color:#69737d;font:inherit;font-size:12px;font-weight:800;padding:11px 8px;cursor:pointer;border-bottom:2px solid transparent}
.tjp-auth-tabs button.active{color:#f4f7f8;border-color:#65e69a}
.tjp-auth-form{display:none;gap:14px}
.tjp-auth-form.active{display:grid}
.tjp-auth-form label{display:grid;gap:7px;color:#8e98a2;font-size:11px;font-weight:720}
.tjp-auth-form input{width:100%;box-sizing:border-box;background:#0c1014;border:1px solid #242b32;color:#f5f7f8;padding:12px 13px;outline:none;font:inherit;font-size:13px}
.tjp-auth-form input:focus{border-color:rgba(101,230,154,.72);box-shadow:0 0 0 2px rgba(101,230,154,.08)}
.tjp-auth-submit{margin-top:3px;border:1px solid #65e69a;background:#65e69a;color:#07110b;padding:12px 14px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.tjp-auth-submit:disabled{opacity:.55;cursor:wait}
.tjp-auth-link{border:0;background:transparent;color:#7f8b95;font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 0;justify-self:start}
.tjp-auth-message{display:none;margin-top:16px;border-left:2px solid #65717d;background:#0b0f12;padding:11px 12px;color:#97a1aa;font-size:11px;line-height:1.5}
.tjp-auth-message.show{display:block}
.tjp-auth-message.good{border-left-color:#65e69a;color:#a8d8bb}
.tjp-auth-message.bad{border-left-color:#ff657b;color:#ff9aaa}
.tjp-auth-foot{margin-top:22px;padding-top:16px;border-top:1px solid #1c2228;color:#626d76;font-size:10px;line-height:1.55}

.profile-dot{cursor:pointer;user-select:none;position:relative}
.tjp-profile-menu{position:fixed;z-index:9000;width:250px;display:none;border:1px solid #242b32;background:#090c0f;box-shadow:0 20px 60px rgba(0,0,0,.48);padding:14px}
.tjp-profile-menu.open{display:block}
.tjp-profile-menu small{display:block;color:#66717b;font-size:9px;font-weight:800;letter-spacing:.1em;margin-bottom:5px}
.tjp-profile-menu strong{display:block;color:#eef2f4;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tjp-profile-cloud{margin:12px 0;border-top:1px solid #1b2228;border-bottom:1px solid #1b2228;padding:10px 0;display:grid;gap:4px;color:#79848d;font-size:10px}
.tjp-profile-cloud span:first-child{color:#78d99f}
.tjp-signout{width:100%;border:1px solid #2a3138;background:#0d1115;color:#ccd3d8;padding:9px 10px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;text-align:left}
.tjp-signout:hover{border-color:#4b555e;color:#fff}

html[data-hosted-mode="true"] #connections .connection-row.cloud-local-agent i{background:#59636c!important;box-shadow:none!important}
html[data-hosted-mode="true"] #connections .connection-row.cloud-local-agent small{color:#68727b}
