.feedback-invite { margin:12px 0 16px; padding:17px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:0 5px 20px #00000005; }
.feedback-invite h2 { margin:0 0 6px; font:500 21px/1.2 var(--serif); color:var(--ink); }
.feedback-invite p { margin:0 0 12px; color:var(--muted); font-size:13px; line-height:1.5; }
.feedback-invite .button-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.feedback-invite .button-row button { width:auto; margin:0; padding:11px; min-height:44px; }
.feedback-invite .text-button { margin-top:5px; min-height:40px; color:var(--muted); font-size:12px; }
#checkinDialog { width:min(100% - 24px, 460px); max-height:calc(100dvh - 28px); padding:0; border:1px solid var(--line); border-radius:24px; background:var(--surface); color:var(--ink); }
#checkinDialog::backdrop { background:#151c18a6; }
.checkin-form { padding:22px; overflow:auto; }
.checkin-head { display:flex; align-items:center; gap:12px; justify-content:space-between; }
.checkin-head h2 { margin:4px 0 8px; font:500 28px/1.15 var(--serif); }
.checkin-head .checkin-close { flex:none; align-self:flex-start; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--surface-2); font:24px var(--sans); }
.checkin-form .eyebrow { margin:0 0 5px; color:var(--muted); }
.checkin-intro { margin:0 0 18px; font-size:14px; line-height:1.5; color:var(--muted); }
.checkin-moods { border:0; margin:0 0 16px; padding:0; }
.checkin-moods legend { font-size:13px; font-weight:650; margin-bottom:8px; }
.checkin-options { display:flex; flex-wrap:wrap; gap:7px; }
.checkin-options label { position:relative; flex:1 1 95px; }
.checkin-options input { position:absolute; width:1px; height:1px; opacity:0; }
.checkin-options span { min-height:44px; box-sizing:border-box; display:flex; align-items:center; justify-content:center; padding:9px; border:1px solid var(--line); border-radius:13px; background:var(--surface-2); color:var(--ink); font-size:12px; font-weight:600; text-align:center; }
.checkin-options input:checked + span { border-color:var(--hero); background:var(--hero); color:var(--hero-text, #fff); }
.checkin-options input:focus-visible + span { outline:2px solid var(--ink); outline-offset:3px; }
.checkin-form .field-label { display:block; margin:12px 0 7px; font-size:13px; font-weight:650; }
.checkin-form textarea, .checkin-form input[type=email] { box-sizing:border-box; width:100%; background:var(--surface-2); color:var(--ink); border:1px solid var(--line); border-radius:13px; padding:12px; font:16px/1.45 var(--sans); }
.checkin-form textarea { min-height:105px; resize:vertical; }
.checkin-check { display:flex; align-items:flex-start; gap:9px; margin-top:14px; font-size:13px; line-height:1.45; }
.checkin-check input { flex:none; width:18px; height:18px; margin:0; accent-color:var(--hero); }
.checkin-details { padding:10px; margin:8px 0 0; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:12px; line-height:1.5; white-space:pre-line; }
.checkin-privacy { margin:14px 0; font-size:12px; line-height:1.5; color:var(--muted); }
.checkin-form .checkin-send { width:100%; min-height:46px; }
.checkin-status { margin:12px 0 0; padding:11px; border-radius:12px; background:var(--surface-2); font-size:13px; line-height:1.5; }
.checkin-setting { display:flex; align-items:flex-start; gap:9px; margin:14px 0 0; font-size:13px; line-height:1.4; }
.checkin-setting input { width:18px; height:18px; margin:0; accent-color:var(--hero); }
.settings-card.beta-feedback { background:#33493b; border:1px solid #728775; color:#fffaf1; padding:20px; box-shadow:0 8px 24px #1b302315; }
.beta-feedback-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; color:#d0ddcd; }
.beta-feedback-badge { display:inline-block; padding:5px 9px; border:1px solid #7e937e; border-radius:99px; font:700 10px/1.2 var(--sans); letter-spacing:.1em; }
.beta-feedback h2 { font:500 clamp(24px,6.5vw,29px)/1.15 var(--serif); margin:0 0 9px; color:#fffaf1; }
.beta-feedback-copy { margin:0 0 16px; color:#d6dfd3; font-size:13px; line-height:1.5; }
.beta-feedback .beta-feedback-action { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:48px; margin:0; padding:12px 16px; border:1px solid #f4efe6; border-radius:13px; background:#f4efe6; color:#263c2e; font-weight:750; }
.beta-feedback-action > span:last-child { font-size:20px; line-height:1; }
.beta-feedback-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:7px; }
.beta-feedback-links a { display:inline-flex; align-items:center; min-height:38px; color:#e2e9dd; font-size:12px; text-underline-offset:3px; }
.beta-feedback .checkin-setting { margin:6px 0 0; padding-top:13px; border-top:1px solid #657c68; color:#d6dfd3; font-size:12px; align-items:center; }
.beta-feedback .checkin-setting input { accent-color:#d6e4cd; }
.beta-feedback :focus-visible { outline-color:#fffaf1; }
@media(max-width:350px) { .checkin-form { padding:18px; } .checkin-head h2 { font-size:25px; } }
