:root{font-family:system-ui,sans-serif;color:#29342e;background:#f6f5f0;line-height:1.7}body{margin:0}header,main,footer{max-width:850px;margin:auto;padding:24px}header{border-bottom:1px solid #ddd}header a{font-weight:700;letter-spacing:.12em;color:#254d3d;text-decoration:none}small,footer{color:#6c746e}h1{font-size:1.65rem}h2{font-size:1.2rem}form,section,.card{padding:24px;background:white;border:1px solid #e0e3da;border-radius:12px;margin:18px 0}label{display:block;margin:18px 0 6px}input:not([type=checkbox]),textarea,select{box-sizing:border-box;width:100%;font:inherit;padding:12px;border:1px solid #adb8ae;border-radius:6px}textarea{min-height:110px}button,.button{font:inherit;background:#28553f;color:white;border:0;border-radius:6px;padding:12px 18px;margin:12px 8px 0 0;cursor:pointer}button:disabled{opacity:.5}a{color:#28553f}nav{display:flex;flex-wrap:wrap;gap:8px}nav button{padding:8px 14px}.error{color:#ac2424;white-space:pre-wrap}.success{color:#28553f}.row{display:flex;gap:12px;align-items:center}.row>*{flex:1}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px 6px;border-bottom:1px solid #ddd;overflow-wrap:anywhere}canvas{max-width:100%;height:auto}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.muted{color:#687469}@media(max-width:600px){main{padding:16px}form,section,.card{padding:16px}.row{display:block}td,th{font-size:.85rem}}

*{box-sizing:border-box}main{width:100%}fieldset{min-width:0;margin:18px 0;padding:12px;border:1px solid #e0e3da;border-radius:6px}input,select,textarea{min-width:0;max-width:100%}.survey{max-width:650px}.survey-complete{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 16px}.survey-complete h1{font-size:clamp(20px,5.6vw,28px);line-height:1.7;margin:16px 0}.survey-complete{overflow-wrap:anywhere}.completion-thanks{margin:0;font-size:18px}.completion-instruction{margin:40px 0 0;font-size:16px}.shop-name{font-size:18px;margin:0}.privacy-page,.unsubscribe-page{max-width:650px;overflow-wrap:anywhere}.privacy-page h1{font-size:1.5rem}.unsubscribe-page{padding-top:48px}.unsubscribe-page form{padding:0;border:0;background:none}.unsubscribe-page .continue{display:inline-block;margin:16px 0;padding:12px 0}

[hidden]{display:none!important}.review-values{margin:0}.review-values dt{font-weight:700;margin-top:18px}.review-values dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}#survey-review button{max-width:100%;margin-right:0;width:100%}
.admin-brand{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #ddd}.admin-brand img{display:block;width:min(280px,72vw);height:auto;object-fit:contain}.admin-brand h1{margin:14px 0 0}.pwa-cta{border:2px solid #9db3a7;background:linear-gradient(145deg,#fff,#f0f5f1)}.pwa-cta-heading{display:flex;gap:12px;align-items:center}.pwa-cta-heading h2{margin:0}.pwa-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#28553f;color:#fff;font-size:28px;font-weight:700}.pwa-install-button{display:block;width:100%;margin:16px 0 8px;font-weight:700}.pwa-cta small{display:block;text-align:center}.pwa-guide{max-width:min(440px,calc(100vw - 32px));border:0;border-radius:14px;padding:24px;color:#29342e}.pwa-guide::backdrop{background:rgba(20,30,25,.55)}.pwa-guide h2{margin-top:0}
.admin-loading{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.admin-loading img{display:block;width:min(220px,70vw);height:auto;object-fit:contain;background:transparent;border:0;border-radius:0}.admin-loading p{margin:20px 0 0;color:#687469}
.detail-close{min-width:120px;min-height:48px}.detail-close-bottom{display:block;width:100%;margin:24px 0}.admin-footer{margin-top:48px;padding:20px 0;border-top:1px solid #ddd;text-align:center}.logout-button{padding:8px 14px;margin:0;background:transparent;color:#687469;border:1px solid #adb8ae;font-size:.85rem}.preview-section{overflow:hidden}.preview-display-controls{display:flex;justify-content:center;gap:8px;margin-bottom:10px}.preview-display-controls button{margin:0;padding:8px 14px}.email-preview{display:block;width:min(100%,390px);height:680px;margin:0 auto 28px;border:1px solid #ddd;border-radius:10px;background:#f6f3ef;transition:width .2s}.email-preview.pc{width:100%}.preview-phone{width:min(100%,390px);margin:18px auto;padding:20px;border:1px solid #ddd;border-radius:14px;background:#fff;overflow-wrap:anywhere}.preview-phone label{margin-top:12px}.preview-phone input,.preview-phone textarea,.preview-phone select{padding:9px}.preview-phone button{width:100%;margin-right:0}.preview-phone strong{display:block;margin-top:14px}.preview-phone p{margin:4px 0}.preview-shop{font-weight:700}.preview-complete{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.preview-complete h3{font-size:1.45rem}
.test-email{margin:0 auto 32px;max-width:600px}.test-email>button{width:100%;margin:0}.test-email form{padding:16px;margin:12px 0}.test-email button{max-width:100%;margin-right:0}.test-recipient,.test-email [role=status]{overflow-wrap:anywhere}.test-email small{display:block}.test-email label{margin-top:0}
