body { --feedback-paper:#fff; --feedback-ink:#202020; --feedback-muted:#626262; --feedback-line:#dedede; --feedback-soft:#f4f4f4; }
.dark body { --feedback-paper:#181818; --feedback-ink:#f4f4f4; --feedback-muted:#b3b3b3; --feedback-line:#393939; --feedback-soft:#242424; }
body.feedback-open { overflow:hidden; }
.feedback-modal { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:16px; background:rgb(0 0 0 / .46); }
.feedback-modal.hidden { display:none; }
.feedback-panel { width:100%; max-width:352px; max-height:calc(100dvh - 32px); overflow:auto; padding:24px; border:1px solid var(--feedback-line); border-radius:8px; background:var(--feedback-paper); color:var(--feedback-ink); box-shadow:0 18px 64px rgb(0 0 0 / .2); text-align:center; box-sizing:border-box; }
.feedback-symbol { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin:0 auto 14px; border:1px solid var(--feedback-line); border-radius:50%; color:var(--feedback-ink); background:var(--feedback-soft); }
.feedback-symbol svg { flex:none; width:32px; height:32px; display:block; }
.feedback-panel h2 { margin:0 0 8px; font:700 18px/24px Inter,Arial,sans-serif; letter-spacing:0; }
.feedback-panel p { margin:0 0 20px; font:400 14px/21px Inter,Arial,sans-serif; white-space:pre-line; overflow-wrap:anywhere; color:var(--feedback-muted); }
body .feedback-primary { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; border:1px solid #e2b900; padding:10px 16px; border-radius:6px; background:#facc15; color:#181818; font:650 14px/20px Inter,Arial,sans-serif; letter-spacing:0; box-shadow:0 2px 3px rgb(0 0 0 / .08),0 4px 14px rgb(250 204 21 / .13); cursor:pointer; }
body .feedback-primary:hover { background:#f3c514; box-shadow:0 3px 10px rgb(0 0 0 / .12); }
.feedback-primary:focus-visible,.feedback-toast button:focus-visible { outline:2px solid var(--feedback-ink); outline-offset:3px; }
.feedback-toast { position:fixed; top:12px; left:50%; transform:translateX(-50%); z-index:10010; display:flex; align-items:center; gap:10px; width:max-content; max-width:calc(100% - 24px); padding:8px 8px 8px 14px; border:1px solid var(--feedback-line); border-radius:8px; background:var(--feedback-paper); color:var(--feedback-ink); box-shadow:0 6px 24px rgb(0 0 0 / .14); box-sizing:border-box; font:500 13px/19px Inter,Arial,sans-serif; }
.feedback-toast[hidden] { display:none; }
.feedback-toast-icon { display:flex; flex:0 0 22px; }
.feedback-toast-text { min-width:0; max-width:480px; overflow-wrap:anywhere; }
.feedback-toast button { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; border:0; background:transparent; color:var(--feedback-muted); cursor:pointer; }
:is(#confirm-modal,#prompt-modal,#credit-prompt-modal,#missing-measurement-modal) > div { border-radius:8px!important; background:var(--feedback-paper)!important; color:var(--feedback-ink); }
:is(#confirm-modal,#prompt-modal,#credit-prompt-modal,#missing-measurement-modal) button { min-height:44px; border-radius:6px!important; }
@media print { .feedback-modal,.feedback-toast { display:none!important; } }
