:root { --pico-font-size: 106%; }
nav .store-name { margin-left: .5rem; padding: .1rem .6rem; border-radius: .4rem; background: var(--pico-primary-background); color: var(--pico-primary-inverse); }
form.inline { margin: 0; }
button.small, .small { font-size: .85rem; padding: .3rem .7rem; }
.muted { color: var(--pico-muted-color); }
.small { font-size: .85rem; }
.mono { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: .03em; }
.big { font-size: 1.35rem; }
.narrow { max-width: 28rem; margin: 2rem auto; }
.nowrap { white-space: nowrap; }
.note-body { white-space: pre-wrap; }
input.tiny { width: 4.5rem; }
kbd { font-size: .8rem; margin-right: .3rem; }

.flash { padding: .8rem 1rem; border-radius: .5rem; margin-bottom: 1rem; }
.flash-info { background: #e8f1fd; color: #133d6b; }
.flash-error { background: #fde8e8; color: #7a1414; }
.flash-warn { background: #fff4d6; color: #5c4300; }
code.key { display: block; margin-top: .5rem; padding: .5rem; word-break: break-all; }

.standby { text-align: center; padding: 3rem 1rem; }
.standby h1 { font-size: 2.2rem; }
.standby .manual { max-width: 24rem; margin: 2rem auto 1rem; text-align: left; }
.standby details { max-width: 40rem; margin: 0 auto; text-align: left; }

.member-card { display: grid; gap: .3rem; }
.member-name { font-size: 1.8rem; font-weight: 700; }
.member-meta { display: flex; gap: 1.5rem; color: var(--pico-muted-color); }
.member-point { font-size: 2.4rem; font-weight: 700; }

.ops, .menu-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .8rem; margin: 1rem 0 2rem; }
.ops a[role=button] { padding: 1.1rem; font-size: 1.15rem; }
/* 会員画面のボタンの色（本部の店舗設定で選ぶ。青は Pico の既定、灰は .secondary） */
:is([role=button], button).menu-green { --pico-background-color: #2f7d32; --pico-border-color: #2f7d32; --pico-color: #fff; }
:is([role=button], button).menu-green:is(:hover, :focus) { --pico-background-color: #256628; --pico-border-color: #256628; }
[role=button].menu-yellow { --pico-background-color: #f2c230; --pico-border-color: #f2c230; --pico-color: #2b2100; }
[role=button].menu-yellow:is(:hover, :focus) { --pico-background-color: #dcae1f; --pico-border-color: #dcae1f; }
[role=button].menu-caution { --pico-background-color: transparent; --pico-border-color: #e8590c; --pico-color: #e8590c; border-width: 2px; }
[role=button].menu-caution:is(:hover, :focus) { --pico-background-color: rgba(232, 89, 12, .1); --pico-border-color: #c94c08; --pico-color: #c94c08; }
.menu-sample { padding: .3rem .7rem; font-size: .9rem; cursor: default; pointer-events: none; }
.drag-handle { cursor: grab; user-select: none; font-size: 1.3rem; color: var(--pico-muted-color); width: 2rem; text-align: center; }
.sortable-ghost { opacity: .4; }
.day-nav { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin-bottom: 1.2rem; }
.day-nav > *, .day-nav input { margin: 0; width: auto; }
.stats td, .stats th { text-align: right; white-space: nowrap; }
.stats td:first-child, .stats th:first-child { text-align: left; }
.stats tfoot td, .stats tfoot th { font-weight: 700; border-top: 2px solid var(--pico-muted-border-color); }
.table-scroll { overflow-x: auto; }
.order-form { display: flex; gap: .8rem; align-items: center; margin-bottom: 1rem; }
.order-form[hidden] { display: none; }
.order-form button { margin: 0; }
.menu-grid form { margin: 0; }
.menu-grid button { width: 100%; padding: 1.2rem; display: grid; gap: .2rem; }
.menu-label { font-size: 1.4rem; font-weight: 700; }
.menu-detail { font-size: .95rem; }

.op-form { max-width: 36rem; }
.buttons { display: flex; gap: .8rem; flex-wrap: wrap; align-items: center; }
.buttons > * { margin-bottom: 0; }
.confirm .big strong { font-size: 1.6rem; }

.result { border-left: .5rem solid var(--pico-muted-border-color); }
.result-success { border-left-color: #2e9d4c; }
.result-success h1 { color: #2e9d4c; }
.result-failed, .result-failed_silent { border-left-color: #c62828; }
.result-failed h1, .result-failed h2, .result-failed_silent h1 { color: #c62828; }
.result-unverified { border-left-color: #e0a100; }
.result-unverified h1 { color: #b07d00; }
.result dl { display: grid; grid-template-columns: 9rem 1fr; gap: .3rem 1rem; }
.result dd { margin: 0; }

table.summary th { width: 14rem; }
tr.status-failed td, tr.status-failed_silent td { color: #c62828; }
tr.status-unverified td { color: #b07d00; }
tr.inactive td { opacity: .55; }
#diff.ok { color: #2e9d4c; }
#diff.ng { color: #c62828; }
.inline-form { align-items: end; }
section { margin-bottom: 2.5rem; }

table.profile th, table.usage th { width: 10rem; font-weight: 600; }
.member-edit .field-error { color: #b42318; }
.stepper { margin-bottom: 1rem; }
.stepper button { min-width: 4.5rem; }
