:root{
  --ui-bg:#f4f6fb;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f8fafc;
  --ui-ink:#101828;
  --ui-muted:#667085;
  --ui-border:#e4e7ec;
  --ui-border-strong:#d0d5dd;
  --ui-primary:#2563eb;
  --ui-primary-hover:#1d4ed8;
  --ui-primary-soft:#eff6ff;
  --ui-sidebar:#0f172a;
  --ui-sidebar-soft:#172033;
  --ui-radius:16px;
  --ui-shadow:0 8px 28px rgba(15,23,42,.07);
  --ui-shadow-hover:0 14px 38px rgba(15,23,42,.10);
}

body.ui-v117{background:var(--ui-bg);color:var(--ui-ink)}
body.ui-v117 .content{max-width:1640px}
body.ui-v117 .card,
body.ui-v117 .chart-card,
body.ui-v117 .session-exercise-card{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow);
  background:var(--ui-surface);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.ui-v117 .card:hover,
body.ui-v117 .session-exercise-card:hover{
  border-color:#d7dce4;
  box-shadow:var(--ui-shadow-hover);
}
body.ui-v117 .workout-card{padding:20px;gap:14px}
body.ui-v117 .workout-card h3,
body.ui-v117 .exercise-card h3{letter-spacing:-.2px}
body.ui-v117 .section-head h2{font-size:18px;letter-spacing:-.2px}
body.ui-v117 .section-head p{font-size:13px;line-height:1.45}
body.ui-v117 .eyebrow{color:#667085;letter-spacing:.09em}

body.ui-v117 .btn,
body.ui-v117 .menu-btn{
  min-height:42px;
  border-radius:11px;
  border:1px solid var(--ui-border-strong);
  background:#fff;
  color:#344054;
  padding:9px 13px;
  font-weight:750;
  box-shadow:0 1px 2px rgba(16,24,40,.035);
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
body.ui-v117 .btn:hover,
body.ui-v117 .menu-btn:hover{
  background:#f9fafb;
  border-color:#b9c1cc;
  box-shadow:0 4px 12px rgba(16,24,40,.07);
  transform:translateY(-1px);
}
body.ui-v117 .btn.primary{
  background:var(--ui-primary);
  border-color:var(--ui-primary);
  color:#fff;
  box-shadow:0 5px 14px rgba(37,99,235,.20);
}
body.ui-v117 .btn.primary:hover{background:var(--ui-primary-hover);border-color:var(--ui-primary-hover)}
body.ui-v117 .btn.danger{background:#fff;color:#b42318;border-color:#fda29b}
body.ui-v117 .btn.sm{min-height:34px;padding:6px 10px;border-radius:9px}

body.ui-v117 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
body.ui-v117 select,
body.ui-v117 textarea,
body.ui-v117 .weight-select,
body.ui-v117 .order-input,
body.ui-v117 .rule-input{
  min-height:44px;
  border:1px solid var(--ui-border-strong)!important;
  border-radius:11px!important;
  background:#fff;
  color:var(--ui-ink);
  padding:9px 11px;
  outline:none;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
body.ui-v117 textarea{min-height:112px}
body.ui-v117 input:focus,
body.ui-v117 select:focus,
body.ui-v117 textarea:focus{
  border-color:#84adff!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.09)!important;
}
body.ui-v117 input:disabled,
body.ui-v117 select:disabled{background:#f2f4f7;color:#98a2b3}
body.ui-v117 .field label{font-size:12px;color:#475467;font-weight:750;margin-bottom:1px}

body.ui-v117 .exercise-search{
  max-width:560px;
  min-height:46px;
  margin:12px 0 6px;
  padding:0 13px;
  border:1px solid var(--ui-border-strong);
  border-radius:13px;
  background:#fff;
  box-shadow:0 2px 8px rgba(16,24,40,.035);
}
body.ui-v117 .exercise-search:focus-within{
  border-color:#84adff;
  box-shadow:0 0 0 4px rgba(37,99,235,.08);
}
body.ui-v117 .exercise-search span{font-size:18px;color:#667085;opacity:1}
body.ui-v117 .exercise-search input{
  min-height:44px!important;
  border:0!important;
  border-radius:0!important;
  padding:10px 0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.ui-v117 .search-feedback{
  min-height:18px;
  margin:0 0 10px 2px;
  color:#667085;
  font-size:11px;
  font-weight:650;
}
body.ui-v117 .search-feedback[hidden]{display:none}
body.ui-v117 .search-feedback.is-empty{color:#b54708}

body.ui-v117 .table-wrap{
  border:1px solid var(--ui-border);
  border-radius:14px;
  box-shadow:0 2px 10px rgba(16,24,40,.03);
  background:#fff;
}
body.ui-v117 th{
  background:#f8fafc;
  color:#475467;
  font-weight:800;
  letter-spacing:.01em;
}
body.ui-v117 td{border-bottom-color:#eef1f5}
body.ui-v117 tbody tr:hover td{background:#fbfcfe}

body.ui-v117 .badge{border-radius:999px;padding:5px 9px;font-weight:800}
body.ui-v117 .hero{
  border:1px solid #dbe4f2;
  background:linear-gradient(135deg,#fff 12%,#f3f7ff 100%);
  box-shadow:var(--ui-shadow);
}

body.ui-v117 .topbar{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(228,231,236,.92);
  backdrop-filter:blur(14px);
}
body.ui-v117 .status-pill{border-radius:999px;padding:7px 11px}
body.ui-v117 .sidebar{
  background:linear-gradient(180deg,#0d1525 0%,#111827 58%,#0d1421 100%);
  border-right:1px solid rgba(255,255,255,.055);
}
body.ui-v117 .brand{flex:0 0 auto}
body.ui-v117 .brand-mark{border-radius:12px}
body.ui-v117 .sidebar #nav{
  display:block;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#344054 transparent;
  padding:0 2px 12px 0;
}
body.ui-v117 .sidebar-footer{
  flex:0 0 auto;
  margin-top:0;
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:14px;
}
body.ui-v117 .nav-group{margin:0 0 8px}
body.ui-v117 .nav-group-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  background:transparent;
  color:#8fa0b9;
  padding:8px 11px 7px;
  cursor:pointer;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:10px;
  font-weight:850;
}
body.ui-v117 .nav-group-toggle:hover,
body.ui-v117 .nav-group-toggle.is-active{color:#d9e2ef}
body.ui-v117 .nav-group-chevron{font-size:14px;transition:transform .18s ease}
body.ui-v117 .nav-group.is-collapsed .nav-group-chevron{transform:rotate(-90deg)}
body.ui-v117 .nav-group-items{display:grid;gap:4px}
body.ui-v117 .nav-group.is-collapsed .nav-group-items{display:none}
body.ui-v117 .nav-btn{
  width:100%;
  min-height:40px;
  padding:10px 12px;
  border-radius:10px;
  color:#bdc8d8;
  font-size:13px;
  font-weight:650;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
body.ui-v117 .nav-btn:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(2px)}
body.ui-v117 .nav-btn.active{
  background:linear-gradient(135deg,rgba(37,99,235,.30),rgba(37,99,235,.16));
  color:#fff;
  box-shadow:inset 3px 0 0 #60a5fa;
}

@media(min-width:901px){
  body.ui-v117 .app-shell{display:block;min-height:100vh}
  body.ui-v117 .sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:264px;
    height:100dvh;
    overflow:hidden;
  }
  body.ui-v117 .main{
    width:auto;
    min-height:100vh;
    margin-left:264px;
  }
  body.ui-v117 .topbar{position:sticky;top:0}
  body.ui-v117 .session-save-bar{left:calc(264px + clamp(18px,3vw,42px))}
}

@media(max-width:900px){
  body.ui-v117.nav-open{overflow:hidden}
  body.ui-v117 .main{margin-left:0}
  body.ui-v117 .sidebar{
    position:fixed;
    inset:0 auto 0 0;
    width:min(320px,88vw);
    height:100dvh;
    overflow:hidden;
    padding:18px 13px;
  }
  body.ui-v117 .brand{padding-bottom:18px}
  body.ui-v117 .sidebar #nav{padding-bottom:16px}
  body.ui-v117 .sidebar-footer{display:grid}
  body.ui-v117 .topbar{position:sticky;top:0}
  body.ui-v117 .content{padding:18px 14px 72px}
  body.ui-v117 .exercise-search{max-width:none;width:100%}
}

@media(max-width:640px){
  body.ui-v117 .content{padding:14px 10px 82px}
  body.ui-v117 .card{padding:15px;border-radius:15px}
  body.ui-v117 .workout-cards,
  body.ui-v117 .exercise-library,
  body.ui-v117 .session-exercise-grid,
  body.ui-v117 .next-prescription-grid{grid-template-columns:1fr!important}
  body.ui-v117 .workout-card{padding:16px}
  body.ui-v117 .workout-card .button-row,
  body.ui-v117 .exercise-card .button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.ui-v117 .workout-card .button-row .btn,
  body.ui-v117 .exercise-card .button-row .btn{width:100%;min-width:0}
  body.ui-v117 .section-head{gap:10px}
  body.ui-v117 .section-head>.button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  body.ui-v117 .section-head>.button-row .btn{width:100%}
  body.ui-v117 .table-wrap{border-radius:12px}
  body.ui-v117 .table-wrap table{min-width:580px}
  body.ui-v117 .exercise-search{margin-top:9px}
  body.ui-v117 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  body.ui-v117 select,
  body.ui-v117 textarea{font-size:16px}
  body.ui-v117 .topbar-left>div{min-width:0}
  body.ui-v117 .topbar p{max-width:58vw}
}

@media(max-width:420px){
  body.ui-v117 .workout-card .button-row,
  body.ui-v117 .exercise-card .button-row,
  body.ui-v117 .section-head>.button-row{grid-template-columns:1fr}
  body.ui-v117 .topbar p{max-width:52vw}
}
