:root{--bg:#f5f6f8;--panel:#fff;--text:#1f2328;--muted:#667085;--line:#e4e7ec;--primary:#1d6fd8;--danger:#c0392b;--ok:#1a7f37;--warn:#b25e09;--radius:8px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-size:14px;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 16px;font-size:20px}h2{margin:0 0 12px;font-size:16px}.shell{min-height:100vh;display:flex}.side{color:#d1d5db;background:#111827;flex-shrink:0;width:200px;padding:20px 12px}.side .brand{color:#fff;margin:0 8px 20px;font-size:15px;font-weight:700}.side nav a{color:#d1d5db;border-radius:6px;padding:8px;display:block}.side nav a:hover{background:#1f2937;text-decoration:none}.side form{margin-top:24px}.side form button{color:#9ca3af;cursor:pointer;background:0 0;border:0;padding:8px;font-size:13px}.main{flex:1;min-width:0;padding:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:16px}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:900px){.shell{flex-direction:column}.side{width:auto}.side nav{flex-wrap:wrap;display:flex}.grid2{grid-template-columns:1fr}.main{padding:16px}}table{border-collapse:collapse;background:var(--panel);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}th{color:var(--muted);white-space:nowrap;background:#fafbfc;font-size:12px;font-weight:600}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}dl.kv{grid-template-columns:120px 1fr;gap:6px 12px;margin:0;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{word-break:break-all;margin:0}.badge{color:#344054;white-space:nowrap;background:#eef2f6;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.badge.email{color:#1d4ed8;background:#e7f0fd}.badge.line{color:#157f3c;background:#e3f6e8}.badge.off{color:#98a2b3;background:#f2f4f7;text-decoration:line-through}.badge.s-new{background:#f2f4f7}.badge.s-assessing{color:var(--warn);background:#fff4e5}.badge.s-proposed{color:#1d4ed8;background:#e7f0fd}.badge.s-negotiating{color:#7e22ce;background:#f3e8ff}.badge.s-contracted{color:var(--ok);background:#e3f6e8}.badge.s-lost{color:var(--danger);background:#fde8e8}.badge.d-sent{color:var(--ok);background:#e3f6e8}.badge.d-failed{color:var(--danger);background:#fde8e8}.badge.d-sending{color:var(--warn);background:#fff4e5}.badge.d-skipped{color:var(--muted);background:#f2f4f7}.muted{color:var(--muted)}.small{font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack>*+*{margin-top:12px}.pre{white-space:pre-wrap;word-break:break-word}input,select,textarea{font:inherit;color:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:6px;padding:6px 10px}textarea{width:100%;min-height:120px}label{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}button,.btn{font:inherit;cursor:pointer;color:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:6px;padding:6px 14px}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.danger{color:var(--danger);background:#fff;border-color:#f1b5ae}.stats{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:120px;padding:10px 16px}.stat b{font-size:20px;display:block}.thumbs{flex-wrap:wrap;gap:8px;display:flex}.thumbs img{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:120px;height:120px}.notice{color:var(--warn);background:#fff4e5;border-radius:6px;margin-bottom:12px;padding:8px 12px}.error{color:var(--danger)}.step-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:12px;padding:16px}.step-card.disabled{opacity:.6}.fields{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:12px;display:grid}
