/* ==========================================================
   SchedMate Premium Polish — non-destructive visual layer
   Loaded after existing styles. No JavaScript hooks changed.
========================================================== */
:root{
  --sm-brand:#2563eb;
  --sm-brand-2:#4f46e5;
  --sm-brand-3:#7c3aed;
  --sm-ink:#0f172a;
  /* --sm-muted owned by theme.css (was #64748b, 4.39:1 — under AA) */
  --sm-line:rgba(148,163,184,.24);
  /* --sm-surface owned by theme.css */
  --sm-soft:#f6f8fc;
  --sm-radius:18px;
  --sm-radius-lg:24px;
  --sm-premium-shadow: var(--sm-shadow);
  --sm-shadow-lg:0 28px 85px rgba(15,23,42,.14);
  --sm-ring:0 0 0 4px rgba(37,99,235,.16);
}
*{scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}
*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:#94a3b888;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none!important;box-shadow:var(--sm-ring)!important}
::selection{background:#2563eb25;color:inherit}

/* Dashboard shell */
.sm-body{background:
  radial-gradient(900px 520px at 88% -10%,rgba(79,70,229,.11),transparent 65%),
  radial-gradient(700px 500px at 25% 110%,rgba(14,165,233,.09),transparent 68%),
  #f5f7fb!important;color:var(--sm-ink)}
.sm-sidebar{background:linear-gradient(180deg,#091225 0%,#0d1930 58%,#101b34 100%)!important;border-right:1px solid rgba(255,255,255,.08)!important;box-shadow:18px 0 50px rgba(15,23,42,.08)}
.sm-brand-name,.sm-sidebar .sm-label,.sm-sidebar .sm-user-name{color:#f8fafc!important}.sm-brand-sub,.sm-sidebar .sm-user-plan,.sm-sidebar .sm-nav-section{color:#94a3b8!important}
.sm-logo{background:linear-gradient(135deg,#3b82f6,#7c3aed)!important;box-shadow:0 12px 28px rgba(59,130,246,.32)!important;border:1px solid rgba(255,255,255,.16)}
.sm-side-search{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:14px!important}.sm-side-search input{color:#f8fafc!important}.sm-side-search input::placeholder{color:#718096!important}
.sm-nav-item{border:1px solid transparent!important;border-radius:13px!important;color:#cbd5e1!important;transition:background .18s,border-color .18s,transform .18s!important}
.sm-nav-item:hover{background:rgba(255,255,255,.065)!important;border-color:rgba(255,255,255,.07)!important;transform:translateX(2px)}
.sm-nav-item.is-active{background:linear-gradient(135deg,rgba(37,99,235,.30),rgba(124,58,237,.20))!important;border-color:rgba(96,165,250,.22)!important;box-shadow:inset 3px 0 #60a5fa,0 10px 25px rgba(0,0,0,.12)!important;color:#fff!important}
.sm-nav-item .sm-icon{filter:saturate(.8);opacity:.92}.sm-pill,.sm-badge{background:rgba(96,165,250,.16)!important;color:#bfdbfe!important;border:1px solid rgba(96,165,250,.18)!important}
.sm-user{background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important}.sm-avatar{background:linear-gradient(135deg,#2563eb,#7c3aed)!important;color:#fff!important;box-shadow:0 8px 20px rgba(37,99,235,.3)}
.sm-collapse-btn,.sm-sidebar .sm-ghost,.sm-sidebar .sm-danger{border-radius:12px!important;border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.045)!important;color:#cbd5e1!important}.sm-sidebar .sm-danger:hover{background:rgba(239,68,68,.15)!important;color:#fecaca!important}

.sm-main{background:transparent!important}/* .sm-topbar background superseded by schedmate.polish-v105.css, which loads last */
.sm-page-title{font-weight:850!important;letter-spacing:-.035em!important;color:#0f172a!important}.sm-page-sub{color:#64748b!important}.sm-content{padding:clamp(18px,2.4vw,32px)!important}
.sm-card,.sm-panel,.dashboard-card{background:var(--sm-surface)!important;border:1px solid rgba(148,163,184,.20)!important;border-radius:var(--sm-radius-lg)!important;box-shadow:var(--sm-premium-shadow, var(--sm-shadow))!important;backdrop-filter:blur(12px);transition:transform .2s,box-shadow .2s,border-color .2s}
.sm-card:hover,.sm-panel:hover{transform:translateY(-2px);box-shadow:0 25px 62px rgba(15,23,42,.12)!important;border-color:rgba(96,165,250,.28)!important}
.sm-card{position:relative;overflow:hidden}.sm-card::after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#2563eb,#7c3aed);opacity:.85}
.sm-card-title,.sm-panel-title{font-weight:780!important;letter-spacing:-.015em!important;color:#1e293b!important}.sm-metric{font-weight:880!important;letter-spacing:-.055em!important;color:#0f172a!important}.sm-muted{color:#64748b!important}.sm-chip{border-radius:999px!important;border:1px solid rgba(148,163,184,.22)!important;background:#f8fafc!important;font-weight:750!important}.sm-chip-good{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important}.sm-chip-warn{background:#fff7ed!important;color:#c2410c!important;border-color:#fed7aa!important}

.sm-btn,.btn,button{transition:transform .16s,box-shadow .16s,background .16s,border-color .16s}.sm-btn:hover,.btn:hover{transform:translateY(-1px)}
.sm-btn-primary,.btn-primary,.btn.primary{border:0!important;background:linear-gradient(135deg,#2563eb,#4f46e5 58%,#6d28d9)!important;color:#fff!important;box-shadow:0 12px 28px rgba(37,99,235,.27)!important}.sm-btn-primary:hover,.btn-primary:hover,.btn.primary:hover{box-shadow:0 16px 36px rgba(37,99,235,.34)!important}
.sm-btn-ghost,.btn.ghost,.btn-outline{background:rgba(255,255,255,.82)!important;border:1px solid rgba(148,163,184,.25)!important;color:#334155!important}

.sm-table-wrap,table{border-radius:16px;overflow:hidden}table{border-collapse:separate!important;border-spacing:0!important}thead th{background:#f8fafc!important;color:#475569!important;text-transform:uppercase;letter-spacing:.055em;font-size:11px!important;font-weight:800!important;border-bottom:1px solid #e2e8f0!important}tbody td{border-bottom:1px solid #edf2f7!important}tbody tr{transition:background .16s}tbody tr:hover{background:#f8fbff!important}
input,select,textarea{border-radius:13px!important;border:1px solid #dbe3ef!important;background:#fff!important;transition:border-color .16s,box-shadow .16s!important}input:hover,select:hover,textarea:hover{border-color:#b6c5da!important}input:focus,select:focus,textarea:focus{border-color:#60a5fa!important;box-shadow:var(--sm-ring)!important}
.sm-modal,.modal-content,[role="dialog"]{border-radius:24px!important;border:1px solid rgba(148,163,184,.22)!important;box-shadow:var(--sm-shadow-lg)!important}.sm-empty{border:1px dashed #cbd5e1!important;border-radius:18px!important;background:linear-gradient(145deg,#fff,#f8fafc)!important;padding:28px!important}

/* Marketing / public pages */
body:not(.sm-body){background-color:#f7f9fe}.nav,.topbar{backdrop-filter:blur(20px) saturate(1.3)!important;box-shadow:0 8px 30px rgba(15,23,42,.04)}
.hero h1,.hero-title{letter-spacing:-.055em!important;line-height:1.02!important}.hero p,.lead{line-height:1.75!important}.grad{background:linear-gradient(100deg,#2563eb,#6d28d9 60%,#0ea5e9)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.hero-card,.price-card,.t-card,.step,.card,.faq-item{border-radius:22px!important;border:1px solid rgba(148,163,184,.20)!important;box-shadow:var(--sm-premium-shadow, var(--sm-shadow))!important}.hero-card,.price-card,.t-card{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(14px)}
.price-card.featured{border-color:rgba(37,99,235,.32)!important;box-shadow:0 30px 80px rgba(37,99,235,.16)!important;transform:translateY(-4px)}
.section{scroll-margin-top:88px}.badge,.chip,.pill,.tag{border-radius:999px!important}.carousel,.sm-dash-wrap{border-radius:26px!important;overflow:hidden;box-shadow:var(--sm-shadow-lg)!important;border:1px solid rgba(148,163,184,.18)!important}
.footer{border-top:1px solid rgba(148,163,184,.18)!important}

/* Auth, billing and public invoice */
.auth-card,.billing-card,.sm-invpub-card,.upgrade-card,.plan-card{border-radius:26px!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 32px 90px rgba(15,23,42,.18)!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(20px) saturate(1.2)}
.auth-brand .mark,.logo,.brand-icon{background:linear-gradient(135deg,#2563eb,#6d28d9)!important;box-shadow:0 12px 28px rgba(37,99,235,.28)!important}.auth-card h1,.billing-card h1{letter-spacing:-.04em!important}.auth-msg:empty{display:none}

/* Dark dashboard */
body.dark.sm-body{background:radial-gradient(900px 520px at 90% -5%,rgba(79,70,229,.20),transparent 65%),#07101f!important;color:#e5e7eb}/* .sm-topbar background superseded by schedmate.polish-v105.css, which loads last */.dark .sm-page-title,.dark .sm-metric,.dark .sm-card-title,.dark .sm-panel-title{color:#f8fafc!important}.dark .sm-card,.dark .sm-panel{background:rgba(15,23,42,.86)!important;border-color:rgba(148,163,184,.12)!important}.dark thead th{background:#111c30!important;color:#94a3b8!important;border-color:#25324a!important}.dark tbody td{border-color:#1e293b!important}.dark tbody tr:hover{background:#14213a!important}.dark input,.dark select,.dark textarea{background:#0b1527!important;color:#e5e7eb!important;border-color:#293750!important}.dark .sm-btn-ghost{background:#111c30!important;color:#cbd5e1!important;border-color:#2a3952!important}.dark .sm-empty{background:#0e192c!important;border-color:#334155!important}

@media(max-width:900px){.sm-content{padding:16px!important}.sm-card,.sm-panel{border-radius:18px!important}.price-card.featured{transform:none}.sm-grid-kpis{gap:14px!important}}
@media(max-width:600px){.hero h1,.hero-title{font-size:clamp(38px,12vw,58px)!important}.sm-topbar-right{gap:7px!important}.sm-btn{padding:9px 11px!important}.auth-card{border-radius:22px!important}.section{padding-top:54px!important;padding-bottom:54px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
