/*----------------------- 1. ±âº» ¼³Á¤ -------------------------*/
html,
body {width:100%; height:100%; margin:0; padding:0;}
.subcontents {position:relative; padding-top:50px;}

/*----------------------- 2. °øÅë ·¹ÀÌ¾Æ¿ô ¹× ¹îÁö -------------------------*/
.dashboard-wrapper {max-width:1024px; margin:50px auto; border:1px solid var(--border-color); background-color:#ffffff; box-shadow:0 25px 50px -12px rgba(0,0,0,0.25); position:relative; overflow:hidden;}
.bg-grid {background-image:radial-gradient(#e2e8f0 1px,transparent 1px); background-size:20px 20px;}
.highlight-blue {color:#1d4ed8;}
.highlight-yellow {color:#facc15;}
.highlight-dark {color:#0f172a;}
.doc-line-v {border-left:1px solid var(--border-color);}
.gov-badge {font-size:11px; font-weight:800; padding:2px 8px; border-radius:4px; border:1px solid #dbeafe; background-color:#eff6ff; color:#1e40af; white-space:nowrap; vertical-align:middle; margin-left:8px; display:inline-flex;}

/*----------------------- 3. Çì´õ ¿µ¿ª -------------------------*/
.doc-header {border-bottom:2px solid #0f172a; padding:24px; background-color:#ffffff; text-align:center;}
.meta-bar {display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; padding-bottom:16px; border-bottom:1px solid #f1f5f9;}
.meta-item {font-size:10px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:0.1em;}
.meta-item.text-right {text-align:right;}
.title-area {margin-bottom:40px;}
.main-title {font-size:30px; font-weight:900; color:#0f172a; letter-spacing:-0.05em; line-height:1.25; margin-bottom:16px;}
.sub-title {font-size:18px; font-weight:700; color:#94a3b8; letter-spacing:-0.025em;}
.guidance-box {padding:24px 32px; background-color:#0f172a; border-left:8px solid #2563eb; box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);}
.guidance-label {font-size:10px; font-weight:700; color:#60a5fa; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px; text-align:left;}
.guidance-text {font-size:18px; font-weight:700; color:#ffffff; letter-spacing:-0.025em; line-height:1.375; text-align:left;}

/*----------------------- 4. ¿ä¾à Á¤º¸ ¿µ¿ª -------------------------*/
.summary-section {display:grid; grid-template-columns:1fr; border-bottom:1px solid #e2e8f0;}
.summary-item {padding:24px; text-align:center;}
.summary-item.bg-light {background-color:#f8fafc;}
.summary-label {font-size:12px; font-weight:700; color:#94a3b8; margin-bottom:4px;}
.summary-value {font-size:14px; font-weight:700; color:#1e293b;}
.summary-value.highlight {color:#2563eb; text-transform:uppercase; font-weight:900;}

/*----------------------- 5. µµÀÔ ¹× µ¥ÀÌÅÍ ºñ±³ ¿µ¿ª -------------------------*/
.intro-section {padding:24px; text-align:center; border-bottom:1px solid #e2e8f0;}
.intro-text {font-size:18px; color:#334155; line-height:1.625; font-weight:500;}
.comparison-section {display:flex; flex-direction:column; border-bottom:1px solid #e2e8f0; background-color:#ffffff;}
.comparison-info {padding:24px;}
.comparison-visual {padding:24px; display:flex; align-items:center; justify-content:center;}
.section-title {font-size:20px; font-weight:700; color:#0f172a; margin-bottom:24px; display:flex; align-items:center; gap:8px;}
.title-bar {width:4px; height:24px; background-color:#1d4ed8; display:block;}
.title-bar-dark {width:8px; height:32px; background-color:#0f172a; display:block;}
.comparison-desc {font-size:14px; color:#475569; margin-bottom:32px; line-height:1.625;}
.legend-box {padding:20px; background-color:#f8fafc; border:1px solid #e2e8f0; border-radius:2px; box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.06);}
.legend-item {display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.legend-item:last-child {margin-bottom:0;}
.legend-color-main {width:16px; height:16px; background-color:#1d4ed8; border-radius:2px; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); border:1px solid #1e3a8a;}
.legend-color-sub {width:16px; height:16px; border:2px dashed #cbd5e1; background-color:#ffffff; border-radius:2px;}
.legend-label-main {font-size:14px; font-weight:700; color:#1e293b;}
.legend-label-sub {font-size:14px; font-weight:700; color:#94a3b8;}
.legend-note {margin-top:32px; font-size:12px; color:#94a3b8; font-style:italic; line-height:1.625;}
.chart-container {position:relative; width:100%; max-width:550px; margin:0 auto; height:380px;}

/*----------------------- 6. º¸¾È ±â¼ú »ç¾ç ¸ñ·Ï ¿µ¿ª -------------------------*/
.spec-section {padding:24px;}
.spec-section-title {font-size:24px; font-weight:700; color:#0f172a; margin-bottom:48px; display:flex; align-items:center; gap:8px;}
.timeline-container {position:relative; padding:0 8px;}
.timeline-node {position:relative; padding-left:40px; padding-bottom:64px;}
.timeline-node:last-child {padding-bottom:0;}
.timeline-line {position:absolute; left:11px; top:12px; bottom:0; width:2px; background-color:#e2e8f0; z-index:0;}
.timeline-node:last-child .timeline-line {display:none;}
.timeline-number {position:absolute; left:0; top:0; width:24px; height:24px; border-radius:9999px; background-color:#0f172a; color:#ffffff; font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center; z-index:10; box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);}
.timeline-number.blue {background-color:#1d4ed8;}
.node-header {margin-bottom:24px; display:flex; align-items:center; flex-wrap:wrap; gap:8px;}
.node-title {font-size:20px; font-weight:700; color:#0f172a;}
.node-title.blue {color:#1e3a8a;}
.grid-2,
.grid-3 {display:grid; grid-template-columns:1fr; gap:16px;}
.security-card {padding:20px; border:1px solid #e2e8f0; background-color:#f8fafc; border-radius:2px; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); transition:border-color 0.2s;}
.security-card:hover {border-color:#1e40af;}
.security-card.blue {border:2px solid #bfdbfe; background-color:#eff6ff; box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);}
.card-title {font-size:14px; font-weight:900; color:#1e293b; margin-bottom:8px;}
.card-title.blue {color:#1e3a8a;}
.card-desc {font-size:14px; color:#64748b; line-height:1.625;}
.card-desc.blue {color:#1e40af; opacity:0.9;}
.card-split {padding:20px; border:1px solid #e2e8f0; background-color:#f8fafc; border-radius:2px; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05); margin-bottom:16px; display:flex; flex-direction:column; gap:32px;}
.split-item {flex:1;}
.recovery-box {border:1px solid #e2e8f0; border-radius:2px; overflow:hidden; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);}
.recovery-header {background-color:#0f172a; padding:12px; color:#ffffff; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em;}
.recovery-content {padding:24px; background-color:#f8fafc;}
.recovery-item {display:flex; gap:16px; border-bottom:1px solid #e2e8f0; padding-bottom:16px; margin-bottom:16px;}
.recovery-item:last-child {border-bottom:none; padding-bottom:0; margin-bottom:0;}
.recovery-bullet {color:#1d4ed8; font-weight:700;}
.recovery-title {font-size:14px; font-weight:700; color:#1e293b;}
.recovery-desc {font-size:14px; color:#64748b; display:block; margin-top:4px; line-height:1.625;}
.notice-box {margin-top:48px; padding:24px; border-left:4px solid #94a3b8; background-color:#f8fafc; box-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.06);}
.notice-title {font-size:14px; font-weight:900; color:#1e293b; margin-bottom:8px;}
.notice-desc {font-size:14px; color:#64748b; line-height:1.625;}
.status-banner {margin-top:24px; padding:20px; border:2px solid #2563eb; background-color:#eff6ff; display:flex; align-items:center; justify-content:center; gap:12px; box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);}
.status-dot {color:#1d4ed8; font-size:20px; animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite; display:block;}
.status-text {color:#1e3a8a; font-size:18px; font-weight:900; text-align:center; line-height:1.25; padding:0 16px; display:block;}

@keyframes pulse {
    0%,
    100% {opacity:1;}
    50% {opacity:.5;}
}

/*----------------------- 7. CEO ¼±¾ð¹® ¹× ÇªÅÍ -------------------------*/
.manifesto-section {padding:24px; background-color:#f8fafc; border-top:1px solid #e2e8f0;}
.manifesto-box {border:2px solid #0f172a; padding:24px; background-color:#ffffff; position:relative; box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);}
.manifesto-title {font-size:14px; font-weight:900; color:#0f172a; margin-bottom:24px; text-transform:uppercase; letter-spacing:0.05em; text-decoration:underline; text-decoration-color:#3b82f6; text-decoration-thickness:4px;}
.manifesto-content {color:#334155; line-height:1.625; margin-bottom:40px; font-size:14px;}
.manifesto-quote {font-size:18px; font-weight:700; color:#0f172a; font-style:italic; border-bottom:1px solid #f1f5f9; padding-bottom:8px; margin-bottom:20px;}
.manifesto-text {margin-bottom:20px; color:#64748b;}
.manifesto-text:last-child {margin-bottom:0; color:#94a3b8; font-style:italic;}
.sign-area {display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; border-top:1px solid #e2e8f0; padding-top:32px; position:relative;}
.sign-issuer {width:100%;}
.sign-label {font-size:12px; color:#94a3b8; margin-bottom:4px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em;}
.sign-name-en {font-size:24px; font-weight:900; color:#0f172a; text-transform:uppercase; letter-spacing:-0.05em;}
.sign-rep {margin-top:24px; text-align:right;}
.sign-name-kr {font-size:20px; font-weight:700; color:#0f172a; padding-right:24px;}
.sign-stamp {font-size:14px; font-weight:400; color:#94a3b8; margin-left:4px;}
.doc-footer {padding:24px; background-color:#0f172a; color:#64748b; text-align:center; font-size:10px; font-family:'Roboto Mono',monospace;}

/*----------------------- 8. ¹Ìµð¾î Äõ¸® -------------------------*/
@media (min-width: 768px)
{
    body {padding:48px;}
    .doc-header {padding:40px; text-align:left;}
    .meta-item {font-size:12px;}
    .summary-section {grid-template-columns:repeat(4,1fr);}
    .intro-section {padding:40px; text-align:left;}
    .grid-2 {grid-template-columns:repeat(2,1fr);}
    .grid-3 {grid-template-columns:repeat(3,1fr);}
    .spec-section {padding:40px;}
    .card-split {flex-direction:row;}
    .card-split .split-item.bordered {border-left:1px solid #cbd5e1; padding-left:32px;}
    .manifesto-section {padding:40px;}
    .manifesto-box {padding:40px;}
    .manifesto-content {font-size:16px;}
    .sign-area {flex-direction:row;}
    .sign-rep {margin-top:0;}
}

@media (min-width: 1024px)
{
    .comparison-section {flex-direction:row;}
    .comparison-info {width:40%; padding:40px;}
    .comparison-visual {width:60%; padding:40px; border-left:1px solid #e2e8f0;}
}