/* =========================================================
   globalLp Professional Theme — single palette, no mixtures
   Graphite desk: ink + gray + white. Green/red only for status.
   ========================================================= */

:root,
html[data-theme="light"],
body.gl-sneat-shell,
body.gl-metronic-shell{
  --pro-ink:#121417;
  --pro-ink-soft:#2a2f36;
  --pro-muted:#6b7280;
  --pro-line:#e6e8ec;
  --pro-bg:#f5f6f8;
  --pro-bg-soft:#eef0f3;
  --pro-surface:#ffffff;
  --pro-surface-2:#fafbfc;
  --pro-success:#15803d;
  --pro-success-bg:rgba(21,128,61,.10);
  --pro-danger:#b91c1c;
  --pro-danger-bg:rgba(185,28,28,.08);
  --pro-warn:#a16207;
  --pro-warn-bg:rgba(161,98,7,.10);
  --pro-radius:10px;
  --pro-radius-lg:14px;
  --pro-shadow:none;

  /* Kill legacy mixed accents — map everything to ink */
  --gl-accent:#121417;
  --gl-accent-strong:#121417;
  --gl-accent-soft:#6b7280;
  --gl-accent-rgb:18,20,23;
  --gl-accent-strong-rgb:18,20,23;
  --gl-accent-soft-rgb:107,114,128;
}

html[data-theme="dark"],
body[data-theme="dark"].gl-sneat-shell,
body[data-theme="dark"].gl-metronic-shell{
  --pro-ink:#f3f4f6;
  --pro-ink-soft:#d1d5db;
  --pro-muted:#9ca3af;
  --pro-line:rgba(243,244,246,.10);
  --pro-bg:#0c0e11;
  --pro-bg-soft:#12151a;
  --pro-surface:#161a20;
  --pro-surface-2:#1b2028;
  --pro-success:#4ade80;
  --pro-success-bg:rgba(74,222,128,.12);
  --pro-danger:#f87171;
  --pro-danger-bg:rgba(248,113,113,.12);
  --pro-warn:#fbbf24;
  --pro-warn-bg:rgba(251,191,36,.12);
  --gl-accent:#f3f4f6;
  --gl-accent-strong:#f3f4f6;
  --gl-accent-soft:#9ca3af;
  --gl-accent-rgb:243,244,246;
  --gl-accent-strong-rgb:243,244,246;
  --gl-accent-soft-rgb:156,163,175;
}

/* ---- App chrome ---- */
body.gl-sneat-shell,
body.gl-metronic-shell{
  background:var(--pro-bg) !important;
  color:var(--pro-ink);
  font-family:"Public Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body.gl-sneat-shell .gl-app-shell,
body.gl-metronic-shell .gl-app-main{
  background:transparent !important;
}

body.gl-sneat-shell .gl-app-sidebar{
  background:var(--pro-surface) !important;
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius-lg) !important;
  box-shadow:none !important;
}

body.gl-sneat-shell .gl-app-topbar{
  background:var(--pro-surface) !important;
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius-lg) !important;
  box-shadow:none !important;
}

body.gl-sneat-shell .gl-brand-name,
body.gl-sneat-shell .gl-app-topbar-title{
  font-family:"Bricolage Grotesque",sans-serif;
  color:var(--pro-ink) !important;
  letter-spacing:-.03em;
}

body.gl-sneat-shell .gl-brand-meta,
body.gl-sneat-shell .gl-app-topbar-kicker,
body.gl-sneat-shell .gl-app-topbar-subtitle,
body.gl-sneat-shell .gl-app-nav-section{
  color:var(--pro-muted) !important;
}

body.gl-sneat-shell .gl-sneat-logo,
body.gl-sneat-shell .gl-sneat-logo-admin{
  background:var(--pro-ink) !important;
  border:0 !important;
  border-radius:10px !important;
  box-shadow:none !important;
  color:#fff !important;
}

body.gl-sneat-shell .gl-brand-mark{
  width:2.75rem;
  height:2.75rem;
  border-radius:10px;
  display:block;
  flex:0 0 auto;
  object-fit:cover;
}

body.gl-sidebar-collapsed .gl-brand-mark{
  width:3rem;
  height:3rem;
}

.gl-auth-brand{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  margin:0 0 1rem;
  text-decoration:none;
  color:inherit;
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:1.2rem;
  font-weight:800;
  letter-spacing:-.04em;
}

.gl-auth-brand:hover{
  color:inherit;
  opacity:.85;
}

.gl-auth-brand .gl-brand-mark{
  width:2.5rem;
  height:2.5rem;
}

