/* 자산·내역: 오늘의 LIVE 총 실현손익 카드 (theme tokens only; 320/360/390px first). */
.lp-card{overflow:hidden}
.lp-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.lp-head h2{margin:0;font-size:1rem;min-width:0}
.lp-days{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lp-days button{min-height:48px;padding:4px 12px}
.lp-days button[aria-pressed="true"]{border-color:var(--accent,currentColor);font-weight:700}
.lp-days input[type=date]{min-height:48px;max-width:10rem;font:inherit}
.lp-label{margin:12px 0 2px;color:var(--muted);font-size:.85rem}
.lp-uncounted{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;border:1px solid currentColor;color:var(--yellow,#e0a100);font-weight:700}
.lp-total{display:block;font-size:clamp(1.7rem,8.5vw,2.4rem);line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lp-range{margin:4px 0 10px;font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}
.lp-status{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid currentColor;font-weight:700;white-space:nowrap}
.lp-ok{color:var(--green)}.lp-warn{color:var(--yellow,#e0a100)}.lp-info{color:var(--muted)}.lp-bad{color:var(--red)}
.lp-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lp-metrics>div{min-width:0;padding:8px;border:1px solid var(--line);border-radius:10px}
.lp-metrics small{display:block;color:var(--muted);font-size:.75rem}
.lp-metrics b{display:block;font-variant-numeric:tabular-nums;font-size:.95rem;overflow-wrap:anywhere}
.lp-note,.lp-updated{font-size:.78rem;margin:8px 0 0}
.lp-details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.lp-details>summary{cursor:pointer;min-height:32px;display:flex;align-items:center}
.lp-by,.lp-rows{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.lp-by li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:baseline}
.lp-by small{grid-column:1/-1;color:var(--muted)}
.lp-row{border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}
.lp-row-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.lp-name{min-width:0;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.lp-name small,.lp-row-meta{color:var(--muted);font-size:.75rem}
.lp-row-net{white-space:nowrap;font-variant-numeric:tabular-nums}
.lp-row-meta{margin-top:2px;overflow-wrap:anywhere}
.lp-row-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:6px 0 0}
.lp-row-kv dt{color:var(--muted);font-size:.72rem}.lp-row-kv dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lp-row-why{margin:6px 0 0;font-size:.78rem;color:var(--yellow,#e0a100)}
@media (max-width:360px){.lp-metrics{grid-template-columns:1fr 1fr}.lp-metrics>div:last-child{grid-column:1/-1}.lp-days input[type=date]{max-width:8.6rem}}

/* ===== Phone layout (<=480px), 2026-09-28: less nesting/padding, same 16px text, 48px targets.
   Loaded last so it wins over the desktop panel spacing without touching wider screens. ===== */
@media (max-width:480px){
 main#app{padding-left:12px;padding-right:12px;padding-top:14px}
 #app .panel{padding:14px;margin:10px 0;border-radius:14px}
 #app .panel .panel,#app details .panel{padding:12px;margin:8px 0}
 #app .page-head{margin-bottom:10px;gap:8px}
 #app .page-head h1{font-size:1.45rem}
 #app h2{font-size:1.1rem}
 /* home market flow */
 .home-market-flow{gap:8px}
 .home-market-flow>.panel{margin:0!important}
 .hm-head{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px}
 .hm-btc{width:40px;height:40px;font-size:1.3rem}
 .hm-head h2{font-size:1.05rem!important;line-height:1.25}
 .hm-badge{grid-column:auto!important;padding:4px 8px;border-radius:999px}
 .hm-badge small{display:none}
 .hm-today{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px!important}
 .hm-sun{font-size:2rem}
 .hm-today h3{font-size:clamp(1.4rem,7vw,1.8rem)}
 .hm-today p{font-size:.94rem}
 .hm-changes li{min-height:46px;padding:0 6px;gap:6px!important;grid-template-columns:30px minmax(3.4em,auto) minmax(0,1fr) auto!important}
 .hm-ico{width:28px!important;height:28px!important;font-size:.95rem}
 .hm-val{font-size:1rem}
 .hm-pill{padding:6px 10px;font-size:.95rem}
 .hm-state-body{grid-template-columns:auto minmax(0,1fr)!important;gap:10px}
 .hm-state-badge{padding:10px 12px;font-size:1.35rem!important}
 .hm-shield{width:28px;height:28px}
 .hm-foot{gap:4px}.hm-foot>div+div{padding-left:6px}
 /* LIVE auto trading */
 .ai-control-live .ai-control-actions{gap:6px}
 .ai-control-live .ai-control-actions button{padding:6px 4px;font-size:.95rem;line-height:1.2;word-break:keep-all}
 .ai-live-assets .ai-metrics{gap:10px 8px}
 .ai-live-assets .ai-metrics strong{font-size:17px}
 .ai-tp-manager .section-head{gap:8px}
 .ai-tp-actions{gap:6px}
 .ai-tp-actions button{padding:6px 4px;font-size:.95rem;word-break:keep-all}
 .ai-positions .ai-position{margin:8px 0}
 .ai-tp-tile{padding:7px 4px!important;gap:2px!important}
 .ai-manage{padding:0 10px}
 .lp-card .lp-days{width:100%}
}
@media (max-width:480px){
 #app .ai-control-live{padding:8px!important}
 #app .ai-control-live .ai-control-actions{margin:0}
 #app .ai-control-live .ai-control-actions button{min-height:50px;height:auto;padding:4px 2px}
 #app .page-head{align-items:center;flex-wrap:nowrap}
 #app .ai-live-assets .section-head{margin-bottom:6px}
 #app .ai-live-assets .ai-metrics small+strong+small,#app .ai-live-assets .ai-account-note{display:none}
 #app .ai-live-assets .ai-metrics strong{margin:2px 0}
 #app .ai-asset-foot{margin-top:8px;padding-top:8px}
 #app .ai-positions{padding:10px!important}
 #app .ai-positions>.ai-position{border-radius:12px;padding:8px}
 #app .ai-positions .ai-tp-steps{gap:4px}
 #app .ai-tp-manager{padding:12px!important}
 #app .ai-tp-monitor{margin:6px 0}
}

/* 2026-10-05: 일/주/월 탭 · 기간 이동 · 일별 손익 막대 (phone first, 48px targets). */
.lp-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 8px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2,transparent)}
.lp-tabs button{min-height:44px;border:0;border-radius:9px;background:transparent;font-weight:700;color:var(--muted)}
.lp-tabs button[aria-pressed="true"]{background:var(--primary-bg,var(--accent));color:var(--primary-text,#fff)}
.lp-step{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:6px}
.lp-step button{min-height:48px;font-size:1.3rem;padding:0}
.lp-step button:disabled{opacity:.35}
.lp-step b{text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lp-daily{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.lp-daily h3{margin:0 0 6px;font-size:.95rem}.lp-daily h3 small{display:block;font-weight:400;color:var(--muted);font-size:.75rem;margin-top:2px}
.lp-daily ul{list-style:none;margin:0;padding:0}
.lp-daily li+li{border-top:1px solid var(--line)}
.lp-daily button{width:100%;min-height:52px;display:grid;grid-template-columns:4.2em minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 2px;border:0;border-radius:0;background:transparent;text-align:left;color:inherit;font:inherit}
.lp-daily button.lp-empty{color:var(--muted)}
.lp-dd{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.lp-dd small{font-weight:400;color:var(--muted)}
.lp-bar{height:8px;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden}
.lp-bar i{display:block;height:100%;width:0;border-radius:999px;background:var(--muted)}
.lp-bar i.good{background:var(--green)}.lp-bar i.bad{background:var(--red)}
.lp-dn{display:grid;justify-items:end;min-width:0}.lp-dn b{font-variant-numeric:tabular-nums;white-space:nowrap}.lp-dn small{color:var(--muted);font-size:.72rem;white-space:nowrap}
@media (max-width:360px){.lp-daily button{grid-template-columns:3.8em minmax(0,1fr) auto;gap:8px}}
.lp-where{margin:12px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.lp-where h3{margin:0;font-size:14px}
.lp-where-sub{margin:10px 0 0;font-size:12px;color:var(--muted)}.lp-where .lp-by{margin-top:4px}
