/* Business claims (docs/design/claim-flow.md, prototype docs/design/claim-prototype.html).
   Tokens come from app.css (Night by default, Dawn under html[data-theme="light"]).
   Older Safari (13): every color-mix() and gap has a long-hand fallback first. */

/* S1 · the quiet card on a listing page, under the source panel */
.claim-card{margin-top:1.4rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:18px;background:var(--panel)}
.claim-card h2{margin:.2rem 0 .3rem;font:600 1.1rem 'Manrope',sans-serif}
.claim-card p{margin:0 0 .8rem;color:var(--muted);font-size:.92rem}

/* The claim pages: one task per screen, phone first */
.claim-page{max-width:640px;padding-top:2rem;padding-bottom:5rem}
.claim-page h1{font:700 clamp(1.7rem,6vw,2.4rem)/1.12 'Manrope',sans-serif;letter-spacing:-.02em;margin:.3rem 0 .7rem}
.claim-page h2{font:600 1.05rem 'Manrope',sans-serif;margin:0 0 .4rem}
.claim-stepmark{margin:0 0 .2rem;color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.claim-lede{color:var(--muted)}
.claim-box{margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.claim-official{border-left:3px solid var(--muted)}
.claim-two{display:grid;grid-template-columns:1fr;grid-gap:.8rem;gap:.8rem;margin-bottom:1rem}
@media (min-width:560px){.claim-two{grid-template-columns:1fr 1fr}}
.claim-two .claim-box{margin:0}
.claim-ticks{list-style:none;margin:0;padding:0;font-size:.92rem}
.claim-ticks li{padding:.15rem 0}
.claim-ticks.is-yes li:before{content:"✓ ";color:var(--cyan)}
.claim-ticks.is-locked li:before{content:"• ";color:var(--muted)}
.claim-steps{list-style:none;margin:0 0 1rem;padding:0;counter-reset:claim-step}
.claim-steps li{display:flex;align-items:flex-start;padding:.35rem 0;counter-increment:claim-step}
.claim-steps li:before{content:counter(claim-step);flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:.6rem;border:1px solid var(--cyan);border-radius:50%;color:var(--cyan);font-size:.78rem}
.claim-muted{color:var(--muted);font-size:.88rem}
.claim-actions{display:flex;flex-wrap:wrap;align-items:center;margin-top:1rem}
.claim-actions>*{margin:0 .8rem .6rem 0}
.claim-link{background:none;border:0;padding:.4rem 0;color:var(--cyan);font:inherit;text-decoration:underline;cursor:pointer;min-height:44px}
.claim-form{display:block}
.claim-form label,.claim-form legend{display:block;font-weight:600;margin:.8rem 0 .3rem}
.claim-form fieldset{border:0;margin:0;padding:0}
.claim-form input[type="text"],.claim-form input[type="url"],.claim-form textarea{width:100%;min-height:48px;padding:.6rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--night);color:var(--ink);font:1rem 'DM Sans',sans-serif}
.claim-form textarea{min-height:90px}
.claim-form input[type="file"]{display:block;width:100%;min-height:48px;padding:.6rem 0;font:inherit;color:var(--ink)}
.claim-form .claim-choice{display:flex;align-items:center;font-weight:400;margin:.4rem 0;min-height:44px}
.claim-form .claim-choice input{width:20px;height:20px;margin:0 .6rem 0 0;flex:none}

/* S5 · methods, best first */
.claim-methods{list-style:none;margin:0 0 1rem;padding:0}
.claim-methods li{margin:0 0 .7rem}
.claim-method{display:block;width:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.claim-method:hover{border-color:var(--cyan)}
.claim-method.is-recommended{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}
.claim-method strong{display:block;font-size:1rem}
.claim-method span{display:block;color:var(--muted);font-size:.85rem}
.claim-method .claim-tag{color:var(--cyan);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.claim-strength{display:inline-block;margin-left:.4rem;padding:0 .45rem;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.72rem;font-weight:400;vertical-align:middle}
.claim-method-form{margin:0}
.claim-method-form .claim-website{display:flex;flex-wrap:wrap;align-items:flex-end}
.claim-method-form .claim-website input{flex:1 1 220px;margin:0 .6rem .6rem 0}

/* S6 · website code, on-site word */
.claim-code{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:.4rem 0 .8rem;padding:.6rem .8rem;border:1px dashed var(--cyan);border-radius:12px;background:rgba(67,229,233,.06);word-break:break-all}
.claim-code code{font:600 .95rem ui-monospace,Menlo,Consolas,monospace}
.claim-code button{min-height:40px;margin-left:.5rem;padding:0 .9rem;border:1px solid var(--line);border-radius:99px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer}
.claim-word{margin:.4rem 0 .9rem;padding:.7rem;border:1px dashed var(--violet);border-radius:12px;color:var(--violet);font:700 1.5rem ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-align:center}
.claim-page details{margin:0 0 .6rem;padding:.6rem .9rem;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.claim-page summary{min-height:36px;display:flex;align-items:center;font-weight:600;cursor:pointer}
.claim-status{min-height:1.4em;margin:.6rem 0 0;font-size:.9rem}

/* Messages after a step */
.claim-message{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:12px;background:var(--panel)}
.claim-message.is-error{border-left-color:#ff8a80}
.claim-note{margin:0 0 1rem;padding:.8rem 1rem;border-left:3px solid var(--violet);background:rgba(156,114,255,.07);border-radius:0 12px 12px 0;font-size:.92rem}

/* S7 · in review */
.claim-timeline{list-style:none;margin:0 0 1rem;padding:0}
.claim-timeline li{display:flex;justify-content:space-between;padding:.45rem 0 .45rem 1.4rem;border-bottom:1px solid var(--line);position:relative}
.claim-timeline li:before{content:"";position:absolute;left:0;top:.85rem;width:10px;height:10px;border-radius:50%;background:var(--cyan)}
.claim-timeline li.is-todo:before{background:transparent;border:2px solid var(--muted);width:6px;height:6px}
.claim-timeline time,.claim-timeline .claim-when{color:var(--muted);font-size:.85rem}

/* S8 · steward seal (the passport seal's motion and reduced-motion rule) and the trust ladder */
.claim-verified{text-align:center}
.claim-verified .passport-seal{margin-bottom:1rem}
.claim-ladder{display:flex;margin:.5rem 0}
.claim-ladder span{flex:1;height:8px;margin-right:6px;border-radius:99px;background:var(--line)}
.claim-ladder span.is-on{background:var(--cyan)}

/* Account › Your businesses */
.account-businesses{margin:1.4rem 0}
.account-businesses h2{font:600 1.1rem 'Manrope',sans-serif;margin:0 0 .6rem}
.account-businesses ul{list-style:none;margin:0;padding:0}
.account-businesses li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.7rem 0;border-top:1px solid var(--line)}
.account-businesses li a{color:var(--ink);font-weight:600}
.claim-badge{display:inline-block;padding:.1rem .6rem;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.78rem}
.claim-badge.is-good{border-color:var(--cyan);color:var(--cyan)}

/* /admin/claims · queue and decision (S15) */
.claims-tabs{display:flex;flex-wrap:wrap;list-style:none;margin:0 0 1rem;padding:0}
.claims-tabs li{margin:0 .5rem .5rem 0}
.claims-tabs a{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);text-decoration:none}
.claims-tabs a[aria-current="page"]{border-color:var(--cyan);color:var(--ink)}
.claims-tabs b{margin-left:.4rem;color:var(--cyan)}
.claims-table{width:100%;border-collapse:collapse;font-size:.92rem}
.claims-table th,.claims-table td{padding:.6rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.claims-table th{color:var(--muted);font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.claims-compare{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;margin-bottom:1rem}
@media (min-width:760px){.claims-compare{grid-template-columns:1fr 1fr}}
.claims-compare dl{margin:0}
.claims-compare dt{color:var(--muted);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.6rem}
.claims-compare dd{margin:0}
.claims-evidence img{display:block;max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#fff}
.claims-flags{display:flex;flex-wrap:wrap;list-style:none;margin:.4rem 0;padding:0}
.claims-flags li{margin:0 .4rem .4rem 0;padding:.1rem .6rem;border:1px solid #f4bc5c;border-radius:99px;color:#f4bc5c;font-size:.78rem}
.claims-decide .claim-actions button{min-height:48px;padding:0 1.2rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font:600 .95rem 'DM Sans',sans-serif;cursor:pointer}
.claims-decide .claim-actions button.is-approve{background:var(--cyan);border-color:var(--cyan);color:#06141c}
.claims-decide .claim-actions button.is-reject{border-color:#ff8a80;color:#ff8a80}

/* Dawn (light theme) */
html[data-theme="light"] .claim-code{background:rgba(9,113,108,.06)}
html[data-theme="light"] .claim-note{background:rgba(107,70,201,.06)}
html[data-theme="light"] .claim-message.is-error{border-left-color:#b3261e}
html[data-theme="light"] .claims-flags li{border-color:#8a5a00;color:#8a5a00}
html[data-theme="light"] .claims-decide .claim-actions button.is-approve{background:#09716c;border-color:#09716c;color:#fff}
html[data-theme="light"] .claims-decide .claim-actions button.is-reject{border-color:#b3261e;color:#b3261e}
