/* ハコブネ 予約・仕込み管理だけで使う部品（共通デザインの style.css のあとに読む）。色は変数で書く */

.is-dim{opacity:.55}
.cell-note{max-width:280px;font-size:.85rem;color:var(--ink-2);white-space:normal}
.text-sun{color:var(--danger)}
.text-sat{color:var(--info)}
.text-danger{color:var(--danger);font-weight:700}
.inline-form{display:inline-flex;margin:0}
a.plain{color:inherit;text-decoration:none}
a.plain:hover{text-decoration:underline}
.sub-head{font-size:.9rem;margin:14px 0 6px;color:var(--ink-2)}
.sub-head .muted{font-weight:500;font-size:.8rem}
.card > .sub-head:first-of-type{margin-top:0}

/* 仕込み・予約のリスト（チェック・名前・数量） */
.prep-list{list-style:none;margin:0 0 8px;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.prep-list > li{display:flex;align-items:center;gap:12px;padding:8px 12px;min-height:52px;border-bottom:1px solid var(--line);background:var(--surface)}
.prep-list > li:last-child{border-bottom:0}
.prep-list > li.is-done .item-title{text-decoration:line-through;color:var(--muted)}
.prep-list .num{white-space:nowrap}
.prep-list .num small{font-weight:500;color:var(--muted);margin-left:2px}
.prep-list .time{min-width:3.2em}
.item-title a{color:inherit}

.check-btn{flex:none;display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:var(--r-sm);border:2px solid var(--line-strong);background:var(--surface);color:var(--accent-ink);font-size:1.2rem;font-weight:700;cursor:pointer}
.check-btn:focus-visible{outline:none;box-shadow:var(--ring)}
.check-btn.is-done{background:var(--success);border-color:transparent}

.prep-add{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:8px;margin-top:8px}
@media (max-width:640px){.prep-add{grid-template-columns:1fr 1fr}.prep-add > :first-of-type{grid-column:1 / -1}}

/* チーズケーキの数量 */
.qty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:12px;border:0;padding:0;margin:0;min-width:0}
.qty-grid legend{padding:0;margin-bottom:6px}
.qty-grid .qty-total,.qty-grid .error-text{grid-column:1 / -1}
.qty-total strong{font-size:1.1rem;color:var(--ink)}
fieldset[disabled] input,fieldset[disabled] select{opacity:.7}

/* 製造予定表・月間表 */
.input-sm{min-height:38px;padding:4px 8px;max-width:110px}
.plan-table tr.is-prod td{background:color-mix(in oklab,var(--accent) 6%,var(--surface))}
.plan-table tr.is-today td:first-child,.month-table tr.is-today td:first-child{box-shadow:inset 4px 0 0 var(--accent)}
.month-table tr.is-busy td{background:color-mix(in oklab,var(--warning) 9%,var(--surface))}
.month-table td{vertical-align:top;font-size:.875rem}
.month-table td:first-child{white-space:nowrap}

.shop-form{padding:16px 0;border-top:1px solid var(--line);display:grid;gap:12px}
.shop-form:first-of-type{border-top:0;padding-top:4px}
.log-box{margin:0;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--mono);font-size:.8rem;white-space:pre-wrap;max-height:200px;overflow:auto}
.tabs{position:sticky;top:0;background:var(--bg);z-index:5}

@media (max-width:640px){
  .brand-text{font-size:.9rem}
  .cell-note{max-width:none;text-align:right}
  .plan-table .input-sm{max-width:140px}
}

/* LINE の予約フォーム */
body.liff .container{padding-top:16px}
body.liff .segmented > *{justify-content:center;min-height:44px}
