/* =========================================================
   EventPal – Core UI Styles (admin/vendor side)
   Location: assets/css/styles.css
   ========================================================= */

/* ---------- CSS Variables ---------- */
/* Tuned for higher contrast but same dark feel */
:root{
  --bg: #050711;
  --surface: #0d101a;
  --surface-2: #151827;
  --text: #f9fafb;
  --muted: #a7b0be;
  --border: #262a3d;
  --accent: #3B82F6;
  --accent-2: #3B82F6;
  --danger: #f97373;
  --warning: #fbbf24;
  --success: #22c55e;
  --info: #38bdf8;

  --st-new: #60a5fa;
  --st-lead: #38BDF8;
  --st-pending: #fbbf24;
  --st-booked: #22c55e;
  --st-expired: #f97373;

  --shadow-1: 0 14px 40px rgba(0,0,0,.35);
  --shadow-2: 0 20px 60px rgba(0,0,0,.5);

  --focus-ring: 0 0 0 2px rgba(59,130,246,.55);
}

/* ---------- Base / Reset ---------- */
*{ box-sizing:border-box; }
html, body{ height:100%; }
body{
  margin:0;
  background: radial-gradient(circle at top, #111827 0, var(--bg) 42%, #020308 100%);
  color: var(--text);
  font: 14px/1.6 system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", -system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Links */
a{
  color: var(--accent);
  text-decoration: none;
}
a:hover{
  text-decoration: underline;
}

/* Utilities */
.hidden{ display:none !important; }
.muted{ color: var(--muted); }
.small{ font-size: 12px; }
.xsmall{ font-size: 11.5px; }
.center{ text-align:center; }

/* Spacing */
.mt-8{ margin-top:8px; }
.mt-12{ margin-top:12px; }
.mt-16{ margin-top:16px; }
.mb-8{ margin-bottom:8px; }

/* ---------- Brand ---------- */
.brand{
  display:flex; align-items:center; gap:10px; font-weight:600;
}
.brand__logo,.brand-dot{
  width:11px; height:11px; border-radius:50%;
  background: radial-gradient(circle at 30% 0, #DBEAFE, #3B82F6 40%, #1D4ED8 100%);
  box-shadow: 0 0 10px rgba(59,130,246,.9);
}

/* ---------- Top Navigation ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:10px 18px;
  background: rgba(5,7,17,.96);
  border-bottom:1px solid var(--border);
  backdrop-filter: blur(12px);
}
.nav .row{ display:flex; align-items:center; gap:10px; }

/* ---------- Layout ---------- */
.layout{
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:calc(100vh - 56px);
}
@media (max-width:980px){
  .layout{ grid-template-columns:1fr; }
  .sidebar{ position:sticky; top:56px; z-index:40; }
}

/* ---------- Sidebar ---------- */
.sidebar{
  padding:16px 14px;
  border-right:1px solid var(--border);
  background:
    radial-gradient(circle at 0 0, rgba(59,130,246,.08), transparent 55%),
    linear-gradient(180deg, #050814, #020308);
}
.side-nav{ display:grid; gap:8px; }
.side-section{
  margin:8px 0 4px;
  color: var(--muted);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:11px;
}
.side-link{
  display:block;
  padding:8px 10px;
  border-radius:10px;
  color: var(--text);
  border:1px solid transparent;
  font-size:13px;
  transition: all .14s ease;
}
.side-link:hover{
  background: rgba(21,24,39,1);
  border-color: var(--border);
  text-decoration:none;
}
.side-link--active{
  background: linear-gradient(90deg, rgba(59,130,246,.18), rgba(17,24,39,.98));
  border-color: var(--accent);
  box-shadow: 0 0 22px rgba(37,99,235,.35);
}

/* ---------- Main ---------- */
.main{
  padding:16px;
  max-width:1300px;
  width:100%;
}

/* ---------- Cards / Blocks ---------- */
.card{
  background: radial-gradient(circle at top left, rgba(148,163,253,.04), transparent 55%) var(--surface);
  border:1px solid rgba(148,163,253,.11);
  border-radius:16px;
  padding:16px;
  box-shadow: var(--shadow-1);
}
.grid{ display:grid; gap:16px; }
.grid--cols{ grid-template-columns:1fr 360px; }
@media (max-width:1200px){
  .grid--cols{ grid-template-columns:1fr; }
}

.row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* ---------- Counters ---------- */
.counters{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.counter{
  background: var(--surface-2);
  border:1px solid rgba(148,163,253,.18);
  border-radius:14px;
  padding:14px 10px;
  text-align:center;
}
.counter__num{
  font-size:24px;
  font-weight:700;
}
.counter__label{
  color: var(--muted);
  font-size:11px;
}

/* ---------- Badges / Pills / Buttons / Chips ---------- */
.badge{
  padding:6px 10px;
  border-radius:999px;
  background: rgba(17,24,39,1);
  border:1px solid rgba(148,163,253,.35);
  font-size:11px;
  color: var(--accent-2);
}
.pill{
  padding:4px 10px;
  border-radius:999px;
  background: rgba(17,24,39,1);
  border:1px solid var(--border);
  font-size:11px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  color:#fff;
  border:none;
  border-radius:10px;
  padding:9px 14px;
  font-weight:600;
  font-size:13px;
  box-shadow:0 10px 25px rgba(15,23,42,.65);
  transition: all .12s ease;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow:0 14px 32px rgba(15,23,42,.9);
}
.btn:active{
  transform: translateY(0);
  box-shadow:0 8px 18px rgba(15,23,42,.75);
}
.btn.ghost{
  background: transparent;
  color: var(--text);
  border:1px solid var(--border);
  box-shadow:none;
}
.btn.danger{ background: var(--danger); }
.btn.warning{ background: var(--warning); color:#111827; }
.btn.success{ background: var(--success); color:#020308; }

.icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:8px;
  background: var(--surface-2);
  border:1px solid var(--border);
  cursor:pointer;
  font-size:13px;
  transition: all .12s ease;
}
.icon-btn:hover{
  border-color: var(--accent);
  box-shadow: var(--focus-ring);
}

.chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  background: #111827;
  color: var(--text);
  border:1px solid rgba(75,85,99,.9);
  cursor:pointer;
  font-size:11px;
  white-space:nowrap;
  transition: all .12s ease;
}
.chip:hover{
  border-color: var(--accent);
  background:#111827;
}
.chip.danger{
  background: rgba(248,113,113,.14);
  border-color: rgba(248,113,113,.55);
  color:#fecaca;
}

/* ---------- Forms ---------- */
label{
  display:block;
  font-size:12px;
  color: var(--muted);
  margin:8px 0 4px;
}
input, select, textarea{
  width:100%;
  padding:9px 10px;
  border-radius:10px;
  border:1px solid rgba(75,85,99,.95);
  color: var(--text);
  background: #050814;
  outline:none;
  font-size:13px;
  transition: all .12s ease;
}
input::placeholder,
textarea::placeholder{
  color: #8b94a5;
}
input:focus,
select:focus,
textarea:focus{
  border-color: var(--accent);
  box-shadow: var(--focus-ring);
  background:#020308;
}
textarea{ resize:vertical; }

/* ---------- Lists / Right panels ---------- */
.list{
  display:grid;
  gap:8px;
}
.list__row, .rowline{
  padding:9px 10px;
  border-radius:10px;
  background: var(--surface-2);
  border:1px solid rgba(75,85,99,.9);
  cursor:pointer;
  transition: all .12s ease;
}
.list__row:hover, .rowline:hover{
  border-color: var(--accent);
  box-shadow:0 8px 22px rgba(15,23,42,.85);
}

/* ---------- Income bar ---------- */
.bar{
  height:10px;
  background:#020308;
  border:1px solid rgba(75,85,99,.95);
  border-radius:999px;
  overflow:hidden;
}
.bar__fill{
  height:100%;
  width:0%;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

/* ---------- Status badges ---------- */
.status{
  padding:3px 9px;
  border-radius:999px;
  font-size:11px;
  border:1px solid transparent;
  background:#020308;
}
.status.new{
  background: rgba(96,165,250,.18);
  color:#dbeafe;
  border-color: rgba(96,165,250,.55);
}
.status.lead{
  background: rgba(56,189,248,.18);
  color:#E0F2FE;
  border-color: rgba(56,189,248,.55);
}
.status.pending{
  background: rgba(251,191,36,.16);
  color:#fef9c3;
  border-color: rgba(251,191,36,.6);
}
.status.booked{
  background: rgba(34,197,94,.18);
  color:#bbf7d0;
  border-color: rgba(34,197,94,.6);
}
.status.expired{
  background: rgba(248,113,113,.18);
  color:#fee2e2;
  border-color: rgba(248,113,113,.6);
}

/* ---------- Tables ---------- */
.table-wrapper{
  overflow:auto;
  border-radius:12px;
  border:1px solid rgba(75,85,99,.85);
}
.table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
  background:#020308;
}
.table th,
.table td{
  text-align:left;
  padding:9px 11px;
  border-bottom:1px solid rgba(38,38,56,.98);
  font-size:12px;
}
.table thead th{
  position:sticky;
  top:0;
  background:#020308;
  color:#9ca3af;
  font-weight:600;
  z-index:1;
}
.table tr:hover td{
  background: rgba(148,163,253,.04);
}

/* ---------- Modal ---------- */
.modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow-y:auto;
  padding:24px 12px;
  background: radial-gradient(circle at top, rgba(15,23,42,.9), rgba(0,0,0,.9));
  z-index:100;
}
.modal-card{
  width:100%;
  max-width:560px;
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  background:#020308;
  border:1px solid rgba(129,140,248,.5);
  border-radius:18px;
  padding:16px 16px 14px;
  box-shadow: var(--shadow-2);
}
.modal-card--wide{
  max-width:680px;
}
.modal-card--xwide{
  max-width:1024px;
}
/* Wide event modal: sections as a 2-column card grid */
.modal-sections{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:start;
  margin-top:4px;
}
.modal-section{
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  min-width:0;
}
.modal-section--span2{
  grid-column:1 / -1;
}
.modal-section-title{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:10px;
}
@media (max-width:760px){
  .modal-sections{ grid-template-columns:1fr; }
}
.modal-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px;
  position:sticky;
  bottom:0;
  background:#020308;
  padding:10px 0 2px;
}

/* ---------- Calendar ---------- */
.cal{
  display:grid;
  gap:6px;
}
.cal__row{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.cal__row--head{
  gap:4px;
}
.cal__cell{
  min-height:78px;
  border:1px solid rgba(45,55,72,.98);
  border-radius:10px;
  background:#050814;
  padding:6px;
  display:flex;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
  transition: all .12s ease;
}
.cal__cell:hover{
  border-color: var(--accent);
  box-shadow:0 8px 20px rgba(15,23,42,.9);
}
.cal__cell--head{
  background:transparent;
  border:none;
  text-align:center;
  color: var(--muted);
  font-size:11px;
}
.cal__cell--empty{
  visibility:hidden;
}
.cal__date{
  font-weight:600;
  font-size:11px;
  color: var(--text);
}
.cal__dots{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
}

/* Calendar dots */
.dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:1px solid transparent;
}
.dot--off{ opacity:.16; }
.dot--new{
  background: var(--st-new);
  box-shadow:0 0 0 1px rgba(96,165,250,.4) inset;
}
.dot--lead{
  background: var(--st-lead);
  box-shadow:0 0 0 1px rgba(56,189,248,.4) inset;
}
.dot--pending{
  background: var(--st-pending);
  box-shadow:0 0 0 1px rgba(251,191,36,.5) inset;
}
.dot--booked{
  background: var(--st-booked);
  box-shadow:0 0 0 1px rgba(34,197,94,.5) inset;
}

/* Legend */
.legend{
  display:flex;
  align-items:center;
  gap:10px;
  color: var(--muted);
  font-size:11px;
  margin-top:6px;
}
.legend .dot{
  width:7px;
  height:7px;
}

/* ---------- Toast ---------- */
.toast{
  position:fixed;
  bottom:16px;
  right:16px;
  z-index:120;
  background:#020308;
  color: var(--text);
  border:1px solid rgba(129,140,248,.5);
  border-radius:12px;
  padding:8px 11px;
  box-shadow: var(--shadow-2);
  font-size:11px;
}

/* ---------- Misc layout helpers ---------- */
.input-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media (max-width:600px){
  .input-row{ grid-template-columns:1fr; }
}
.inviteRow{
  border:1px solid rgba(75,85,99,.9);
  background: var(--surface-2);
  padding:10px 10px;
  border-radius:12px;
  margin:6px 0;
}
.roleSelect{
  background: var(--surface-2);
  color: var(--text);
  border:1px solid var(--border);
  border-radius:10px;
  padding:5px 8px;
  font-size:11px;
}
hr{
  border:0;
  height:1px;
  background: var(--border);
  margin:12px 0;
}

/* ---------- Requests / Tags ---------- */
.req-item{
  padding:6px 8px;
  border-radius:8px;
  margin-bottom:4px;
  background: rgba(15,23,42,.96);
  display:flex;
  flex-direction:column;
  gap:2px;
  border:1px solid rgba(75,85,99,.9);
}
.req-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.vendor-requests{
  padding:4px 0;
}

.tag{
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border-radius:999px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.05em;
  border:1px solid rgba(148,163,253,.35);
  opacity:.9;
}
.tag-must{
  background:rgba(34,197,94,.12);
}
.tag-try{
  background:rgba(56,189,248,.08);
}
.tag-do-not{
  background:rgba(239,68,68,.14);
}

.status-badge{
  padding:3px 8px;
  border-radius:999px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  display:inline-flex;
  align-items:center;
  gap:4px;
}

/* ---------- Client layout bits (if reused) ---------- */
.client-shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  padding:24px 12px;
}
.client-header{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-bottom:16px;
}
.client-main{
  max-width:960px;
  width:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.client-list{
  list-style:none;
  padding:0;
  margin:0;
}
.client-list li{
  padding:4px 0;
  font-size:12px;
}
.client-requests{
  font-size:11px;
}
/* =========================================================
   Light Theme (applied when html has .theme-light)
   ========================================================= */

:root.theme-light{
  --bg: #f4f5fb;
  --surface: #ffffff;
  --surface-2: #EFF6FF;
  --text: #111827;
  --muted: #6b7280;
  --border: #e5e7eb;
  --accent: #2563EB;
  --accent-2: #2563EB;
  --danger: #dc2626;
  --warning: #d97706;
  --success: #16a34a;
  --info: #0284c7;

  --st-new: #2563eb;
  --st-lead: #2563EB;
  --st-pending: #d97706;
  --st-booked: #16a34a;
  --st-expired: #b91c1c;

  --shadow-1: 0 10px 24px rgba(15,23,42,.08);
  --shadow-2: 0 18px 40px rgba(15,23,42,.12);
}

.theme-light body{
  background: radial-gradient(circle at top, #DBEAFE 0, #f9fafb 40%, #eef2ff 100%);
  color: var(--text);
}

/* Make sure key surfaces adapt nicely in light */
.theme-light .nav{
  background: rgba(249,250,251,.96);
  border-bottom:1px solid var(--border);
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}

.theme-light .sidebar{
  background: linear-gradient(180deg, #f9fafb, #eef2ff);
  border-right:1px solid var(--border);
}

.theme-light .side-link{
  color:#111827;
}
.theme-light .side-link--active{
  background: linear-gradient(90deg, rgba(37,99,235,.12), #eef2ff);
  border-color: var(--accent);
  box-shadow:0 0 14px rgba(37,99,235,.16);
}

.theme-light .card{
  background:#ffffff;
  border:1px solid var(--border);
}

.theme-light .table-wrapper{
  border-color: var(--border);
}
.theme-light .table{
  background:#ffffff;
}
.theme-light .table thead th{
  background:#f9fafb;
  color:#6b7280;
}
.theme-light .table tr:hover td{
  background:#EFF6FF;
}

.theme-light .list__row,
.theme-light .rowline{
  background:#f9fafb;
  border-color: var(--border);
}

.theme-light .modal{
  background: rgba(15,23,42,.25);
}
.theme-light .modal-card{
  background:#ffffff;
  border-color: var(--border);
}
.theme-light .modal-actions{
  background:#ffffff;
}

.theme-light input,
.theme-light select,
.theme-light textarea{
  background:#ffffff;
  color:#111827;
  border-color:#d1d5db;
}
.theme-light input::placeholder,
.theme-light textarea::placeholder{
  color:#6b7280;
}

.theme-light .status{
  background:#f9fafb;
}

.theme-light .cal__cell{
  background:#ffffff;
  border-color:#e5e7eb;
}
.theme-light .cal__cell--head{
  color:#9ca3af;
}

.theme-toggle-btn{
  font-size:14px;
}

.theme-light .theme-toggle-btn{
  color: var(--accent);
  background: transparent;
}

/* --- Button & chip contrast fixes --- */

/* Primary buttons: always readable */
.btn{
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  color: #ffffff;
}
.btn span,
.btn strong{
  color: inherit;
}

/* Ghost buttons: outline style, clear text */
.btn.ghost{
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border);
  box-shadow: none;
}

/* Status-style buttons */
.btn.danger{
  background: var(--danger);
  color: #111827;
}
.btn.warning{
  background: var(--warning);
  color: #111827;
}
.btn.success{
  background: var(--success);
  color: #020308;
}

/* Icon buttons: no more blacked-out icons */
.icon-btn{
  background: var(--surface-2);
  color: var(--text);
  border: 1px solid var(--border);
}
.icon-btn svg,
.icon-btn span{
  color: inherit;
}

/* Chips: make sure text always pops */
.chip{
  background: #111827;
  color: var(--text);
  border: 1px solid rgba(75,85,99,.9);
}
.chip.danger{
  background: rgba(248,113,113,.14);
  border-color: rgba(248,113,113,.55);
  color: #fecaca;
}

/* Active filter chip (e.g. status filters on dashboard) */
.chip.chip--active{
  background: var(--accent);
  color: #ffffff;
  border-color: var(--accent-2);
}

/* Light theme adjustments */
.theme-light .btn{
  color: #ffffff;
}
.theme-light .btn.ghost{
  background: transparent;
  color: var(--accent);
  border-color: var(--accent);
}
.theme-light .icon-btn{
  background: #eef2ff;
  color: #111827;
  border-color: var(--border);
}
.theme-light .chip{
  background: #eef2ff;
  color: #111827;
  border-color: var(--border);
}
.theme-light .chip.chip--active{
  background: var(--accent);
  color: #ffffff;
  border-color: var(--accent-2);
}



/* --- Google Places Autocomplete (Venues modal) --- */

.pac-container {
  background: var(--surface, #141125);
  color: var(--text, #f5f5f7);
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 14px 40px rgba(0,0,0,0.55);
  z-index: 9999;
  font-family: inherit;
}

.pac-item {
  padding: 8px 10px;
  cursor: pointer;
  border-top: 1px solid rgba(255,255,255,0.04);
}

.pac-item:hover {
  background: rgba(255,255,255,0.04);
}

.pac-item-query {
  color: var(--text, #ffffff);
}

.pac-matched {
  font-weight: 600;
}

.pac-icon {
  display: none;
}

.chip-active {
  border-color: var(--accent);
  background: rgba(37,99,235,0.15);
}



/* --- Phase 2 polish: drawer / backdrop / table-like / portal access --- */
.drawer{
  position: fixed; top: 0; right: 0; height: 100dvh; width: min(440px, 92vw);
  background: var(--surface); color: var(--text);
  border-left: 1px solid var(--border);
  box-shadow: -18px 0 48px rgba(0,0,0,.45);
  transform: translateX(105%); transition: transform .25s ease;
  z-index: 1200; overflow-y: auto; padding: 18px;
}
.drawer.open{ transform: translateX(0); }
.drawer__header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.drawer__body{ display:grid; gap:12px; }
.drawer__footer{ display:flex; gap:8px; align-items:center; margin-top:8px; }
.backdrop{
  position: fixed; inset: 0; background: rgba(2,3,8,.62);
  backdrop-filter: blur(2px); z-index: 1100;
}
.table-like{ display:block; }
.table-customers .table-head,
.table-like .table-head{
  display:grid; grid-template-columns: 1.4fr 1fr 0.8fr 1.4fr 1fr auto;
  gap:10px; padding:10px 6px; font-size:12px; color: var(--muted);
  border-bottom: 1px solid var(--border); text-transform: uppercase; letter-spacing:.04em;
}
.table-like .table-body{ display:grid; }
.table-like .table-row{ padding:10px 6px; border-bottom: 1px solid rgba(255,255,255,.05); }
.theme-light .table-like .table-row{ border-bottom-color: rgba(15,23,42,.08); }
.portal-access{ border:1px solid var(--border); border-radius:12px; padding:12px; margin-top:8px; }
.auth-panel .form-group{ margin-bottom:12px; }
.client-grid{ align-items:start; }

/* ---------- Empty states ---------- */
.empty-state{ text-align:center; padding:32px 16px; }
.empty-state__icon{ font-size:40px; line-height:1; margin-bottom:10px; }
.empty-state__title{ font-weight:700; font-size:17px; margin-bottom:4px; }
.empty-state__text{ color:var(--muted); font-size:14px; margin-bottom:14px; }
.empty-state__cta{ margin-top:4px; }

/* ---------- Loading skeletons (assets/js/loading-skeleton.js) ---------- */
.skl{ position:relative; overflow:hidden; background:#1a1f33; border-radius:10px; }
.skl::after{ content:""; position:absolute; inset:0; transform:translateX(-100%);
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.09) 50%, transparent 100%);
  animation:skl-shimmer 1.5s infinite; }
@keyframes skl-shimmer{ 100%{ transform:translateX(100%); } }
.skl-row{ height:58px; margin:0 0 10px; }
.skl-card{ height:96px; margin:0 0 12px; }
.skl-table{ height:46px; margin:4px 0; }
.skl-tablewrap td{ border:none !important; padding:2px 0 !important; }
@media (prefers-reduced-motion: reduce){ .skl::after{ animation:none; } }
.theme-light .skl{ background:#e4e8f2; }
.theme-light .skl::after{ background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.75) 50%, transparent 100%); }
