/* 契約書アプリ（Vercel版）・2026-08-22
   現場のタブレット／スマホ用。緑基調・大きめの文字・押しやすいボタン。
   外部の読み込みは無し（フォントも含めて）。表示の待ちを作らない。 */
:root{
  --g:#1e7a3c; --g2:#166030; --or:#e8730c;
  --ink:#1a1a1a; --sub:#666; --line:#e2e2e2; --bg:#f6f7f6; --card:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg); color:var(--ink);
  font:16px/1.7 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
  padding-bottom:env(safe-area-inset-bottom);
}
.hd{
  background:var(--g); color:#fff; padding:12px 16px;
  display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; z-index:10;
}
.hd__t{font-weight:700}
.hd__k{background:none;border:0;color:#fff;font-size:18px;cursor:pointer;padding:4px 8px}
.wrap{max-width:720px;margin:0 auto;padding:16px}
.card{background:var(--card);border-radius:12px;padding:16px;margin-bottom:14px;
      box-shadow:0 1px 3px rgba(0,0,0,.06)}
.card__t{margin:0 0 10px;font-weight:700;font-size:17px}
.card__t small{font-weight:400;color:var(--sub);font-size:13px;margin-left:6px}
.note{color:var(--sub);font-size:13px;line-height:1.6;margin:8px 0 0}

input[type=text],input[type=password]{
  width:100%; padding:12px; font-size:16px; border:1px solid var(--line);
  border-radius:8px; background:#fff;
}
.btn{
  display:block; width:100%; padding:14px; margin-top:10px; border:0; border-radius:8px;
  background:var(--g); color:#fff; font-size:16px; font-weight:700; cursor:pointer;
}
.btn:disabled{background:#bdbdbd;cursor:default}
.btn--s{width:auto;padding:12px 18px;margin:0;flex:0 0 auto}
.btn--g{background:var(--or)}

.add__photo{display:block;border:2px dashed var(--line);border-radius:10px;padding:18px;
            text-align:center;cursor:pointer;margin-bottom:10px}
.add__photo span{font-weight:700}
.add__photo small{display:block;color:var(--sub);font-weight:400;font-size:13px;margin-top:4px}
.add__row{display:flex;gap:8px}

.list{list-style:none;margin:12px 0 0;padding:0}
.it{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}
.it__h{display:flex;gap:10px;align-items:flex-start}
.it__img{width:56px;height:56px;object-fit:cover;border-radius:6px;flex:0 0 auto;background:#eee}
.it__b{flex:1;min-width:0}
.it__x{background:none;border:0;color:var(--sub);font-size:20px;cursor:pointer;padding:0 4px}
.it__row{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.it__row select{padding:8px;border:1px solid var(--line);border-radius:6px;font-size:14px}
.it__r{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:14px}
.it__price{font-weight:700;color:var(--g2);font-size:16px}
.it__ng{color:#b00}
.it__warn{color:var(--or);font-size:13px}

.card--sum{background:#f0f7f2;border:1px solid #cfe6d7}
.sum{font-size:26px;font-weight:700;color:var(--g2);margin:6px 0}
.foot{margin-top:12px}
