:root{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Segoe UI",sans-serif;color:#193735;background:#f3f5f3;font-synthesis:none;--green:#15675b;--line:#dce4df}*{box-sizing:border-box}body{margin:0}header{background:#123d3a;color:white;padding:17px max(20px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}header a{color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center;font-size:16px}header b{display:block;font-size:21px}header small{display:block;font-size:9px;letter-spacing:2px;margin-top:4px;color:#b4d2c8}.logo{display:grid;place-items:center;background:#e7ad4e;color:#123d3a;border-radius:12px;width:44px;height:50px;font-weight:800;font-size:26px}main{max-width:1100px;margin:auto;padding:30px 20px 100px}h1{font-size:28px;margin:8px 0 12px}h2{font-size:20px;margin:4px 0 18px}h3{font-size:17px;margin:0 0 10px}p{line-height:1.8}button,.button{font:inherit;cursor:pointer;border:1px solid var(--line);background:white;color:#193735;border-radius:10px;min-height:46px;padding:10px 17px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);border-color:var(--green);color:white}.danger{color:#a63730;border-color:#ebc8c4}.muted{color:#697b76;font-size:13px}.eyebrow{font-size:11px;letter-spacing:2px;color:#677e75;font-weight:700}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:15px;box-shadow:0 3px 10px #173b3104}.property{cursor:pointer;transition:transform .15s}.property:hover{transform:translateY(-2px);border-color:#7aab9f}.property h2{margin:12px 0 8px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.grid .card{margin:0}.list{margin-top:24px}.search{width:100%;margin:22px 0 0}input,textarea,select{font:inherit;width:100%;padding:12px;border:1px solid #bacbc2;border-radius:9px;min-height:48px;background:#fff;color:#193735}textarea{min-height:110px;resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid #bce0d5;outline-offset:1px}label{display:block;font-size:14px;font-weight:600;margin:0 0 18px}label>input,label>textarea,label>select{margin-top:7px}label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center}input[type=checkbox]{width:24px;min-height:24px}form .fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.tabs{display:flex;gap:8px;overflow:auto;padding:8px 0 16px;margin:16px 0;position:sticky;top:0;background:#f3f5f3;z-index:2}.tabs button{flex-shrink:0}.tabs .active{background:#123d3a;color:white;border-color:#123d3a}.alert{background:#fff3e5;border:1px solid #efd2a6;border-left:5px solid #db9135;padding:17px;border-radius:12px;margin:14px 0}.badge{display:inline-block;border-radius:6px;padding:4px 8px;background:#e9f2ed;color:#2e6955;font-size:12px;font-weight:700}.badge.important{background:#fbe6df;color:#a2452e}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.detail-grid div{border-bottom:1px solid #eef1ee;padding-bottom:12px;white-space:pre-wrap;overflow-wrap:anywhere}.detail-grid small{display:block;color:#718078;margin-bottom:5px}.empty{text-align:center;padding:48px 16px;color:#6a7f76}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.photo-grid img{width:100%;height:180px;object-fit:cover;border-radius:10px;background:#edf2ef}.photo-grid button.preview{padding:0;border:0;display:block;width:100%;background:transparent}.pre{white-space:pre-wrap;overflow-wrap:anywhere}dialog{border:0;border-radius:18px;max-width:720px;width:calc(100% - 24px);padding:25px;max-height:92dvh;box-shadow:0 18px 80px #0004}dialog::backdrop{background:#102b2bb3}dialog img{max-width:100%;max-height:70vh;object-fit:contain}dialog iframe{width:100%;height:65vh;border:0}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.sticky-actions{position:sticky;bottom:-25px;padding:14px 0;background:white;display:flex;gap:10px}.error{background:#ffebe8;color:#972d25;padding:14px;border-radius:8px;margin:12px 0}.login{max-width:440px;margin:32px auto}.login h1{font-size:26px}.login .primary{width:100%}.login label{margin-top:20px}#status{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#183f38;color:white;border-radius:10px;padding:14px 20px;z-index:10;max-width:90%;display:none}#status.visible{display:block}.summary{display:flex;gap:24px;margin:22px 0;color:#5e7369}.summary b{color:#173f35;font-size:28px;margin-right:7px}.section-top{margin-bottom:18px}.checknote{font-size:13px;color:#6c786f}footer{margin-top:30px;color:#84948a;font-size:12px}a{color:#17695a}button:focus-visible,a:focus-visible{outline:3px solid #e4ad42;outline-offset:3px}@media(max-width:600px){main{padding:22px 14px 90px}header{padding:14px}h1{font-size:23px}.card{padding:18px;border-radius:13px}.grid{grid-template-columns:1fr}form .fields,.detail-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-grid .card{padding:10px}.photo-grid img{height:135px}.photo-grid .actions button{padding:8px;flex:1}.tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.tabs button{font-size:14px;padding:9px 13px}.login{margin:15px auto}dialog{padding:18px}.sticky-actions{bottom:-18px}.summary{gap:16px}.summary b{font-size:24px}.detail-grid div{padding-bottom:10px}}
.demo-banner{padding:10px 18px;background:#fff0c9;color:#6d4b14;font-size:13px;line-height:1.6;text-align:center}
h1,h2,h3,.muted,.alert,.card p{overflow-wrap:anywhere}.card,.detail-grid>div{min-width:0}

/* v1.1: compact on-site overview and accessible mobile controls */
.quick-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:20px 0 8px}.quick-overview button{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);padding:13px 6px;min-width:0}.quick-overview b{font-size:23px;color:#15675b;font-variant-numeric:tabular-nums}.quick-overview span{font-size:12px}.quick-overview button:focus-visible{outline:3px solid #e4ad42;outline-offset:2px}@media(max-width:600px){.quick-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quick-overview button{padding:12px 4px}.quick-overview b{font-size:21px}.quick-overview span{font-size:11px}}@media(prefers-reduced-motion:reduce){.property{transition:none}}
