/* ==========================================================
   TED LIGHT v1 — Global Theme for GetCourse (safe scoped)
   - modern light UI, soft cards, clear typography
   - does NOT hide admin controls / leftbar / actions
   - most styling is scoped to #gcAccountContent to avoid side effects
   ========================================================== */

:root{
  /* Brand / Accent */
  --ted-primary: #2563eb;     /* blue */
  --ted-primary-2: #06b6d4;   /* cyan */
  --ted-violet: #7c3aed;
  --ted-pink: #ec4899;
  --ted-amber: #f59e0b;

  /* Neutrals */
  --ted-page-bg: #f6f7fb;
  --ted-surface: #ffffff;
  --ted-surface-2: rgba(255,255,255,.78);
  --ted-border: rgba(15,23,42,.10);
  --ted-border-strong: rgba(15,23,42,.14);

  --ted-text: #0f172a;
  --ted-muted: rgba(15,23,42,.62);
  --ted-faint: rgba(15,23,42,.45);

  /* Layout tokens */
  --ted-radius: 18px;
  --ted-radius-sm: 14px;
  --ted-gap: 14px;

  /* Shadows */
  --ted-shadow: 0 18px 40px rgba(15,23,42,.10);
  --ted-shadow-sm: 0 10px 22px rgba(15,23,42,.08);

  /* Typography */
  --ted-font: system-ui,-apple-system,Segoe UI,Roboto,Arial;
}

/* ---------- Safe base: only visuals, no hiding ---------- */
body{
  background: var(--ted-page-bg);
}

/* Main content scope: keep admin UI untouched */
#gcAccountContent{
  font-family: var(--ted-font);
  color: var(--ted-text);
}

/* Subtle “air” for pages */
#gcAccountContent .container,
#gcAccountContent .page-content,
#gcAccountContent .content,
#gcAccountContent .main{
  max-width: 1180px;
}

/* Headings */
#gcAccountContent h1,
#gcAccountContent h2,
#gcAccountContent h3{
  color: var(--ted-text);
  letter-spacing: -0.02em;
}
#gcAccountContent h1{ font-weight: 900; }
#gcAccountContent h2{ font-weight: 850; }
#gcAccountContent h3{ font-weight: 800; }

#gcAccountContent p,
#gcAccountContent .text-muted{
  color: var(--ted-muted);
}

/* Links */
#gcAccountContent a{
  color: var(--ted-primary);
  text-decoration: none;
}
#gcAccountContent a:hover{
  text-decoration: underline;
}

/* ---------- Cards (generic) ---------- */
#gcAccountContent .panel,
#gcAccountContent .well,
#gcAccountContent .box,
#gcAccountContent .gc-panel,
#gcAccountContent .page-block,
#gcAccountContent .block{
  background: var(--ted-surface);
  border: 1px solid var(--ted-border);
  border-radius: var(--ted-radius);
  box-shadow: var(--ted-shadow-sm);
}

/* Make tables feel like cards */
#gcAccountContent table{
  border-collapse: separate;
  border-spacing: 0;
}
#gcAccountContent .table,
#gcAccountContent table.table{
  background: var(--ted-surface);
  border: 1px solid var(--ted-border);
  border-radius: var(--ted-radius);
  overflow: hidden;
  box-shadow: var(--ted-shadow-sm);
}
#gcAccountContent .table > thead > tr > th,
#gcAccountContent .table > tbody > tr > td{
  border-color: rgba(15,23,42,.08);
}

/* ---------- Buttons ---------- */
#gcAccountContent .btn{
  border-radius: 14px;
  font-weight: 750;
  border: 1px solid var(--ted-border);
  box-shadow: 0 8px 16px rgba(15,23,42,.06);
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
#gcAccountContent .btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 20px rgba(15,23,42,.10);
}
#gcAccountContent .btn:active{
  transform: translateY(0);
}

#gcAccountContent .btn-primary,
#gcAccountContent .btn-success{
  border: 0;
  color: #fff;
  background: linear-gradient(90deg, var(--ted-primary), var(--ted-primary-2));
}
#gcAccountContent .btn-default,
#gcAccountContent .btn-secondary{
  background: #fff;
}

/* ---------- Inputs ---------- */
#gcAccountContent input[type="text"],
#gcAccountContent input[type="email"],
#gcAccountContent input[type="password"],
#gcAccountContent input[type="number"],
#gcAccountContent textarea,
#gcAccountContent select{
  border-radius: 14px;
  border: 1px solid var(--ted-border);
  background: rgba(255,255,255,.95);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
#gcAccountContent input:focus,
#gcAccountContent textarea:focus,
#gcAccountContent select:focus{
  outline: none;
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}

/* ---------- Tabs / navigation внутри страницы ---------- */
#gcAccountContent .nav-tabs{
  border-bottom: 1px solid rgba(15,23,42,.10);
}
#gcAccountContent .nav-tabs > li > a{
  border: 0 !important;
  border-radius: 14px 14px 0 0;
  color: var(--ted-muted);
  font-weight: 750;
}
#gcAccountContent .nav-tabs > li.active > a,
#gcAccountContent .nav-tabs > li > a:hover{
  color: var(--ted-text);
  background: rgba(255,255,255,.75);
}

/* ---------- Progress bars (GetCourse default) ---------- */
#gcAccountContent .progress{
  height: 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
  overflow: hidden;
}
#gcAccountContent .progress-bar{
  border-radius: 999px;
  background: linear-gradient(90deg, #4f46e5, #06b6d4);
}

/* If there is a text inside progress (sometimes GC prints) */
#gcAccountContent .progress-bar,
#gcAccountContent .progress-bar span{
  color: transparent;
}

/* ---------- Training list polish (safe, non-destructive) ---------- */
/* Make training titles feel like “sections”, without breaking admin menus */
#gcAccountContent .page-content a[href*="/teach/control/stream/view/id/"]{
  font-weight: 900;
  letter-spacing: -0.01em;
}
#gcAccountContent .page-content a[href*="/teach/control/stream/view/id/"]:hover{
  text-decoration: none;
}

/* Soft separators */
#gcAccountContent hr{
  border: 0;
  height: 1px;
  background: rgba(15,23,42,.10);
  margin: 14px 0;
}

/* ---------- Calendar / Schedule (FullCalendar-like) ---------- */
#gcAccountContent .fc,
#gcAccountContent .calendar,
#gcAccountContent .gc-calendar{
  background: var(--ted-surface);
  border: 1px solid var(--ted-border);
  border-radius: var(--ted-radius);
  box-shadow: var(--ted-shadow-sm);
}
#gcAccountContent .fc .fc-toolbar-title{
  font-weight: 900;
  letter-spacing: -0.02em;
}
#gcAccountContent .fc .fc-button{
  border-radius: 12px;
  border: 1px solid var(--ted-border);
  background: #fff;
}
#gcAccountContent .fc .fc-button-primary{
  border: 0;
  color:#fff;
  background: linear-gradient(90deg, var(--ted-primary), var(--ted-primary-2));
}

/* ---------- TED widgets compatibility ---------- */
.ted-sun-widget .tsw-card{
  border-radius: var(--ted-radius);
  box-shadow: var(--ted-shadow);
  border-color: var(--ted-border);
}

/* ---------- Mobile ---------- */
@media (max-width: 820px){
  #gcAccountContent .container,
  #gcAccountContent .page-content{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
