/* =====================================================================
   dashboard.css – 대시보드 (2026.10.12) · 자체 시안의 구성을 현재 디자인 규칙으로 변환
   ===================================================================== */
#view-dashboard .sec-h{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;letter-spacing:-.4px;color:#1c222b;margin:0;padding:0;border:0}
#view-dashboard .sec-h .ico{width:22px;height:22px;color:var(--accent);stroke-width:1.8}

/* ---------- 데이터 브리핑 히어로 (2026.10.14 확정 시안) ---------- */
.db-hero{position:relative;border-radius:16px;background:linear-gradient(180deg,#eef4fc 0%,#f3f7fd 100%);padding:22px 32px 24px;margin-bottom:30px}
.db-hero-top{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px auto;gap:24px;align-items:start;min-height:0}
.db-hero-left{min-width:0}
.db-hero-label{display:flex;align-items:center;gap:12px;font-size:13px;color:#7a8390;margin-bottom:8px;letter-spacing:-.2px}
.db-hero-label .db-brief{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--accent-text);letter-spacing:.2px}
.db-hero-label .db-brief::before{content:"";width:3px;height:12px;background:var(--accent);border-radius:1px}
.db-hero-label #hero-cat{position:relative;padding-left:12px}
.db-hero-label #hero-cat::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:1px;background:#cfd6e1}
.db-hero-left h1{font-size:26px;font-weight:700;letter-spacing:-1px;line-height:1.3;color:#1c222b;margin:0 0 6px;word-break:keep-all}
.db-hero-left p{font-size:15px;line-height:1.65;color:#5a6472;margin:0;word-break:keep-all}
.db-hero-deco{width:330px;height:90px;align-self:center;overflow:visible}
.db-hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding-top:0}
.db-slide-ctl{display:flex;align-items:center;gap:4px}
.db-slide-num{font-size:14px;color:#8a919c;padding:0 10px 0 0}
.db-slide-num b{color:#1c222b;font-weight:700;font-size:15px}
.db-slide-ctl button{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#5a6472;display:grid;place-items:center;cursor:pointer}
.db-slide-ctl button:hover{background:#fff;color:var(--accent)}
.db-slide-ctl button .ico{width:14px;height:14px}
.db-slide-bar[hidden]{display:none}
.db-hero-btn{display:inline-flex;align-items:center;gap:22px;height:40px;padding:0 18px 0 20px;background:#fff;border:1px solid #c6d2e4;border-radius:8px;font-size:15px;font-weight:600;color:#1c222b;white-space:nowrap}
.db-hero-btn:hover{border-color:var(--accent);color:var(--accent)}
.db-hero-btn .ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.db-hero-chart-wrap{position:relative;margin-top:8px;padding-top:0}
.db-hero-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 4px 14px;min-height:24px}
.db-hero-chart-head span{font-size:16px;font-weight:700;color:#1c222b;letter-spacing:-.3px}
.db-hero.insight-scope{font-size:15px;line-height:1.5;color:#333}
.db-hero .db-hero-chart.in-mini,.db-hero .db-hero-chart.in-mini:hover{background:transparent;border:0;padding:0 14px;min-height:0}
.db-hero-chart .chart-legend{position:absolute;top:0;right:14px;margin:0;font-size:14px;color:#525b68;gap:8px 18px}
.db-hero-chart .chart-legend i{width:9px;height:9px;border-radius:1px}
.db-hero-chart .chart-legend i.lg-line{width:26px;height:0;border-top:1.5px dashed;background:none;border-radius:0;position:relative}
.db-hero-chart .chart-legend i.lg-line::after{content:"";position:absolute;left:9px;top:-5px;width:6px;height:6px;border:1.5px solid;border-color:inherit;border-radius:50%;background:#eff4fc}
.db-hero-chart .chart-unit{font-size:14px;color:#6a7380}
/* 히어로에서는 단위 범례 유지 (인사이트 카드는 제목 바에 단위가 있어 숨김) */
.db-hero .db-hero-chart.in-mini .chart-legend .chart-unit{display:inline}
.db-hero .db-hero-chart.in-mini .chart-legend:has(> .chart-unit:only-child){display:flex}
.db-hero-chart .mini-combo,.db-hero-chart .bar-rows,.db-hero-chart .donut-wrap{margin-top:8px}
.db-hero-chart .bar-rows{gap:8px}
.db-hero .db-hero-chart.in-mini .bar-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:center}
.db-hero .db-hero-chart.in-mini .bar-label{font-size:15px;color:#3d4654;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-hero .db-hero-chart.in-mini .bar-mark{height:16px;border-radius:8px}
.db-hero-chart .bar-mark b{font-size:15px;font-weight:700;color:#1c222b}
.db-hero .db-hero-chart.in-mini .bar-axis{margin:8px 36px 0 236px;padding-top:6px;font-size:14px;color:#6a7380;border-top:1px solid #dfe6ef}
.db-hero .db-hero-chart.in-mini .donut-wrap{min-height:0;padding:0;margin-top:6px}
.db-hero-chart .donut-ring:after{background:#eff4fc}
.db-hero-chart .donut-center span{font-size:15px;color:#525b68}
.db-hero-chart .donut-center strong{font-size:26px}
.db-hero-chart .donut-list li,.db-hero-chart .donut-list b{font-size:15px}
.db-hero-chart .donut-list b{font-weight:700;color:#1c222b}
.db-hero-chart .chart-svg{display:block;width:100%;height:auto}
.db-hero-chart .chart-svg text{font-size:13px;fill:#7a8390}
.db-hero.fade .db-hero-left>*,.db-hero.fade .db-hero-chart-wrap{animation:dbfade .35s ease}
@keyframes dbfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- 히어로 내 검색 ---------- */
/* 2026.10.14 수정의견: 좌측 문구 삭제, 검색창을 배너 전체 폭으로 확대 */
.db-hero-search{display:block;margin-top:16px;padding-top:0;border-top:0}
.db-search{display:flex;gap:10px}
.db-search .field{flex:1;display:flex;align-items:center;gap:12px;height:52px;background:#fff;border:1.5px solid var(--accent);border-radius:6px;padding:0 18px}
.db-search .field .ico{width:22px;height:22px;color:#6a7380;flex:none}
.db-search input{width:100%;min-width:0;border:0;outline:0;background:none;font-size:17px;color:#1c222b}
.db-search input::placeholder{color:#8a919c}
.db-search .ar-btn{height:52px;padding:0 28px;font-size:17px;border-radius:6px}
.db-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.db-keywords button{height:28px;padding:0 12px;border:1px solid #d7deea;border-radius:14px;background:#fff;font-size:13px;color:#4b5563;cursor:pointer}
.db-keywords button:hover{border-color:var(--accent);color:var(--accent);background:#f7f9fe}

/* ---------- 최근 공개 데이터 / 한눈에 보기 ---------- */
.db-row{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:stretch}
.db-box{border:1px solid var(--line);border-radius:5px;padding:18px 20px 20px;background:#fff;display:flex;flex-direction:column}
/* 2026.10.14 수정의견: 한눈에 보기는 이전처럼 여백을 줄이고, 최근 공개 데이터는 스크롤 목록으로 바꿔 두 박스 높이를 맞춤
   (최근 공개 데이터 목록은 absolute로 두어 행 높이에 영향을 주지 않음 → 행 높이 = 한눈에 보기 높이) */
#db-series{display:grid;gap:8px}
.db-box-recent{min-height:300px}
.db-recent-scroll{flex:1;position:relative;min-height:0}
.db-recent-scroll .ar-tbl-wrap{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;border-bottom:0;scrollbar-width:thin}
.db-recent-scroll .ar-tbl{min-width:0}
.db-recent-scroll .ar-tbl thead th{position:sticky;top:0;z-index:1}
.db-recent-scroll .ar-tbl tbody tr:last-child td{border-bottom:1px solid var(--line)}
.db-box-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:2px solid #1c222b;margin-bottom:14px}
.db-box-head a{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:600;color:#39414c;padding-right:14px}/* 우측 끝을 '조사 시기' 열 글자 끝과 맞춤 */
.db-box-head a:hover{color:var(--accent)}
.db-box-head a .ico{width:16px;height:16px;margin-right:-20px}/* 화살표는 글자 끝 바깥으로 */
.db-recent-tbl .c-type{width:130px}.db-recent-tbl .c-date{width:120px;text-align:right;white-space:nowrap}
.db-recent-tbl td.c-title{text-align:left}
.db-recent-tbl .title a{font-weight:600;color:#1c222b}
.db-recent-tbl .title a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.db-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.db-kpi{border:1px solid var(--line);border-radius:3px;padding:12px 4px 10px;text-align:center;background:#fff}
.db-kpi span{display:block;font-size:15px;color:#525b68;margin-bottom:6px;letter-spacing:-.5px;white-space:nowrap}
.db-kpi b{font-size:28px;font-weight:700;color:var(--accent);line-height:1;letter-spacing:-1px}
.db-kpi b small{font-size:15px;font-weight:500;color:#525b68;margin-left:3px;letter-spacing:0}
.db-latest{display:flex;justify-content:space-between;align-items:center;margin:14px 0;padding:0 2px 12px;border-bottom:1px solid var(--line);font-size:15px;color:#525b68}
.db-latest b{font-size:16px;font-weight:700;color:#1c222b}
#db-series .ar-opt{height:38px}
#db-series .ar-opt .lbl{gap:8px}
#db-series .ar-opt .lbl span{font-weight:600;color:#1c222b}
#db-series .ar-opt .arrow{width:14px;height:14px;color:#8a919c;margin-left:4px}
#db-series .ar-opt .r{display:inline-flex;align-items:center;gap:6px}
#db-series .ar-opt .n{background:#fff;color:var(--accent);border:1px solid #c9d8f7;font-size:15px}

/* ---------- 공개 예정 콘텐츠 ---------- */
.db-soon{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.db-soon-card{border:1px solid var(--line);border-radius:5px;padding:18px 20px 20px;background:#fff}
.db-soon-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.db-soon-head h2{font-size:19px;font-weight:700;letter-spacing:-.4px;color:#1c222b;margin:0}
.db-soon-badge{display:inline-block;font-size:15px;font-weight:600;color:#6a7380;background:#f3f5f8;border:1px solid #e3e7ee;border-radius:3px;padding:1px 9px;line-height:1.5}
.db-soon-art{height:170px;border-radius:3px;background:linear-gradient(135deg,#eef2fa 0%,#f4f6fb 100%);display:grid;place-items:center;margin-bottom:14px;border:1px solid #e9edf3}
.db-soon-art svg{width:120px;height:120px;fill:none;stroke:#8d9bc4;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.db-soon-art svg .f{fill:#fff;stroke:#b4bfdc}
.db-soon-art svg .f2{fill:#dde4f3;stroke:none}
.db-soon-card strong{display:block;font-size:16px;font-weight:700;color:#1c222b;margin-bottom:6px;letter-spacing:-.3px}
.db-soon-card p{margin:0;font-size:15px;color:#525b68}

@media(max-width:1100px){.db-hero{padding:24px}.db-hero-top{grid-template-columns:minmax(0,1fr) auto}.db-hero-deco{display:none}.db-hero .db-hero-chart.in-mini .bar-row{grid-template-columns:160px minmax(0,1fr)}.db-hero .db-hero-chart.in-mini .bar-axis{margin-left:176px}.db-row{grid-template-columns:1fr}.db-box-recent{min-height:0;height:380px}}
@media(max-width:860px){.db-hero{padding:22px 18px}.db-hero-top{grid-template-columns:1fr}.db-hero-right{align-items:flex-start}.db-hero-chart .chart-legend{position:static;margin-bottom:8px}.db-soon{grid-template-columns:1fr}.db-kpis{grid-template-columns:repeat(3,1fr)}}
