:root {
  --accent: #ef243f;
  --accent-bright: #ff4961;
  --accent-soft: rgba(239, 36, 63, .14);
  --accent-border: rgba(255, 73, 97, .36);
  --purple: #ef243f;
  --purple-bright: #ff4961;
  --violet: #ef243f;
  --green: #ef243f;
  --teal: #ff4961;
}

.ambient-one { background: rgba(204, 18, 48, .11) !important; }
.ambient-two { background: rgba(116, 8, 30, .09) !important; }
.brand-mark,
.boot-mark { background: linear-gradient(145deg, #ff4961, #b60f2b) !important; box-shadow: 0 16px 40px rgba(190, 18, 49, .35) !important; }
.main-nav button.active,
.topbar-add-title,
.primary-button,
.add-submit { border-color: rgba(255, 73, 97, .46) !important; }

.brand-copy strong { max-width: 245px; white-space: nowrap; }
.online-signout { display:grid; width:38px; height:38px; place-items:center; border:1px solid var(--line); border-radius:11px; background:var(--surface); color:var(--muted); cursor:pointer; }
.online-signout:hover { border-color:var(--accent-border); color:#fff; background:var(--accent-soft); }
.online-signout svg { width:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.auth-gate { position:fixed; z-index:10000; inset:0; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 35%,rgba(239,36,63,.14),transparent 30rem),#09090d; }
.auth-gate[hidden] { display:none; }
.auth-panel { width:min(420px,100%); padding:34px; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:rgba(17,22,35,.96); box-shadow:0 30px 90px rgba(0,0,0,.48); }
.auth-logo { display:grid; width:58px; height:58px; margin-bottom:24px; place-items:center; border-radius:17px; background:linear-gradient(145deg,#ff4961,#b60f2b); box-shadow:0 15px 40px rgba(190,18,49,.34); color:white; font-size:23px; font-weight:900; }
.auth-panel h1 { margin:0 0 8px; color:#fff; font-size:28px; line-height:1.08; letter-spacing:-.035em; }
.auth-panel>p { margin:0 0 26px; color:#8d99b0; line-height:1.6; }
.auth-form { display:grid; gap:14px; }
.auth-field { display:grid; gap:7px; color:#9ba7bd; font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.08em; }
.auth-field input { width:100%; box-sizing:border-box; padding:13px 14px; border:1px solid #2a3549; border-radius:12px; outline:none; background:#0b111d; color:#fff; font:inherit; }
.auth-field input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(239,36,63,.12); }
.auth-submit { min-height:46px; margin-top:5px; border:1px solid #ff536a; border-radius:12px; background:linear-gradient(135deg,#ef243f,#b70e2a); color:#fff; font-weight:850; cursor:pointer; }
.auth-submit:disabled { opacity:.65; cursor:wait; }
.auth-error { min-height:18px; margin:0 !important; color:#ff6b7f !important; font-size:12px; }

@media (max-width: 900px) {
  .brand-copy strong { max-width:155px; overflow:hidden; text-overflow:ellipsis; }
  .online-signout { display:none; }
}
