:root{font-family:system-ui,-apple-system,"Hiragino Sans",sans-serif;color:#21332e;background:#f3f5f1}
*{box-sizing:border-box}body{margin:0}
header{background:#173f35;color:#fff;padding:26px max(20px,calc((100vw - 1120px)/2))}
header small{color:#b2d5b5;letter-spacing:3px}h1{font-size:28px;margin:8px 0}header p{color:#d2ddd6;font-size:14px;margin:0}
main{max-width:1168px;padding:20px;margin:auto}
.panel{background:#fff;border:1px solid #dce3dc;border-radius:16px;padding:22px;margin-bottom:18px}
h2{font-size:18px;margin:0 0 16px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
label,.lbl{display:block;font-size:13px;color:#54675e}
input,select,textarea{width:100%;padding:11px;border:1px solid #c9d3cb;border-radius:8px;font:inherit;font-size:16px;color:#183c30;margin-top:6px;background:#fff}
input:focus,select:focus{outline:2px solid #6b9e7c}
.row{display:flex;gap:6px;align-items:flex-end}.row input{flex:1}.row button{white-space:nowrap}
.inline select{width:auto;margin-left:8px}
button{border:1px solid #bdcdc2;background:#fff;color:#214d3c;border-radius:8px;padding:11px 16px;cursor:pointer;font:inherit;font-size:14px}
button.primary{background:#245b45;color:#fff;border:0}button:disabled{opacity:.5}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.actions.top{align-items:flex-end;margin:0}
.muted{font-size:12px;color:#69776e;line-height:1.8}
.notice{background:#f9f3dd;padding:12px 16px;border-radius:8px;color:#735d25;font-size:13px;line-height:1.7;margin-bottom:18px}
.checks .ck{display:flex;align-items:center;gap:6px;font-size:15px;color:#21332e;margin-top:6px}.ck input{width:auto;margin:0}
.picked{font-size:14px;margin-top:8px}.geoItem{display:block;width:100%;text-align:left;margin-top:6px;font-size:13px}
.links a{display:inline-block;font-size:13px;margin:4px 10px 0 0;color:#245b45}
table{width:100%;border-collapse:collapse;margin:10px 0 6px;font-size:14px}
th,td{border-bottom:1px solid #e4eae4;padding:8px 6px;text-align:left;vertical-align:top}
th{font-size:12px;color:#54675e;font-weight:600}
td input{margin-top:0;padding:8px}
.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:10px;margin-top:4px}
.tag.auto{background:#d9eacb;color:#2b5a2e}.tag.manual{background:#dde8f5;color:#24476e}
.tag.estimate{background:#f6e7c8;color:#7a5414}.tag.missing{background:#f8d9d4;color:#8a2a1c}.tag.empty{background:#eee;color:#666}
.tag.mock{background:#c0392b;color:#fff}
.detail{font-size:12px;color:#5b6b62;line-height:1.7;margin:0 0 12px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{border:1px solid #dce3dc;border-radius:14px;padding:18px}
.card.best{border:2px solid #357253;background:#f0f7ee}
.card h3{font-size:15px;margin:0}.price{font-size:26px;font-weight:700;margin:10px 0 4px}
.card .sub{font-size:13px;color:#54675e;line-height:1.7}.warn{color:#9a3d22;font-size:12px;line-height:1.6;margin-top:6px}
.sentences{line-height:1.9;font-size:15px;padding-left:20px}
textarea#memo{min-height:240px;font:14px/1.8 system-ui;margin-top:10px}
footer{font-size:12px;color:#6e7d71;text-align:center;padding:20px}
@media(max-width:820px){.grid,.cards{grid-template-columns:1fr}main{padding:12px}.panel{padding:16px}h1{font-size:23px}
  table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{border:1px solid #e4eae4;border-radius:10px;padding:8px;margin-bottom:10px}
  td{border:0;padding:4px 0}td[data-h]::before{content:attr(data-h);display:block;font-size:12px;color:#54675e}}
@media print{header{background:#fff;color:#000}header p,.actions,.notice .api,footer,#fetchMsg,.links,button,.checks,#geoList{display:none}
  input,select{border:0;padding:2px}main{padding:0}.panel,.card{break-inside:avoid}.cards{grid-template-columns:repeat(4,1fr)}
  textarea#memo{border:0;min-height:0;height:auto}}
