/* ============================================================
 * chunk5.css — Ops + Auth + Settings page primitives.
 *
 * Carries the button-size / button-variant / switch / data-list
 * vocabulary that exists in glassy-styleguide.css but isn't in the
 * always-on glassy.css. Plus a handful of ops-page-specific bits
 * (notif rows, audit timeline, sync filter pills, gdpr danger card,
 * auth glass shell) that don't belong in the foundation either.
 *
 * Loaded explicitly by chunk-5 templates only — none of this leaks
 * into other pages.
 * ============================================================ */

/* ---- Button sizes + variants (mirror glassy-styleguide.css) ---- */
.tin-glass .btn-sm{ padding:4px 9px; font-size:11.5px; }
.tin-glass .btn-md{ padding:6px 11px; font-size:12.5px; }
.tin-glass .btn-lg{ padding:9px 16px; font-size:13.5px; border-radius:10px; }
.tin-glass .btn-ghost{ background:transparent; border-color:transparent; color:var(--text-2); }
.tin-glass .btn-ghost:hover{ background:rgba(255,255,255,0.05); color:var(--text); }
.tin-glass[data-theme=light] .btn-ghost:hover{ background:rgba(15,15,30,0.05); color:var(--text); }
.tin-glass .btn-danger{
  background:linear-gradient(135deg, var(--red), #ff8896);
  color:#fff; border-color:transparent;
  box-shadow:0 4px 20px rgba(255,93,108,0.25), inset 0 1px 0 rgba(255,255,255,0.18);
}

/* ---- Switch toggle (mirror glassy-styleguide.css) ---- */
.tin-glass .switch{
  width:34px; height:20px; border-radius:99px;
  background:rgba(255,255,255,0.08); border:1px solid var(--line);
  display:inline-block; position:relative; cursor:pointer; flex:0 0 34px;
}
.tin-glass[data-theme=light] .switch{ background:rgba(15,15,30,0.08); }
.tin-glass .switch::after{
  content:''; position:absolute; top:1px; left:1px; width:16px; height:16px;
  border-radius:50%; background:#fff; transition:transform .2s;
  box-shadow:0 1px 4px rgba(0,0,0,0.25);
}
.tin-glass .switch.on,
.tin-glass .switch[data-on="true"]{
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  border-color:transparent;
}
.tin-glass .switch.on::after,
.tin-glass .switch[data-on="true"]::after{ transform:translateX(14px); }
.tin-glass .switch-wrap{ display:inline-flex; align-items:center; gap:8px; cursor:pointer; }
.tin-glass .switch-wrap input{ position:absolute; opacity:0; pointer-events:none; }
.tin-glass .switch-wrap input:checked + .switch{
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  border-color:transparent;
}
.tin-glass .switch-wrap input:checked + .switch::after{ transform:translateX(14px); }

/* ---- Banners ---- */
.tin-glass .banner{
  padding:12px 16px; border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid var(--line); backdrop-filter:blur(20px);
  font-size:13px; color:var(--text-2);
  display:flex; gap:10px; align-items:flex-start;
}
.tin-glass .banner.error{
  background:rgba(255,93,108,0.08); border-color:rgba(255,93,108,0.25); color:var(--red);
}
.tin-glass .banner.ok{
  background:rgba(52,224,161,0.08); border-color:rgba(52,224,161,0.25); color:var(--green);
}
.tin-glass .banner.warn{
  background:rgba(255,181,71,0.08); border-color:rgba(255,181,71,0.25); color:var(--amber);
}
.tin-glass .banner.info{
  background:rgba(124,158,255,0.08); border-color:rgba(124,158,255,0.25); color:var(--accent);
}
.tin-glass .banner code{
  font-family:"JetBrains Mono",monospace; font-size:11.5px;
  padding:1px 6px; border-radius:4px; background:rgba(255,255,255,0.08);
}
.tin-glass .banner a{ color:inherit; text-decoration:underline; }

/* ---- Section card with table flush against its body ---- */
.tin-glass .gcard-tbl-wrap{
  margin:0 18px 18px; border-radius:10px; overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
}
.tin-glass .gcard-tbl-wrap .tbl{ font-size:13px; }
.tin-glass .gcard-tbl-wrap .empty{
  padding:24px 16px; text-align:center; color:var(--text-3); font-size:12.5px;
}

/* ---- Code token (inline) ---- */
.tin-glass code.token,
.tin-glass .code-token{
  font-family:"JetBrains Mono",monospace; font-size:11.5px;
  padding:2px 7px; border-radius:5px;
  background:rgba(255,255,255,0.05); border:1px solid var(--line);
  color:var(--text-2);
}
.tin-glass[data-theme=light] code.token,
.tin-glass[data-theme=light] .code-token{ background:rgba(15,15,30,0.05); }
.tin-glass code.token.accent,
.tin-glass .code-token.accent{ color:var(--accent); }
.tin-glass code.token.green,
.tin-glass .code-token.green{ color:var(--green); }
.tin-glass code.token.red,
.tin-glass .code-token.red{ color:var(--red); }
.tin-glass code.token.amber,
.tin-glass .code-token.amber{ color:var(--amber); }

/* ---- Form stack ---- */
.tin-glass .form-stack{ display:grid; gap:14px; }
.tin-glass .form-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:720px){ .tin-glass .form-grid-2{ grid-template-columns:1fr; } }

