:root{font-family:system-ui,-apple-system,Noto Sans JP,sans-serif;color:#18352d;background:#f6f8f5}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#fff;display:flex;align-items:center;gap:20px;padding:0 max(24px,calc((100% - 1120px)/2));border-bottom:1px solid #e5e9e4}header a{font-size:22px;font-weight:800;color:#12644f;text-decoration:none}header span{color:#62736b;font-size:14px}main{max-width:1120px;margin:auto;padding:40px 24px 80px}h1{font-size:clamp(28px,5vw,44px);margin:0 0 20px}h2{font-size:20px;margin:28px 0 12px}.hero{padding:72px 0;text-align:center}.hero h1{max-width:800px;margin:10px auto 18px}.hero p{color:#54665e;font-size:17px}.primary,button{border:0;border-radius:9px;padding:10px 16px;font:inherit;cursor:pointer;background:#e7ede9;color:#18352d;text-decoration:none;display:inline-block}.primary{background:#12644f;color:#fff;font-weight:700}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps b,.notice,.final{padding:24px;border-radius:12px;background:#fff}.form{max-width:680px;display:grid;gap:18px;background:#fff;padding:28px;border-radius:14px}.form label,.name-form label{display:grid;gap:7px;font-weight:700}input,textarea,select{font:inherit;padding:10px;border:1px solid #c9d4ce;border-radius:8px;background:#fff}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{margin:14px 0;display:grid;gap:10px}.notice code{overflow:auto}.warn{background:#fff6df}.actions{display:flex;gap:16px;align-items:center}.error{color:#b42318}.final{background:#e5f5eb;color:#155c37;font-weight:700;margin-bottom:18px}.grid-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #dce6df}.grid-tools{padding:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #dce6df;font-size:14px}.grid-tools .active{background:#12644f;color:#fff}.grid-scroll{overflow:visible}.grid{display:grid;min-width:530px}.corner,.date,.time,.cell{min-height:32px;border:0;border-right:1px solid #eef2ef;border-bottom:1px solid #eef2ef}.date{position:sticky;top:0;z-index:2;background:#f1f6f2;font-weight:700;text-align:center;padding:8px}.time{position:sticky;left:0;z-index:1;background:#fff;padding:5px 8px;font-size:12px;color:#617168}.corner{position:sticky;top:0;left:0;z-index:3;background:#f1f6f2}.cell{padding:0;background:#fff;touch-action:inherit;-webkit-user-select:none;user-select:none}.cell.selected{background:#9ed3e4}.cell.candidate{outline:2px solid #d5a928;outline-offset:-2px}.heat.h1{background:#e6f4eb}.heat.h2{background:#c8e8d3}.heat.h3{background:#91d3aa}.heat.h4{background:#54ae7d}.heat.h5{background:#19734d}.save{font-size:13px;color:#557}.selection-summary{margin:18px 0 8px;font-weight:700}.notice-inline{padding:10px 12px;border-radius:8px;background:#fff6df;color:#78510b}.candidate-filter{display:flex;align-items:center;gap:8px;margin:8px 0 12px;color:#4b6056;font-size:14px}.candidate-filter input{width:18px;height:18px;padding:0}.heat-detail{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border-radius:9px;background:#eef7f1}.confirmed-attendance{display:grid;gap:4px;margin-top:10px;font-size:14px;font-weight:400}.response-status{display:grid;gap:4px;margin:0 0 14px;color:#4b6056;font-size:14px}.results{margin-top:30px}.result-head{display:flex;justify-content:space-between;align-items:center}.candidate-row,.person{background:#fff;padding:14px 16px;margin:8px 0;border-radius:10px;display:flex;justify-content:space-between;gap:12px;align-items:center}.candidate-row span{display:block;font-size:14px;color:#5d6d65;margin-top:4px}.candidate-row .unavailable{color:#9a5b16}.empty{color:#68776f}.danger{margin-top:30px;display:flex;gap:8px;flex-wrap:wrap}.danger button:last-child{background:#b42318;color:#fff}@media (max-width: 600px){main{padding:24px 14px}.steps,.fields{grid-template-columns:1fr}.hero{padding:40px 0}.grid-tools span{width:100%}.candidate-row{align-items:flex-start;flex-direction:column}.candidate-row button{width:100%}}
