
:root{
  --k-deep:#0F2C33;
  --k-teal:#315963;
  --k-teal-2:#417075;
  --k-wine:#533946;
  --k-terracotta:#955337;
  --k-gold:#EFA41A;
  --k-beige:#E6D1B4;
  --k-cream:#F7F4E1;
  --k-paper:#FFFCF2;
  --k-white:#FFFFFF;
  --k-ink:#102428;
  --k-muted:#66777A;
  --k-border:rgba(15,44,51,.13);
  --k-shadow:0 22px 55px rgba(15,44,51,.10);
  --k-soft:rgba(65,112,117,.10);
  --k-danger:#B44B39;
  --k-success:#3D8B5A;
  --sidebar-bg:rgba(255,255,255,.74);
  --card-bg:rgba(255,255,255,.82);
  --body-bg:linear-gradient(135deg,#F7F4E1 0%,#F9F6E8 43%,#E6D1B4 100%);
}
[data-theme="dark"]{
  --k-paper:#0B1113;
  --k-white:#10181B;
  --k-ink:#F7F4E1;
  --k-muted:#B4C0BF;
  --k-border:rgba(247,244,225,.13);
  --k-shadow:0 22px 55px rgba(0,0,0,.35);
  --k-soft:rgba(65,112,117,.18);
  --sidebar-bg:rgba(8,12,13,.82);
  --card-bg:rgba(15,24,27,.86);
  --body-bg:linear-gradient(135deg,#050607 0%,#0A1113 45%,#0F2C33 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--k-ink);
  background:var(--body-bg);
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:15px;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.33;
  background:
    radial-gradient(circle at 15% 15%, rgba(239,164,26,.16), transparent 30%),
    radial-gradient(circle at 85% 20%, rgba(49,89,99,.28), transparent 25%),
    radial-gradient(circle at 50% 100%, rgba(65,112,117,.18), transparent 32%);
  z-index:-2;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.11;
  background-image:
    linear-gradient(120deg, transparent 0 70%, rgba(15,44,51,.38) 70% 71%, transparent 71%),
    radial-gradient(circle at 20% 75%, rgba(15,44,51,.18) 0 1px, transparent 1px);
  background-size: 260px 260px, 22px 22px;
  z-index:-1;
}
a{color:inherit;text-decoration:none}
.k-app{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  min-height:100vh;
}
.k-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:28px 22px;
  background:var(--sidebar-bg);
  border-right:1px solid var(--k-border);
  backdrop-filter:blur(18px);
  display:flex;
  flex-direction:column;
  gap:24px;
  z-index:50;
}
.k-logo{
  width:210px;
  max-width:100%;
  display:block;
}
[data-theme="dark"] .k-logo{filter:brightness(0) invert(1) sepia(.12) saturate(1.1)}
.product-kicker{
  letter-spacing:.32em;
  color:var(--k-gold);
  font-size:.66rem;
  font-weight:800;
  text-transform:uppercase;
  margin:8px 0 0 4px;
}
.k-nav{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.k-nav a{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:18px;
  color:var(--k-muted);font-weight:650;
  transition:.24s ease;
}
.k-nav a:hover{background:rgba(65,112,117,.11);color:var(--k-deep);transform:translateX(2px)}
[data-theme="dark"] .k-nav a:hover{color:var(--k-cream)}
.k-nav a.active{
  background:linear-gradient(135deg,var(--k-deep),var(--k-teal));
  color:#fff;
  box-shadow:0 14px 30px rgba(15,44,51,.20);
}
.k-nav i{font-size:1.25rem}
.sidebar-foot{
  margin-top:auto;
  border:1px solid var(--k-border);
  background:var(--card-bg);
  box-shadow:var(--k-shadow);
  border-radius:22px;
  padding:13px;
  display:flex;align-items:center;gap:12px;
}
.avatar-initials{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--k-teal),var(--k-deep));
  color:#fff;display:grid;place-items:center;font-weight:800;
}
.k-main{min-width:0;padding:28px clamp(18px,3vw,42px) 42px}
.k-topbar{
  display:flex;align-items:center;gap:16px;justify-content:flex-end;
  margin-bottom:24px;
}
.searchbox{
  min-width:360px;
  max-width:520px;
  flex:0 1 520px;
  height:46px;
  border:1px solid var(--k-border);
  background:var(--card-bg);
  border-radius:16px;
  box-shadow:var(--k-shadow);
  display:flex;align-items:center;gap:10px;
  padding:0 14px;color:var(--k-muted);
}
.searchbox input{
  border:0;background:transparent;outline:0;width:100%;
  color:var(--k-ink);
}
.k-icon-btn,.k-btn{
  border:1px solid var(--k-border);
  background:var(--card-bg);
  color:var(--k-ink);
  border-radius:16px;
  padding:11px 16px;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:750;
  transition:.25s ease;
  box-shadow:0 10px 24px rgba(15,44,51,.08);
}
.k-icon-btn{width:46px;height:46px;padding:0;position:relative}
.k-btn:hover,.k-icon-btn:hover{transform:translateY(-2px);box-shadow:0 15px 36px rgba(15,44,51,.15)}
.k-btn-primary{
  background:linear-gradient(135deg,var(--k-gold),#F6B237);
  border-color:rgba(239,164,26,.40);
  color:#271806;
}
.k-btn-teal{
  background:linear-gradient(135deg,var(--k-deep),var(--k-teal));
  color:#fff;
  border-color:rgba(49,89,99,.5);
}
.k-user{
  display:flex;align-items:center;gap:12px;
  padding:7px 10px;border-radius:18px;border:1px solid var(--k-border);background:var(--card-bg);
}
.avatar-img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.badge-dot{
  position:absolute;right:-3px;top:-3px;background:var(--k-gold);color:#221500;
  width:20px;height:20px;border-radius:50%;font-size:.72rem;font-weight:900;display:grid;place-items:center;
}
.page-title h1{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.055em;margin:0;color:var(--k-deep)}
[data-theme="dark"] .page-title h1{color:var(--k-cream)}
.page-title p{color:var(--k-muted);font-size:1.05rem;margin:.35rem 0 0}
.k-card{
  background:var(--card-bg);
  border:1px solid var(--k-border);
  border-radius:26px;
  box-shadow:var(--k-shadow);
  backdrop-filter:blur(16px);
}
.metric-card{
  padding:20px;
  min-height:132px;
  position:relative;
  overflow:hidden;
}
.metric-card::after{
  content:"";
  position:absolute;right:-34px;top:-44px;width:150px;height:150px;border-radius:50%;
  background:rgba(49,89,99,.10);
}
.metric-icon{
  width:50px;height:50px;border-radius:18px;
  display:grid;place-items:center;
  background:var(--k-soft);
  color:var(--k-teal);
  font-size:1.45rem;
}
.metric-number{font-size:2.35rem;line-height:1;font-weight:900;letter-spacing:-.04em;color:var(--k-deep)}
[data-theme="dark"] .metric-number{color:var(--k-cream)}
.metric-label{color:var(--k-muted);font-weight:700}
.trend{font-weight:800;color:var(--k-success);font-size:.84rem}
.trend.down{color:var(--k-terracotta)}
.sparks{
  height:35px;width:96px;
}
.k-chip{
  border:1px solid var(--k-border);
  background:var(--card-bg);
  color:var(--k-muted);
  padding:9px 14px;border-radius:999px;
  display:inline-flex;gap:8px;align-items:center;
  font-weight:750;
  transition:.22s ease;
  cursor:pointer;
}
.k-chip:hover,.k-chip.active{background:var(--k-deep);color:#fff;border-color:var(--k-deep)}
.k-section-title{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:16px;
}
.k-section-title h2,.k-section-title h3{
  margin:0;font-size:1.08rem;letter-spacing:-.02em;font-weight:900;color:var(--k-deep);
}
[data-theme="dark"] .k-section-title h2,[data-theme="dark"] .k-section-title h3{color:var(--k-cream)}
.table-k{width:100%;border-collapse:separate;border-spacing:0}
.table-k th{font-size:.73rem;color:var(--k-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:900;padding:12px 14px;border-bottom:1px solid var(--k-border)}
.table-k td{padding:13px 14px;border-bottom:1px solid var(--k-border);vertical-align:middle}
.table-k tr:last-child td{border-bottom:0}
.tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 9px;border-radius:999px;
  font-size:.78rem;font-weight:850;
  background:rgba(65,112,117,.12);color:var(--k-teal);
}
.tag.gold{background:rgba(239,164,26,.17);color:#8B5A00}
.tag.green{background:rgba(61,139,90,.14);color:#2E794E}
.tag.red{background:rgba(180,75,57,.13);color:var(--k-danger)}
.list-item-k{
  display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;
  padding:12px 0;border-bottom:1px solid var(--k-border);
}
.list-item-k:last-child{border-bottom:0}
.mini-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--k-beige)}
.stat-list{display:flex;flex-direction:column;gap:12px}
.stat-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--k-border);padding-bottom:10px}
.stat-row:last-child{border:0;padding-bottom:0}
.chart-card{padding:18px}
.fake-chart{
  width:100%;height:130px;border-radius:18px;
  background:
    linear-gradient(to top, rgba(49,89,99,.08), transparent),
    repeating-linear-gradient(to top, transparent 0 28px, rgba(15,44,51,.08) 29px);
  position:relative;overflow:hidden;
}
.fake-chart svg{position:absolute;inset:0;width:100%;height:100%}
.video-thumb{
  display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:center
}
.thumb{
  width:92px;height:58px;border-radius:14px;background:linear-gradient(135deg,var(--k-teal),var(--k-deep));position:relative;overflow:hidden;
}
.thumb::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.24)}
.form-label{font-size:.78rem;color:var(--k-muted);font-weight:850;margin-bottom:6px}
.form-control,.form-select{
  background:rgba(255,255,255,.62);
  border:1px solid var(--k-border);
  color:var(--k-ink);
  border-radius:14px;
  padding:11px 12px;
}
[data-theme="dark"] .form-control,[data-theme="dark"] .form-select{
  background:rgba(255,255,255,.05);
  color:var(--k-cream);
}
.form-control:focus,.form-select:focus{
  border-color:var(--k-gold);
  box-shadow:0 0 0 .24rem rgba(239,164,26,.14);
  background:rgba(255,255,255,.75);
}
[data-theme="dark"] .form-control:focus,[data-theme="dark"] .form-select:focus{background:rgba(255,255,255,.08)}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.seg-btn{
  border:1px solid var(--k-border);background:var(--card-bg);border-radius:16px;padding:13px 12px;
  display:flex;align-items:center;justify-content:center;gap:8px;font-weight:850;color:var(--k-muted);
  cursor:pointer;transition:.22s ease;text-align:center;
}
.seg-btn.active{background:var(--k-deep);color:#fff;border-color:var(--k-deep);box-shadow:0 15px 35px rgba(15,44,51,.17)}
.stepper{
  display:grid;grid-template-columns:repeat(6,1fr);
  gap:0;margin:28px 0 20px;position:relative;
}
.stepper::before{
  content:"";position:absolute;left:7%;right:7%;top:18px;height:2px;background:var(--k-border);z-index:0;
}
.step{position:relative;z-index:1;text-align:center;color:var(--k-muted);font-weight:750;font-size:.75rem}
.step .circle{
  width:38px;height:38px;border-radius:50%;margin:0 auto 8px;
  display:grid;place-items:center;background:var(--k-white);border:1px solid var(--k-border);
  font-weight:900;color:var(--k-muted);
}
.step.active .circle,.step.done .circle{background:var(--k-deep);color:#fff;border-color:var(--k-deep)}
.step.done .circle{background:var(--k-teal)}
.wizard-pane{display:none;animation:rise .35s ease}
.wizard-pane.active{display:block}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bodymap{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;
}
.silhouette{
  height:285px;border-radius:24px;background:linear-gradient(180deg,rgba(49,89,99,.12),rgba(239,164,26,.08));
  position:relative;overflow:hidden;border:1px solid var(--k-border);
}
.body-figure{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:105px;height:235px;color:rgba(15,44,51,.5);
}
[data-theme="dark"] .body-figure{color:rgba(247,244,225,.54)}
.pain-dot{
  position:absolute;width:20px;height:20px;border-radius:50%;background:var(--k-gold);
  border:3px solid rgba(255,255,255,.75);box-shadow:0 0 0 8px rgba(239,164,26,.18);
  cursor:pointer;transition:.18s ease;
}
.pain-dot:hover{transform:scale(1.15)}
.pain-list{display:flex;flex-direction:column;gap:10px}
.pain-card{
  border:1px solid var(--k-border);background:rgba(255,255,255,.62);
  border-radius:18px;padding:12px;display:flex;justify-content:space-between;align-items:center;
}
[data-theme="dark"] .pain-card{background:rgba(255,255,255,.05)}
.range-wrap{
  padding:16px;border-radius:22px;background:rgba(239,164,26,.10);border:1px solid rgba(239,164,26,.22)
}
.form-range::-webkit-slider-thumb{background:var(--k-gold)}
.upload-card{
  border:1px dashed rgba(15,44,51,.28);
  background:rgba(255,255,255,.46);
  border-radius:22px;padding:18px;display:flex;gap:14px;align-items:center;cursor:pointer;transition:.22s ease;min-height:92px;
}
.upload-card:hover{border-color:var(--k-gold);background:rgba(239,164,26,.11);transform:translateY(-2px)}
[data-theme="dark"] .upload-card{background:rgba(255,255,255,.05);border-color:rgba(247,244,225,.18)}
.upload-ico{width:46px;height:46px;border-radius:16px;background:var(--k-soft);display:grid;place-items:center;color:var(--k-teal);font-size:1.35rem}
.sticky-actions{
  position:sticky;bottom:0;z-index:25;
  margin:22px -12px -18px;padding:16px;
  border-top:1px solid var(--k-border);
  background:rgba(247,244,225,.80);
  backdrop-filter:blur(18px);
  border-radius:22px;
}
[data-theme="dark"] .sticky-actions{background:rgba(5,6,7,.85)}
.progress-k{height:7px;border-radius:999px;background:var(--k-border);overflow:hidden}
.progress-k span{display:block;height:100%;background:linear-gradient(90deg,var(--k-teal),var(--k-gold));border-radius:999px}
.profile-hero{
  display:grid;grid-template-columns:180px 1fr 250px;gap:22px;align-items:center;padding:22px;
}
.profile-photo{
  width:112px;height:112px;border-radius:50%;object-fit:cover;border:4px solid var(--k-cream);box-shadow:var(--k-shadow)
}
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.kpi{padding:18px;border-radius:22px;background:var(--card-bg);border:1px solid var(--k-border);box-shadow:var(--k-shadow)}
.tabs-k{display:flex;gap:8px;flex-wrap:wrap}
.tab-k{
  border:1px solid var(--k-border);background:var(--card-bg);color:var(--k-muted);border-radius:999px;padding:8px 13px;font-weight:800;cursor:pointer
}
.tab-k.active{background:var(--k-deep);color:#fff}
.timeline{
  position:relative;margin-left:20px;padding-left:32px;
}
.timeline::before{content:"";position:absolute;left:10px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--k-teal),var(--k-gold))}
.timeline-event{position:relative;padding:0 0 22px}
.timeline-dot{
  position:absolute;left:-34px;top:0;width:24px;height:24px;border-radius:50%;
  background:var(--k-white);border:4px solid var(--k-teal);box-shadow:0 0 0 5px rgba(65,112,117,.12)
}
.timeline-date{font-size:.78rem;color:var(--k-muted);font-weight:850}
.timeline-box{border:1px solid var(--k-border);border-radius:18px;padding:14px;background:rgba(255,255,255,.52)}
[data-theme="dark"] .timeline-box{background:rgba(255,255,255,.04)}
.insight-card{
  padding:14px;border-radius:18px;border:1px solid var(--k-border);background:rgba(255,255,255,.55);margin-bottom:12px
}
[data-theme="dark"] .insight-card{background:rgba(255,255,255,.04)}
.insight-card.good{border-color:rgba(61,139,90,.28)}
.insight-card.warn{border-color:rgba(239,164,26,.34);background:rgba(239,164,26,.10)}
.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.media-card{border-radius:18px;overflow:hidden;border:1px solid var(--k-border);background:var(--card-bg)}
.media-img{height:82px;background:linear-gradient(135deg,var(--k-teal),var(--k-deep));position:relative}
.media-img.play::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.20)}
.media-card div:last-child{padding:10px}
.reveal{opacity:0;transform:translateY(14px);transition:.55s ease}
.reveal.visible{opacity:1;transform:none}
.mobile-nav{display:none}
.toast-k{
  position:fixed;right:24px;bottom:24px;background:var(--k-deep);color:#fff;
  border-radius:18px;padding:14px 18px;box-shadow:var(--k-shadow);z-index:9999;display:none;
}
.toast-k.show{display:block;animation:rise .25s ease}
@media (max-width:1180px){
  .k-app{grid-template-columns:92px 1fr}
  .k-sidebar{padding:22px 14px;align-items:center}
  .k-logo{width:62px;object-fit:cover;object-position:left}
  .product-kicker,.k-nav span,.sidebar-foot div:not(.avatar-initials),.sidebar-foot i{display:none}
  .k-nav a{justify-content:center;width:58px;height:58px;padding:0}
}
@media (max-width:900px){
  .k-app{display:block}
  .k-sidebar{display:none}
  .k-main{padding:16px 14px 92px}
  .mobile-nav{
    display:grid;grid-template-columns:repeat(4,1fr);
    position:fixed;left:12px;right:12px;bottom:12px;z-index:100;
    background:rgba(255,255,255,.86);backdrop-filter:blur(18px);
    border:1px solid var(--k-border);border-radius:22px;box-shadow:var(--k-shadow);overflow:hidden
  }
  [data-theme="dark"] .mobile-nav{background:rgba(10,17,19,.88)}
  .mobile-nav a{padding:10px;text-align:center;color:var(--k-muted);font-size:.72rem;font-weight:800}
  .mobile-nav a i{display:block;font-size:1.2rem;margin-bottom:2px}
  .mobile-nav a.active{background:var(--k-deep);color:#fff}
  .k-topbar{justify-content:space-between;gap:8px;position:sticky;top:0;z-index:40;background:rgba(247,244,225,.82);backdrop-filter:blur(14px);padding:8px;border-radius:20px}
  [data-theme="dark"] .k-topbar{background:rgba(5,6,7,.82)}
  .searchbox{min-width:0;flex:1}
  .k-user{display:none}
  .stepper{grid-template-columns:repeat(3,1fr);gap:12px}
  .stepper::before{display:none}
  .bodymap,.profile-hero{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .media-grid{grid-template-columns:repeat(2,1fr)}
  .segmented{grid-template-columns:1fr}
}
@media (max-width:560px){
  .page-title h1{font-size:2rem}
  .kpi-grid{grid-template-columns:1fr}
  .list-item-k{grid-template-columns:auto 1fr}
  .list-item-k .tag,.list-item-k .k-btn{margin-left:52px}
  .media-grid{grid-template-columns:1fr}
}
