/* 아메코인 수익 달력 (v4.4.1). 이익·손실 색은 차트 색 변수(--ec-up / --ec-down, candle-colors.js)를 쓴다. */
.exchange-nav a[aria-current="page"]{border-color:#e2c992;background:#fff9e9;color:#785a1e}
.pnl-main .exchange-intro{margin-bottom:14px}
.pnl-content{display:grid;gap:14px}
.pnl-content[hidden]{display:none}
.pnl-content[aria-busy="true"]{opacity:.6;transition:opacity .15s ease}
.pnl-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--soft)}
.pnl-card-title{margin:0 0 12px;font-size:1rem;letter-spacing:-.02em}

.pnl-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pnl-period{display:grid;gap:3px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--soft)}
.pnl-period span{color:var(--muted);font-size:.7rem;font-weight:900}
.pnl-period strong{font-size:1.05rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pnl-period small{color:var(--muted);font-size:.74rem;font-weight:850;font-variant-numeric:tabular-nums}

.pnl-content .up{color:var(--ec-up-text,#1f775f)}
.pnl-content .down{color:var(--ec-down-text,#b13e55)}
.pnl-content .flat{color:var(--ink)}

.pnl-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:14px;align-items:start}
.pnl-side{display:grid;gap:14px;min-width:0}

.pnl-month-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.pnl-month-bar h2{margin:0 6px;font-size:1.25rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pnl-month-btn,.pnl-today-btn{min-width:38px;min-height:38px;border:1px solid #c8dae7;border-radius:10px;background:#fff;color:var(--ink);font-weight:950;cursor:pointer}
.pnl-month-btn{font-size:1.25rem;line-height:1}
.pnl-today-btn{margin-left:auto;padding:6px 12px;font-size:.74rem}
.pnl-month-btn:hover:not(:disabled),.pnl-today-btn:hover:not(:disabled){background:#f1f7fb}
.pnl-month-btn:disabled,.pnl-today-btn:disabled{opacity:.4;cursor:not-allowed}
.pnl-month-btn:focus-visible,.pnl-today-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.pnl-weekdays,.pnl-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.pnl-weekdays{margin-bottom:6px;color:var(--muted);font-size:.68rem;font-weight:950;text-align:center}
.pnl-weekdays .sun{color:#b13e55}
.pnl-weekdays .sat{color:#2f6db0}
.pnl-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:76px;padding:7px 8px;border:1px solid #e1ebf2;border-radius:12px;background:#f8fbfd;color:var(--ink);text-align:left;font-variant-numeric:tabular-nums;cursor:pointer}
.pnl-day-blank{border-color:transparent;background:transparent;cursor:default}
.pnl-day:disabled{opacity:.42;cursor:default}
.pnl-day:hover:not(:disabled){border-color:#8bb4d4}
.pnl-day:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pnl-day.up{border-color:var(--ec-up-line,#a9ddc8);background:var(--ec-up-soft,#e9f8f1)}
.pnl-day.down{border-color:var(--ec-down-line,#efb9c3);background:var(--ec-down-soft,#fff0f3)}
.pnl-day.flat{background:#f1f5f8}
.pnl-day.today .pnl-day-num{box-shadow:inset 0 0 0 2px currentColor}
.pnl-day[aria-pressed="true"]{box-shadow:0 0 0 2px var(--focus)}
.pnl-day-num{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 4px;border-radius:999px;font-size:.72rem;font-weight:950}
.pnl-day-pnl{max-width:100%;overflow:hidden;font-size:.76rem;font-weight:950;white-space:nowrap;text-overflow:ellipsis}
.pnl-day-rate{font-size:.66rem;font-weight:850}
.pnl-day.up .pnl-day-pnl,.pnl-day.up .pnl-day-rate{color:var(--ec-up-text,#1f775f)}
.pnl-day.down .pnl-day-pnl,.pnl-day.down .pnl-day-rate{color:var(--ec-down-text,#b13e55)}
.pnl-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:12px 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}
.pnl-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.pnl-legend>small{flex-basis:100%;font-size:inherit}
.pnl-swatch{display:inline-block;width:12px;height:12px;border-radius:4px;border:1px solid #d5e2ec;background:#f8fbfd}
.pnl-swatch.up{border-color:var(--ec-up-line);background:var(--ec-up-soft)}
.pnl-swatch.down{border-color:var(--ec-down-line);background:var(--ec-down-soft)}

.pnl-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.pnl-summary-item{min-width:0;padding:9px 10px;border-radius:12px;background:#f4f9fc}
.pnl-summary-item dt{color:var(--muted);font-size:.66rem;font-weight:900}
.pnl-summary-item dd{margin:3px 0 0;font-size:.9rem;font-weight:950;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pnl-summary-item dd small{display:block;margin-top:2px;color:var(--muted);font-size:.66rem;font-weight:800}

.pnl-chart{position:relative}
.pnl-chart svg{display:block;width:100%;height:auto}
.pnl-chart-zero{stroke:#c5d7e5;stroke-dasharray:3 3}
.pnl-chart-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.pnl-chart-line.up,.pnl-chart-dot.up{stroke:var(--ec-up)}
.pnl-chart-line.down,.pnl-chart-dot.down{stroke:var(--ec-down)}
.pnl-chart-dot.up{fill:var(--ec-up)}
.pnl-chart-dot.down{fill:var(--ec-down)}
.pnl-chart-area{stroke:none}
.pnl-chart-area.up{fill:var(--ec-up-soft)}
.pnl-chart-area.down{fill:var(--ec-down-soft)}
.pnl-chart-label{fill:#52697a;font-size:10px;font-weight:800}
.pnl-chart-label.end{text-anchor:end}
.pnl-empty{margin:8px 0 0;color:var(--muted);font-size:.78rem;text-align:center}

.pnl-table-wrap{overflow-x:auto;border:1px solid #e1ebf2;border-radius:14px}
.pnl-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.76rem;font-variant-numeric:tabular-nums}
.pnl-table th{padding:9px 12px;border-bottom:1px solid #d5e2ec;background:#f4f9fc;color:#52697a;text-align:left;font-size:.68rem;font-weight:950;white-space:nowrap}
.pnl-table td{padding:9px 12px;border-bottom:1px solid #edf2f5;font-weight:800;white-space:nowrap}
.pnl-table tr:last-child td{border-bottom:0}
.pnl-table .num{text-align:right}
.pnl-table th:nth-child(n+4){text-align:right}

@media(max-width:1120px){.pnl-layout{grid-template-columns:1fr}.pnl-side{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.pnl-periods{grid-template-columns:repeat(2,minmax(0,1fr))}.pnl-side{grid-template-columns:1fr}}
@media(max-width:540px){
  .pnl-card{padding:12px;border-radius:16px}
  .pnl-weekdays,.pnl-grid{gap:3px}
  .pnl-day{min-height:52px;padding:4px 3px;align-items:center;border-radius:9px;text-align:center}
  .pnl-day-num{min-width:18px;height:18px;font-size:.64rem}
  .pnl-day-pnl{font-size:.6rem}
  .pnl-day-rate{display:none}
  .pnl-month-bar h2{font-size:1.05rem}
}
@media(prefers-reduced-motion:reduce){.pnl-content[aria-busy="true"]{transition:none}}
@media(forced-colors:active){.pnl-day,.pnl-card,.pnl-period{border:1px solid CanvasText}.pnl-day[aria-pressed="true"]{outline:2px solid Highlight}}