/* ---- Sync filter pills (per-group filter row) ---- */
.tin-glass .filter-pills{ display:inline-flex; gap:6px; flex-wrap:wrap; margin-left:auto; }
.tin-glass .filter-pills .pill{ cursor:pointer; user-select:none; }
.tin-glass .filter-pills .pill.is-active{
  background:rgba(124,158,255,0.18); border-color:rgba(124,158,255,0.40); color:var(--accent);
}
/* sync-log table filter — hide rows that don't match the table's data-filter attribute */
.tin-glass .sync-log[data-filter="success"]   tr[data-status]:not([data-status="success"]){ display:none; }
.tin-glass .sync-log[data-filter="partial"]   tr[data-status]:not([data-status="partial"]){ display:none; }
.tin-glass .sync-log[data-filter="failed"]    tr[data-status]:not([data-status="failed"]){ display:none; }
.tin-glass .sync-log[data-filter="skipped"]   tr[data-status]:not([data-status="skipped"]){ display:none; }
.tin-glass .sync-log__expand-row td{ padding:0; }
.tin-glass .sync-log__expand{ padding:0; }
.tin-glass .sync-log__expand summary{
  cursor:pointer; padding:10px 14px; font-size:11.5px;
  color:var(--text-3); font-family:"JetBrains Mono",monospace; user-select:none;
}
.tin-glass .sync-log__expand summary:hover{ color:var(--accent); }
.tin-glass .sync-log--nested th,
.tin-glass .sync-log--nested thead{ display:none; }

/* ---- Audit log timeline ---- */
.tin-glass .audit-filters{
  display:flex; gap:14px; flex-wrap:wrap; align-items:center;
  padding:10px 14px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid var(--line); border-radius:12px; backdrop-filter:blur(20px);
}
.tin-glass .audit-filters .placements-toolbar__segment{
  display:inline-flex; gap:2px; padding:3px; border:1px solid var(--line);
  border-radius:10px; background:rgba(255,255,255,0.04); margin:0;
}
.tin-glass .audit-filters .placements-toolbar__segment-legend{
  font-size:10.5px; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--text-3); font-family:"JetBrains Mono",monospace;
  padding:0 8px 0 4px; align-self:center;
}
.tin-glass .audit-filters .placements-toolbar__segment-item{
  position:relative; padding:5px 11px; font-size:12px; color:var(--text-2);
  border-radius:7px; cursor:pointer;
}
.tin-glass .audit-filters .placements-toolbar__segment-item input{
  position:absolute; opacity:0; pointer-events:none;
}
.tin-glass .audit-filters .placements-toolbar__segment-item--active{
  background:rgba(255,255,255,0.10); color:var(--text); font-weight:500;
  box-shadow:inset 0 0 0 1px var(--line-strong);
}
.tin-glass[data-theme=light] .audit-filters .placements-toolbar__segment-item--active{ background:rgba(255,255,255,0.95); }
.tin-glass .audit-filters__actor{ display:inline-flex; align-items:center; gap:8px; }
.tin-glass .audit-filters__actor-label{
  font-size:10.5px; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--text-3); font-family:"JetBrains Mono",monospace;
}
.tin-glass .audit-filters__actor-select{ width:200px; }

