:root{color-scheme:light;--ink:#252722;--muted:#6f716a;--paper:#f6f3ec;--card:#fffdf8;--line:#dedbd2;--green:#345c48;--green-soft:#e3ede6;--blue:#3d5f8a;--blue-soft:#e2eaf5;--gray:#8b8d86;--gray-soft:#e8e6df;--danger:#9b3f35;--shadow:0 12px 34px rgb(45 43 36/8%);
font-family:Inter,"Noto Sans JP",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100vh;padding:0 0 92px;color:var(--ink);background:var(--paper);font-size:15px}
h1{margin:0;font-size:22px}h2{margin:0 0 6px;font-size:17px}p{margin:0}
button{min-height:44px;padding:0 16px;border:0;border-radius:11px;color:#fff;background:var(--green);font:inherit;font-weight:700;cursor:pointer}
button.ghost{color:var(--ink);background:transparent;border:1px solid var(--line)}button.small{min-height:36px;padding:0 12px;font-size:13px}
button:disabled{opacity:.5}
input,select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--card);font:inherit;color:var(--ink)}
textarea{resize:vertical}
label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}
.eyebrow{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em}
.hint{color:var(--muted);font-size:13px;line-height:1.6;margin:2px 0 10px}
.login-wrap{display:grid;place-items:center;min-height:100vh;padding:20px}
.login-card{width:min(420px,100%);padding:28px;border-radius:20px;background:var(--card);box-shadow:var(--shadow)}
.login-card h1{margin:2px 0 10px}.lead{margin-bottom:18px;color:var(--muted);font-size:13px}
#login-form{display:grid;gap:14px}.form-error{color:var(--danger);font-size:13px;font-weight:700}
.top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 16px 8px;max-width:920px;margin:0 auto}
.who{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.tabs{display:flex;gap:8px;padding:0 16px 8px;max-width:920px;margin:0 auto}
.tab{flex:1;color:var(--ink);background:transparent;border:1px solid var(--line)}.tab.on{color:#fff;background:var(--green);border-color:var(--green)}
.wrap{max-width:920px;margin:0 auto;padding:8px 16px;display:grid;gap:14px}.wrap.wide{max-width:1400px}
.card{padding:18px;border-radius:16px;background:var(--card);box-shadow:var(--shadow)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:520px){.trio{grid-template-columns:1fr}}
.bulk{margin:8px 0 12px;padding:12px;border-radius:12px;background:var(--paper)}
.bulk-title{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:8px}
.bulk-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.bulk-row label{font-size:12px;text-align:center;gap:4px}.bulk-row select{min-height:40px;padding:4px 2px;font-size:12px}
.legend{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.chip{padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700}
.m-through{background:var(--green-soft);color:var(--green)}.m-two{background:var(--blue-soft);color:var(--blue)}
.m-closed{background:var(--gray-soft);color:#55574f}.m-none{background:#fff;border:1px dashed #b9b6ab;color:var(--muted)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal .dow{text-align:center;font-size:12px;font-weight:800;color:var(--muted);padding:4px 0}
.cal .dow.sat{color:var(--blue)}.cal .dow.sun{color:var(--danger)}
.cal .blank{min-height:64px}
.cell{display:grid;gap:2px;place-items:center;min-height:64px;padding:4px 2px;border-radius:10px;border:1px solid transparent;color:var(--ink);font-size:12px}
.cell .d{font-size:15px;font-weight:800}.cell .l{font-size:12px;font-weight:700}
.cell.m-none{background:#fff;border:1px dashed #b9b6ab;color:var(--muted)}
.cell.m-through{background:var(--green-soft);color:var(--green);border-color:#bcd3c5}
.cell.m-two{background:var(--blue-soft);color:var(--blue);border-color:#bccbe0}
.cell.m-closed{background:var(--gray-soft);color:#55574f;border-color:#d1cfc6}
.cell.next{opacity:.85}.cell small{font-size:10px;color:var(--muted)}
.note{margin-top:14px}
.savebar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgb(45 43 36/8%)}
.savebar div{display:grid}.savebar .hint{margin:0;font-size:12px}.savebar button{min-width:130px}
.savebar.dirty #saved-at{color:var(--danger);font-weight:700}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);max-width:92vw;padding:12px 18px;border-radius:12px;background:var(--ink);color:#fff;font-size:14px;z-index:9}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:8px}
.scroll{overflow-x:auto}
.tbl{border-collapse:collapse;font-size:13px;width:100%}
.tbl th,.tbl td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.tbl th:first-child,.tbl td:first-child{text-align:left;position:sticky;left:0;background:var(--card)}
.tbl th{color:var(--muted);font-size:12px}
.tbl.grid td,.tbl.grid th{text-align:center;padding:5px 3px;min-width:28px}
.tbl.grid td:first-child{text-align:left;min-width:110px}
.g-through{background:var(--green-soft);color:var(--green);font-weight:700}.g-two{background:var(--blue-soft);color:var(--blue);font-weight:700}
.g-closed{background:var(--gray-soft);color:#55574f}.g-none{color:#c0bdb2}
.warn{color:var(--danger);font-weight:700}.sat{color:var(--blue)}.sun{color:var(--danger)}

.admin-link{text-align:center;font-size:12px;margin-top:6px}.admin-link a{color:var(--muted)}
#store-pick{display:grid;gap:12px}
.months{display:flex;gap:8px;padding:0 16px 8px;max-width:920px;margin:0 auto}
.months button{flex:1;color:var(--ink);background:transparent;border:1px solid var(--line);font-size:16px}
.months button.on{color:#fff;background:#252722;border-color:#252722}
.cell small{font-size:10px;color:var(--danger);font-weight:700}

/* スマホ最適化（2026-10-06）：iPhoneは16px未満の入力欄に触れると画面が勝手に拡大する → 16px以上にそろえる */
input,select,textarea{font-size:16px}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
button,.cell{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body{-webkit-text-size-adjust:100%}
@media(max-width:600px){
  .bulk-row{grid-template-columns:repeat(4,1fr);gap:8px}
  .bulk-row label{font-size:13px}
  .bulk-row select{min-height:44px;font-size:16px;padding:4px 2px}
  .card{padding:16px}
  .cal{gap:4px}
  .cell{min-height:58px}
  .cell .d{font-size:16px}
  .top{padding-top:calc(14px + env(safe-area-inset-top))}
  .tbl{font-size:12px}
}
