/* VapoChecker's compact modal structure, in SuppTrend's green palette. */
.fit-alert-entry { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin:24px 0; }
.fit-alert-entry > span { color:#52645d; font-size:14px; }
.fit-alert-entry > a { margin-left:auto; font-size:14px; }
.fit-alert-entry svg { flex-shrink:0; }
.fit-alert-dialog { box-sizing:border-box; width:min(480px, calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:12px; color:#203e33; background:#fff; box-shadow:0 20px 60px #0004; }
.fit-alert-dialog::backdrop { background:#13271db3; }
.fit-alert-dialog [hidden] { display:none !important; }
.fit-alert-header { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 20px; background:#276749; color:#fff; }
.fit-alert-header h2 { margin:0; font-size:20px; font-weight:700; line-height:1.3; color:inherit; }
.fit-alert-header button { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:0; border-radius:6px; color:#fff; background:#ffffff1f; font-size:28px; cursor:pointer; }
.fit-alert-body { padding:20px; }
.fit-alert-product { display:grid; gap:4px; margin:0 0 16px; }
.fit-alert-product strong { font-size:17px; }
.fit-alert-product span, .fit-alert-scope { font-size:13px; color:#52645d; }
.fit-alert-current { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#f2f7f3; padding:12px 16px; border-radius:8px; }
.fit-alert-current > span { font-size:14px; }
.fit-alert-current strong { font-size:24px; line-height:1.3; text-align:right; }
.fit-alert-body form { display:grid; gap:16px; }
.fit-alert-scope { margin:6px 0 0; }
.fit-alert-field { display:grid; gap:6px; font-size:14px; font-weight:600; }
.fit-alert-field input, .fit-alert-field select { box-sizing:border-box; width:100%; min-width:0; min-height:46px; padding:10px 12px; border:1px solid #becdc2; border-radius:7px; background:#fff; color:#203e33; font:inherit; font-size:16px; font-weight:400; }
.fit-alert-dialog fieldset { margin:0; padding:0; border:0; min-width:0; }
.fit-alert-dialog legend { padding:0; margin-bottom:8px; font-size:14px; font-weight:600; }
.fit-alert-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.fit-alert-type { box-sizing:border-box; position:relative; display:flex; align-items:center; min-height:44px; padding:8px 10px; border:1px solid #d7e1da; border-radius:7px; cursor:pointer; background:#fff; font-size:13px; line-height:1.35; }
.fit-alert-type input { position:absolute; opacity:0; width:1px; height:1px; }
.fit-alert-type:has(input:checked) { border-color:#276749; background:#edf7ef; color:#205537; box-shadow:inset 0 0 0 1px #276749; font-weight:600; }
.fit-alert-type:has(input:disabled) { opacity:.5; cursor:default; }
.fit-alert-type:has(input:focus-visible) { outline:2px solid #276749; outline-offset:3px; }
.fit-alert-preview { color:#276749; font-size:14px; font-weight:600; }
.fit-alert-explanation { margin:0; padding:10px 12px; border-left:3px solid #a3cbb0; background:#f7faf7; color:#52645d; font-size:13px; line-height:1.5; }
.fit-alert-push { display:flex; align-items:center; gap:10px; cursor:pointer; font-size:14px; }
.fit-alert-push span { display:grid; gap:2px; }
.fit-alert-push small { font-size:12px; color:#52645d; }
.fit-alert-dialog input[type=checkbox], .fit-alert-dialog input[type=radio] { accent-color:#276749; }
.fit-alert-push input, .fit-alert-shop-mode input, .fit-alert-shop-list input { flex-shrink:0; width:18px; height:18px; margin:0; }
.fit-alert-shop-mode { display:flex; flex-wrap:wrap; gap:8px 18px; }
.fit-alert-shop-mode label, .fit-alert-shop-list label { display:flex; align-items:center; gap:8px; min-height:44px; font-size:14px; cursor:pointer; }
.fit-alert-shop-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:160px; overflow:auto; gap:0 12px; margin-top:8px; padding:8px 12px; border:1px solid #d7e1da; border-radius:7px; }
.fit-alert-shop-list label { overflow-wrap:anywhere; }
.fit-alert-submit { box-sizing:border-box; width:100%; min-height:48px; padding:12px 16px; border:0; border-radius:7px; background:#276749; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.fit-alert-submit:hover { background:#205537; }
.fit-alert-submit:disabled { opacity:.55; cursor:wait; }
.fit-alert-note, .fit-alert-privacy { margin:0; color:#52645d; font-size:12px; line-height:1.5; }
.fit-alert-note:empty, .fit-alert-status:empty { display:none; }
.fit-alert-auth { display:grid; gap:6px; font-size:13px; overflow-wrap:anywhere; }
.fit-alert-auth-actions { display:flex; flex-wrap:wrap; gap:4px 16px; }
.fit-alert-auth button { justify-self:start; padding:0; border:0; background:none; color:#276749; font:inherit; text-decoration:underline; cursor:pointer; min-height:44px; }
.fit-alert-status { margin:0; padding:12px; border-radius:6px; background:#edf7ef; font-size:14px; line-height:1.5; }
.fit-alert-status[data-error=true] { background:#fff0ed; color:#983b2b; }
.fit-alert-dialog :is(button,input,select,a):focus-visible { outline:2px solid #276749; outline-offset:3px; }
.fit-alert-header button:focus-visible { outline-color:#fff; }
@media(max-width:480px) { .fit-alert-entry > span { flex-basis:100%; order:3; } .fit-alert-entry > a { margin-left:0; } .fit-alert-body { padding:16px; } .fit-alert-dialog { max-height:calc(100dvh - 16px); } .fit-alert-shop-list { grid-template-columns:1fr; } }
