/* 店舗版アメーバOS
   店の iPad とリーダーのスマホで使う。指で押せる大きさを最優先にする。 */

:root{
  --ink:#1b1b1b; --mute:#6b6b6b; --line:#e3e0da;
  --paper:#faf8f5; --white:#fff;
  --accent:#2f5d50; --accent-soft:#e8f0ed;
  --up:#1f6f4a; --down:#a33a2a; --warn:#8a5a00;
  --radius:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
  font-size:15px; line-height:1.75;
}
a{color:var(--accent)}

/* ── 上の帯 ── */
header.bar{
  background:var(--accent); color:#fff; padding:10px 14px;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
}
header.bar b{font-size:15px; font-weight:700}
header.bar nav{display:flex; gap:4px; flex:1 1 auto; flex-wrap:wrap}
header.bar nav a{
  color:#fff; text-decoration:none; padding:7px 12px; border-radius:999px;
  font-size:14px; opacity:.8;
}
header.bar nav a.on{background:rgba(255,255,255,.18); opacity:1; font-weight:700}
header.bar .who{font-size:12.5px; opacity:.85}
header.bar .who a{color:#fff}

main{max-width:960px; margin:0 auto; padding:14px 12px 60px}

/* ── 箱 ── */
.card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 16px; margin-bottom:14px;
}
.card h1{font-size:19px; margin:0 0 14px}
.card h2{font-size:16px; margin:0 0 12px}
.muted{color:var(--mute); font-size:13px}
.hint{color:var(--mute); font-size:12.5px; margin:5px 0 0; line-height:1.7}

/* ── 知らせ ── */
.flash{padding:11px 14px; border-radius:var(--radius); margin-bottom:14px; font-size:14px}
.flash.ok{background:var(--accent-soft); color:#1d3f36}
.flash.ng{background:#fbeae7; color:var(--down)}

/* ── 入力 ── */
label{display:block; font-weight:700; font-size:13.5px; margin:14px 0 5px}
input,select,textarea{
  width:100%; padding:11px 12px; font-size:16px; /* 16px未満はiOSが拡大する */
  border:1px solid var(--line); border-radius:8px; background:var(--white);
  color:var(--ink); font-family:inherit;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent); border-color:var(--accent)}
.row{display:flex; gap:10px; flex-wrap:wrap}
.row>*{flex:1 1 150px; min-width:0}

.btn{
  display:inline-block; border:0; border-radius:8px; padding:12px 20px;
  font-size:15px; font-weight:700; cursor:pointer; text-decoration:none;
  background:var(--accent-soft); color:var(--accent);
}
.btn.primary{background:var(--accent); color:#fff}
.btn.ghost{background:transparent; color:var(--mute); border:1px solid var(--line)}
.btn.danger{background:transparent; color:var(--down); border:1px solid #eccfc9}
.btn.sm{padding:7px 12px; font-size:13px}
.btn.wide{width:100%; text-align:center}

/* ── 月の切り替え ── */
.months{display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; margin-bottom:14px}
.months a{
  flex:0 0 auto; padding:8px 14px; border-radius:999px; text-decoration:none;
  background:var(--white); border:1px solid var(--line); color:var(--mute); font-size:14px;
}
.months a.on{background:var(--accent); border-color:var(--accent); color:#fff; font-weight:700}

/* ── 数字のまとめ ── */
.kpi{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:4px}
.kpi div{flex:1 1 130px; background:var(--paper); border-radius:8px; padding:11px 13px}
.kpi span{display:block; font-size:12px; color:var(--mute)}
.kpi b{font-size:19px; letter-spacing:-.01em}
.up{color:var(--up)} .down{color:var(--down)}

/* ── 表 ── */
.scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}
table{width:100%; border-collapse:collapse; font-size:14px}
th,td{padding:10px 8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle}
th{font-size:12px; color:var(--mute); font-weight:700; white-space:nowrap}
td.num,th.num{text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums}
td.zero{color:#bdb8b0}
/* アメーバ名は途中で折らない。「CAFE木と本　ドリン／ク」と割れて読めなくなる。
   表は .scroll の中にあるので、はみ出したぶんは横に流れる */
.scroll td.name{white-space:nowrap}
tr:last-child td{border-bottom:0}

.empty{color:var(--mute); text-align:center; padding:26px 10px; font-size:14px}

/* ── 振り分けの行（アメーバを選ぶ＋金額） ── */
.arow{display:flex; gap:8px; margin-bottom:8px}
.arow select{flex:1 1 auto; min-width:0}
.arow input{flex:0 0 100px; width:100px; text-align:right}
/* 店舗名を入れると長くなる。縮めても読めるように少し小さく */
.arow select{font-size:14px; padding-left:10px; padding-right:26px}

.alloc-sum{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  margin-top:14px; padding:12px 14px; border-radius:8px;
  background:var(--paper); border:1px solid var(--line);
}
.alloc-sum span{font-size:13px; color:var(--mute)}
.alloc-sum b{font-size:19px; font-variant-numeric:tabular-nums}
.alloc-sum em{font-style:normal; font-size:13.5px; color:var(--mute)}
.alloc-sum.ok{border-color:var(--accent); background:var(--accent-soft)}
.alloc-sum.ok em{color:var(--up); font-weight:700}
.alloc-sum.ng em{color:var(--down); font-weight:700}

/* ── 前回と同じ分け方でよいかを聞く ── */
.confirm{border-color:var(--accent)}
.evidence{list-style:none; margin:0 0 18px; padding:12px 14px; background:var(--paper); border-radius:8px}
.evidence li{display:flex; justify-content:space-between; gap:12px; padding:6px 0; font-size:14.5px}
.evidence li + li{border-top:1px solid var(--line)}
.evidence b{font-variant-numeric:tabular-nums; white-space:nowrap}

/* ── まだ入れていない写真の山 ── */
.inbox{display:flex; gap:10px; flex-wrap:wrap}
.inbox-item{
  flex:0 0 132px; width:132px; border:1px solid var(--line); border-radius:8px;
  overflow:hidden; background:var(--paper);
}
.inbox-item.on{border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-soft)}
.inbox-item img{display:block; width:100%; height:132px; object-fit:cover}
.inbox-act{display:flex; flex-direction:column; gap:5px; padding:7px}
.inbox-act .btn{text-align:center}
.inbox-act form{margin:0}
.inbox-act form .btn{width:100%}
.badge{
  display:block; text-align:center; padding:7px 0; border-radius:8px;
  background:var(--accent); color:#fff; font-size:13px; font-weight:700;
}

.thumb{max-width:220px; border-radius:8px; border:1px solid var(--line); display:block; margin-top:8px}

/* ── ログイン ── */
.gate{max-width:420px; margin:8vh auto; padding:0 14px}
.steps{list-style:none; margin:0 0 20px; padding:14px 16px; background:var(--paper); border-radius:8px;
  display:flex; flex-direction:column; gap:12px}
.steps li{display:flex; gap:11px; align-items:flex-start; font-size:13.5px; color:var(--mute); line-height:1.8}
.steps li span{flex:0 0 22px; width:22px; height:22px; border-radius:50%; background:var(--accent);
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; margin-top:4px}
.steps li b{display:block; color:var(--ink); font-size:14.5px; margin-bottom:1px}

@media(max-width:560px){
  main{padding:12px 10px 50px}
  .card{padding:15px 13px}
  .arow input{flex:0 0 88px; width:88px}
  .arow select{font-size:13.5px}
}