body[data-theme="dark"].gl-sneat-shell .gl-sneat-logo,
body[data-theme="dark"].gl-sneat-shell .gl-sneat-logo-admin{
  background:var(--pro-ink) !important;
  color:#0c0e11 !important;
}

body.gl-sneat-shell .gl-app-nav-link{
  border-radius:10px !important;
  color:var(--pro-ink-soft) !important;
  border:0 !important;
  background:transparent !important;
  font-weight:600;
}

body.gl-sneat-shell .gl-app-nav-link i{
  color:var(--pro-muted) !important;
}

body.gl-sneat-shell .gl-app-nav-link:hover,
body.gl-sneat-shell .gl-app-nav-link.active{
  background:var(--pro-bg-soft) !important;
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .gl-app-nav-link:hover i,
body.gl-sneat-shell .gl-app-nav-link.active i{
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .gl-user-badge{
  background:var(--pro-ink) !important;
  color:#fff !important;
  border-radius:10px !important;
  font-family:"Bricolage Grotesque",sans-serif;
  font-weight:800;
  box-shadow:none !important;
}

body[data-theme="dark"].gl-sneat-shell .gl-user-badge{
  background:var(--pro-ink) !important;
  color:#0c0e11 !important;
}

/* Hide multi-palette switcher — one professional look */
body.gl-sneat-shell .gl-theme-preset-trigger,
body.gl-sneat-shell .gl-theme-preset-menu{
  display:none !important;
}

/* ---- Buttons: one system ---- */
body.gl-sneat-shell .btn{
  border-radius:var(--pro-radius) !important;
  font-family:"Public Sans",sans-serif;
  font-weight:700;
  letter-spacing:-.01em;
  box-shadow:none !important;
  transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

body.gl-sneat-shell .btn:hover{ transform:translateY(-1px); }
body.gl-sneat-shell .btn-sm{ border-radius:8px !important; }

body.gl-sneat-shell .btn-primary,
body.gl-sneat-shell .btn-primary:focus,
body.gl-sneat-shell .btn-primary:active,
body.gl-sneat-shell .btn-check:checked + .btn-primary{
  background:var(--pro-ink) !important;
  border-color:var(--pro-ink) !important;
  color:#fff !important;
}

body[data-theme="dark"].gl-sneat-shell .btn-primary,
body[data-theme="dark"].gl-sneat-shell .btn-primary:focus,
body[data-theme="dark"].gl-sneat-shell .btn-primary:active{
  background:var(--pro-ink) !important;
  border-color:var(--pro-ink) !important;
  color:#0c0e11 !important;
}

body.gl-sneat-shell .btn-primary:hover{
  background:var(--pro-ink-soft) !important;
  border-color:var(--pro-ink-soft) !important;
  color:#fff !important;
}

body[data-theme="dark"].gl-sneat-shell .btn-primary:hover{
  background:#fff !important;
  border-color:#fff !important;
  color:#0c0e11 !important;
}

body.gl-sneat-shell .btn-light-primary,
body.gl-sneat-shell .btn-light-primary:focus{
  background:var(--pro-bg-soft) !important;
  border:1px solid var(--pro-line) !important;
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .btn-light-primary:hover{
  background:var(--pro-ink) !important;
  border-color:var(--pro-ink) !important;
  color:#fff !important;
}

body[data-theme="dark"].gl-sneat-shell .btn-light-primary:hover{
  color:#0c0e11 !important;
}

body.gl-sneat-shell .btn-outline-primary,
body.gl-sneat-shell .btn-outline-primary:focus,
body.gl-sneat-shell .btn-outline-secondary,
body.gl-sneat-shell .btn-outline-secondary:focus{
  background:transparent !important;
  border:1px solid var(--pro-line) !important;
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .btn-outline-primary:hover,
body.gl-sneat-shell .btn-outline-secondary:hover{
  background:var(--pro-bg-soft) !important;
  border-color:var(--pro-ink-soft) !important;
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .btn-outline-danger,
body.gl-sneat-shell .btn-outline-danger:focus{
  background:transparent !important;
  border:1px solid rgba(185,28,28,.35) !important;
  color:var(--pro-danger) !important;
}

body.gl-sneat-shell .btn-outline-danger:hover{
  background:var(--pro-danger) !important;
  border-color:var(--pro-danger) !important;
  color:#fff !important;
}

body.gl-sneat-shell .btn-icon,
body.gl-sneat-shell .btn.rounded-circle{
  border-radius:10px !important;
  background:var(--pro-bg-soft) !important;
  border:1px solid var(--pro-line) !important;
  color:var(--pro-ink) !important;
}

/* ---- Surfaces ---- */
body.gl-sneat-shell .gl-panel,
body.gl-sneat-shell .sneat-section-card,
body.gl-sneat-shell .card,
body.gl-sneat-shell .gl-stat-card,
body.gl-sneat-shell .gl-stat-card-modern,
body.gl-sneat-shell .sneat-mini-stat,
body.gl-sneat-shell .gl-mini-card,
body.gl-sneat-shell .gl-step-card,
body.gl-sneat-shell .gl-note,
body.gl-sneat-shell .gl-empty,
body.gl-sneat-shell .gl-filter-pill,
body.gl-sneat-shell .gl-action-card,
body.gl-sneat-shell .gl-feed-item,
body.gl-sneat-shell .gl-timeline-content{
  background:var(--pro-surface) !important;
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius-lg) !important;
  box-shadow:none !important;
  color:var(--pro-ink);
}

body.gl-sneat-shell .gl-stat-card-modern:after,
body.gl-sneat-shell .sneat-mini-stat:after{
  display:none !important;
}

body.gl-sneat-shell .card-header{
  border-bottom:1px solid var(--pro-line) !important;
  background:transparent !important;
}

body.gl-sneat-shell .gl-section-title,
body.gl-sneat-shell .gl-step-title,
body.gl-sneat-shell .gl-stat-value,
body.gl-sneat-shell .gl-action-title{
  font-family:"Bricolage Grotesque",sans-serif;
  color:var(--pro-ink) !important;
  letter-spacing:-.03em;
}

body.gl-sneat-shell .gl-section-subtitle,
body.gl-sneat-shell .gl-step-text,
body.gl-sneat-shell .gl-muted,
body.gl-sneat-shell .gl-small,
body.gl-sneat-shell .gl-stat-label,
body.gl-sneat-shell .text-muted{
  color:var(--pro-muted) !important;
}

body.gl-sneat-shell .gl-step-icon{
  width:2.5rem;
  height:2.5rem;
  border-radius:10px;
  background:var(--pro-ink) !important;
  color:#fff !important;
  display:inline-grid;
  place-items:center;
  box-shadow:none !important;
}

body[data-theme="dark"].gl-sneat-shell .gl-step-icon{
  color:#0c0e11 !important;
}

body.gl-sneat-shell .gl-step-arrow{
  color:var(--pro-muted) !important;
}

body.gl-sneat-shell .gl-step-card:hover{
  border-color:var(--pro-ink-soft) !important;
  background:var(--pro-surface-2) !important;
}

/* ---- Pills / badges ---- */
body.gl-sneat-shell .gl-pill,
body.gl-sneat-shell .gl-chip,
body.gl-sneat-shell .gl-top-chip,
body.gl-sneat-shell .badge{
  border-radius:8px !important;
  font-weight:700;
  box-shadow:none !important;
}

body.gl-sneat-shell .gl-pill,
body.gl-sneat-shell .badge.text-bg-secondary,
body.gl-sneat-shell .badge.text-bg-light{
  background:var(--pro-bg-soft) !important;
  color:var(--pro-ink-soft) !important;
  border:1px solid var(--pro-line) !important;
}

body.gl-sneat-shell .badge.text-bg-success,
body.gl-sneat-shell .gl-pill-success{
  background:var(--pro-success-bg) !important;
  color:var(--pro-success) !important;
  border:1px solid rgba(21,128,61,.22) !important;
}

body.gl-sneat-shell .badge.text-bg-warning{
  background:var(--pro-warn-bg) !important;
  color:var(--pro-warn) !important;
  border:1px solid rgba(161,98,7,.22) !important;
}

body.gl-sneat-shell .badge.text-bg-danger{
  background:var(--pro-danger-bg) !important;
  color:var(--pro-danger) !important;
  border:1px solid rgba(185,28,28,.22) !important;
}

/* ---- Forms / tables ---- */
body.gl-sneat-shell .form-control,
body.gl-sneat-shell .form-select,
body.gl-sneat-shell textarea.form-control,
body.gl-sneat-shell .input-group-text{
  border-radius:var(--pro-radius) !important;
  border-color:var(--pro-line) !important;
  background:var(--pro-surface) !important;
  color:var(--pro-ink) !important;
  box-shadow:none !important;
}

body.gl-sneat-shell .form-control:focus,
body.gl-sneat-shell .form-select:focus,
body.gl-sneat-shell textarea.form-control:focus{
  border-color:var(--pro-ink-soft) !important;
  box-shadow:0 0 0 .15rem rgba(18,20,23,.08) !important;
}

body.gl-sneat-shell .gl-table-wrap{
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius-lg) !important;
  background:var(--pro-surface) !important;
  box-shadow:none !important;
  overflow:hidden;
}

body.gl-sneat-shell .table thead th{
  background:var(--pro-bg-soft) !important;
  color:var(--pro-muted) !important;
  border-bottom-color:var(--pro-line) !important;
  font-size:.7rem;
  letter-spacing:.08em;
}

body.gl-sneat-shell .table tbody td,
body.gl-sneat-shell .table tbody th{
  color:var(--pro-ink) !important;
  border-bottom-color:var(--pro-line) !important;
}

body.gl-sneat-shell .table tbody tr:hover{
  background:var(--pro-bg-soft) !important;
}

body.gl-sneat-shell .dropdown-menu,
body.gl-sneat-shell .ts-dropdown,
body.gl-sneat-shell .modal-content{
  background:var(--pro-surface) !important;
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius-lg) !important;
  box-shadow:0 16px 40px rgba(18,20,23,.12) !important;
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .dropdown-item,
body.gl-sneat-shell .ts-dropdown .option{
  color:var(--pro-ink) !important;
  border-radius:8px;
}

body.gl-sneat-shell .dropdown-item:hover,
body.gl-sneat-shell .dropdown-item:focus,
body.gl-sneat-shell .dropdown-item.active,
body.gl-sneat-shell .ts-dropdown .option.active,
body.gl-sneat-shell .ts-dropdown .option.selected{
  background:var(--pro-bg-soft) !important;
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .alert{
  border-radius:var(--pro-radius) !important;
  border:1px solid var(--pro-line) !important;
  background:var(--pro-bg-soft) !important;
  color:var(--pro-ink) !important;
  box-shadow:none !important;
}

body.gl-sneat-shell .alert-success{
  background:var(--pro-success-bg) !important;
  border-color:rgba(21,128,61,.22) !important;
  color:var(--pro-success) !important;
}

body.gl-sneat-shell .alert-warning{
  background:var(--pro-warn-bg) !important;
  border-color:rgba(161,98,7,.22) !important;
  color:var(--pro-warn) !important;
}

body.gl-sneat-shell .progress{
  background:var(--pro-bg-soft) !important;
  border-radius:999px;
}

body.gl-sneat-shell .progress-bar,
body.gl-sneat-shell .progress-bar.bg-success{
  background:var(--pro-ink) !important;
}

/* ---- Auth cards ---- */
body.gl-sneat-shell .sneat-auth-card,
body.gl-sneat-shell .gl-auth-card{
  background:var(--pro-surface) !important;
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius-lg) !important;
  box-shadow:none !important;
}

body.gl-sneat-shell .sneat-auth-card::before{
  display:none !important;
}

body.gl-sneat-shell .sneat-auth-card h4,
body.gl-sneat-shell .sneat-auth-card .form-label{
  color:var(--pro-ink) !important;
}

body.gl-sneat-shell .sneat-auth-card p,
body.gl-sneat-shell .sneat-auth-card span,
body.gl-sneat-shell .sneat-auth-card small{
  color:var(--pro-muted) !important;
}

body.gl-sneat-shell .sneat-auth-card .btn-primary{
  background:var(--pro-ink) !important;
  border-color:var(--pro-ink) !important;
}

body.gl-sneat-shell .form-check-input:checked{
  background-color:var(--pro-ink) !important;
  border-color:var(--pro-ink) !important;
}

/* Neutralize preset-specific leftover color rules */
body[data-theme-preset="sand-gold"].gl-sneat-shell,
body[data-theme-preset="slate-bronze"].gl-sneat-shell,
body[data-theme="dark"][data-theme-preset="sand-gold"].gl-sneat-shell,
body[data-theme="dark"][data-theme-preset="slate-bronze"].gl-sneat-shell{
  background:var(--pro-bg) !important;
}

/* ---- Inner workspace density ---- */
body.gl-metronic-auth .gl-app-content .container-xxl{
  max-width:1180px;
}

body.gl-metronic-auth .container-p-y{
  padding-top:1rem !important;
  padding-bottom:1.5rem !important;
}

body.gl-metronic-auth .gl-app-topbar{
  padding:.85rem 1rem !important;
  margin-bottom:.35rem;
}

body.gl-metronic-auth .gl-app-topbar-subtitle{
  font-size:.82rem !important;
}

body.gl-metronic-auth .gl-app-sidebar{
  padding:.85rem .7rem !important;
}

body.gl-metronic-auth .gl-app-nav-link{
  padding:.55rem .7rem !important;
  font-size:.9rem;
}

body.gl-metronic-auth .gl-app-nav-section{
  margin-top:.55rem;
  margin-bottom:.25rem;
  font-size:.68rem;
}

body.gl-metronic-auth .card-header{
  padding:.85rem 1rem .65rem !important;
}

body.gl-metronic-auth .card-body{
  padding:.85rem 1rem 1rem !important;
}

body.gl-metronic-auth .gl-section-title{
  font-size:1.02rem !important;
  margin-bottom:.15rem;
}

body.gl-metronic-auth .gl-section-subtitle{
  font-size:.84rem !important;
}

body.gl-metronic-auth .gl-stat-card,
body.gl-metronic-auth .sneat-mini-stat{
  padding:.9rem 1rem !important;
}

body.gl-metronic-auth .gl-stat-icon,
body.gl-metronic-auth .gl-card-icon{
  display:none !important;
}

body.gl-metronic-auth .table thead th{
  padding:.65rem .8rem !important;
}

body.gl-metronic-auth .table tbody td{
  padding:.75rem .8rem !important;
}

body.gl-metronic-auth .gl-inline-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:flex-end;
}

/* ---- Compact dashboard ---- */
.ws-dash{ display:grid; gap:1rem; }

.ws-kpi-row{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
}

.ws-kpi{
  flex:1 1 140px;
  min-width:0;
  background:var(--pro-surface);
  border:1px solid var(--pro-line);
  border-radius:12px;
  padding:.8rem .95rem;
  display:grid;
  gap:.2rem;
}

.ws-kpi span{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--pro-muted);
}

.ws-kpi strong{
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--pro-ink);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ws-block{ margin:0 !important; }

.ws-steps{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:.55rem;
}

.ws-step{
  display:flex;
  align-items:center;
  gap:.65rem;
  width:100%;
  border:1px solid var(--pro-line);
  background:var(--pro-surface-2);
  border-radius:10px;
  padding:.7rem .8rem;
  text-align:left;
  transition:border-color .15s ease, background .15s ease;
}

.ws-step:hover{
  border-color:#c5c9d0;
  background:#fff;
}

body[data-theme="dark"] .ws-step:hover{
  background:var(--pro-surface-2);
  border-color:rgba(243,244,246,.18);
}

.ws-step-n{
  width:1.55rem;
  height:1.55rem;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:var(--pro-ink);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  flex:0 0 auto;
}

body[data-theme="dark"] .ws-step-n{
  color:#0c0e11;
}

.ws-step-t{
  font-weight:700;
  font-size:.92rem;
  color:var(--pro-ink);
}

.ws-table .gl-small{ margin-top:.1rem; }

.ws-kv{
  display:grid;
  gap:.55rem;
}

.ws-kv > div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.55rem 0;
  border-bottom:1px solid var(--pro-line);
}

.ws-kv > div:last-child{ border-bottom:0; }

.ws-kv span{ color:var(--pro-muted); font-size:.9rem; }
.ws-kv strong{ color:var(--pro-ink); font-weight:700; }

.ws-activity{ display:grid; gap:.15rem; }

.ws-activity-row{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  padding:.65rem 0;
  border-bottom:1px solid var(--pro-line);
}

.ws-activity-row:last-child{ border-bottom:0; }

.ws-plan{
  border:1px solid var(--pro-line);
  border-radius:12px;
  background:var(--pro-surface-2);
  padding:.9rem 1rem;
  height:100%;
}

.ws-plan-featured{
  border-color:#c5c9d0 !important;
}

.ws-price{
  display:flex;
  align-items:baseline;
  gap:.45rem;
}

.ws-price strong{
  font-family:"Bricolage Grotesque",sans-serif;
  font-size:1.7rem;
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--pro-ink);
  line-height:1;
}

.ws-price span{
  color:var(--pro-muted);
  font-size:.9rem;
}

.ws-feature-list{
  margin:0;
  padding-left:1.1rem;
  display:grid;
  gap:.35rem;
  color:var(--pro-ink-soft);
  font-size:.9rem;
}

@media (max-width:767.98px){
  .ws-kpi{ flex-basis:calc(50% - .65rem); }
  .ws-steps{ grid-template-columns:1fr 1fr; }
}

@media (max-width:575.98px){
  .ws-steps{ grid-template-columns:1fr; }
}
