:root{--fg:#1f2933;--muted:#6b7785;--line:#d9dee4;--accent:#06c755;--bg:#f6f7f9}*{box-sizing:border-box}body{color:var(--fg);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;font-size:16px;line-height:1.5}.btn{border:1px solid var(--line);min-height:48px;color:var(--fg);cursor:pointer;background:#fff;border-radius:8px;padding:0 16px;font-size:16px}.btn:disabled{opacity:.5;cursor:default}.status{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:24px;display:flex}.status-message{margin:0;font-size:18px}.status-detail{color:var(--muted);margin:0}.store-select{padding:16px}.page-title{margin:8px 0 16px;font-size:20px}.store-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.store-button{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:64px;display:flex}.store-name{font-size:18px;font-weight:600}.store-role{color:var(--muted);white-space:nowrap;font-size:14px}.btn.small{white-space:nowrap;min-height:48px;padding:0 12px;font-size:14px}.list-page{min-height:100vh;padding-bottom:calc(136px + env(safe-area-inset-bottom))}.list-header{border-bottom:1px solid var(--line);background:#fff;padding:8px 16px;position:sticky;top:0}.list-header-top,.date-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.store-title{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;overflow:hidden}.date-label{font-size:20px;font-weight:600}.totals{color:var(--muted)}.list-body{padding:8px 16px}.note{text-align:center;color:var(--muted);margin:32px 0}.rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.row{border:1px solid var(--line);background:#fff;border-radius:8px;gap:12px;min-height:48px;padding:8px 12px;display:flex}.row.dim{opacity:.45}.row-time{min-width:3.5em;font-size:18px;font-weight:600}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-line{justify-content:space-between;gap:8px;display:flex}.row-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.row-party{white-space:nowrap}.row-meta{color:var(--muted);font-size:14px}.row-notes{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.bottom-bar{padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.add-button{grid-column:1/-1}.notice{background:#fff7e0;border:1px solid #e0b64a;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;padding:8px 12px;display:flex}.form-page{min-height:100vh;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.form-body{padding:8px 16px}.form-fields{border:0;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field-label{font-size:14px;font-weight:600}.field-hint{color:var(--muted);font-size:14px}.field-hint:empty{display:none}.field-error{color:#c0392b;font-size:14px}.input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--fg);background:#fff;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:16px}.textarea{resize:vertical;min-height:96px}.stepper{grid-template-columns:64px 1fr 64px;gap:8px;display:grid}.stepper-button{padding:0;font-size:24px}.stepper-input{text-align:center;font-size:20px}.type-buttons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.type-button{min-height:56px}.type-button.selected{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.optional{flex-direction:column;gap:16px;display:flex}.optional-summary{cursor:pointer;align-items:center;min-height:48px;display:flex}.form-message{background:#fff7e0;border:1px solid #e0b64a;border-radius:8px;margin:16px 0;padding:12px}.form-message p{margin:0 0 8px}.form-bar{grid-template-columns:1fr}.submit-button{min-height:56px;font-size:18px}.dialog-backdrop{background:#0006;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:12px;flex-direction:column;gap:12px;width:100%;max-width:480px;padding:16px;display:flex}.dialog-message{margin:0;font-size:16px}
