/* Dog-OK 共有スタイル（全画面ライト固定・ブランド: ネイビー#1F4E5F / キャラメル#C98A4B） */
*{box-sizing:border-box}
:root{
  --brand:#1F4E5F; --brand-soft:#E3EDF0; --caramel:#C98A4B; --caramel-soft:#F7EDDC;
  --ink:#22282A; --muted:#6B7A80; --line:#E4E7E5; --bg:#F6F8F8; --card:#FFFFFF;
  --ok:#2E9E5B; --ok-t:#E7F5EC; --cond:#B97E09; --cond-t:#FBF3DC; --ng:#C94F4F; --ng-t:#FBE9E9;
}
body{margin:0; background:var(--bg); color:var(--ink); line-height:1.7; font-size:15px;
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",-apple-system,sans-serif}
.wrap{max-width:520px; margin:0 auto; padding:20px 16px 48px}
.wide{max-width:980px}
.brand{display:flex; align-items:center; gap:9px; margin-bottom:16px; font-weight:800; font-size:15px}
.brand .paw{width:30px;height:30px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:15px}
.brand small{display:block; font-weight:500; font-size:10px; color:var(--muted); letter-spacing:.1em}
h1{font-size:19px; font-weight:800; line-height:1.5; margin:0 0 4px}
.sub{color:var(--muted); font-size:12.5px; margin:0 0 16px}
.card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:12px}
.btn{display:block; width:100%; border:0; border-radius:12px; padding:14px 0; font-weight:800; font-size:15px;
  background:var(--brand); color:#fff; cursor:pointer; font-family:inherit}
.btn.sec{background:#fff; color:var(--brand); border:1.5px solid var(--brand)}
.btn.sm{width:auto; padding:8px 16px; font-size:12.5px; border-radius:9px; display:inline-block}
.btn:disabled{opacity:.4; cursor:default}
.opt{display:flex; align-items:center; gap:10px; border:1.5px solid var(--line); border-radius:13px;
  padding:14px; font-weight:700; font-size:14.5px; background:#fff; cursor:pointer; margin-bottom:10px; user-select:none}
.opt .em{font-size:20px}
.opt.sel{border-color:var(--ok); background:var(--ok-t); color:var(--ok)}
.opt.sel-c{border-color:var(--cond); background:var(--cond-t); color:var(--cond)}
.opt.sel-n{border-color:var(--ng); background:var(--ng-t); color:var(--ng)}
.chkrow{display:flex; gap:10px; align-items:flex-start; padding:10px 0; font-size:13.5px; line-height:1.6; cursor:pointer; user-select:none}
.chkrow input{width:20px; height:20px; accent-color:var(--ok); flex:none; margin-top:2px}
.field{margin-bottom:14px}
.field label{display:block; font-size:12px; font-weight:700; color:var(--muted); margin-bottom:6px}
.field input[type=text],.field input[type=password]{width:100%; border:1.5px solid var(--line); border-radius:10px;
  padding:11px 12px; font-size:15px; font-family:inherit; background:#fff; color:var(--ink)}
.seg{display:flex; border:1.5px solid var(--line); border-radius:11px; overflow:hidden}
.seg button{flex:1; border:0; padding:11px 0; font-size:13.5px; font-weight:700; background:#fff; color:var(--muted); cursor:pointer; font-family:inherit}
.seg button.on{background:var(--brand); color:#fff}
.pill{display:inline-flex; align-items:center; gap:5px; border-radius:999px; font-weight:700; padding:3px 12px; font-size:12px}
.pill.ok{background:var(--ok-t); color:var(--ok)}
.pill.cond{background:var(--cond-t); color:var(--cond)}
.pill.ng{background:var(--ng-t); color:var(--ng)}
.pill.none{background:#EFF1F0; color:#8A9599}
.dogcard{display:flex; gap:12px; align-items:center; border:1.5px solid var(--line); border-radius:13px; padding:12px 14px; background:#fff}
.dogcard .ava{width:44px;height:44px;border-radius:50%;background:#F3E7D8;display:grid;place-items:center;font-size:22px;flex:none}
.dogcard .nm{font-weight:800; font-size:14.5px}
.dogcard .br{font-size:11px; color:var(--muted)}
.dogcard .chips{display:flex; flex-wrap:wrap; gap:4px; margin-top:4px}
.dogcard .chips span{font-size:9.5px; font-weight:700; border-radius:5px; padding:1px 7px; background:var(--brand-soft); color:var(--brand)}
.dogcard .chips span.c{background:var(--caramel-soft); color:#9A6B25}
.note{font-size:11.5px; color:var(--muted); line-height:1.65}
.banner{background:var(--caramel-soft); color:#9A6B25; border-radius:10px; padding:9px 12px; font-size:12.5px; font-weight:800; text-align:center; margin-bottom:12px}
.hidden{display:none !important}
.err{color:var(--ng); font-size:12.5px; font-weight:700; margin-top:8px}
.muted{color:var(--muted)}
.tnum{font-variant-numeric:tabular-nums}
