:root {
  --accent: #0d7aa8;
}

* {
    box-sizing: border-box;
}

body {
    font-family: system-ui, sans-serif;
    max-width: 480px;
    margin: 0 auto;
    padding: 16px;
    line-height: 1.5;
    color: #222;
}

h1 {
    font-size: 1.4rem;
}

input {
    width: 100%;
    padding: 8px;
    font-size: 16px;
    margin-top: 4px;
}

label {
  display: block;
  margin: 12px 0;
}

button {
  padding: 10px 16px;
  font-size: 15px;
  cursor: pointer;
}

.direction-toggle,
.choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

/* 選択中のボタンを強調（.active＝支出収入トグル、.selected＝方法・カテゴリ） */
.direction-toggle button.active,
.choice-group button.selected {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

fieldset {
  margin: 12px 0;
  border: 1px solid #ccc;
}

/* ヘッダー：タイトルとログアウトを左右に分ける */
.app-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.error {
  color: #c00;
}
.msg {
  color: var(--accent);
}

.list-header {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin-top: 24px;
}

#tx-list {
  list-style: none;
  padding: 0;
}
#tx-list li {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px;
  margin: 8px 0;
}

.amount-expense {
  color: #c00;
}
.amount-income {
  color: #06c;
}

.edit-btn {
  margin-top: 6px;
  margin-right: 6px;
  font-size: 13px;
  padding: 4px 10px;
}

.del-btn {
  margin-top: 6px;
  font-size: 13px;
  padding: 4px 10px;
  color: #c00;
}