/* Haushalt */
.cols { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); align-items: start; }
.member { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); flex-wrap: wrap; }
.member:first-of-type { border-top: 0; }
.member .nm { flex: 1 1 120px; min-width: 0; font-weight: 600; }
.member select { width: auto; min-height: 34px; padding: 4px 10px; }
.tablewrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; min-width: 440px; font-size: 14px; }
th, td { padding: 8px 6px; text-align: center; border-top: 1px solid var(--line); }
th:first-child, td:first-child { text-align: left; }
thead th { border-top: 0; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
td.y { color: var(--accent); font-weight: 700; }
td.n { color: var(--line); }
.note { background: var(--honey-soft); border-radius: 12px; padding: 12px 14px; margin-bottom: 14px; }
.stepper { display: inline-flex; align-items: center; gap: 4px; }
.stepper b { min-width: 28px; text-align: center; font-variant-numeric: tabular-nums; }
.stepper .iconbtn { width: 34px; height: 34px; }
.invite { display: flex; gap: 8px; }
.invite input { flex: 1; min-width: 0; }

.addmember { display: grid; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.addmember h3 { font-size: 16px; }
.tips { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 6px; }