.tin-glass .audit-feed{ display:flex; flex-direction:column; gap:18px; }
.tin-glass .audit-day{ display:flex; flex-direction:column; gap:0; }
.tin-glass .audit-day__header{
  display:flex; align-items:center; gap:10px;
  padding:0 0 8px 0;
}
.tin-glass .audit-day__rail{
  flex:0 0 12px; height:1px; background:var(--line-strong);
}
.tin-glass .audit-day__label{
  font-size:10.5px; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--text-3); font-family:"JetBrains Mono",monospace;
}
.tin-glass .audit-event{
  display:flex; gap:14px; padding:10px 0;
  border-bottom:1px solid var(--line);
}
.tin-glass .audit-event:last-child{ border-bottom:0; }
.tin-glass .audit-event__rail{
  flex:0 0 4px; align-self:stretch; border-radius:2px;
  background:linear-gradient(180deg, var(--accent), transparent);
  opacity:0.55;
}
.tin-glass .audit-event__body{ flex:1; min-width:0; }
.tin-glass .audit-event__head{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.tin-glass .audit-event__time{
  font-family:"JetBrains Mono",monospace; font-size:11.5px; color:var(--text-3);
}
.tin-glass .audit-event__actor{ font-size:12.5px; color:var(--text); font-weight:500; }
.tin-glass .audit-action{
  font-family:"JetBrains Mono",monospace; font-size:11.5px;
  padding:2px 7px; border-radius:5px;
  background:rgba(255,255,255,0.05); border:1px solid var(--line);
  color:var(--accent);
}
/* Colour modifiers — match the pill palette in glassy.css so the
   audit-action <code> tag reads as a same-family chip without
   needing its own pill background. */
.tin-glass .audit-action.green{ color:var(--green); }
.tin-glass .audit-action.red  { color:var(--red); }
.tin-glass .audit-action.amber{ color:var(--amber); }
.tin-glass .audit-action.blue { color:var(--accent); }
.tin-glass .audit-action.grey { color:var(--text-3); }
.tin-glass .audit-event__target{
  color:var(--text-2); font-size:12.5px;
}
.tin-glass .audit-event__meta{ margin:6px 0 0; padding:0; list-style:none; }
.tin-glass .audit-event__meta--inline{
  display:flex; gap:14px; flex-wrap:wrap;
  font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--text-3);
}
.tin-glass .audit-event__meta-key{ color:var(--text-3); }
.tin-glass .audit-event__meta-val{ color:var(--text-2); }
.tin-glass .audit-event__meta--expandable summary{
  cursor:pointer; font-family:"JetBrains Mono",monospace; font-size:11px;
  color:var(--text-3); padding:4px 0; user-select:none;
}
.tin-glass .audit-event__meta--expandable summary:hover{ color:var(--accent); }
.tin-glass .audit-event__meta-list{
  margin:6px 0 0; padding:0; display:grid; gap:4px;
  font-family:"JetBrains Mono",monospace; font-size:11px;
}
.tin-glass .audit-event__meta-row{ display:grid; grid-template-columns:120px 1fr; gap:10px; }
.tin-glass .audit-event__meta-row dt{ color:var(--text-3); margin:0; }
.tin-glass .audit-event__meta-row dd{ color:var(--text-2); margin:0; }
.tin-glass .audit-empty{
  padding:32px 16px; text-align:center; color:var(--text-3); font-size:13px;
}
.tin-glass .audit-load-more{ display:flex; justify-content:center; padding:14px 0; }

