/* AppGripes → pdbear shared tool style (2026-11-04). Loaded after the page's own <style> blocks and BEFORE /shell.css (shell wins on header/footer). */
:root{--bg:#fff;--card:#fff;--ink:#1d1d1f;--mute:#56666a;--muted:#56666a;--fine:#6e6e73;--line:#e3e8e9;--acc:#23756C;--acc-soft:#eef7f5;--soft:#f5f5f7;--field:#c9d3d5;--bad:#b42318;--ok:#23756C;--r:10px;--r-lg:18px}
body{background:#fff}
a{color:var(--acc)}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
header.top{max-width:none}
main.wrap{max-width:var(--sh-max,1200px);margin:0 auto;padding-top:28px;padding-bottom:0}
.intro{margin:0 0 20px}
.intro h1{font-size:30px;line-height:1.2;letter-spacing:-.02em;font-weight:700;margin:0 0 6px;color:var(--ink)}
.intro .sub{margin:0;color:var(--mute);font-size:16.5px;line-height:1.5;max-width:none}
h2{font-size:17px;line-height:1.35;font-weight:600;margin:0 0 10px;color:var(--ink)}
.muted{color:var(--fine);font-size:14.5px}
/* cards: white result panels like the tools' result card */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;margin:0 0 16px}
/* the input panel: gray rounded, like the tools' form */
.card.runcard{background:var(--soft);border:0;padding:20px}
form.run{display:flex;gap:10px;flex-wrap:wrap}
form.run input{flex:1 1 320px}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--field);border-radius:var(--r)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select{height:44px;padding:0 14px}
input:focus,select:focus,textarea:focus{border-color:var(--acc);outline:none}
select{-webkit-appearance:none;appearance:none;padding-right:38px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236e6e73' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center}
input::placeholder,textarea::placeholder{color:#a3adb0}
button{font:inherit;font-weight:600;font-size:16px;min-height:44px;padding:0 18px;border:0;border-radius:var(--r);background:var(--acc);color:#fff;cursor:pointer}
button.ghost{background:#fff;color:var(--acc);border:1px solid var(--line)}
button.sm{min-height:32px;padding:0 12px;font-size:13.5px;border-radius:999px}
button:disabled{opacity:.6;cursor:default}
.how{font-size:13.5px;color:var(--fine);margin:10px 0 0}.how b{color:var(--ink)}
/* sample apps as chips, like the drug lookup's "Try:" chips */
.ex{margin:10px 0 0;font-size:13.5px;color:var(--fine)}
.ex a{display:inline-block;margin:4px 6px 0 0;padding:3px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--acc);text-decoration:none;font-size:13.5px}
.ex a:hover{border-color:#a9c9c4}
#status{margin:10px 0 0}#status:empty{display:none}
.err{color:var(--bad)}
/* results */
.app img{border-radius:12px}
.bar{background:#eceff0}.bar i{background:var(--acc)}.row.s1 i,.row.s2 i{background:var(--bad)}
.kpi b{font-size:26px;letter-spacing:-.01em}
blockquote{border-left:3px solid var(--line);color:#3e4c59}
.chips span{background:var(--acc-soft);color:var(--acc);font-weight:600;font-size:13.5px}
.tk pre{color:#3e4c59}
.saved{border-radius:var(--r)}
.upsell{background:#fff;border:1px solid var(--line)}
.addon-tag{color:var(--fine);border-color:var(--line)}
.badge{border-radius:999px}
.urls{background:var(--soft);border-color:var(--line);border-radius:var(--r)}
#pasteText{border-color:var(--field);border-radius:var(--r)}
table td,table th{border-top-color:var(--line)}
/* pill toggles ("Show details", "What's in each", issue list) like the tools' "More options" */
details.more{border:0;padding:0;margin:12px 0 0}
details.more>summary{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--acc);font-weight:600;font-size:14.5px;cursor:pointer;list-style:none}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:"";width:7px;height:7px;margin:-3px 0 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
details.more[open]>summary::after{margin:3px 0 0;transform:rotate(-135deg)}
details.more[open]>summary{margin-bottom:12px}
/* accordions ("See an example", "How it works", FAQ) like the tools' "How it's calculated" */
details.card.example{background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:0;margin:24px 0 0}
details.card.example>summary,.dl>details>summary{min-height:0;padding:12px 0;font-size:15px;font-weight:600}
details.card.example>summary::after,.dl>details>summary::after{content:"+";color:var(--fine);font-size:inherit;font-weight:400}
details.card.example[open]>summary::after,.dl>details[open]>summary::after{content:"–"}
details.card.example[open]{padding-bottom:14px}
.card.dl{background:transparent;border:0;border-radius:0;padding:0;margin:40px 0 0}
.card.dl+.card.dl{margin-top:0}
.dl>details{border:0;border-top:1px solid var(--line);margin:0;padding:0}.dl>details:last-child{border-bottom:1px solid var(--line)}
.dl>details>p,.dl>details>div{margin:0 0 16px;color:var(--mute);font-size:15px}
.dl .faq details{border-top:1px solid var(--line);padding:8px 0;margin:0}.dl .faq details:first-child{border-top:0}
.dl .faq summary{font-size:15px;font-weight:600}.dl .faq p{margin:4px 0 0;color:var(--mute);font-size:15px}
/* quiet info sections (privacy, migration how-to / FAQ) */
#privacy,#how,#faq{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0 0;margin:24px 0 0}
#privacy h2,#how h2,#faq h2{font-size:15px;font-weight:600;color:var(--fine);margin:0 0 6px}
#privacy .lead,#how .lead{margin:0;color:var(--ink);font-size:15.5px}
#privacy p.muted{font-size:14.5px}
#faq>details{border-top:1px solid var(--line);padding:0}#faq>details>summary{padding:12px 0;font-size:15px;display:flex;list-style:none}
#faq>details>summary::-webkit-details-marker{display:none}#faq>details>summary::after{content:"+";margin-left:auto;color:var(--fine);font-weight:400}#faq>details[open]>summary::after{content:"–"}
#faq>details>p{margin:0 0 14px;color:var(--mute);font-size:15px}
details.fbox{border:0;padding:0;margin:12px 0 0}
details.fbox>summary{color:var(--acc);font-size:14.5px;padding:6px 0}
.fmsg.ok{color:var(--acc)}.fmsg.err{color:var(--bad)}
dialog{border-radius:var(--r-lg)}
dialog input:not([type=checkbox]),dialog select{width:100%}
footer.pdbf{margin-top:40px}
@media(max-width:959px){main.wrap{padding-top:18px}.intro{margin-bottom:14px}.intro h1{font-size:25px;line-height:1.22}.intro .sub{font-size:15px}.card.runcard{padding:16px 14px}}
@media(max-width:560px){form.run select{flex:1 1 auto}form.run button{flex:1 1 auto}.card{padding:16px}}
.legal-note{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--fine)}
.refund-note{margin:6px 0 0;font-size:13.5px}.refund-note a{color:var(--fine);text-decoration:underline;text-underline-offset:2px}
/* add-on tiers: three option cards (snapshot, human review, weekly) */
.upsell .tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 12px}
.upsell .tier{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 18px 16px;background:#fff}
.upsell .tier h3{margin:0;font-size:16px;font-weight:600;color:var(--ink)}
.upsell .tier .price{font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.2;margin:4px 0 6px;color:var(--ink)}
.upsell .tier .what{margin:0 0 14px;font-size:14.5px;line-height:1.5;color:var(--mute)}
.upsell .tier .buy{margin-top:auto;display:block;text-align:center;background:var(--acc);color:#fff;border-radius:999px;padding:10px 16px;font-weight:600;font-size:15.5px;text-decoration:none}
.upsell .tier .buy:hover{opacity:.92;text-decoration:none}
.upnote{margin:0}.upnote .refund{color:var(--fine);text-decoration:underline;text-underline-offset:2px;margin-left:4px;white-space:nowrap}
@media(max-width:900px){.upsell .tiers{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.upsell .tiers{grid-template-columns:1fr}}

/* r3: small text in the input panel matches the chips label */
.runcard #status,.runcard .legal-note,.runcard .ex{font-size:13.5px;line-height:1.5;color:var(--fine)}.runcard #status .err{color:var(--bad)}
/* r4: compact add-on card, always visible */
.upsell.addon{margin-top:24px}.upsell.addon h2{margin:0 0 6px}.upsell.addon .pitch{margin:0 0 14px;color:var(--mute);font-size:15.5px}.upsell.addon details.more{margin:0}.upsell.addon details.more[open]>summary{margin-bottom:14px}.upsell.addon details.more ul{margin:12px 0}
