/* ══════════════════════════════════════════════════
   C-1 스탠다드 — 라이트/다크 완전 지원
══════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;}

/* ── iframe 내부 스크롤바 토글로 인한 리사이즈 완전 차단 ── */
html{overflow:hidden;height:100%;}
body{margin:0;overflow:hidden;height:100%;}
.content{height:100%;overflow:hidden;display:flex;flex-direction:column;}

/* dash: 100vh 제거 + 남은 공간 정확히 채움 + 내부 스크롤 */
.dash{
  padding:0 !important;
  min-height:0 !important;
  max-height:none !important;
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  contain:layout style;
}

/* ── 페이지 그리드: 메인(1fr) | 사이드바(252px) ── */
.c1-page{
  display:grid;
  grid-template-columns:1fr 252px;
  gap:16px;
  align-items:start;
  padding:0;
}
/* HTML 순서와 무관하게 사이드바를 2번 컬럼(우측)으로 고정 */
.c1-sidebar{grid-column:2;grid-row:1;}
.c1-main{grid-column:1;grid-row:1;}

/* ══════════════ 사이드바 (우측) ══════════════ */
.c1-sidebar{
  border-radius:18px;
  padding:22px 20px 20px;
  display:flex;
  flex-direction:column;
  gap:0;
  position:sticky;
  top:0;
  font-family:'Pretendard',-apple-system,sans-serif;
  letter-spacing:-0.02em;
  line-height:1.6;
  /* 라이트 기본 */
  background:var(--panel);
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
body.dark .c1-sidebar{
  background:rgba(12,18,40,.96);
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:none;
}

.c1-sb-div{
  height:1px;
  margin:15px 0;
  flex-shrink:0;
  background:var(--bg3);
}
body.dark .c1-sb-div{ background:rgba(255,255,255,.07); }

.c1-profile-photo{
  width:84px;height:84px;border-radius:50%;
  background:linear-gradient(135deg,#1d4ed8,#4f46e5);
  display:flex;align-items:center;justify-content:center;
  font-size:28px;font-weight:900;color:#fff;
  margin:0 auto 10px;
  border:2.5px solid rgba(37,99,235,.3);
  box-shadow:0 0 0 4px rgba(37,99,235,.08),0 4px 16px rgba(37,99,235,.15);
  flex-shrink:0;
}

.c1-gm-hi{font-size:15px;text-align:center;color:var(--text3);}
body.dark .c1-gm-hi{color:rgba(255,255,255,.38);}

.c1-gm-name{font-size:15px;font-weight:900;letter-spacing:-.03em;text-align:center;margin-top:1px;color:var(--text);}
body.dark .c1-gm-name{color:#f1f5f9;}

/* 인증 자격 */
.c1-cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
.c1-cert-badge{
  font-size:9px;font-weight:800;
  padding:4px 0;border-radius:7px;
  text-align:center;white-space:nowrap;
  background:rgba(37,99,235,.07);
  border:1px solid rgba(37,99,235,.18);
  color:var(--primary);
}
body.dark .c1-cert-badge{
  background:rgba(37,99,235,.1);
  border-color:rgba(37,99,235,.22);
  color:#93c5fd;
}
.c1-cert-empty{
  grid-column:1/-1;
  font-size:15px;font-weight:500;
  text-align:center;padding:6px 0;
  color:var(--text3);
}
body.dark .c1-cert-empty{color:rgba(255,255,255,.28);}

/* KPI — 전체 가운데 정렬 */
.c1-kpi-section{text-align:center;}
.c1-kpi-label{
  font-size:8px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:5px;
  color:var(--text3);
}
body.dark .c1-kpi-label{color:rgba(255,255,255,.25);}
.c1-kpi-num{font-size:32px;font-weight:900;letter-spacing:-1.5px;line-height:1;color:var(--text);}
body.dark .c1-kpi-num{color:#fff;}
.c1-kpi-diff{
  font-size:15px;font-weight:700;color:var(--green);
  margin-top:4px;
  display:flex;align-items:center;justify-content:center;gap:4px;
}

/* 서비스 카드 */
.c1-svc-list{display:flex;flex-direction:column;gap:5px;}
.c1-svc{
  display:flex;align-items:center;justify-content:center;
  padding:10px 12px;border-radius:9px;cursor:pointer;
  transition:all .2s;
  background:var(--panel2);
  border:1px solid var(--border);
}
.c1-svc:hover{background:#eff6ff;border-color:#bfdbfe;transform:translateX(2px);}
body.dark .c1-svc{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.07);}
body.dark .c1-svc:hover{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.22);}
.c1-svc-name{font-size:13px;font-weight:700;color:var(--text2);transition:color .2s;}
.c1-svc:hover .c1-svc-name{color:var(--primary);}
body.dark .c1-svc-name{color:var(--text);}
body.dark .c1-svc:hover .c1-svc-name{color:#93c5fd;}

/* ══════════════ 메인 영역 ══════════════ */
.c1-main{
  display:flex;flex-direction:column;gap:16px;
  font-family:'Pretendard',-apple-system,sans-serif;
  letter-spacing:-0.02em;line-height:1.6;
}

/* 명언 탑바 */
.c1-topbar{
  border-radius:12px;
  padding:12px 16px;
  display:flex;align-items:center;gap:14px;
  height:48px;min-height:48px;max-height:48px;
  overflow:hidden;flex-shrink:0;
  contain:layout style size;
  transition:border-color .2s,box-shadow .2s;
  /* 라이트 */
  background:var(--panel);
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.c1-topbar:hover{border-color:#bfdbfe;box-shadow:0 2px 8px rgba(37,99,235,.08);}
body.dark .c1-topbar{
  background:rgba(12,18,40,.88);
  border:1px solid rgba(255,255,255,.07);
  color:var(--text);
  box-shadow:none;
}
body.dark .c1-topbar:hover{border-color:rgba(255,255,255,.14);}

/* 탑바 본문 — 1줄 행(저자 포함 인터랙션 영역) */
.c1-topbar-body{
  flex:1;min-width:0;
  display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:6px;
  overflow:hidden;
}
.c1-quote-wrap{
  font-size:14px;line-height:1.6;
  color:var(--text2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  flex:1;min-width:0;
}
body.dark .c1-quote-wrap{color:rgba(255,255,255,.55);}
.c1-cursor{
  display:inline-block;width:1.5px;height:11px;
  background:currentColor;vertical-align:middle;
  margin-left:1px;animation:c1blink .7s step-end infinite;opacity:.5;
}
@keyframes c1blink{0%,100%{opacity:.5;}50%{opacity:0;}}
.c1-fav-btn{
  background:none;border:none;cursor:pointer;
  padding:5px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .2s;
  color:var(--border2);
}
.c1-fav-btn:hover{background:var(--bg3);color:var(--text3);}
.c1-fav-btn.c1-active{color:var(--gold);}
body.dark .c1-fav-btn{color:rgba(255,255,255,.22);}
body.dark .c1-fav-btn:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);}
body.dark .c1-fav-btn.c1-active{color:#fbbf24;}

/* ══ 히어로 카드 ══ */
.c1-hc{
  position:relative;overflow:hidden;border-radius:14px;
  cursor:pointer;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,filter .25s;
}
.c1-hc:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 20px 56px rgba(0,0,0,.5);filter:brightness(1.07);}
.c1-hc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.35) brightness(.32);transition:transform .5s ease;}
.c1-hc:hover img{transform:scale(1.06);}
.c1-hc-ov{position:absolute;inset:0;transition:opacity .25s;}
.c1-hc:hover .c1-hc-ov{opacity:.88;}
.c1-hc-sheen{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.07) 0%,transparent 55%);pointer-events:none;}
.c1-hc-scan{position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);pointer-events:none;z-index:2;opacity:0;}
.c1-hc:hover .c1-hc-scan{animation:c1scan .55s ease-out forwards;}
@keyframes c1scan{0%{left:-60%;opacity:1;}100%{left:120%;opacity:0;}}
.c1-hc-body{position:relative;z-index:3;padding:20px;height:100%;display:flex;flex-direction:column;}
.c1-hc-cat{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.38);display:flex;align-items:center;gap:5px;margin-bottom:auto;}
.c1-hc-cat::before{content:'';width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.3);flex-shrink:0;}
.c1-hc-title{font-size:17px;font-weight:900;color:#fff;line-height:1.25;margin-top:8px;}
.c1-hc-num{font-size:30px;font-weight:900;color:#fff;letter-spacing:-1.5px;line-height:1;margin-top:8px;}
.c1-hc-num sub{font-size:11px;color:rgba(255,255,255,.38);font-weight:400;}
.c1-hc-ev-title{font-size:14px;font-weight:700;color:#fff;margin-top:2px;}
.c1-hc-sub{font-size:10px;color:rgba(255,255,255,.48);margin-top:4px;line-height:1.6;}
.c1-hc-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px;}
.c1-hc-tag{font-size:8px;font-weight:700;padding:2px 7px;border-radius:20px;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.58);}
.c1-hc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(255,255,255,.09);}
.c1-hc-foot .c1-hc-title{font-size:14px;margin-top:0;line-height:1.2;}
.c1-hc-cta{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:rgba(255,255,255,.55);background:none;border:none;padding:0;transition:all .2s;}
.c1-hc:hover .c1-hc-cta{color:rgba(255,255,255,.88);gap:7px;}
.c1-hc-badge{font-size:9px;font-weight:800;color:#fbbf24;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.2);border-radius:20px;padding:2px 7px;}

/* 블루 계열 오버레이 */
.c1-ov-1{background:linear-gradient(145deg,rgba(28,68,196,.76),rgba(66,138,248,.62),rgba(14,46,162,.70));opacity:.9;}
.c1-ov-2{background:linear-gradient(145deg,rgba(40,54,200,.76),rgba(88,96,228,.62),rgba(58,40,190,.70));opacity:.9;}
.c1-ov-3{background:linear-gradient(145deg,rgba(60,40,196,.76),rgba(116,78,218,.62),rgba(84,24,172,.70));opacity:.9;}
.c1-ov-4{background:linear-gradient(145deg,rgba(10,36,148,.82),rgba(40,104,232,.70));opacity:.9;}
.c1-ov-5{background:linear-gradient(145deg,rgba(16,44,168,.82),rgba(54,118,236,.70));opacity:.9;}
.c1-ov-6{background:linear-gradient(145deg,rgba(18,32,160,.82),rgba(64,68,218,.70));opacity:.9;}

/* 오로라 래퍼 */
.c1-aurora-wrap{position:relative;border-radius:16px;background:var(--bg3);overflow:hidden;padding:12px;}
body.dark .c1-aurora-wrap{background:#050918;}
.c1-ab{position:absolute;border-radius:50%;filter:blur(72px);pointer-events:none;animation:c1bfloat 10s ease-in-out infinite alternate;}
@keyframes c1bfloat{0%{transform:translate(-50%,-50%) scale(1);}100%{transform:translate(-50%,-50%) scale(1.28) rotate(14deg);}}

/* 슬라벨 */
.c1-slabel{
  font-size:8px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:10px;
  display:flex;align-items:center;gap:6px;
  color:var(--text3);
}
.c1-slabel::after{content:'';flex:1;height:1px;background:var(--bg3);}
body.dark .c1-slabel{color:rgba(255,255,255,.25);}
body.dark .c1-slabel::after{background:rgba(255,255,255,.06);}

/* 하단 카드 */
.c1-bc{
  border-radius:14px;padding:16px;
  display:flex;flex-direction:column;
  /* 라이트 */
  background:var(--panel);
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
body.dark .c1-bc{
  background:rgba(12,18,40,.92);
  border:1px solid var(--border);
  color:var(--text);
  box-shadow:none;
}

/* 키맨 그리드 오버라이드 */
#kmGrid{display:grid !important;grid-template-columns:repeat(5,1fr) !important;gap:6px !important;}
#kmGrid .km-grid{display:grid !important;grid-template-columns:repeat(5,1fr) !important;gap:6px !important;}
#kmGrid .km-item{
  position:relative !important;
  border-radius:9px !important;
  padding:14px 4px 10px !important;
  display:flex !important;flex-direction:column !important;align-items:center !important;gap:3px !important;
  cursor:pointer !important;text-align:center !important;
  transition:all .22s cubic-bezier(.34,1.56,.64,1) !important;
  background:var(--panel2) !important;border:1px solid var(--border) !important;color:var(--text2) !important;
}
#kmGrid .km-item:hover{background:#eff6ff !important;border-color:#bfdbfe !important;transform:translateY(-3px) !important;}
body.dark #kmGrid .km-item{background:rgba(255,255,255,.03) !important;border:1px solid rgba(255,255,255,.07) !important;color:#f1f5f9 !important;}
body.dark #kmGrid .km-item:hover{background:rgba(37,99,235,.08) !important;border-color:rgba(37,99,235,.22) !important;}
#kmGrid .km-name{font-size:9px !important;font-weight:700 !important;white-space:nowrap !important;color:var(--text2) !important;}
body.dark #kmGrid .km-name{color:var(--text) !important;}
#kmGrid .km-sub{display:none !important;}
#kmGrid .km-count{font-size:9px !important;font-weight:800 !important;color:var(--primary) !important;margin-top:2px !important;}
body.dark #kmGrid .km-count{color:#93c5fd !important;}
#kmGrid .km-avatar,#kmGrid .km-avt{display:none !important;}
#kmGrid .rk{position:absolute !important;top:4px !important;right:5px !important;display:flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important;}
#kmGrid .rk-num{font-size:8px !important;font-weight:900 !important;color:var(--text3) !important;min-width:10px !important;text-align:right !important;}
body.dark #kmGrid .rk-num{color:rgba(255,255,255,.25) !important;}

/* 월별 차트 레이블 */
.c1-chart-months{display:flex;justify-content:space-between;margin-top:8px;}
.c1-chart-months span{font-size:8px;color:var(--text3);}
body.dark .c1-chart-months span{color:rgba(255,255,255,.25);}

/* 입장 애니메이션 */
.c1-anim-in{opacity:0;transform:translateY(14px);transition:opacity .48s ease,transform .48s cubic-bezier(.34,1.56,.64,1);}
.c1-anim-in.c1-visible{opacity:1;transform:translateY(0);}

/* 기존 g-overview, g-bot, KPI 행 숨김 */
.g-overview,.g-bot{display:none !important;}
.dash > div[style*="grid-template-columns:1fr 4fr"]{display:none !important;}
