#history-page,#profile-page { max-width:1440px; margin:0 auto; }
.ph-entry { display:flex; align-items:center; gap:18px; width:100%; margin-top:24px; padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.ph-entry svg { flex:none; width:28px; height:28px; fill:none; stroke:var(--accent); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ph-entry > span:nth-child(2) { flex:1; }
.ph-entry strong { display:block; font-size:18px; }
.ph-entry small { display:block; margin-top:8px; color:var(--ink-soft); font-size:13px; }
.ph-entry > span:last-child { color:var(--ink-soft); font-size:28px; }
.ph-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.ph-heading h1 { margin:12px 0 0; font-size:28px; }
.ph-heading p { margin:8px 0 0; color:var(--ink-soft); font-size:13px; }
.ph-back { padding:0; border:0; background:transparent; color:var(--accent); font:inherit; font-size:13px; cursor:pointer; }
.ph-button { padding:9px 14px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink); font:inherit; font-size:13px; cursor:pointer; }
.ph-button:disabled { opacity:.45; cursor:default; }
.ph-primary { background:var(--accent); border-color:var(--accent); color:var(--surface); }
.ph-status { color:var(--ink-soft); font-size:13px; line-height:1.8; }
.ph-list { display:grid; gap:14px; margin-top:20px; }
.ph-card { display:flex; align-items:center; gap:24px; padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.ph-card > div:first-child { flex:1; min-width:0; }
.ph-card h2 { margin:0 0 8px; font-size:16px; overflow-wrap:anywhere; }
.ph-card time,.ph-card p { color:var(--ink-soft); font-size:12px; line-height:1.8; }
.ph-card p { margin:6px 0 0; }
.ph-card-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; max-width:45%; }
.ph-card-price strong { color:var(--accent); font-size:27px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ph-card-price small { color:var(--ink-soft); font-size:12px; }
.ph-more { display:block; margin:24px auto; }
.ph-more[hidden] { display:none; }
.ph-dialog { width:min(680px,calc(100% - 28px)); max-height:85vh; padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); }
.ph-dialog::backdrop { background:rgb(0 0 0 / .55); }
.ph-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ph-dialog-heading h2 { margin:0; font-size:20px; }
.ph-detail-time { color:var(--ink-soft); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.ph-detail-price { display:grid; gap:8px; margin:18px 0; padding:20px; border-radius:10px; background:var(--accent-bg); }
.ph-detail-price span { color:var(--accent); font-size:13px; }
.ph-detail-price strong { font-size:30px; overflow-wrap:anywhere; }
.ph-detail-price small { font-size:13px; color:var(--ink-soft); }
.ph-detail h3 { margin:24px 0 14px; font-size:15px; }
.ph-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 24px; }
.ph-detail-grid dt { color:var(--ink-soft); font-size:12px; }
.ph-detail-grid dd { margin:5px 0 0; font-size:14px; overflow-wrap:anywhere; }
.ph-entry:focus-visible,.ph-button:focus-visible,.ph-back:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media (max-width:560px) {
  .ph-heading { align-items:flex-start; }
  .ph-heading h1 { font-size:24px; }
  .ph-heading .ph-button { flex:none; padding:8px 10px; }
  .ph-card { flex-wrap:wrap; gap:16px; padding:18px; }
  .ph-card > div:first-child { flex-basis:100%; }
  .ph-card-price { flex:1; max-width:100%; }
  .ph-dialog { padding:18px; }
  .ph-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