/* ---- Notification config rows ---- */
.tin-glass .notif-list{ display:flex; flex-direction:column; gap:14px; }
.tin-glass .notif-row{
  padding:16px 18px; border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid var(--line); backdrop-filter:blur(20px);
}
.tin-glass .notif-row__head{
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  margin-bottom:12px;
}
.tin-glass .notif-row__title{
  display:flex; align-items:center; gap:8px; margin-bottom:4px;
}
.tin-glass .notif-row__title strong{ font-size:13.5px; font-weight:600; }
.tin-glass .notif-row__event{
  font-family:"JetBrains Mono",monospace; font-size:11px;
  padding:1px 7px; border-radius:5px;
  background:rgba(255,255,255,0.05); border:1px solid var(--line);
  color:var(--text-2);
}
.tin-glass .notif-row__desc{ font-size:12.5px; color:var(--text-3); margin:0; }
.tin-glass .notif-row__enabled{
  display:flex; gap:8px; align-items:center; white-space:nowrap;
  font-size:12px; color:var(--text-2); cursor:pointer;
}
.tin-glass .notif-row__grid{
  display:grid; grid-template-columns:1fr 2fr; gap:18px; margin-bottom:12px;
}
@media (max-width:720px){ .tin-glass .notif-row__grid{ grid-template-columns:1fr; } }
.tin-glass .notif-row__hint{ font-size:11px; color:var(--text-3); margin:6px 0 0; }
.tin-glass .notif-row__hint code{
  font-family:"JetBrains Mono",monospace; font-size:11px;
  padding:1px 5px; border-radius:4px; background:rgba(255,255,255,0.06);
}
.tin-glass .notif-row__tmpl{
  font-family:"JetBrains Mono",monospace; font-size:12px; min-height:120px;
  resize:vertical;
}
.tin-glass .notif-row__styles{ display:flex; gap:8px; align-items:center; margin-bottom:6px; }
.tin-glass .notif-row__style-picker{ max-width:220px; }
.tin-glass .notif-row__badge{
  font-size:10px; padding:1px 7px; border-radius:99px;
  background:rgba(124,158,255,0.10); border:1px solid rgba(124,158,255,0.25);
  color:var(--accent); margin-left:6px;
}
.tin-glass .notif-row__preview-wrap{ margin-top:10px; }
.tin-glass .notif-preview,
.tin-glass .notify-preview{
  white-space:pre-wrap; background:rgba(255,255,255,0.04); border:1px solid var(--line);
  padding:8px 12px; border-radius:8px; font-size:12.5px; margin:4px 0 0;
  max-height:180px; overflow:auto; color:var(--text);
  font-family:"JetBrains Mono",monospace;
}
.tin-glass .notif-preview-error,
.tin-glass .notify-preview-error{ color:var(--red); }
.tin-glass .notif-row__actions{ display:flex; gap:8px; }
.tin-glass .notif-row__flash{
  padding:8px 12px; border-radius:8px; margin-bottom:12px; font-size:12.5px;
}
.tin-glass .notif-row__flash--ok{
  background:rgba(52,224,161,0.10); border:1px solid rgba(52,224,161,0.25); color:var(--green);
}
.tin-glass .notif-row__flash--error{
  background:rgba(255,93,108,0.10); border:1px solid rgba(255,93,108,0.25); color:var(--red);
}

/* ---- Notifications-log filter chips ---- */
.tin-glass .notif-log-filter{ display:flex; gap:8px; margin-bottom:14px; }
.tin-glass .notif-log-filter .chip{
  padding:5px 13px; border-radius:99px;
  background:rgba(255,255,255,0.05); border:1px solid var(--line);
  color:var(--text-2); font-size:12px; text-decoration:none;
}
.tin-glass .notif-log-filter .chip:hover{ background:rgba(255,255,255,0.08); color:var(--text); }
.tin-glass .notif-log-filter .chip--active{
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  color:#fff; border-color:transparent;
}
.tin-glass .notif-log__message{ max-width:480px; }
.tin-glass .notif-log__rendered{
  font-family:"JetBrains Mono",monospace; font-size:11px; white-space:pre-wrap;
  margin:0; background:rgba(255,255,255,0.04); padding:6px 10px; border-radius:6px;
  border:1px solid var(--line); color:var(--text-2);
}
.tin-glass .notif-log__err{ font-size:11px; color:var(--red); font-family:"JetBrains Mono",monospace; }
.tin-glass .notif-log__muted{ color:var(--text-3); }

/* ---- Sync sub-group card ---- */
.tin-glass .sync-group{ }
.tin-glass .sync-group__header{
  display:flex; align-items:center; gap:12px; padding:14px 18px;
  border-bottom:1px solid var(--line);
}
.tin-glass .sync-group__meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.tin-glass .sync-group__title{
  margin:0; font-size:14px; font-weight:600;
  font-family:"JetBrains Mono",monospace; letter-spacing:-0.01em;
}
.tin-glass .sync-group__hint{
  font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--text-3);
}

