:root{font-family:"Yu Gothic",Meiryo,sans-serif;color:#18332c;background:#f5f7f3;font-size:15px;--green:#16684e;--line:#dce5de}*{box-sizing:border-box}body{margin:0}header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-size:22px;font-weight:bold}.mark{display:grid;place-items:center;background:var(--green);color:#fff;width:39px;height:39px;border-radius:13px}.tag{font-size:10px;letter-spacing:2px;color:#779087;margin-left:12px}main{max-width:1180px;margin:0 auto;padding:44px 28px;min-height:75vh}h1{font-size:32px;letter-spacing:-1px;margin:8px 0 12px}h2{font-size:20px;margin:0 0 20px}h3{font-size:16px}p{line-height:1.9}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:bold}.muted{color:#738279}.topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;margin-bottom:20px}.hero{background:#e6eee5;border:0;padding:40px;position:relative;overflow:hidden}.hero p{max-width:580px}.pill{display:inline-block;background:#eef5eb;color:var(--green);border-radius:30px;padding:5px 12px;font-size:12px}.stat{font-size:38px;font-weight:700;display:block;margin:12px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats .card{padding:20px}.field{display:block;margin:0 0 16px;font-size:13px;font-weight:bold}.field input,.field select,.field textarea{display:block;width:100%;margin-top:8px}input,select,textarea{font:inherit;border:1px solid #cbd7cf;border-radius:9px;padding:11px;background:#fff;color:inherit}textarea{min-height:85px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #88bda4;outline-offset:2px}button,.button{font:inherit;text-decoration:none;background:var(--green);color:white;border:0;padding:12px 18px;border-radius:10px;cursor:pointer;display:inline-block;font-weight:600}button:hover,.button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}.quiet{background:#edf2ed;color:#355a4b}.danger{background:#fff0ec;color:#a23f2d}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row>*{flex:1}.actions{display:flex;gap:10px;flex-wrap:wrap}.listrow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.listrow:last-child{border:0}.listrow small{display:block;color:#738279;margin-top:5px}.notice{background:#fff6de;border:1px solid #ead69f;padding:15px;border-radius:10px;margin-bottom:20px;line-height:1.7}.progress{height:12px;background:#e2ebe3;border-radius:12px;overflow:hidden;margin:20px 0}.progress progress{width:100%;height:12px;accent-color:var(--green)}.coupon{border:2px dashed #9eb9a1;background:#fafff4}.coupon .amount{font-size:42px;font-weight:bold}.used{opacity:.65}.visitor{max-width:640px;margin:auto}.qr{width:180px;height:180px}.bar{height:8px;background:#e6eee5;border-radius:8px}.bar progress{width:100%;height:8px;accent-color:#428c63}.error{color:#a23f2d}footer{border-top:1px solid var(--line);padding:24px 5%;font-size:12px;color:#849086;display:flex;justify-content:space-between}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#193d30;color:#fff;padding:14px 24px;border-radius:12px;display:none;max-width:90%;z-index:9}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.scroll{overflow:auto}.loading{padding:80px;text-align:center}details{margin:15px 0}summary{cursor:pointer;font-weight:bold;margin-bottom:16px}a{color:var(--green)}@media(max-width:760px){main{padding:25px 16px}.grid,.layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.tag{display:none}.hero{padding:27px}h1{font-size:26px}.topline{align-items:flex-start}.card{padding:20px}footer span{display:none}header{height:70px}.row{align-items:stretch}.row>*{min-width:120px}}


@media print{header,footer,.no-print,#toast{display:none!important}body{background:white}main{padding:0}.print-page{break-after:page;min-height:90vh;text-align:center;padding-top:15vh;border:0}.print-page .qr{width:300px;height:300px}.actions{display:none}}
