/* Shared */
.szr-wrap, .szr-wrap * { box-sizing: border-box; }
.szr-wrap{width:100%;max-width:920px;border:1px solid #ddd;border-radius:12px;padding:16px;overflow:hidden}
.szr-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.szr-tab{border:1px solid #ccc;background:#fff;padding:10px 12px;border-radius:999px;cursor:pointer}
.szr-tab[aria-selected="true"]{border-color:#111}
.szr-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.szr-field{grid-column:span 12;min-width:0}
@media (min-width:720px){
  .szr-col-3{grid-column:span 3}
  .szr-col-4{grid-column:span 4}
  .szr-col-5{grid-column:span 5}
  .szr-col-6{grid-column:span 6}
  .szr-col-12{grid-column:span 12}
}
.szr-label{display:block;font-weight:700;margin:0 0 6px}
.szr-input,.szr-select{width:100%;max-width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:10px;background:#fff}
.szr-help{font-size:12px;opacity:.78;margin-top:6px;line-height:1.35}
.szr-inline{display:flex;gap:10px;align-items:stretch;min-width:0}
.szr-inline > *{flex:1;min-width:0}
@media (max-width:520px){
  .szr-inline{flex-direction:column}
}
.szr-actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}
.szr-btn{border:1px solid #ccc;background:#fff;padding:10px 12px;border-radius:10px;cursor:pointer}
.szr-btn:hover{background:#f2f2f2}
.szr-error{margin-top:10px;color:#b00020;font-weight:700}
.szr-result{margin-top:14px;padding:12px;border-radius:12px;background:#f7f7f7}
.szr-result-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed #ddd;align-items:flex-start}
.szr-result-row:last-child{border-bottom:none}
.szr-result-key{opacity:.8}
.szr-result-val{font-weight:800;white-space:nowrap}
@media (max-width:380px){
  .szr-result-row{flex-direction:column}
  .szr-result-val{white-space:normal}
}
.szr-explain{margin-top:14px}
.szr-explain details{border:1px solid #eee;border-radius:12px;padding:10px 12px;background:#fff}
.szr-explain summary{cursor:pointer;font-weight:800}
.szr-explain p,.szr-explain li{line-height:1.45}

/* ETF */
.szr-table-wrap{margin-top:14px;overflow:auto;border:1px solid #eee;border-radius:12px;background:#fff}
.szr-table{width:100%;border-collapse:collapse;min-width:520px}
.szr-table th,.szr-table td{padding:10px 12px;border-bottom:1px solid #f0f0f0;text-align:right;white-space:nowrap}
.szr-table th:first-child,.szr-table td:first-child{text-align:left}
.szr-table th{position:sticky;top:0;background:#fafafa;font-weight:800}
.szr-chart-wrap{margin-top:14px;border:1px solid #eee;border-radius:12px;background:#fff;padding:10px}
.szr-canvas{width:100%;height:260px;display:block}
.szr-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:12px;opacity:.85}
.szr-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
