/* 期間タブ */
  .period{display:flex;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px;gap:4px;box-shadow:var(--shadow-sm)}
  .period button{flex:1;border:none;background:none;font-family:"Noto Sans JP";font-weight:700;font-size:13px;color:var(--ink-2);
                 padding:9px 0;border-radius:11px;cursor:pointer;transition:.15s}
  .period button[aria-current="true"]{background:var(--ink);color:#fff}

  /* 予算リング（署名的ビジュアル） */
  .ring-card{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
             box-shadow:var(--shadow-sm);padding:20px;display:flex;align-items:center;gap:20px}
  .ring{--pct:64;flex:0 0 128px;width:128px;height:128px;border-radius:50%;position:relative;
        background:conic-gradient(var(--oshi) calc(var(--pct)*1%), var(--line) 0);}
  .ring::after{content:"";position:absolute;inset:13px;background:var(--card);border-radius:50%}
  .ring .rc{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:1}
  .ring .rc .lab{font-size:10px;font-weight:700;color:var(--ink-2);letter-spacing:.08em}
  .ring .rc .amt{font-family:var(--mono);font-weight:700;font-size:20px;margin-top:2px;letter-spacing:-.02em}
  .ring .rc .pct{font-family:var(--mono);font-size:11px;color:var(--oshi);margin-top:1px}
  .ring-meta{flex:1;min-width:0}
  .ring-meta .row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--line)}
  .ring-meta .row:last-child{border-bottom:none}
  .ring-meta .k{font-size:12px;color:var(--ink-2);font-weight:700}
  .ring-meta .v{font-family:var(--mono);font-weight:700;font-size:15px}
  .ring-meta .v.pos{color:#1E9E63}.ring-meta .v.neg{color:#D96A1E}

/* カテゴリ別内訳 */
  .cats{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 16px 6px}
  .cat{margin-bottom:14px}
  .cat .top{display:flex;align-items:center;gap:8px;margin-bottom:6px}
  .cat .swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
  .cat .nm{font-size:13px;font-weight:700}
  .cat .amt{margin-left:auto;font-family:var(--mono);font-weight:700;font-size:13px}
  .cat .pct{font-family:var(--mono);font-size:11px;color:var(--ink-2);width:38px;text-align:right}
  .cat .track{height:8px;border-radius:6px;background:var(--bg);overflow:hidden}
  .cat .track>i{display:block;height:100%;border-radius:6px}

  /* 比率チップ（チケット:遠征:グッズ:体験） */
  .ratio{display:flex;gap:8px;margin-top:12px;overflow-x:auto;scrollbar-width:none}
  .ratio::-webkit-scrollbar{display:none}
  .ratio .r{flex:0 0 auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 13px;box-shadow:var(--shadow-sm)}
  .ratio .r .k{font-size:10px;font-weight:700;color:var(--ink-2)}
  .ratio .r .v{font-family:var(--mono);font-weight:700;font-size:15px;margin-top:2px}

  /* 支出リスト */
  .day{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-3);letter-spacing:.04em;margin:16px 2px 8px}
  .exp{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
  .exp-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .exp-row:last-child{border-bottom:none}
  .exp-row .dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
  .exp-row .info{flex:1;min-width:0}
  .exp-row .nm{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .exp-row .mt{font-size:11px;color:var(--ink-2);margin-top:1px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .exp-row .tag{background:var(--oshi-soft);color:var(--oshi);font-weight:700;padding:2px 7px;border-radius:999px;font-size:10px}
  .exp-row .amt{text-align:right;flex:0 0 auto}
  .exp-row .amt .y{font-family:var(--mono);font-weight:700;font-size:14px}
  .exp-row .amt .o{font-family:var(--mono);font-size:10px;color:var(--ink-3);margin-top:1px}

  /* 追加ボタン（FAB） */
