:root{--navy:#14213a;--ink:#172033;--muted:#6f7a8d;--line:#dde2ea;--soft:#f4f6f9;--green:#1f9d67}*{box-sizing:border-box}body{color:var(--ink);background:#eef1f5;margin:0;font-family:Arial,Noto Sans KR,sans-serif}button{font:inherit}.earnings-page{min-height:100vh;padding-bottom:48px}.topbar{z-index:20;background:#fff;border-bottom:1px solid #dfe3e9;align-items:center;gap:36px;height:68px;padding:0 max(24px,50vw - 720px);display:flex;position:sticky;top:0}.brand{color:#15223a;white-space:nowrap;font-size:18px;font-weight:800;text-decoration:none}.brand span{color:#ed4c4c;margin-right:4px}.topbar nav{flex:1;align-items:stretch;height:100%;display:flex}.topbar nav a,.topbar nav b{color:#667085;border-bottom:3px solid #0000;align-items:center;padding:0 20px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.topbar nav b{color:#172033;border-color:#e64d4d}.topbar nav span{align-items:center;gap:5px;display:flex}.topbar nav small{color:#98a0ae;font-size:10px}.topbar-status{color:#657084;align-items:center;gap:7px;font-size:12px;display:flex}.topbar-status i{background:#2bb673;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #dcf6ea}.dashboard-title,.taiwan-calendar-layout,.publication-card,.charts-section,.data-footer{width:calc(100% - 16px);max-width:1440px;margin-left:auto;margin-right:auto}.dashboard-title{justify-content:space-between;align-items:flex-end;padding:40px 8px 25px;display:flex}.dashboard-title p{color:#e15151;letter-spacing:1.8px;margin:0 0 8px;font-size:11px;font-weight:900}.dashboard-title h1{letter-spacing:-1px;margin:0 0 8px;font-size:30px}.dashboard-title span{color:#727d8e;font-size:14px}.data-freshness{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr auto;gap:3px 18px;min-width:178px;padding:12px 18px;display:grid}.data-freshness small{color:#798395;font-size:11px}.data-freshness strong{grid-area:1/2/3;font-size:21px}.data-freshness span{font-size:10px}.taiwan-calendar-layout{padding:0 8px;display:block}.dashboard-card{border:1px solid var(--line);background:#fff;border-radius:9px;box-shadow:0 3px 12px #14213a0a}.calendar-card{padding:24px}.section-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.section-head>div:first-child,.charts-intro{align-items:center;gap:14px;display:flex}.section-head h2,.charts-intro h2{margin:0 0 4px;font-size:18px}.section-head p,.charts-intro p{color:#7d8797;margin:0;font-size:12px}.section-number{color:#fff;letter-spacing:1px;background:#182640;border-radius:7px;flex:none;place-items:center;width:36px;height:36px;font-size:11px;font-weight:800;display:grid}.month-nav{align-items:center;gap:15px;display:flex}.month-nav button{color:#526075;cursor:pointer;background:#fff;border:1px solid #d8dde5;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:700}.month-nav button:disabled{opacity:.35;cursor:not-allowed}.month-nav strong{text-align:center;min-width:105px;font-size:15px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{border:1px solid var(--line);background:#f7f8fa;border-bottom:0;border-radius:6px 6px 0 0}.calendar-weekdays span{text-align:center;color:#697487;padding:9px;font-size:11px;font-weight:800}.calendar-weekdays span:first-child{color:#d74d58}.calendar-weekdays span:last-child{color:#4674bf}.calendar-grid{border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:94px;padding:7px;overflow:hidden}.calendar-day>span{color:#4d596b;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.calendar-day.outside{background:#f7f8fa}.calendar-day.outside>*{opacity:.28}.calendar-day.sunday>span{color:#d84d59}.calendar-day.saturday>span{color:#356eb5}.calendar-day button{color:#374255;white-space:nowrap;cursor:default;background:0 0;border:0;align-items:center;gap:4px;width:100%;padding:2px 0;font-size:13px;display:flex}.calendar-day button i{border-radius:50%;flex:none;width:7px;height:7px}.calendar-day button em{color:#566176;font-size:12px;font-style:normal}.progress-card{flex-direction:column;padding:24px;display:flex}.progress-card h2{margin:15px 0 4px;font-size:18px}.progress-card>p{color:#7b8595;margin:0;font-size:12px}.progress-ring{background:conic-gradient(#1c9f69 var(--progress),#e7ebef 0);border-radius:50%;place-items:center;width:154px;height:154px;margin:30px auto;display:grid;position:relative}.progress-ring:before{content:"";background:#fff;border-radius:50%;width:119px;height:119px;position:absolute}.progress-ring div{text-align:center;position:relative}.progress-ring strong{font-size:36px}.progress-ring span{color:#8993a2;font-size:15px}.progress-ring small{color:#7c8798;margin-top:3px;font-size:10px;display:block}.progress-stats{border-top:1px solid var(--line);padding-top:15px}.progress-stats div{grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:7px 0;font-size:12px;display:grid}.progress-stats i{border-radius:50%;width:7px;height:7px}.progress-stats .complete{background:#20a06b}.progress-stats .partial{background:#f4ad3d}.progress-stats .waiting{background:#c7ced8}.progress-note{background:#f6f8fa;border-radius:6px;padding:12px;line-height:1.5;margin-top:auto!important}.publication-card{margin-top:18px;padding:24px}.revenue-month-pill{color:#536075;background:#eef2f7;border-radius:20px;padding:8px 13px;font-size:11px;font-weight:700}.publication-table{border:1px solid var(--line);border-radius:7px;overflow:hidden}.publication-row{border-top:1px solid var(--line);grid-template-columns:180px minmax(320px,1.8fr) 150px 190px 140px;align-items:center;min-height:58px;display:grid}.publication-row:first-child{border-top:0}.publication-row>span,.publication-row>strong,.publication-row>b{padding:10px 14px;font-size:13px}.publication-header{color:#fff;background:#17243d;min-height:42px}.publication-header span{font-size:13px;font-weight:800}.company-list{color:#687386;line-height:1.5}.publication-row .report-status{text-align:center;border-radius:5px;min-height:32px;margin:8px 12px;padding:8px;font-size:13px;font-weight:800}.ready-status{color:#177447;background:#c9f1d8;border:1px solid #b8e8ca}.waiting-status{color:#5f6a7b;background:#edf0f4;border:1px solid #dce1e7}.charts-section{padding:30px 8px 0}.charts-intro{margin-bottom:17px}.charts-intro h2 small{color:#7c8797;font-size:12px;font-weight:400}.taiwan-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.revenue-chart-card{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;margin:0;padding:16px 14px;position:relative;box-shadow:0 3px 12px #14213a09}.taiwan-chart-grid .revenue-chart-card:last-child{grid-column:1}.chart-heading{justify-content:space-between;align-items:flex-end;margin-bottom:7px;display:flex}.chart-heading span{color:#e14f54;letter-spacing:1px;font-size:9px;font-weight:900}.chart-heading h3{margin:4px 0;font-size:16px}.chart-heading small{color:#7c8797;font-size:12px}.chart-canvas{position:relative}.chart-canvas svg{width:100%;height:auto;max-height:300px;display:block}.chart-grid{stroke:#e5e8ed;stroke-width:1px}.chart-axis{fill:#8490a2;font-size:12px}.partial-dot{fill:#f59e0b}.hover-line{stroke:#35445f;stroke-width:1px;stroke-dasharray:3 3}.chart-tooltip-box{color:#fff;background:#14213af0;border-radius:7px;gap:4px;min-width:175px;padding:10px 12px;font-size:10px;display:grid;position:absolute;top:12px;right:18px;box-shadow:0 5px 20px #0000002b}.chart-tooltip-box>strong{margin-bottom:3px;font-size:11px}.chart-tooltip-box span{grid-template-columns:7px 1fr auto;align-items:center;gap:6px;display:grid}.chart-tooltip-box i,.chart-legend i{border-radius:2px;width:7px;height:7px}.chart-tooltip-box .chart-total{border-top:1px solid #ffffff40;grid-template-columns:1fr auto;margin-top:2px;padding-top:5px}.chart-legend{color:#677286;flex-wrap:wrap;justify-content:center;gap:16px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.partial-badge{color:#9a6a00;background:#fff6df;border:1px solid #f1d596;border-radius:12px;padding:4px 8px;font-size:9px;position:absolute;top:54px;right:22px}.data-footer{color:#6f7a8b;border-top:1px solid #d1d7df;grid-template-columns:1fr 1fr 2fr;gap:30px;margin-top:26px;padding:20px 8px;display:grid}.data-footer strong{letter-spacing:1px;color:#334156;font-size:9px}.data-footer p{margin:4px 0;font-size:10px;line-height:1.5}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #65a3ff}@media (max-width:900px){.dashboard-title,.taiwan-calendar-layout,.publication-card,.charts-section,.data-footer{width:auto}.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:60px;padding:0 14px}.topbar nav{order:3;width:100%;overflow-x:auto}.topbar nav a,.topbar nav b{padding:10px 12px}.topbar-status{margin-left:auto}.dashboard-title{align-items:flex-start;padding:25px 15px 18px}.dashboard-title h1{font-size:24px}.data-freshness{display:none}.taiwan-calendar-layout{padding:0 12px}.calendar-card,.publication-card{padding:16px}.section-head{flex-direction:column;align-items:flex-start}.month-nav{justify-content:space-between;width:100%}.calendar-scroll{padding-bottom:6px;overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:840px}.calendar-day{min-height:76px;padding:4px}.calendar-day button{font-size:11px}.calendar-day button em{font-size:10px}.taiwan-chart-grid{grid-template-columns:1fr}.taiwan-chart-grid .revenue-chart-card:last-child{grid-column:auto}.publication-card{margin:14px 12px 0}.publication-table{overflow-x:auto}.publication-row{min-width:900px}.charts-section{padding:24px 12px}.revenue-chart-card{padding:15px 10px}.chart-canvas{overflow-x:auto}.chart-canvas svg{min-width:840px;max-height:280px}.data-footer{grid-template-columns:1fr;margin:20px 12px 0}}@media (max-width:560px){.brand{font-size:16px}.dashboard-title span{font-size:12px}.calendar-weekdays span{padding:7px 2px}.calendar-day{min-height:68px}.calendar-day button{font-size:11px}.calendar-day button i{width:7px;height:7px}.month-nav{gap:5px}.month-nav strong{font-size:13px}}