/* ---- Stub / mapping mini-cards (sync page secondary tables) ---- */
.tin-glass .mapcard{
  padding:0; overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid var(--line); border-radius:14px; backdrop-filter:blur(20px);
}
.tin-glass .mapcard-head{
  padding:14px 18px; display:flex; align-items:center; justify-content:space-between;
  gap:12px; border-bottom:1px solid var(--line);
}
.tin-glass .mapcard-head h3{ margin:0 0 2px 0; font-size:14px; font-weight:600; }
.tin-glass .mapcard-head p{ margin:0; font-size:12px; color:var(--text-3); }
.tin-glass .mapcard-empty{
  padding:28px 18px; text-align:center; color:var(--text-3); font-size:12.5px;
}

/* ---- Integrations row (admin settings) ---- */
.tin-glass .integrations{ display:flex; flex-direction:column; gap:0; }
.tin-glass .integration-row{
  display:flex; align-items:center; gap:12px; padding:10px 0;
  border-bottom:1px solid var(--line);
}
.tin-glass .integration-row:last-child{ border-bottom:0; }
.tin-glass .integration-row__ico{
  width:32px; height:32px; border-radius:9px;
  background:rgba(255,255,255,0.06); border:1px solid var(--line);
  display:grid; place-items:center;
  font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--text-2);
  flex:0 0 32px;
}
.tin-glass .integration-row__body{ flex:1; min-width:0; }
.tin-glass .integration-row__name{ font-size:13.5px; font-weight:500; }
.tin-glass .integration-row__desc{
  font-size:11.5px; color:var(--text-3); margin-top:2px;
}
.tin-glass .integration-row__desc .mono{
  font-family:"JetBrains Mono",monospace; color:var(--text-2);
}

