:root{--bg: #f5f7f6;--ink: #1d2a27;--muted: #5d6d69;--line: #d3dcd9;--accent: #1f6b5c;font-family:Hiragino Sans,Noto Sans JP,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}.app{max-width:560px;margin:0 auto;padding:24px 16px;display:grid;gap:24px}.app-header h1{margin:0;font-size:1.4rem}.progress{margin:0 0 4px;color:var(--muted);font-size:.85rem}.screen{min-height:200px}.field{border:none;padding:0;margin:0;display:grid;gap:8px}.field legend{margin-bottom:8px;font-weight:600}.nav{display:flex;justify-content:space-between;gap:12px}.nav button{flex:1;padding:12px;font-size:1rem;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.nav-next{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.nav button:disabled{opacity:.4;cursor:default}.slips{display:grid;gap:16px}.slip{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:12px}.slip-head{display:flex;justify-content:space-between;align-items:baseline}.slip-head h2{margin:0;font-size:1rem}.row{display:grid;gap:4px}.row>span:first-child{font-size:.9rem;color:var(--muted)}.row input{width:100%;box-sizing:border-box;padding:10px;font-size:1rem;border:1px solid var(--line);border-radius:6px}.yen{display:flex;align-items:center;gap:6px}.yen input{text-align:right;font-variant-numeric:tabular-nums}.yen-unit{color:var(--muted)}.link-button{background:none;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:.85rem}.add-button{padding:12px;font-size:1rem;border:1px dashed var(--accent);border-radius:8px;background:none;color:var(--accent);cursor:pointer}.field.inline{display:flex;flex-wrap:wrap;gap:16px}.field.inline legend{width:100%;font-size:.9rem;font-weight:400;color:var(--muted)}.field.expenses{border-top:1px solid var(--line);padding-top:12px;gap:12px}.totals{margin:0;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:4px}.totals div{display:flex;justify-content:space-between}.totals dt{color:var(--muted)}.totals dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.add-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.choices{display:grid;gap:10px}.choice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer}.choice:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice input{margin-top:4px;width:18px;height:18px;accent-color:var(--accent)}.choice-label{display:block;font-weight:600}.choice-note{display:block;font-size:.85rem;color:var(--muted)}.row select{width:100%;box-sizing:border-box;padding:10px;font-size:1rem;border:1px solid var(--line);border-radius:6px;background:#fff}.slip h2{margin:0;font-size:1.05rem}h3.sub{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:.95rem}.item-list{display:grid;gap:12px}.item{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px}.item h3{margin:0;font-size:.9rem}.check,.share{display:flex;align-items:center;gap:8px}.share input{width:5em;text-align:right}.headline{border-radius:8px;padding:20px 16px;text-align:center;color:#fff;background:var(--accent)}.headline.payment{background:var(--ink)}.headline p{margin:0}.headline-amount{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums}.lines{margin:0;display:grid;gap:6px}.lines div{display:flex;justify-content:space-between;gap:12px}.lines dt{color:var(--muted);min-width:0}.lines dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.error{color:#b42318;font-size:.85rem}.row input[aria-invalid=true]{border-color:#b42318}.choice:has(input:disabled){cursor:default;opacity:.55}.primary-button{padding:14px;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}.primary-button:disabled{opacity:.6;cursor:default}.note{margin:0;color:var(--muted)}.header-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}.reset-confirm{width:100%;margin:8px 0;padding:12px 14px;border:1px solid #b42318;border-radius:8px;background:#fff;display:grid;gap:10px}.reset-confirm p{margin:0}.reset-actions{display:flex;gap:10px}.danger-button,.plain-button{padding:10px 14px;font-size:.95rem;border-radius:6px;cursor:pointer}.danger-button{border:none;background:#b42318;color:#fff}.plain-button{border:1px solid var(--line);background:#fff;color:var(--ink)}