/* ---- GDPR danger card ---- */
.tin-glass .danger-card{
  padding:24px;
  border:1px solid rgba(255,93,108,0.40);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,93,108,0.05), rgba(255,255,255,0.02));
  backdrop-filter:blur(20px);
}
.tin-glass .danger-heading{
  background:linear-gradient(135deg, var(--red), var(--aurora-c));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.tin-glass .danger-callout{
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
  padding:14px; border-radius:12px;
  background:rgba(255,93,108,0.10); border:1px solid rgba(255,93,108,0.30);
  font-size:13px;
}
.tin-glass .info-box{
  padding:16px 18px; border-radius:12px;
  background:rgba(255,255,255,0.03); border:1px solid var(--line);
}
.tin-glass .info-box__label{
  font-size:11px; color:var(--text-3); font-family:"JetBrains Mono",monospace;
  text-transform:uppercase; letter-spacing:0.14em; margin-bottom:10px;
}
.tin-glass .info-box ul{
  margin:0; padding-left:18px; font-size:13px; color:var(--text-2); line-height:1.7;
}

/* ---- Settings (personal) nav ---- */
.tin-glass .settings-layout{
  display:grid; grid-template-columns:220px 1fr; gap:18px;
}
@media (max-width:880px){ .tin-glass .settings-layout{ grid-template-columns:1fr; } }
.tin-glass .settings-nav{
  padding:0; align-self:start;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid var(--line); border-radius:14px; backdrop-filter:blur(20px);
  overflow:hidden;
}
.tin-glass .settings-nav__item{
  padding:12px 16px; border-top:1px solid var(--line);
  font-size:13px; cursor:pointer; color:var(--text-2);
  border-left:2px solid transparent;
}
.tin-glass .settings-nav__item:first-child{ border-top:0; }
.tin-glass .settings-nav__item.active{
  background:rgba(124,158,255,0.10); color:var(--text); font-weight:600;
  border-left-color:var(--accent);
}
.tin-glass .settings-nav__item--link{
  color:var(--text-2); text-decoration:none; display:block;
}
.tin-glass .settings-nav__item--link:hover{ color:var(--text); background:rgba(255,255,255,0.04); }
/* Preserve the active state's text colour on anchor-link nav items —
   without this, `--link`'s `color: var(--text-2)` (declared after the
   shared `.active` rule with equal specificity) would mute active links. */
.tin-glass .settings-nav__item--link.active{ color:var(--text); font-weight:600; }
.tin-glass .settings-nav__item--soon{
  opacity:0.5; cursor:not-allowed; pointer-events:none;
}

/* ---- Auth glass shell (login, pending) ---- */
/* Override `.tin-glass`'s `height:100%; overflow:hidden` so auth pages
   (which skip `base.html` and apply `.tin-glass` directly to <body>)
   can scroll on small viewports instead of clipping the card. */
.tin-glass.auth{
  display:flex; align-items:center; justify-content:center;
  min-height:100vh; height:auto; overflow-y:auto; padding:24px;
}
.tin-glass .auth-card{
  position:relative; z-index:1; width:440px; padding:36px 40px;
  background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  border:1px solid var(--line-strong); border-radius:20px;
  backdrop-filter:blur(40px);
  box-shadow:0 30px 80px -20px rgba(0,0,0,0.55);
}
.tin-glass[data-theme=light] .auth-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(248,250,255,0.85));
  box-shadow:0 30px 80px -20px rgba(20,30,60,0.18);
}
.tin-glass .auth-card--wide{ width:520px; text-align:center; }
.tin-glass .auth-brand{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px;
  margin-bottom:22px; color:var(--text);
}
.tin-glass .auth-brand-wordmark{ height:36px; width:auto; display:block; }
.tin-glass .auth-brand-product{
  font-size:20px; font-weight:600; letter-spacing:0.02em;
  color:var(--text); margin-top:4px;
}
.tin-glass .auth-brand-tag{
  font-size:11px; color:var(--text-3); font-family:"JetBrains Mono",monospace;
  text-transform:uppercase; letter-spacing:0.14em;
}
.tin-glass .auth-title{
  font-size:28px; font-weight:500; letter-spacing:-0.025em; margin:0 0 8px;
  background:linear-gradient(180deg, var(--text), var(--text-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.tin-glass .auth-sub{
  margin:0 0 28px; font-size:13.5px; color:var(--text-2); line-height:1.5;
}
.tin-glass .auth-divider{
  margin:20px 0; display:flex; align-items:center; gap:10px;
  font-family:"JetBrains Mono",monospace; font-size:10.5px; color:var(--text-3);
  text-transform:uppercase; letter-spacing:0.14em;
}
.tin-glass .auth-divider::before,
.tin-glass .auth-divider::after{
  content:''; flex:1; height:1px; background:var(--line);
}
.tin-glass .auth-status{
  margin-top:24px; padding:14px; border-radius:10px;
  background:rgba(255,255,255,0.03); border:1px solid var(--line);
}
.tin-glass .auth-status__label{
  font-size:11px; color:var(--text-3); font-family:"JetBrains Mono",monospace;
  text-transform:uppercase; letter-spacing:0.14em; margin-bottom:6px;
}
.tin-glass .auth-status__body{
  font-size:13px; color:var(--text-2); display:flex; align-items:center; gap:8px;
}
.tin-glass .auth-status__dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--green); box-shadow:0 0 8px var(--green);
}
.tin-glass .auth-pending-ico{
  width:72px; height:72px; border-radius:24px; margin:0 auto 24px;
  background:linear-gradient(135deg, var(--amber), var(--aurora-c));
  display:grid; place-items:center; color:#fff;
  box-shadow:0 18px 50px rgba(255,181,71,0.35);
}
.tin-glass .auth-alert{
  margin-bottom:16px; padding:12px 16px; border-radius:10px;
  background:rgba(255,93,108,0.10); border:1px solid rgba(255,93,108,0.30);
  color:var(--red); font-size:13px;
}
.tin-glass .auth-btn-full{
  width:100%; justify-content:center; padding:11px 16px; font-size:14px;
  margin-bottom:10px;
}

/* ---- Misc ops helpers ---- */
.tin-glass .stack-12{ display:flex; flex-direction:column; gap:12px; }
.tin-glass .stack-18{ display:flex; flex-direction:column; gap:18px; }
.tin-glass .row-between{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tin-glass .text-mono{ font-family:"JetBrains Mono",monospace; font-variant-numeric:tabular-nums; }
.tin-glass .text-muted{ color:var(--text-3); }
.tin-glass .text-2{ color:var(--text-2); }
.tin-glass .pull-right{ margin-left:auto; }
.tin-glass .meta-mono{
  font-family:"JetBrains Mono",monospace; font-size:11px; color:var(--text-3);
}
