/* Direção visual: Estrada Editorial — Sora para marca, DM Sans para leitura, petrol como âncora e Ferrugem de Rota como ação. */
/* Direção visual: Estrada Editorial — petrol profundo, papel mineral, ferrugem de estrada e uma marca de rota em evidência discreta. Acesso mínimo, com senha revelada somente sob pressão; formulários calmos e confortáveis. */
:root { --petrol:#17363a; --petrol-soft:#527d77; --rust:#c65a32; --rust-dark:#a94d2c; --cream:#f2eee5; --paper:#faf7f0; --ink:#17363a; --muted:#697570; --line:#ddd4c7; --sand:#e3d7c5; --peach:#f0dfcc; --green-soft:#e5f0e8; --shadow:0 16px 32px rgba(23,54,58,.12); --ease:cubic-bezier(.23,1,.32,1); }
.profile-actions{position:absolute;z-index:4;top:13px;right:13px}.profile-actions__trigger{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(110,69,46,.18);border-radius:12px;color:#5f4c3d;background:rgba(255,253,249,.72);box-shadow:0 7px 15px rgba(46,55,47,.07);font:inherit;cursor:pointer;transition:transform .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease)}.profile-actions__trigger:hover,.profile-actions__trigger[aria-expanded="true"]{border-color:#cfae8c;background:#fffaf2;transform:translateY(-1px)}.profile-actions__trigger:active{transform:scale(.97)}.profile-actions__trigger span{display:block;margin-top:-4px;font-size:17px;font-weight:900;letter-spacing:1px;line-height:1}.profile-actions__menu{position:absolute;top:49px;right:0;display:grid;min-width:185px;padding:6px;border:1px solid #ded4c6;border-radius:14px;background:#fffdf9;box-shadow:0 17px 30px rgba(23,54,58,.16);text-align:left}.profile-actions__menu[hidden]{display:none}.profile-actions__menu a{padding:10px 11px;border-radius:9px;color:#244d47;font-size:12px;font-weight:750;text-decoration:none;transition:background .16s var(--ease),color .16s var(--ease)}.profile-actions__menu a:hover,.profile-actions__menu a:focus-visible{outline:none;color:#8e4429;background:#f4eadc}.settings-page--space{padding-bottom:10px}.settings-page--space .settings-page__intro{max-width:590px}.access-summary--space{margin-top:25px}.space-section{margin-top:30px}.space-section>header{max-width:600px}.space-section>header h3{margin-top:5px;color:var(--ink);font-size:20px;letter-spacing:-.055em;line-height:1.12}.space-section>header>p:not(.eyebrow){margin-top:7px;color:#71807a;font-size:11px;line-height:1.55}.space-section .settings-card{margin-top:14px}.space-link-list{display:grid;gap:10px;margin-top:14px}.space-section--participation{margin-top:38px;padding-top:27px;border-top:1px solid #dfd7cc}.space-section--participation .account-deletion{margin-top:14px}.settings-page--space .settings-note{margin-top:31px}@media(max-width:560px){.profile-actions{top:10px;right:10px}.profile-actions__trigger{width:39px;height:39px;border-radius:11px}.profile-actions__menu{top:45px;min-width:176px}.space-section{margin-top:26px}.space-section--participation{margin-top:31px;padding-top:23px}}
* { box-sizing:border-box; }
html { background:var(--cream); scroll-behavior:smooth; }
body { min-width:320px; margin:0; background:var(--cream); color:var(--ink); font-family:'DM Sans',system-ui,sans-serif; }
body, button, input, textarea { font-size:14px; }
button, a { -webkit-tap-highlight-color:transparent; }
button { border:0; font:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }

/* Meu espaço — convites com a mesma superfície mineral dos controles pessoais. */
.space-section--invites{margin-top:24px}.invite-space-card{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid #d6dfd8;border-radius:15px;background:var(--paper);box-shadow:0 8px 18px rgba(23,54,58,.045);transition:transform .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}.invite-space-card:hover,.invite-space-card:focus-visible{border-color:#c9ab90;box-shadow:0 12px 22px rgba(23,54,58,.08);outline:none;transform:translateY(-1px)}.invite-space-card:active{transform:scale(.99)}.invite-space-card__icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;color:#a85333;background:#f3e5d8;font-size:16px;font-weight:800}.invite-space-card>span:last-child{display:grid;gap:4px;min-width:0}.invite-space-card strong{color:var(--ink);font-family:'Sora',system-ui,sans-serif;font-size:14px;letter-spacing:-.045em;line-height:1.2}.invite-space-card em{color:#71807a;font-size:10px;font-style:normal;line-height:1.45}@media(max-width:560px){.space-section--invites{margin-top:22px}.invite-space-card{padding:17px}}
h1,h2,h3,p { margin:0; }
h1,h2,h3,.brand-lockup__name,.header-brand span { font-family:'Sora',system-ui,sans-serif; }
.eyebrow { color:#b35b38; font-size:10px; font-weight:800; letter-spacing:.16em; line-height:1.3; text-transform:uppercase; }
.eyebrow--light { color:#e9b08a; }
.lede,.admin-toolbar>div>p:not(.eyebrow),.profile-hero p:not(.eyebrow) { margin-top:8px; color:var(--muted); font-size:14px; }
.primary-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 17px; border-radius:10px; color:#fff9f1; background:var(--rust); box-shadow:0 7px 14px rgba(198,90,50,.2); font-size:12px; font-weight:800; transition:transform .16s ease-out,background .16s ease-out,box-shadow .16s ease-out; }
.primary-action:hover { background:var(--rust-dark); box-shadow:0 10px 18px rgba(198,90,50,.25); }
.primary-action:active { transform:scale(.97); }
.flash { margin-top:18px; padding:11px 13px; border-radius:8px; font-size:12px; line-height:1.45; }
.flash--error { color:#8d4433; background:#f5ded7; }
.flash--success { color:#356b5f; background:#dbece2; }
.flash--reset_link { color:#356b5f; background:#dbece2; }
.flash a { text-decoration:underline; overflow-wrap:anywhere; }
.field-group { display:flex; flex-direction:column; gap:7px; }
.field-group + .field-group { margin-top:16px; }
.field-group label { color:#526762; font-size:12px; font-weight:700; }
.required-mark { margin-left:5px; color:#b35b38; font-size:10px; font-weight:500; }
.optional-mark { margin-left:5px; color:#8a938d; font-size:10px; font-weight:500; }
.field-group input,.field-group textarea { width:100%; min-height:44px; padding:0 13px; border:1px solid #d8cebf; border-radius:10px; outline:0; color:var(--ink); background:#fffdf9; font:inherit; box-shadow:none; transition:border-color .16s ease-out,box-shadow .16s ease-out; }
.field-group textarea { min-height:112px; padding-top:12px; resize:vertical; }
.field-group input:focus,.field-group textarea:focus { border-color:var(--rust); box-shadow:0 0 0 3px rgba(198,90,50,.13); }
.field-group select { width:100%; min-height:46px; padding:0 42px 0 13px; border:1px solid #d4cabd; border-radius:11px; outline:0; color:var(--ink); background-color:#fffdf9; background-image:linear-gradient(45deg,transparent 50%,#59776e 50%),linear-gradient(135deg,#59776e 50%,transparent 50%); background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px; background-repeat:no-repeat; background-size:5px 5px,5px 5px; appearance:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 1px 2px rgba(23,54,58,.025); font:inherit; transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background-color .16s var(--ease); }
.field-group select:focus-visible { border-color:#5f8c80; box-shadow:0 0 0 4px rgba(198,90,50,.13),0 5px 13px rgba(23,54,58,.075); }
.field-group input[type=file] { padding:10px 13px; color:#77827d; font-size:11px; }
.field-help { margin-top:-2px; color:#89928d; font-size:10px; line-height:1.4; }
.access-name-feedback { min-height:14px; transition:color .16s var(--ease); }
.access-name-field[data-state="checking"] .access-name-feedback { color:#77827d; }
.access-name-field[data-state="available"] .access-name-feedback { color:#3f7969; font-weight:700; }
.access-name-field[data-state="available"] input { border-color:#9dc8b9; box-shadow:0 0 0 3px rgba(80,136,117,.1); }
.access-name-field[data-state="taken"] .access-name-feedback,.access-name-field[data-state="invalid"] .access-name-feedback,.access-name-field[data-state="error"] .access-name-feedback { color:#a94d2c; font-weight:700; }
.access-name-field[data-state="taken"] input,.access-name-field[data-state="invalid"] input,.access-name-field[data-state="error"] input { border-color:#d7a18f; box-shadow:0 0 0 3px rgba(198,90,50,.1); }
.field-help--fleet { margin-top:8px; }
.field-help--fleet a { color:var(--rust); font-weight:800; }
.input-with-icon { position:relative; }
.input-with-icon > span { position:absolute; z-index:1; top:12px; left:13px; color:#9a8372; font-size:18px; line-height:20px; }
.input-with-icon input { padding-left:38px; }
.input-with-icon--password input { padding-right:49px; }
.password-reveal { position:absolute; z-index:1; top:50%; right:8px; display:grid; width:34px; height:34px; padding:0; place-items:center; border:0; border-radius:10px; color:#58706d; background:transparent; transform:translateY(-50%); cursor:pointer; transition:background-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease); }
.password-reveal:hover { color:var(--petrol); background:rgba(23,54,58,.07); }
.password-reveal:active { transform:translateY(-50%) scale(.94); color:var(--rust); background:rgba(198,90,50,.1); }
.password-reveal:focus-visible { outline:2px solid var(--rust); outline-offset:1px; }
.password-reveal svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.page-enter { animation:page-enter .42s var(--ease) both; }
.page-enter--delay-1 { animation-delay:55ms; }
.page-enter--delay-2 { animation-delay:100ms; }
.page-enter--delay-3 { animation-delay:145ms; }
.page-enter--delay-4 { animation-delay:190ms; }
@keyframes page-enter { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }

/* Privacidade — decisões curtas, sem alarmismo, na mesma superfície mineral de Meu espaço. */
.privacy-space { margin-top:35px; }
.privacy-card { display:grid; gap:17px; }
.privacy-card__intro { margin:0; color:#71807a; font-size:11px; line-height:1.45; }
.privacy-card__fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.privacy-card__fields .field-group + .field-group { margin-top:0; }
.privacy-card__footer { display:flex; justify-content:flex-end; padding-top:2px; }
@media(max-width:620px){.privacy-space{margin-top:30px}.privacy-card__fields{grid-template-columns:1fr;gap:14px}.privacy-card__footer .primary-action{width:100%}}

/* Auth and public surfaces — entrada rápida usa um selo de rota em verde-petróleo para complementar, sem competir, com a senha em cobre. */
.auth-page { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; background:var(--cream); }
.auth-visual { position:relative; min-height:100vh; background:linear-gradient(135deg,#17363a,#325a55 56%,#b35b38); overflow:hidden; }
.auth-visual::after { content:''; position:absolute; inset:0; opacity:.16; background-image:radial-gradient(#fff9f1 .7px,transparent .7px); background-size:7px 7px; }
.auth-visual__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(23,54,58,.75),rgba(23,54,58,.16)); }
.auth-visual__copy { position:absolute; z-index:1; right:10%; bottom:12%; left:10%; color:#fff9f1; }
.display-quote { margin-top:20px; font-family:'Sora',sans-serif; font-size:clamp(29px,4vw,55px); font-weight:600; letter-spacing:-.08em; line-height:1.06; }
.route-line { display:flex; align-items:center; gap:8px; margin-top:28px; }
.route-line span { display:block; width:7px; height:7px; border:2px solid #e9b08a; border-radius:50%; }
.route-line span:nth-child(2) { width:80px; height:1px; border:0; border-top:1px dashed #e9b08a; border-radius:0; }
.auth-visual__caption { max-width:280px; margin-top:20px; color:rgba(255,249,241,.72); font-size:12px; line-height:1.5; }
.auth-panel { position:relative; display:flex; align-items:center; justify-content:center; padding:44px 30px; overflow:hidden; }
.auth-panel__inner { width:min(100%,390px); }
.brand-lockup { display:flex; align-items:center; gap:10px; }
.brand-lockup__mark { width:39px; height:39px; }
.brand-lockup__name { color:var(--ink); font-size:13px; font-weight:700; }
.brand-lockup__tagline { margin-top:2px; color:#7e8881; font-size:10px; }
.auth-heading { margin-top:64px; }
.auth-heading h1,.invite-card h1 { margin-top:10px; color:var(--ink); font-size:clamp(29px,4vw,44px); font-weight:650; letter-spacing:-.08em; line-height:1.03; }
.auth-heading h1 em,.invite-card h1 em { color:var(--rust); font-style:normal; }
.auth-form { display:flex; flex-direction:column; gap:16px; margin-top:24px; }
.auth-form .field-group + .field-group { margin-top:0; }
.auth-recovery-link { align-self:flex-start; margin-top:-5px; color:var(--rust); font-size:11px; font-weight:700; }
.auth-panel__stamp { position:absolute; right:26px; bottom:25px; width:51px; opacity:.1; transform:rotate(-12deg); }
.passkey-login { margin-top:21px; }
.passkey-login[hidden] { display:none; }
.passkey-login__rule { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; margin-bottom:15px; color:#9b8878; }
.passkey-login__rule span { height:1px; background:linear-gradient(90deg,transparent,#ded4c6); }
.passkey-login__rule span:last-child { background:linear-gradient(90deg,#ded4c6,transparent); }
.passkey-login__rule small { font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.passkey-action--login { display:flex; align-items:center; width:100%; min-height:66px; padding:9px 13px; border:1px solid #c8d8d0; border-radius:13px; color:var(--petrol); background:linear-gradient(115deg,#f8f4eb,#edf4ee); box-shadow:0 7px 15px rgba(23,54,58,.045); text-align:left; transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease); }
.passkey-action--login:hover { border-color:#6f978d; background:#e2eee7; box-shadow:0 11px 20px rgba(23,54,58,.11); transform:translateY(-1px); }
.passkey-action--login:active { transform:scale(.985); }
.passkey-action--login:focus-visible { outline:3px solid rgba(198,90,50,.28); outline-offset:3px; }
.passkey-action__seal { display:grid; flex:0 0 auto; width:38px; height:38px; margin-right:12px; place-items:center; border-radius:11px; color:#b35433; background:#f3e5d8; }
.passkey-action__seal svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.passkey-action__copy { display:grid; gap:3px; min-width:0; }
.passkey-action__copy strong { color:var(--petrol); font-family:'Sora',system-ui,sans-serif; font-size:12px; letter-spacing:-.035em; line-height:1.2; }
.passkey-action__copy small { color:#708079; font-size:10px; font-weight:650; line-height:1.25; }
.passkey-feedback { min-height:15px; margin-top:9px; color:#5a776f; font-size:10px; font-weight:650; line-height:1.45; }
.passkey-feedback--error { color:#a94d2c; }
.passkey-action[disabled] { cursor:wait; opacity:.72; }
.invite-page { display:grid; place-items:center; min-height:100vh; padding:24px; background:var(--petrol); }
.invite-card { width:min(100%,510px); padding:clamp(28px,6vw,54px); border:1px solid rgba(233,176,138,.2); border-radius:20px; color:var(--ink); background:#f8f3ea; box-shadow:0 30px 70px rgba(0,0,0,.22); }
.invite-card__mark { width:55px; height:55px; margin-bottom:31px; }
.invite-card__intro { max-width:390px; margin-top:15px; color:#66736e; font-size:13px; line-height:1.6; }
.invite-token { display:inline-flex; align-items:center; gap:8px; margin-top:21px; padding:8px 10px; border-radius:6px; color:#8f4d35; background:var(--peach); font-family:monospace; font-size:11px; font-weight:700; letter-spacing:.08em; }
.invite-card__security { display:flex; align-items:flex-start; gap:8px; margin-top:25px; padding-top:17px; border-top:1px solid #e2d8ca; color:#6d7c74; font-size:11px; line-height:1.5; }
.invite-card__security>span:first-child { color:var(--petrol-soft); font-weight:800; }
.error-page { display:flex; align-items:flex-start; flex-direction:column; min-height:100vh; max-width:560px; margin:0 auto; padding:12vh 24px; }
.error-page__mark { width:55px; height:55px; margin-bottom:34px; }
.error-page h1 { margin-top:10px; font-size:clamp(29px,5vw,47px); letter-spacing:-.08em; }
.error-page>p:not(.eyebrow) { max-width:400px; margin-top:15px; color:var(--muted); font-size:14px; line-height:1.6; }
.error-page .primary-action { margin-top:28px; }

/* Passkeys: cartões de acesso rápido mantêm a linguagem de papel mineral, cobre e verde-petróleo do Meu espaço. */
.passkey-space { margin-top:35px; }
.passkey-card { display:grid; gap:16px; padding:18px; border:1px solid #d9d2c5; border-radius:15px; background:linear-gradient(135deg,#fffdf9,#f2eee5); box-shadow:0 9px 20px rgba(23,54,58,.05); }
.passkey-card__intro { display:flex; align-items:flex-start; gap:11px; }
.passkey-card__intro .settings-card__icon { flex:0 0 auto; color:#b35b38; background:#f5e4d7; }
.passkey-card__intro strong { display:block; color:var(--ink); font-family:'Sora',system-ui,sans-serif; font-size:13px; letter-spacing:-.035em; }
.passkey-card__intro p { margin-top:5px; color:#71807a; font-size:11px; line-height:1.55; }
.passkey-card .passkey-action { align-self:flex-start; }
.passkey-devices { margin-top:17px; padding-top:16px; border-top:1px solid #dfd7cc; }
.passkey-devices__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.passkey-devices__heading h4 { color:#345650; font-family:'Sora',system-ui,sans-serif; font-size:12px; letter-spacing:-.035em; }
.passkey-devices__heading span { display:grid; min-width:23px; height:23px; padding:0 7px; place-items:center; border-radius:999px; color:#fff9f1; background:var(--petrol); font-size:10px; font-weight:800; }
.passkey-devices__empty { margin-top:10px; color:#78837d; font-size:11px; line-height:1.55; }
.passkey-device-list { display:grid; gap:8px; margin-top:12px; }
.passkey-device { border:1px solid #dfd7cc; border-radius:12px; background:#fffdf9; overflow:hidden; }
.passkey-device summary { display:flex; align-items:center; gap:10px; padding:12px; cursor:pointer; list-style:none; }
.passkey-device summary::-webkit-details-marker { display:none; }
.passkey-device__icon { display:grid; width:29px; height:29px; flex:0 0 auto; place-items:center; border-radius:9px; color:#b35b38; background:#f6e6d7; font-size:19px; font-weight:800; }
.passkey-device summary>span:nth-child(2) { min-width:0; flex:1; }
.passkey-device strong,.passkey-device small { display:block; }
.passkey-device strong { color:#355750; font-size:11px; }
.passkey-device small { margin-top:3px; color:#7d8983; font-size:10px; }
.passkey-device summary>b { color:#a4684f; font-size:18px; font-weight:400; transition:transform .16s var(--ease); }
.passkey-device[open] summary>b { transform:rotate(45deg); }
.passkey-remove-form { display:grid; gap:11px; padding:0 12px 13px; border-top:1px solid #eee7dc; }
.passkey-remove-form .field-group { margin-top:12px; }
.secondary-action--danger { color:#a94d2c; border-color:#e7c5b7; background:#fff6f1; }
.secondary-action--danger:hover { color:#fff9f1; border-color:#a94d2c; background:#a94d2c; }
@media(max-width:560px){.passkey-space{margin-top:30px}.passkey-card{padding:15px}.passkey-card .passkey-action{width:100%}}
.coming-soon { max-width:620px; margin:7vh auto 0; padding:46px 32px; border:1px dashed #cbbfae; border-radius:18px; background:rgba(250,247,240,.68); }
.coming-soon__mark { display:grid; place-items:center; width:58px; height:58px; margin-bottom:28px; border-radius:50%; background:var(--petrol); }
.coming-soon__mark img { width:39px; height:39px; }
.coming-soon h2 { margin-top:9px; font-size:clamp(25px,4vw,38px); letter-spacing:-.07em; }
.coming-soon>p:not(.eyebrow) { max-width:470px; margin-top:14px; color:var(--muted); font-size:14px; line-height:1.6; }
.coming-soon .secondary-action { margin-top:26px; }

/* Authenticated application surfaces */
.app-frame { min-height:100vh; background:var(--cream); }
.app-header { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; min-height:104px; padding:18px clamp(20px,5vw,68px); color:#fff9f1; background:var(--petrol); overflow:hidden; }
.app-header::after { content:''; position:absolute; inset:0; opacity:.12; background-image:radial-gradient(#fff9f1 .7px,transparent .7px); background-size:7px 7px; pointer-events:none; }
.header-brand,.header-actions { position:relative; z-index:1; }
.header-brand { display:inline-flex; align-items:center; gap:11px; justify-self:start; color:#fff9f1; font-size:13px; font-weight:700; letter-spacing:-.02em; }
.header-brand img { width:34px; height:34px; border:1px solid rgba(255,249,241,.26); border-radius:10px; object-fit:cover; box-shadow:0 5px 12px rgba(0,0,0,.18); }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.header-admin-link,.header-logout { display:inline-flex; align-items:center; gap:5px; color:rgba(255,249,241,.86); font-size:11px; font-weight:800; transition:color .16s ease-out,transform .16s ease-out; }
.header-admin-link:hover,.header-logout:hover { color:#fff9f1; transform:translateY(-1px); }
.header-admin-link span:first-child,.header-logout span:first-child { color:#e9b08a; font-size:14px; }
.avatar-button { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,249,241,.3); border-radius:50%; color:#fff9f1; font-size:11px; font-weight:700; overflow:hidden; transition:transform .16s ease-out,background .16s ease-out; }
.avatar-button:hover { background:rgba(255,249,241,.12); transform:translateY(-1px); }
.avatar-button img { width:100%; height:100%; object-fit:cover; }
.app-content { width:min(100% - 32px,1100px); margin:0 auto; padding:32px 0 calc(124px + env(safe-area-inset-bottom)); }
.dashboard-intro,.admin-toolbar,.page-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.dashboard-intro h2,.admin-toolbar h2 { margin-top:8px; color:var(--ink); font-size:clamp(25px,4vw,38px); font-weight:650; letter-spacing:-.06em; }
.privacy-note,.save-state { display:inline-flex; align-items:center; gap:7px; color:var(--petrol-soft); font-size:12px; font-weight:700; }
.progress-card { position:relative; margin-top:28px; padding:24px 25px 20px; border-radius:18px; color:#fff9f1; background:var(--petrol); box-shadow:var(--shadow); overflow:hidden; }
.progress-card::after { content:''; position:absolute; right:-35px; top:-80px; width:190px; height:190px; border:1px solid rgba(233,176,138,.34); border-radius:50%; box-shadow:0 0 0 18px rgba(233,176,138,.05),0 0 0 36px rgba(233,176,138,.05); }
.progress-card__top,.progress-card__bottom { position:relative; z-index:1; display:flex; justify-content:space-between; gap:20px; }
.progress-number { margin-top:5px; color:#fff9f1; font-family:'Sora',sans-serif; font-size:clamp(42px,8vw,72px); font-weight:650; letter-spacing:-.08em; line-height:.95; }
.progress-caption { margin-top:9px; color:rgba(255,249,241,.68); font-size:12px; }
.progress-stamp { display:flex; flex-direction:column; align-items:center; gap:8px; color:#e9b08a; font-family:'Sora',sans-serif; font-size:12px; font-weight:700; }
.progress-stamp img { width:46px; height:46px; opacity:.9; }
.route-progress { position:relative; z-index:1; height:8px; margin-top:26px; border-radius:99px; background:rgba(255,249,241,.15); overflow:hidden; }
.route-progress span { display:block; height:100%; border-radius:99px; background:var(--rust); transition:width .4s var(--ease); }
.progress-card__bottom { margin-top:12px; color:rgba(255,249,241,.63); font-size:11px; }
.destination-card { position:relative; min-height:265px; margin-top:16px; border-radius:18px; overflow:hidden; box-shadow:0 14px 30px rgba(23,54,58,.1); }
.destination-card__photo,.destination-card__overlay { position:absolute; inset:0; width:100%; height:100%; }
.destination-card__photo--road { background:radial-gradient(circle at 78% 24%,rgba(233,176,138,.72),transparent 22%),linear-gradient(130deg,#17363a 0%,#28565a 45%,#c65a32 100%); }
.destination-card__overlay { background:linear-gradient(90deg,rgba(23,54,58,.82),rgba(23,54,58,.22) 58%,rgba(23,54,58,.05)); }
.destination-card__content { position:relative; z-index:1; max-width:430px; padding:30px 26px; color:#fff9f1; }
.destination-card h2 { margin-top:8px; font-size:clamp(23px,4vw,34px); font-weight:650; letter-spacing:-.07em; line-height:1.08; }
.destination-card p:not(.eyebrow) { max-width:340px; margin-top:11px; color:rgba(255,249,241,.76); font-size:13px; line-height:1.55; }
.ghost-action { display:inline-flex; align-items:center; gap:8px; margin-top:20px; padding-bottom:6px; border-bottom:1px solid rgba(255,249,241,.5); color:#fff9f1; font-size:12px; font-weight:800; }
.quick-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.quick-card { position:relative; display:flex; flex-direction:column; min-height:150px; padding:20px; border:1px solid #ddd5c7; border-radius:16px; color:var(--ink); background:var(--paper); box-shadow:0 8px 18px rgba(23,54,58,.045); transition:transform .18s var(--ease),border-color .18s ease-out,box-shadow .18s ease-out; }
.quick-card:hover { transform:translateY(-3px); border-color:var(--rust); box-shadow:0 14px 25px rgba(23,54,58,.09); }
.quick-card--accent { color:#fff9f1; border-color:var(--rust); background:var(--rust); }
.quick-card--admin { border-color:#bfd4cc; background:#e5f0e8; }
.quick-card__icon { display:grid; place-items:center; width:36px; height:36px; margin-bottom:18px; border-radius:10px; color:var(--rust); background:var(--peach); font-size:20px; }
.quick-card--accent .quick-card__icon { color:#fff9f1; background:rgba(255,249,241,.18); }
.quick-card strong { max-width:145px; font-family:'Sora',sans-serif; font-size:14px; line-height:1.25; }
.quick-card>span:not(.quick-card__icon):not(.quick-card__arrow) { margin-top:6px; opacity:.68; font-size:11px; }
.quick-card__arrow { position:absolute; right:17px; bottom:18px; opacity:.7; font-size:24px; line-height:1; }
.dashboard-insights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.dashboard-insights--single { grid-template-columns:minmax(0,1fr); }
.dashboard-insight { display:flex; flex-direction:column; min-height:158px; padding:20px; border:1px solid #ddd5c7; border-radius:16px; color:var(--ink); background:var(--paper); box-shadow:0 8px 18px rgba(23,54,58,.045); }
.dashboard-insight--group { position:relative; display:block; min-height:158px; overflow:hidden; border-color:#c9ded4; background:#f1f4ef; transition:transform .18s var(--ease),border-color .18s ease-out,box-shadow .18s ease-out; }
.dashboard-insight--group:hover { transform:translateY(-3px); border-color:#94b6a8; box-shadow:0 14px 25px rgba(23,54,58,.09); }
.dashboard-insight--group:focus-visible { outline:3px solid rgba(198,90,50,.44); outline-offset:3px; }
.dashboard-insight__copy { position:relative; z-index:1; display:block; max-width:55%; }
.dashboard-insight--group h3 { max-width:none; }
.dashboard-insight__art { position:absolute; right:7%; bottom:14px; width:57%; height:100%; object-fit:contain; object-position:right bottom; opacity:.92; pointer-events:none; }
.dashboard-insight h3 { max-width:300px; margin-top:8px; color:var(--ink); font-family:'Sora',sans-serif; font-size:18px; font-weight:650; letter-spacing:-.055em; line-height:1.16; }
.dashboard-insight>p:not(.eyebrow) { max-width:335px; margin-top:9px; color:#697770; font-size:11px; line-height:1.5; }
.dashboard-insight .text-action { display:inline-flex; align-items:center; gap:6px; margin-top:auto; padding-top:15px; }
.empty-journal { display:flex; align-items:center; gap:18px; margin-top:16px; padding:23px; border:1px dashed #cbbfae; border-radius:16px; background:rgba(250,247,240,.64); }
.empty-journal__icon { display:grid; flex:0 0 auto; place-items:center; width:46px; height:46px; border-radius:50%; color:var(--rust); background:var(--peach); font-size:24px; }
.empty-journal h3,.profile-form h3,.admin-section h3 { margin-top:5px; color:var(--ink); font-family:'Sora',sans-serif; font-size:16px; letter-spacing:-.04em; }
.empty-journal p:not(.eyebrow) { max-width:550px; margin-top:7px; color:#697572; font-size:12px; line-height:1.5; }
.empty-journal__meta { display:none; align-items:center; gap:6px; margin-left:auto; color:#7b857f; font-size:11px; white-space:nowrap; }
.next-step { display:flex; align-items:center; gap:8px; margin:20px 3px 0; color:#77827d; font-size:11px; line-height:1.4; }
.next-step span:last-child { margin-left:auto; color:var(--rust); }
.bottom-nav { position:fixed; z-index:10; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(4,1fr); padding:9px max(16px,calc((100% - 700px)/2)) calc(9px + env(safe-area-inset-bottom)); border-top:1px solid rgba(203,191,174,.62); background:rgba(250,247,240,.94); backdrop-filter:blur(16px); }
.bottom-nav__item { display:flex; flex-direction:column; align-items:center; gap:5px; padding:6px 3px; color:#77827d; font-size:10px; font-weight:700; transition:color .16s ease-out,transform .16s ease-out; }
.bottom-nav__item:hover { transform:translateY(-2px); color:var(--ink); }
.bottom-nav__item--active { color:var(--rust); }
.bottom-nav__item span { font-size:19px; line-height:19px; }
.bottom-nav__item small { font-size:10px; }
.progress-card { display:block; color:inherit; text-decoration:none; transition:transform .18s ease-out,box-shadow .18s ease-out; }
.progress-card:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(23,54,58,.15); }
.friends-page { max-width:760px; }
.friends-page__intro h2 { margin-top:8px; color:var(--ink); font-size:clamp(30px,5vw,44px); letter-spacing:-.07em; line-height:1.02; }
.friends-page__intro h2 em { color:var(--rust); font-style:normal; }
.friends-page__intro>p:not(.eyebrow) { max-width:620px; margin-top:12px; color:#71807a; font-size:13px; line-height:1.62; }
.friends-page__accepted { margin-top:25px; }
.friendship-list--friends .friendship-row { padding:13px; }
.friends-feed { margin-top:22px; padding:22px; border:1px solid #d9e3dc; border-radius:18px; background:#f7faf7; box-shadow:0 10px 22px rgba(23,54,58,.035); }
.friends-feed__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.friends-feed__heading h3 { margin-top:5px; color:var(--ink); font-family:'Sora',sans-serif; font-size:19px; letter-spacing:-.055em; }
.friends-feed__list { display:grid; gap:10px; margin-top:16px; }
.friend-story-preview { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:11px; padding:9px; border:1px solid #e2e8e2; border-radius:13px; color:inherit; background:#fffdf9; transition:transform .16s ease-out,border-color .16s ease-out; }
.friend-story-preview:hover { transform:translateY(-1px); border-color:#a8c5b7; }
.friend-story-preview__photo { display:block; width:48px; height:48px; border-radius:10px; object-fit:cover; background:#dcebe3; }
.friend-story-preview__photo--empty { display:grid; place-items:center; color:#477c6d; font-size:19px; }
.friend-story-preview__copy { display:grid; min-width:0; gap:3px; }
.friend-story-preview__copy small { overflow:hidden; color:#71807a; font-size:9px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.friend-story-preview__copy strong { overflow:hidden; color:#244d47; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.friend-story-preview__copy span { overflow:hidden; color:#697770; font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.friend-story-preview__arrow { color:var(--rust); font-size:17px; }
.friends-feed__more { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:14px; padding:11px 14px; border:1px solid #c7d9ce; border-radius:12px; color:#244d47; background:#edf5ef; font-size:11px; font-weight:800; transition:transform .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease); }
.friends-feed__more:hover { border-color:#91b6a3; background:#e2efe6; transform:translateY(-1px); }
.friends-feed__more:active { transform:scale(.98); }
.friends-feed__more:focus-visible { outline:3px solid rgba(198,90,50,.36); outline-offset:3px; }
.friends-feed__more span { color:var(--rust); font-size:15px; line-height:1; }
.bottom-nav { right:50%; bottom:calc(14px + env(safe-area-inset-bottom)); left:auto; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:min(calc(100% - 32px),620px); padding:8px 10px; border:1px solid rgba(203,191,174,.7); border-radius:24px; background:rgba(255,253,249,.94); box-shadow:0 14px 30px rgba(23,54,58,.16),0 2px 7px rgba(23,54,58,.08); transform:translateX(50%); }
.bottom-nav__item { position:relative; gap:3px; padding:5px 2px; border:1px solid transparent; border-radius:16px; transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease); }
.bottom-nav__icon { position:relative; display:grid; place-items:center; width:33px; height:29px; border:1px solid transparent; border-radius:13px; transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease); }
.bottom-nav__icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
/* Direção visual: todos os ícones conservam a mesma tinta; a seleção ganha suporte, não uma segunda cor de símbolo. */
.bottom-nav__item,.bottom-nav__item--active { color:#516965; }
.bottom-nav__item--active { border-color:rgba(51,103,91,.24); background:#dcebe3; box-shadow:0 4px 10px rgba(23,54,58,.11); transform:translateY(-2px); }
.bottom-nav__item--active .bottom-nav__icon { border-color:rgba(51,103,91,.14); background:rgba(255,253,249,.62); box-shadow:0 2px 5px rgba(23,54,58,.08); }
.bottom-nav__item--active::after { content:''; position:absolute; bottom:3px; left:50%; width:15px; height:3px; border-radius:999px; background:#b6633f; box-shadow:0 1px 2px rgba(101,52,34,.18); transform:translateX(-50%); }
.bottom-nav__item small { color:currentColor; font-size:9px; font-weight:800; letter-spacing:.01em; }
.bottom-nav__notice { position:absolute; top:2px; right:2px; width:7px; height:7px; border:1.5px solid #fffdf9; border-radius:50%; background:#b6633f; }
.page-toolbar { align-items:center; margin-bottom:24px; }
.back-link { display:inline-flex; align-items:center; gap:7px; color:#65736f; font-size:12px; font-weight:700; }
.profile-hero { position:relative; display:flex; align-items:center; gap:17px; padding:24px; border-radius:18px; background:var(--sand); overflow:hidden; }
.profile-hero::after { content:''; position:absolute; right:-20px; bottom:-55px; width:170px; height:170px; border:1px solid rgba(198,90,50,.26); border-radius:50%; box-shadow:0 0 0 16px rgba(198,90,50,.06),0 0 0 32px rgba(198,90,50,.05); }
.profile-avatar { display:grid; place-items:center; width:65px; height:65px; flex:0 0 auto; border-radius:50%; background:var(--petrol); }
.profile-avatar { overflow:hidden; }
.profile-avatar__photo { width:100%; height:100%; object-fit:cover; }
.profile-avatar__mark { width:40px; height:40px; }
.profile-avatar--interactive { padding:0; border:2px solid rgba(255,249,241,.85); cursor:zoom-in; box-shadow:0 5px 14px rgba(23,54,58,.16); transition:transform .16s var(--ease),box-shadow .16s var(--ease); }
.profile-avatar--interactive:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(23,54,58,.2); }
.profile-avatar--interactive:focus-visible,.participant-detail__avatar--interactive:focus-visible,.profile-edit-action:focus-visible,.profile-photo-modal__close:focus-visible { outline:3px solid rgba(198,90,50,.46); outline-offset:3px; }
.profile-hero h2 { position:relative; z-index:1; margin-top:6px; font-size:22px; letter-spacing:-.06em; }
.profile-hero p:not(.eyebrow) { position:relative; z-index:1; max-width:390px; margin-top:6px; color:#526762; font-size:12px; }
.profile-hero__copy { position:relative; z-index:1; min-width:0; }
.profile-edit-action { position:relative; z-index:1; display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; margin-left:auto; padding:9px 11px; border:1px solid rgba(190,169,148,.86); border-radius:9px; color:#744931; background:rgba(255,249,241,.52); font-size:11px; font-weight:800; transition:transform .16s var(--ease),background .16s var(--ease); }
.profile-edit-action:hover { transform:translateY(-1px); background:rgba(255,249,241,.8); }
.profile-form { margin-top:18px; padding:26px; border:1px solid #ded4c6; border-radius:18px; background:var(--paper); }
.access-summary,.access-name-card { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; padding:14px 15px; border:1px solid #c9dbd2; border-radius:11px; background:var(--green-soft); }
.access-summary span,.access-name-card span { display:block; color:#55766e; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.access-summary strong,.access-name-card strong { display:block; margin-top:4px; color:var(--petrol); font-family:'Sora',sans-serif; font-size:15px; letter-spacing:-.03em; }
.copy-value { flex:0 0 auto; padding:7px 9px; border:1px solid #b4cfc4; border-radius:7px; color:#356b5f; background:rgba(255,249,241,.7); font-size:11px; font-weight:800; transition:background .16s ease-out,transform .16s ease-out; }
.copy-value:hover { background:#fff9f1; }
.copy-value:active { transform:scale(.97); }
.form-section-heading { display:flex; align-items:center; gap:11px; margin-bottom:20px; }
.form-section-heading--spaced { margin-top:31px; }
.section-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:var(--rust); background:var(--peach); font-size:17px; }
.field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.field-row .field-group + .field-group { margin-top:0; }
.profile-form__footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; padding-top:20px; border-top:1px solid #e4dbce; }
.profile-form__footer p { color:#7a847e; font-size:11px; line-height:1.4; }
.profile-sheet { margin-top:18px; padding:26px; border:1px solid #ded4c6; border-radius:18px; background:var(--paper); }
.profile-sheet__heading,.profile-journey__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.profile-sheet__heading h3,.profile-journey h3 { margin-top:5px; color:var(--ink); font-family:'Sora',sans-serif; font-size:17px; letter-spacing:-.045em; }
.profile-sheet__heading>span { padding:6px 8px; border-radius:999px; color:#55766e; background:var(--green-soft); font-size:10px; font-weight:800; white-space:nowrap; }
.profile-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:20px; }
.profile-fact { display:flex; align-items:center; gap:10px; min-width:0; padding:13px; border:1px solid #e2d8cb; border-radius:11px; background:#fffdf9; }
.profile-fact>span { display:grid; place-items:center; width:27px; height:27px; flex:0 0 auto; border-radius:50%; color:#9b5032; background:var(--peach); font-size:14px; }
.profile-fact__logo { width:27px; height:27px; flex:0 0 auto; border:1px solid #e1d6c6; border-radius:50%; background:#fffdf9; object-fit:cover; }
.profile-fact small,.profile-last-milestone>span { display:block; color:#78817b; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.profile-fact strong { display:block; overflow:hidden; margin-top:3px; color:var(--petrol); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.profile-fact--link { color:inherit; text-decoration:none; transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease); }
.profile-fact--link:hover { transform:translateY(-1px); border-color:#c9dbd2; background:#f6fbf7; }
.profile-fact--link em,.profile-fact--motorcycle em { display:block; overflow:hidden; margin-top:3px; color:#78817b; font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.profile-fact--link em b { margin-left:2px; color:var(--rust); }
.identity-detail-card--link { color:inherit; text-decoration:none; transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease); }
.identity-detail-card--link:hover { transform:translateY(-1px); border-color:#bdd6c9; background:#f6fbf7; }
.identity-detail-card--link>b { margin-left:auto; color:var(--rust); font-size:15px; }
.identity-detail-card__visits { display:block; margin-top:5px; color:#356b5f; font-size:10px; font-weight:800; }
.profile-bio { margin:20px 0 0; padding:15px 17px; border-left:3px solid #d18259; color:#526762; background:#fffdf9; font-size:13px; font-style:italic; line-height:1.58; }
.profile-fleet-access { display:flex; align-items:center; gap:11px; margin-top:16px; padding:13px 14px; border:1px solid #e2d8cb; border-radius:11px; color:inherit; background:#fffdf9; text-decoration:none; transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease); }
.profile-fleet-access:hover { transform:translateY(-1px); border-color:#c9dbd2; background:#f6fbf7; }
.profile-fleet-access>span:first-child { display:grid; place-items:center; width:28px; height:28px; flex:0 0 auto; border-radius:50%; color:#9b5032; background:var(--peach); font-size:14px; }
.profile-fleet-access>span:nth-child(2) { min-width:0; }
.profile-fleet-access small { display:block; color:#78817b; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.profile-fleet-access strong { display:block; overflow:hidden; margin-top:3px; color:var(--petrol); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.profile-fleet-access>b { margin-left:auto; color:var(--rust); font-size:15px; }
.motorcycle-card__edit { width:100%; margin-top:4px; }
.motorcycle-card__edit summary { width:max-content; color:var(--rust); cursor:pointer; font-size:10px; font-weight:800; list-style:none; }
.motorcycle-card__edit summary::-webkit-details-marker { display:none; }
.motorcycle-card__edit summary::after { margin-left:5px; content:'↳'; }
.motorcycle-card__edit form { display:grid; grid-template-columns:1fr 1fr auto; gap:7px; margin-top:9px; padding-top:10px; border-top:1px solid #e6ded4; }
.motorcycle-card__edit label { min-width:0; }
.motorcycle-card__edit label span { display:block; margin:0 0 4px; color:#78817b; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.motorcycle-card__edit input { width:100%; min-width:0; padding:8px 9px; border:1px solid #ded5c9; border-radius:7px; color:var(--ink); background:#fffdf9; font:inherit; font-size:11px; }
.motorcycle-card__edit .secondary-action { align-self:end; min-height:34px; padding:7px 9px; font-size:10px; }
.profile-journey { margin-top:22px; padding:18px; border:1px solid #c9dbd2; border-radius:13px; background:var(--green-soft); }
.profile-journey__heading>strong { color:#356b5f; font-family:'Sora',sans-serif; font-size:21px; letter-spacing:-.06em; }
.profile-journey__track { height:7px; margin-top:15px; overflow:hidden; border-radius:999px; background:rgba(53,107,95,.16); }
.profile-journey__track>span { display:block; height:100%; min-width:0; border-radius:inherit; background:var(--rust); transition:width .3s var(--ease); }
.profile-last-milestone { display:block; margin-top:16px; padding:13px 14px; border:1px solid rgba(180,207,196,.9); border-radius:10px; background:rgba(255,253,249,.76); transition:transform .16s var(--ease),background .16s var(--ease); }
.profile-last-milestone:hover { transform:translateY(-1px); background:#fffdf9; }
.profile-last-milestone strong { display:block; margin-top:4px; color:var(--petrol); font-size:13px; }
.profile-last-milestone small { display:block; margin-top:4px; color:#71807a; font-size:10px; }
.profile-last-milestone b { margin-left:4px; color:#b35b38; }
.profile-privacy { margin-top:23px; padding-top:21px; border-top:1px solid #e3dace; }
.profile-privacy__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.profile-privacy__heading h3 { margin-top:5px; color:var(--ink); font-family:'Sora',sans-serif; font-size:16px; letter-spacing:-.045em; }
.profile-privacy__heading>span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:#55766e; background:var(--green-soft); font-size:15px; }
.profile-privacy>p { max-width:640px; margin-top:9px; color:#71807a; font-size:11px; line-height:1.55; }
.access-summary--privacy { margin-top:15px; }
.settings-shortcut { display:flex; align-items:center; gap:11px; margin-top:13px; padding:13px 14px; border:1px solid #c9dbd2; border-radius:11px; background:#f7fbf8; transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease); }
.settings-shortcut:hover { border-color:#89aaa0; background:#fffdf9; transform:translateY(-1px); }
.settings-shortcut__icon,.settings-card__icon { display:grid; flex:0 0 auto; place-items:center; width:31px; height:31px; border-radius:9px; color:#356b5f; background:#dcece3; font-size:15px; font-weight:800; }
.settings-shortcut>span:not(.settings-shortcut__icon) { min-width:0; }
.settings-shortcut small { display:block; color:#5d7b72; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.settings-shortcut strong { display:block; margin-top:3px; color:#244d47; font-size:12px; }
.settings-shortcut>b { margin-left:auto; color:#55766e; font-size:17px; }
.settings-page { max-width:720px; margin:0 auto; }
.settings-page__intro { max-width:490px; }
.settings-page__intro h2 { margin-top:8px; color:var(--ink); font-size:clamp(26px,4vw,39px); font-weight:650; letter-spacing:-.07em; line-height:1.07; }
.settings-page__intro h2 em { color:var(--rust); font-style:normal; }
.settings-page__intro>p:not(.eyebrow) { margin-top:12px; color:#71807a; font-size:13px; line-height:1.6; }
.settings-card { margin-top:26px; padding:20px; border:1px solid #d6dfd8; border-radius:15px; background:var(--paper); box-shadow:0 8px 18px rgba(23,54,58,.045); }
.settings-card__heading { display:flex; align-items:flex-start; gap:11px; }
.settings-card__heading h3 { margin-top:4px; color:var(--ink); font-family:'Sora',sans-serif; font-size:16px; letter-spacing:-.045em; }
.settings-status { margin-left:auto; padding:5px 8px; border-radius:999px; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.settings-status--confirmed { color:#356b5f; background:#dcece3; }
.settings-status--pending { color:#96553e; background:#f1dfd0; }
.settings-card__current { display:flex; flex-direction:column; gap:4px; margin-top:18px; padding:12px 13px; border:1px solid #e4dbce; border-radius:10px; background:#fffdf9; }
.settings-card__current strong { color:#244d47; font-size:12px; overflow-wrap:anywhere; }
.settings-card__current span { color:#77827d; font-size:10px; line-height:1.45; }
.settings-email-form { display:grid; gap:16px; margin-top:18px; }
.settings-email-form .field-group + .field-group { margin-top:0; }
.settings-email-form__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.settings-note { display:flex; align-items:flex-start; gap:9px; margin-top:14px; padding:14px 15px; border-left:3px solid #8ba79d; color:#58736b; background:rgba(229,240,232,.7); font-size:11px; line-height:1.55; }
.settings-note>span { color:#356b5f; font-weight:800; }
.settings-note p { margin:0; }
.settings-note strong { color:#356b5f; }
.account-deletion { margin-top:13px; border:1px solid #e1cbc2; border-radius:11px; background:#fffaf4; transition:border-color .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease); }
.account-deletion[open] { border-color:#d49a87; background:#fff7f2; box-shadow:0 9px 20px rgba(128,66,45,.07); }
.account-deletion summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 15px; cursor:pointer; list-style:none; }
.account-deletion summary::-webkit-details-marker { display:none; }
.account-deletion summary>span { min-width:0; }
.account-deletion summary small { display:block; color:#9a6654; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.account-deletion summary strong { display:block; margin-top:4px; color:#8d4433; font-size:12px; }
.account-deletion summary>b { flex:0 0 auto; color:#b35b38; font-size:16px; transition:transform .16s var(--ease); }
.account-deletion[open] summary>b { transform:rotate(90deg); }
.account-deletion summary:focus-visible { outline:3px solid rgba(198,90,50,.4); outline-offset:2px; }
.account-deletion__body { padding:0 15px 16px; border-top:1px solid #efd9d1; }
.account-deletion__warning { margin-top:14px; color:#805345; font-size:11px; line-height:1.55; }
.account-deletion__warning strong { color:#8d4433; }
.account-deletion__form { display:grid; gap:14px; margin-top:16px; }
.account-deletion__form .field-group + .field-group { margin-top:0; }
.account-deletion__form .field-group label { color:#6d554b; }
.account-deletion__form .field-group label strong { color:#8d4433; letter-spacing:.05em; }
.danger-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:max-content; min-height:42px; padding:0 15px; border:1px solid #a94d2c; border-radius:9px; color:#fff9f1; background:#a94d2c; box-shadow:0 7px 14px rgba(169,77,44,.18); font-size:11px; font-weight:800; transition:transform .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease); }
.danger-action:hover { background:#8d4433; box-shadow:0 10px 18px rgba(141,68,51,.22); }
.danger-action:active { transform:scale(.97); }
.profile-sheet__empty { margin-top:20px; color:#75807a; font-size:12px; line-height:1.56; }
.profile-sheet__footer { display:flex; justify-content:flex-end; margin-top:21px; padding-top:18px; border-top:1px solid #e4dbce; }
.profile-photo-modal { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:24px; background:rgba(15,37,39,.72); backdrop-filter:blur(4px); }
.profile-photo-modal[hidden] { display:none; }
.profile-photo-modal__surface { position:relative; display:grid; place-items:center; width:min(100%,620px); max-height:min(82vh,620px); animation:profile-photo-in .2s var(--ease) both; }
.profile-photo-modal__surface img { display:block; max-width:100%; max-height:min(82vh,620px); border:5px solid #fff9f1; border-radius:16px; box-shadow:0 20px 48px rgba(0,0,0,.32); object-fit:contain; }
.profile-photo-modal__close { position:absolute; z-index:1; top:-12px; right:-12px; display:grid; place-items:center; width:36px; height:36px; border:2px solid #fff9f1; border-radius:50%; color:#17363a; background:#fff9f1; font-size:24px; line-height:1; box-shadow:0 5px 14px rgba(0,0,0,.16); }
@keyframes profile-photo-in { from { opacity:0; transform:translateY(7px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
.admin-notice { display:flex; align-items:flex-start; gap:12px; margin-top:24px; padding:17px 19px; border:1px solid #c3d5ce; border-radius:12px; color:#2d655f; background:var(--green-soft); }
.admin-notice>span { font-size:19px; }
.admin-notice strong { font-size:13px; }
.admin-notice p { margin-top:4px; color:#55766e; font-size:11px; line-height:1.5; }
.invite-list { margin-top:17px; overflow:hidden; border:1px solid #ded4c6; border-radius:15px; background:var(--paper); }
.list-heading,.invite-row { display:grid; grid-template-columns:minmax(0,1fr) 120px 86px; align-items:center; gap:12px; padding:14px 18px; }
.list-heading { color:#8c958e; border-bottom:1px solid #e6ded2; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.invite-row + .invite-row { border-top:1px solid #ece5dc; }
.invite-row__code { display:flex; align-items:center; gap:10px; min-width:0; color:var(--rust); }
.invite-row__code>div { display:flex; flex-direction:column; min-width:0; }
.invite-row__code strong { overflow:hidden; color:var(--ink); font-family:'Sora',sans-serif; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.invite-row__code span { margin-top:4px; color:#88928d; font-size:10px; }
.status-pill { display:inline-flex; justify-self:start; padding:5px 8px; border-radius:5px; color:#77827d; background:#e8e4dc; font-size:10px; font-weight:700; }
.status-pill--available { color:#356b5f; background:#dbece2; }
.invite-row__actions { display:flex; justify-content:flex-end; gap:4px; }
.invite-row__actions button { display:grid; place-items:center; width:31px; height:31px; border-radius:7px; color:#78827c; background:transparent; font-size:18px; transition:color .16s ease-out,background .16s ease-out; }
.invite-row__actions button:hover { color:var(--rust); background:#f1e1d2; }
.admin-section { margin-top:26px; padding:22px; border:1px solid #ded4c6; border-radius:15px; background:rgba(250,247,240,.68); }
.section-heading { display:flex; align-items:center; justify-content:space-between; }
.count-badge { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#8f4d35; background:var(--peach); font-size:11px; font-weight:800; }
.muted-copy { margin-top:14px; color:#78837e; font-size:12px; }
.participant-list { margin-top:15px; }
.participant-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 0; border-top:1px solid #e5ddd2; }
.participant-row>div { display:flex; flex-direction:column; }
.participant-row strong { font-family:'Sora',sans-serif; font-size:12px; }
.participant-row span { margin-top:4px; color:#8b948e; font-size:10px; }
.participant-row .participant-row__email { color:#9a765d; font-weight:700; }
.participant-row .participant-row__email--verified { color:#4c776a; }
.admin-participants-overview { margin-top:26px; }.admin-participants-card { display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:19px 20px;border:1px solid #d7e1db;border-radius:15px;color:inherit;background:#f7faf7;box-shadow:0 8px 18px rgba(23,54,58,.035);transition:transform .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease) }.admin-participants-card:hover { border-color:#89aaa0;box-shadow:0 12px 22px rgba(23,54,58,.07);transform:translateY(-1px) }.admin-participants-card:focus-visible { outline:3px solid rgba(198,90,50,.24);outline-offset:3px }.admin-participants-card:active { transform:scale(.99) }.admin-participants-card__icon { display:grid;place-items:center;width:37px;height:37px;border-radius:11px;color:#356b5f;background:#dcece3;font-size:19px;font-weight:800 }.admin-participants-card__copy { display:grid;gap:4px;min-width:0 }.admin-participants-card__copy strong { color:#244d47;font-family:'Sora',sans-serif;font-size:16px;letter-spacing:-.04em }.admin-participants-card__copy small { color:#71807a;font-size:11px;line-height:1.45 }.admin-participants-card__arrow { color:var(--rust);font-size:18px;font-weight:800 }.admin-participants-page { max-width:880px }.admin-participants-page__intro { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:19px }.admin-participants-page__intro h2 { margin-top:8px;color:var(--ink);font-size:clamp(28px,5vw,42px);font-weight:650;letter-spacing:-.07em;line-height:1.02 }.admin-participants-page__intro p:not(.eyebrow) { max-width:550px;margin-top:11px;color:#71807a;font-size:13px;line-height:1.6 }.participant-list--admin { margin-top:25px;padding:5px 20px;border:1px solid #ded4c6;border-radius:16px;background:rgba(250,247,240,.72);box-shadow:0 10px 22px rgba(23,54,58,.035) }.participant-list--admin .participant-row:first-child { border-top:0 }.admin-participants-empty { display:flex;align-items:flex-start;gap:13px;margin-top:25px;padding:18px;border:1px dashed #cfc3b2;border-radius:15px;background:rgba(250,247,240,.72) }.admin-participants-empty>span { display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:10px;color:#a95737;background:#f1dfcf;font-size:17px;font-weight:800 }.admin-participants-empty strong { color:#244d47;font-size:12px }.admin-participants-empty p { margin-top:4px;color:#71807a;font-size:11px;line-height:1.5 }
.text-action { color:var(--rust); background:transparent; font-size:11px; font-weight:700; }
.admin-footer { display:flex; align-items:center; justify-content:space-between; margin-top:24px; }
.secondary-action { display:inline-flex; align-items:center; gap:8px; margin-top:0; padding:10px 13px; border:1px solid #d4c8b8; border-radius:8px; color:#5d6b65; background:transparent; font:700 12px 'DM Sans',system-ui,sans-serif; cursor:pointer; }
.secondary-action:disabled { color:#98a39d; cursor:wait; }
.admin-cleanup { border-color:#e4cabc; background:#fffaf4; }
.admin-cleanup .muted-copy { max-width:620px; }
.admin-cleanup__form { display:flex; align-items:end; gap:14px; margin-top:17px; }
.admin-cleanup__form .field { flex:1 1 260px; margin:0; }
.admin-cleanup__form .field strong { color:#8d4433; letter-spacing:.04em; }
.admin-cleanup__form .danger-action { flex:0 0 auto; }
.logout-link { display:inline-flex; align-items:center; gap:6px; color:#9b6d5b; font-size:11px; font-weight:700; }
.access-created { max-width:580px; margin:6vh auto 0; padding:clamp(26px,5vw,44px); border:1px solid #d6ccbe; border-radius:19px; background:var(--paper); box-shadow:0 14px 30px rgba(23,54,58,.07); }
.access-created__mark { display:grid; place-items:center; width:46px; height:46px; margin-bottom:22px; border-radius:50%; color:#fff9f1; background:var(--petrol); font-family:'Sora',sans-serif; font-size:21px; }
.access-created h2 { margin-top:8px; color:var(--ink); font-size:clamp(25px,4vw,37px); letter-spacing:-.07em; }
.access-created>p:not(.eyebrow) { max-width:450px; margin-top:14px; color:var(--muted); font-size:13px; line-height:1.6; }
.access-name-card { margin-top:24px; }
.access-created__note { color:#78837e!important; font-size:11px!important; }
.access-created .primary-action { margin-top:24px; }

/* Catálogo de monumentos */
.catalog-hero { position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:28px; padding:28px; border:1px solid #ccded5; border-radius:18px; background:linear-gradient(125deg,#e4efe9,#f6f0e6 61%,#edd9c4); overflow:hidden; }
.catalog-hero::after { content:''; position:absolute; right:-44px; top:-72px; width:220px; height:220px; border:1px solid rgba(198,90,50,.27); border-radius:50%; box-shadow:0 0 0 19px rgba(198,90,50,.05),0 0 0 38px rgba(198,90,50,.04); }
.catalog-hero>div { position:relative; z-index:1; }
.catalog-hero h2 { max-width:500px; margin-top:8px; color:var(--ink); font-size:clamp(28px,4vw,42px); font-weight:650; letter-spacing:-.075em; line-height:1.04; }
.catalog-hero h2 em { color:var(--rust); font-style:normal; }
.catalog-hero>div>p:not(.eyebrow) { max-width:510px; margin-top:13px; color:#5b6d67; font-size:13px; line-height:1.55; }
.catalog-progress-summary { display:flex; flex:0 0 auto; flex-direction:column; min-width:124px; padding:14px 16px; border:1px solid rgba(23,54,58,.13); border-radius:12px; color:var(--petrol); background:rgba(255,253,249,.72); box-shadow:0 8px 18px rgba(23,54,58,.06); }
.catalog-progress-summary strong { font-family:'Sora',sans-serif; font-size:32px; letter-spacing:-.08em; line-height:1; }
.catalog-progress-summary strong b { color:#78908a; font-size:16px; font-weight:650; letter-spacing:-.04em; }
.catalog-progress-summary span { margin-top:4px; color:#4a625c; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.catalog-progress-summary small { margin-top:8px; padding-top:8px; border-top:1px solid rgba(23,54,58,.1); color:#72807a; font-size:10px; }
.monument-card--conquered { border-color:#72a490!important; box-shadow:0 12px 24px rgba(39,104,87,.10); }
.monument-status--conquered,.route-carimbado { color:#256c57; background:#dcefe5; }
.route-carimbado { display:inline-flex; align-items:center; gap:5px; padding:5px 7px; border-radius:6px; font-size:10px; font-weight:800; }
.dashboard-journal { margin-top:16px; padding:21px; border:1px solid #d8d1c6; border-radius:16px; background:var(--paper); }
.dashboard-journal__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.dashboard-journal h3,.journal-list h3 { margin-top:5px; color:var(--ink); font-family:'Sora',sans-serif; font-size:16px; letter-spacing:-.05em; }
.dashboard-journal__list { display:grid; gap:9px; margin-top:17px; }
.journal-preview { display:flex; align-items:center; gap:12px; padding:11px 0; border-top:1px solid #ebe3d8; color:var(--ink); }
.journal-preview__date { display:grid; place-items:center; width:37px; height:37px; border-radius:9px; color:var(--rust); background:var(--peach); font-family:'Sora',sans-serif; font-size:11px; font-weight:800; }
.journal-preview__copy { display:flex; flex:1; flex-direction:column; min-width:0; }
.journal-preview__copy strong { font-family:'Sora',sans-serif; font-size:12px; }
.journal-preview__copy small { overflow:hidden; margin-top:3px; color:#74807a; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.journal-preview>span:last-child { color:var(--rust); }
.journal-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:28px; border:1px solid #d5d2c7; border-radius:18px; background:linear-gradient(125deg,#e4efe9,#f6f0e6 64%,#edd9c4); }
.journal-hero h2 { max-width:620px; margin-top:8px; color:var(--ink); font-size:clamp(27px,4vw,40px); letter-spacing:-.075em; line-height:1.05; }
.journal-hero p:not(.eyebrow) { max-width:580px; margin-top:12px; color:#62726d; font-size:13px; line-height:1.55; }
.journal-hero__progress { display:flex; flex:0 0 auto; flex-direction:column; min-width:116px; padding:13px; border:1px solid rgba(23,54,58,.14); border-radius:11px; background:rgba(255,253,249,.7); }
.journal-hero__progress strong { color:var(--petrol); font-family:'Sora',sans-serif; font-size:25px; letter-spacing:-.07em; }
.journal-hero__progress span { margin-top:4px; color:#61766f; font-size:10px; font-weight:800; }
.journal-empty { display:flex; gap:17px; margin-top:18px; padding:26px; border:1px dashed #cbbfae; border-radius:16px; background:rgba(250,247,240,.64); }
.journal-empty>span { display:grid; flex:0 0 auto; place-items:center; width:48px; height:48px; border-radius:50%; color:var(--rust); background:var(--peach); font-size:24px; }
.journal-empty h3 { margin-top:5px; color:var(--ink); font-family:'Sora',sans-serif; font-size:17px; letter-spacing:-.05em; }
.journal-empty p:not(.eyebrow) { max-width:540px; margin-top:8px; color:#74807a; font-size:12px; line-height:1.55; }
.journal-empty .primary-action { margin-top:16px; }
.journal-list { margin-top:19px; }
.journal-list__heading { margin:0 0 13px 3px; }
.journal-entry { margin-top:11px; }
.journal-entry__link { display:flex; align-items:flex-start; gap:17px; padding:20px; border:1px solid #ded5c9; border-radius:15px; color:var(--ink); background:var(--paper); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.journal-entry__link:hover { border-color:#cfc3b3; box-shadow:0 10px 22px rgba(26,54,55,.07); transform:translateY(-1px); }
.journal-entry__link:focus-visible { outline:3px solid rgba(193,92,49,.3); outline-offset:3px; }
.journal-entry__date { display:flex; flex:0 0 auto; flex-direction:column; align-items:center; width:51px; padding:10px 5px; border-radius:10px; color:#fff9f1; background:var(--petrol); }
.journal-entry__date strong { font-family:'Sora',sans-serif; font-size:20px; line-height:1; }
.journal-entry__date span { margin-top:4px; font-size:9px; font-weight:800; text-transform:uppercase; }
.journal-entry__copy { flex:1; min-width:0; }
.journal-entry__copy>span:first-child { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.journal-entry__copy>span:first-child>strong { font-family:'Sora',sans-serif; font-size:16px; }
.journal-entry__story { display:block; margin-top:11px; color:#62716c; font-size:12px; line-height:1.58; }
.experience-motorcycle { display:block; margin-top:9px; color:#6b7f78; font-size:10px; font-weight:800; letter-spacing:.02em; }
.journal-entry__photo { flex:0 0 auto; width:94px; height:94px; overflow:hidden; border-radius:10px; background:#e9e2d7; }
.journal-entry__photo img { width:100%; height:100%; object-fit:cover; }
.journal-entry__arrow { flex:0 0 auto; align-self:center; color:var(--rust); font-size:17px; font-style:normal; }
@media (max-width:620px) { .journal-hero { align-items:flex-start; flex-direction:column; } .journal-hero__progress { flex-direction:row; align-items:center; gap:10px; min-width:0; } .journal-hero__progress span { margin:0; } .journal-entry__link { gap:12px; padding:15px; } .journal-entry__date { width:43px; } .journal-entry__photo { display:none; } }
.catalog-filter-panel { margin-top:18px; padding:20px; border:1px solid #d8d1c6; border-radius:15px; background:var(--paper); box-shadow:0 9px 20px rgba(23,54,58,.04); }
.catalog-filter-panel form { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.catalog-filter-panel__heading { display:flex; align-items:flex-start; gap:10px; }
.catalog-filter-panel__heading>span { display:grid; place-items:center; width:31px; height:31px; border-radius:8px; color:var(--rust); background:var(--peach); font-size:17px; }
.catalog-filter-panel__heading strong { color:var(--ink); font-family:'Sora',sans-serif; font-size:13px; }
.catalog-filter-panel__heading p { margin-top:3px; color:#78837d; font-size:10px; }
.catalog-filter-controls { display:flex; flex-wrap:wrap; gap:9px; }
.catalog-select { display:flex; flex-direction:column; gap:5px; }
.catalog-select>span { color:#7b8580; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.catalog-select select { min-width:165px; min-height:37px; padding:0 30px 0 10px; border:1px solid #d9cfc1; border-radius:8px; outline:0; color:#46605a; background:#fffdf9; font:600 11px 'DM Sans',system-ui,sans-serif; }
.catalog-select select:focus { border-color:var(--rust); box-shadow:0 0 0 3px rgba(198,90,50,.13); }
.catalog-results { margin-top:28px; }
.catalog-results__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.catalog-results__heading h3 { margin-top:5px; color:var(--ink); font-size:20px; letter-spacing:-.055em; }
.monument-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.monument-card { display:flex; flex-direction:column; min-height:214px; border:1px solid #ddd5ca; border-radius:15px; background:var(--paper); box-shadow:0 8px 18px rgba(23,54,58,.045); overflow:hidden; transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s ease-out; }
.monument-card:hover { border-color:#b7c9bf; box-shadow:0 15px 28px rgba(23,54,58,.1); transform:translateY(-3px); }
.monument-card--active { border-top:3px solid #5d8e79; }
.monument-card--contact { border-top:3px solid #bf8556; }
.monument-card--updating { border-top:3px solid #8d9892; }
.monument-card--building { border-top:3px solid #b77c60; background:#f6f0e7; }
.monument-card__top { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 16px 0; }
.monument-card__number { color:#9a7a66; font-family:'Sora',sans-serif; font-size:11px; font-weight:700; letter-spacing:.04em; }
.monument-status { display:inline-flex; align-items:center; max-width:160px; padding:4px 6px; border-radius:5px; color:#62716b; background:#e9e5dd; font-size:9px; font-weight:800; line-height:1.2; text-align:right; }
.monument-status--active { color:#356b5f; background:#dbece2; }
.monument-status--contact { color:#855c39; background:#f1e1d2; }
.monument-status--updating { color:#65716c; background:#e3e7e3; }
.monument-status--building { color:#815945; background:#f0dfcc; }
.monument-card__body { padding:16px; }
.monument-card h4 { color:var(--ink); font-family:'Sora',sans-serif; font-size:16px; letter-spacing:-.045em; line-height:1.15; }
.monument-card__location { display:flex; align-items:center; gap:5px; margin-top:9px; color:#55766e; font-size:11px; font-weight:700; }
.monument-card__location span { color:var(--rust); font-size:13px; }
.monument-card__description { margin-top:10px; color:#7c8580; font-size:11px; line-height:1.46; }
.monument-card__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding:12px 16px; border-top:1px solid #e6ded4; }
.monument-card__open { color:var(--rust); font-size:10px; font-weight:800; white-space:nowrap; }
.route-ready,.route-pending { display:inline-flex; align-items:center; gap:6px; color:#55766e; font-size:10px; font-weight:700; }
.route-ready span { color:#3b7d6b; }
.route-pending { color:#93725e; }
.catalog-empty { display:flex; align-items:center; flex-direction:column; padding:42px 24px; border:1px dashed #cbbfae; border-radius:15px; text-align:center; background:rgba(250,247,240,.68); }
.catalog-empty>span { display:grid; place-items:center; width:45px; height:45px; border-radius:50%; color:var(--rust); background:var(--peach); font-size:21px; }
.catalog-empty h3 { margin-top:16px; font-size:18px; letter-spacing:-.045em; }
.catalog-empty p { max-width:310px; margin-top:7px; color:#78837e; font-size:12px; line-height:1.5; }
.catalog-empty .secondary-action { margin-top:20px; }

/* Ficha individual do monumento */
.monument-detail .back-link { margin:2px 0 18px; }
.monument-detail__hero { position:relative; min-height:294px; padding:24px; border:1px solid #bfd3c9; border-radius:19px; color:#fff9f1; background:linear-gradient(125deg,#17363a,#295d5d 62%,#708c74); overflow:hidden; box-shadow:var(--shadow); }
.monument-detail__hero::before { content:''; position:absolute; right:-74px; bottom:-110px; width:330px; height:330px; border:1px solid rgba(233,176,138,.46); border-radius:50%; box-shadow:0 0 0 22px rgba(233,176,138,.06),0 0 0 44px rgba(233,176,138,.05); }
.monument-detail__hero--contact { background:linear-gradient(125deg,#17363a,#496a5c 58%,#b56f43); }
.monument-detail__hero--updating { background:linear-gradient(125deg,#17363a,#506a68 62%,#9a8472); }
.monument-detail__hero--building { background:linear-gradient(125deg,#17363a,#466760 58%,#9e6348); }
.monument-detail__hero-top,.monument-detail__hero-copy,.monument-detail__stamp { position:relative; z-index:1; }
.monument-detail__hero-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.monument-detail__number { color:#e9b08a; font-family:'Sora',sans-serif; font-size:12px; font-weight:700; letter-spacing:.05em; }
.monument-detail__hero-copy { position:absolute; right:24px; bottom:27px; left:24px; max-width:600px; }
.monument-detail__hero-copy .eyebrow { color:#e9b08a; }
.monument-detail__hero h2 { margin-top:8px; font-size:clamp(32px,5vw,52px); font-weight:650; letter-spacing:-.085em; line-height:1.02; }
.monument-detail__location { display:flex; align-items:center; gap:7px; margin-top:15px; color:rgba(255,249,241,.78); font-size:13px; font-weight:700; }
.monument-detail__location span { color:#e9b08a; font-size:16px; }
.monument-detail__stamp { position:absolute; top:50%; right:55px; display:flex; align-items:center; justify-content:center; flex-direction:column; width:104px; min-height:72px; padding:8px; border:1px solid rgba(255,249,241,.43); border-radius:12px 3px 12px 3px; color:#e9b08a; background:rgba(23,54,58,.2); box-shadow:inset 0 0 0 3px rgba(255,249,241,.07); transform:translateY(-50%) rotate(-5deg); }
.monument-detail__stamp::before,.monument-detail__stamp::after { position:absolute; content:''; left:10px; right:10px; border-top:1px solid currentColor; opacity:.32; }
.monument-detail__stamp::before { top:10px; }
.monument-detail__stamp::after { bottom:10px; }
.monument-detail__stamp span { position:relative; z-index:1; font-family:'Sora',sans-serif; font-size:25px; line-height:1; }
.monument-detail__stamp small { position:relative; z-index:1; margin-top:4px; color:rgba(255,249,241,.8); font-size:8px; font-weight:800; text-align:center; text-transform:uppercase; letter-spacing:.07em; }
.monument-detail__stamp--owned { color:#fff9f1; border-color:#e9b08a; background:#b95635; box-shadow:inset 0 0 0 3px rgba(255,249,241,.12),0 10px 20px rgba(15,37,39,.16); }
.monument-detail__stamp--owned small { color:#fff9f1; }
.monument-detail__stamp-image { position:absolute; z-index:2; top:54%; right:clamp(36px,6vw,72px); width:clamp(188px,19vw,228px); height:auto; transform:translateY(-50%); filter:drop-shadow(0 12px 14px rgba(7,24,26,.28)); pointer-events:none; }
.monument-detail__stamp--waiting { color:#dbc8b3; opacity:.78; }
.monument-detail-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:15px; margin-top:16px; }
.monument-info-card { min-height:201px; padding:22px; border:1px solid #d8d0c5; border-radius:15px; background:var(--paper); box-shadow:0 8px 18px rgba(23,54,58,.04); }
.monument-info-card--next { border-color:#cbdccf; background:#e7f0e9; }
.monument-info-card h3 { margin-top:7px; color:var(--ink); font-size:20px; letter-spacing:-.055em; }
.monument-info-card>p:not(.eyebrow) { max-width:570px; margin-top:10px; color:#6b7872; font-size:12px; line-height:1.55; }
.monument-info-card__rule { display:flex; align-items:center; gap:7px; margin-top:20px; padding-top:13px; border-top:1px solid #e4ddd2; color:#53756b; font-size:11px; font-weight:700; }
.monument-info-card__rule span { color:#3b7d6b; font-size:14px; }
.detail-disabled-action { display:inline-flex; align-items:center; gap:7px; margin-top:20px; color:#76847e; font-size:11px; font-weight:800; }
.detail-disabled-action span { color:#a87559; font-size:15px; }
.monument-detail-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:16px; padding:19px 22px; border:1px dashed #cdbfac; border-radius:14px; background:rgba(250,247,240,.65); }
.monument-detail-footer>div>p:not(.eyebrow) { margin-top:5px; color:#79847e; font-size:11px; }
.monument-detail-footer .secondary-action { flex:0 0 auto; }

/* Registros de conquista e revisitas */
.experience-form { max-width:860px; margin:0 auto; }
.experience-form .back-link { margin:2px 0 22px; }
.experience-form__intro { max-width:630px; }
.experience-form__intro h2 { margin-top:7px; color:var(--ink); font-size:clamp(29px,5vw,45px); letter-spacing:-.075em; line-height:1.03; }
.experience-form__intro>p:not(.eyebrow) { margin-top:12px; color:#68766f; font-size:13px; line-height:1.55; }
.experience-form__card { margin-top:24px; padding:25px; border:1px solid #d8d0c5; border-radius:18px; background:var(--paper); box-shadow:var(--shadow); }
.form-monument-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; border:1px solid #cfe0d5; border-radius:10px; color:#55766e; background:#edf4ef; }
.form-monument-summary span { color:#8f725f; font-family:'Sora',sans-serif; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.form-monument-summary strong { color:var(--ink); font-family:'Sora',sans-serif; font-size:13px; }
.experience-form__section { margin-top:31px; padding-top:29px; border-top:1px solid #e4dbcf; }
.experience-form__section--visit { margin-top:27px; padding-top:0; border-top:0; }
.experience-form__section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.experience-form__section-heading h3 { margin-top:5px; color:var(--ink); font-size:17px; letter-spacing:-.05em; }
.experience-form__section-heading>p { max-width:245px; margin-top:1px; color:#7a8780; font-size:11px; line-height:1.5; text-align:right; }
.field-grid { display:grid; grid-template-columns:1fr; gap:18px; margin-top:20px; }
.field,.upload-field { display:flex; flex-direction:column; gap:8px; color:#52645e; font-size:11px; font-weight:800; }
.field>span,.upload-field>span { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.field b { color:var(--rust); }
.field small,.upload-field small { color:#86918c; font-size:10px; font-weight:500; line-height:1.45; }
.field-info { position:relative; flex:0 0 auto; font-weight:400; }
.field-info summary { display:grid; place-items:center; width:17px; height:17px; border:1px solid #b8afa3; border-radius:50%; color:#6f7a74; cursor:pointer; font-family:'Sora',sans-serif; font-size:10px; font-weight:700; line-height:1; list-style:none; }
.field-info summary::-webkit-details-marker { display:none; }
.field-info summary:focus-visible { outline:3px solid rgba(198,90,50,.35); outline-offset:2px; }
.field-info p { position:absolute; z-index:3; top:23px; right:0; width:min(255px,calc(100vw - 70px)); margin:0; padding:10px 11px; border:1px solid #d9c5b8; border-radius:8px; color:#5f6d66; background:#fffdf9; box-shadow:0 10px 24px rgba(23,54,58,.13); font-size:10px; font-weight:500; line-height:1.45; }
.field input,.field textarea,.field select { width:100%; border:1px solid #d9cfc1; border-radius:9px; outline:0; color:var(--ink); background:#fffdf9; font:500 13px 'DM Sans',system-ui,sans-serif; transition:border-color .16s ease-out,box-shadow .16s ease-out; }
.field input,.field select { min-height:44px; padding:0 12px; }
.field textarea { min-height:158px; padding:12px; resize:vertical; line-height:1.55; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--rust); box-shadow:0 0 0 3px rgba(198,90,50,.13); }
.field--story { margin-top:20px; }
.upload-grid { display:grid; grid-template-columns:1fr; gap:14px; margin-top:20px; }
.upload-field { min-height:124px; padding:15px; border:1px dashed #c9beaf; border-radius:10px; background:#fbf8f2; }
.upload-field input { max-width:100%; color:#667770; font:500 11px 'DM Sans',system-ui,sans-serif; }
.photo-input-feedback { min-height:15px; color:#487766; font-size:10px; font-weight:700; }
.experience-form__actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:31px; padding-top:24px; border-top:1px solid #e6ded4; }
.primary-action--compact { display:inline-flex; width:max-content; margin-top:18px; padding:10px 13px; font-size:11px; }
.experience-timeline { margin-top:42px; padding-top:29px; border-top:1px solid #dcd2c4; }
.experience-timeline__heading { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.experience-timeline__heading h2 { margin-top:6px; color:var(--ink); font-size:21px; letter-spacing:-.06em; }
.experience-timeline__list { display:flex; flex-direction:column; gap:16px; margin-top:22px; }
.experience-card { position:relative; min-height:98px; }
.experience-card__open { position:absolute; z-index:1; inset:0; border-radius:14px; }
.experience-card__open:focus-visible { outline:3px solid rgba(198,90,50,.7); outline-offset:3px; }
.experience-card__content { position:relative; z-index:2; padding:19px; border:1px solid #d9d0c5; border-radius:14px; background:var(--paper); box-shadow:0 7px 16px rgba(23,54,58,.04); pointer-events:none; transition:transform .16s var(--ease),border-color .16s ease-out,box-shadow .16s ease-out; }
.experience-card:hover .experience-card__content { border-color:#9ebeb3; box-shadow:0 12px 21px rgba(23,54,58,.09); transform:translateY(-1px); }
.experience-card__meta { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#7c8781; font-size:10px; font-weight:700; }
.experience-type { padding:4px 7px; border-radius:5px; font-size:9px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.experience-type--achievement { color:#356b5f; background:#dbece2; }
.experience-type--revisit { color:#855c39; background:#f1e1d2; }
.experience-card h3 { margin-top:14px; color:var(--ink); font-size:16px; letter-spacing:-.045em; }
.experience-card__story { margin-top:9px; color:#697770; font-size:12px; line-height:1.58; }
.experience-card__photos { position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:14px; pointer-events:auto; }
.experience-card__photos button { display:block; padding:0; aspect-ratio:1/1; overflow:hidden; border-radius:7px; background:#e8e2d8; }
.experience-card__photos img { width:100%; height:100%; object-fit:cover; transition:transform .18s var(--ease); }
.experience-card__photos button:hover img { transform:scale(1.04); }
.experience-card__photos button:focus-visible,.experience-detail__gallery-grid button:focus-visible,.experience-detail__cover-photo:focus-visible { outline:3px solid rgba(198,90,50,.7); outline-offset:3px; }
.experience-card__footer { position:relative; z-index:3; display:flex; flex-wrap:wrap; gap:9px 13px; margin-top:15px; padding-top:12px; border-top:1px solid #e6ded4; color:#78857e; font-size:10px; font-weight:700; pointer-events:auto; }
.experience-card__footer a { color:var(--rust); }

/* Carimbo Diário Rota Biker — versão colorida no catálogo; monocromias preservam contraste nos demais fundos, sempre com respiro editorial. */
.monument-card--conquered .monument-card__body { position:relative; min-height:160px; padding-right:158px; }
.monument-card__stamp-image { position:absolute; right:18px; bottom:13px; width:136px; height:auto; opacity:.62; filter:none; mix-blend-mode:normal; pointer-events:none; }
.stamp-celebration { position:fixed; z-index:45; inset:0; display:grid; place-items:center; padding:30px; color:var(--ink); background:rgba(23,54,58,.22); opacity:0; pointer-events:none; transition:opacity .24s var(--ease); }
.stamp-celebration[hidden] { display:none !important; }
.stamp-celebration img { width:min(72vw,330px); height:auto; filter:drop-shadow(0 18px 22px rgba(7,24,26,.3)); transform:scale(.87) rotate(-7deg); transition:transform .48s cubic-bezier(.23,1,.32,1); }
.stamp-celebration--visible { opacity:1; }
.stamp-celebration--visible img { transform:scale(1) rotate(0); }
.experience-empty { display:flex; align-items:center; gap:13px; margin-top:16px; padding:19px; border:1px dashed #cbbfae; border-radius:13px; color:#748078; background:rgba(250,247,240,.68); font-size:12px; line-height:1.5; }
.experience-empty>span { display:grid; flex:0 0 auto; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--rust); background:var(--peach); font-size:16px; }
.existing-photos { margin-top:31px; padding-top:29px; border-top:1px solid #e4dbcf; }
.existing-photos__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.existing-photos h3 { margin-top:5px; color:var(--ink); font-size:15px; letter-spacing:-.045em; }
.existing-photos__heading>p { max-width:225px; margin-top:2px; color:#7a8780; font-size:11px; line-height:1.5; text-align:right; }
.existing-photos__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:13px; }
.existing-photo { position:relative; display:block; aspect-ratio:1/1; overflow:hidden; border-radius:9px; background:#e7e1d7; }
.existing-photo img { width:100%; height:100%; object-fit:cover; }
.existing-photo span { position:absolute; right:6px; bottom:6px; padding:5px 6px; border-radius:5px; color:#fff; background:rgba(23,54,58,.78); font-size:10px; font-weight:700; }
.existing-photo input { accent-color:var(--rust); }

/* Sistema de formulários — uma linguagem única para Perfil, frota, conquistas, convite, acesso e Administração. */
.field-group>label,.field>span,.upload-field>span,.catalog-select>span,.motorcycle-card__edit form>label>span { color:#4d625b; font-size:11px; font-weight:800; letter-spacing:.01em; }
.field-group input:not([type=hidden]),.field-group textarea,.field input:not([type=hidden]),.field textarea,.field select,.catalog-select select,.motorcycle-card__edit form>label>input { border-color:#d4cabd; border-radius:11px; background-color:#fffdf9; box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 1px 2px rgba(23,54,58,.025); transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background-color .16s var(--ease),transform .16s var(--ease); }
.field-group input:not([type=hidden]),.field input:not([type=hidden]),.field select,.catalog-select select,.motorcycle-card__edit form>label>input { min-height:46px; }
.field-group textarea,.field textarea { border-radius:12px; }
.field-group input::placeholder,.field textarea::placeholder,.field input::placeholder,.motorcycle-card__edit form>label>input::placeholder { color:#9aa29d; opacity:1; }
.field-group input:not([type=hidden]):focus-visible,.field-group textarea:focus-visible,.field input:not([type=hidden]):focus-visible,.field textarea:focus-visible,.field select:focus-visible,.catalog-select select:focus-visible,.motorcycle-card__edit form>label>input:focus-visible { border-color:#5f8c80; box-shadow:0 0 0 4px rgba(198,90,50,.13),0 5px 13px rgba(23,54,58,.075); }
.field-group input[aria-invalid="true"],.field-group textarea[aria-invalid="true"],.field input[aria-invalid="true"],.field textarea[aria-invalid="true"],.field select[aria-invalid="true"],.catalog-select select[aria-invalid="true"],.motorcycle-card__edit form>label>input[aria-invalid="true"] { border-color:#b8583b; background:#fff8f3; box-shadow:0 0 0 4px rgba(184,88,59,.12); }
.field-group input:disabled,.field-group textarea:disabled,.field input:disabled,.field textarea:disabled,.field select:disabled,.catalog-select select:disabled,.motorcycle-card__edit form>label>input:disabled { border-style:dashed; color:#88918c; background:#f1eee7; box-shadow:none; cursor:not-allowed; opacity:1; }
.field-group input[readonly],.field-group textarea[readonly],.field input[readonly],.field textarea[readonly],.motorcycle-card__edit form>label>input[readonly] { color:#68756f; background:#f7f3ec; }
.field select,.catalog-select select { appearance:none; padding-right:42px; background-image:linear-gradient(45deg,transparent 50%,#59776e 50%),linear-gradient(135deg,#59776e 50%,transparent 50%); background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px; background-repeat:no-repeat; background-size:5px 5px,5px 5px; }
.field-group input[type=file],.upload-field input[type=file] { min-height:52px; padding:6px; border:1px dashed #b8c9bf; border-radius:11px; color:#6b7b74; background:#f8fbf7; box-shadow:none; font:600 11px 'DM Sans',system-ui,sans-serif; cursor:pointer; }
.field-group input[type=file]::file-selector-button,.upload-field input[type=file]::file-selector-button { margin-right:11px; padding:9px 11px; border:0; border-radius:8px; color:#fff9f1; background:#285b50; font:800 10px 'DM Sans',system-ui,sans-serif; cursor:pointer; transition:background .16s var(--ease),transform .16s var(--ease); }
.field-group input[type=file]:hover::file-selector-button,.upload-field input[type=file]:hover::file-selector-button { background:#173f39; }
.field-group input[type=file]:active::file-selector-button,.upload-field input[type=file]:active::file-selector-button { transform:scale(.97); }
.field-group input[type=file]:focus-visible,.upload-field input[type=file]:focus-visible { border-color:#5f8c80; box-shadow:0 0 0 4px rgba(198,90,50,.13); }
.file-picker-control { display:block; position:relative; margin-top:7px; }
.file-picker-control__input { position:absolute; width:1px!important; height:1px!important; min-height:0!important; margin:-1px!important; padding:0!important; border:0!important; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; opacity:0; }
.file-picker-control__button { display:flex; align-items:center; min-height:52px; gap:10px; padding:6px 9px; border:1px dashed #b8c9bf; border-radius:11px; color:#687870; background:#f8fbf7; cursor:pointer; transition:border-color .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease); }
.file-picker-control__button:hover { border-color:#7fa292; background:#f2f8f3; }
.file-picker-control__input:focus-visible+.file-picker-control__button { border-color:#5f8c80; box-shadow:0 0 0 4px rgba(198,90,50,.13); }
.file-picker-control__action { display:inline-flex; align-items:center; flex:0 0 auto; min-height:34px; padding:0 11px; border-radius:8px; color:#fff9f1; background:#285b50; font:800 10px 'DM Sans',system-ui,sans-serif; }
.file-picker-control__name { min-width:0; overflow:hidden; color:#76847d; font:600 11px 'DM Sans',system-ui,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.file-picker-control--selected .file-picker-control__button { border-style:solid; border-color:#a5c6b7; background:#f2f8f3; }
.file-picker-control--selected .file-picker-control__action { background:#356b5f; }
.upload-field { border-color:#b8c9bf; background:linear-gradient(135deg,#f6faf6,#fbf8f2); }
.upload-field:hover { border-color:#7fa292; background:linear-gradient(135deg,#f1f8f2,#fbf8f2); }
.photo-input-feedback { min-height:17px; padding-left:2px; }
input[type=checkbox],input[type=radio] { width:17px; height:17px; margin:0; accent-color:var(--rust); vertical-align:middle; }
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible { outline:3px solid rgba(198,90,50,.25); outline-offset:2px; }
.motorcycle-card__edit form { display:grid; gap:10px; margin-top:13px; }
.motorcycle-card__edit form>label { display:grid; gap:6px; }
.motorcycle-card__edit form>label>input { width:100%; padding:0 11px; color:var(--ink); font:500 12px 'DM Sans',system-ui,sans-serif; }
.motorcycle-card__edit form>.secondary-action { justify-self:start; margin-top:2px; }

/* Frota de motocicletas — Estrada Editorial: uma garagem pessoal narrada por lembranças de rota, não por especificações técnicas. */
.motorcycles-page { max-width:960px; margin:0 auto; }
.motorcycles-page>.back-link { margin:2px 0 20px; }
.motorcycles-hero { position:relative; display:flex; align-items:center; justify-content:space-between; min-height:180px; overflow:hidden; padding:29px 34px; border:1px solid #d8cbbc; border-radius:18px; background:linear-gradient(108deg,#eadcc6 0%,#f4eadb 58%,#e7d7bf 100%); }
.motorcycles-hero::before { position:absolute; right:-46px; top:-67px; width:235px; height:235px; border:1px solid rgba(171,119,83,.18); border-radius:50%; box-shadow:0 0 0 24px rgba(255,253,249,.16),0 0 0 48px rgba(171,119,83,.06); content:''; }
.motorcycles-hero>div { position:relative; z-index:1; max-width:570px; }
.motorcycles-hero h2 { margin-top:7px; color:var(--ink); font-size:clamp(26px,4vw,39px); letter-spacing:-.072em; line-height:1.02; }
.motorcycles-hero>div>p:not(.eyebrow) { margin-top:12px; color:#65736d; font-size:12px; line-height:1.58; }
.motorcycles-hero__stamp { position:relative; z-index:1; display:grid; place-items:center; width:56px; height:56px; margin-right:10px; border:1px solid rgba(148,108,78,.34); border-radius:50%; color:#9a5938; background:rgba(255,253,248,.56); font-size:27px; }
.motorcycle-section { margin-top:31px; }
.motorcycle-section__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.motorcycle-section__heading h3,.motorcycle-add h3 { margin-top:5px; color:var(--ink); font-size:20px; letter-spacing:-.06em; }
.motorcycle-section__heading>span { padding-bottom:2px; color:#78847e; font-size:10px; font-weight:700; }
.motorcycle-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:16px; }
.motorcycle-card { display:flex; min-height:206px; flex-direction:column; padding:20px; border:1px solid #dcd2c4; border-radius:15px; background:#fffdf9; box-shadow:0 8px 18px rgba(23,54,58,.035); }
.motorcycle-card--default { border-color:#bdd6c9; background:linear-gradient(142deg,#eaf4ee,#fffdf9 78%); }
.motorcycle-card__top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.motorcycle-card__mark { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#9a5938; background:var(--peach); font-size:16px; }
.motorcycle-card__badge { padding:5px 7px; border-radius:999px; color:#477062; background:#dceee4; font-size:9px; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.motorcycle-card h4 { margin-top:18px; color:var(--ink); font-size:17px; letter-spacing:-.052em; line-height:1.15; }
.motorcycle-card>p { margin-top:7px; color:#718078; font-size:11px; line-height:1.48; }
.motorcycle-card__visits { display:flex; align-items:center; gap:4px; width:max-content; max-width:100%; margin-top:12px; color:#55766e; font-size:10px; font-weight:800; text-decoration:none; }
.motorcycle-card__visits strong { color:var(--rust); font-family:'Sora',sans-serif; font-size:18px; letter-spacing:-.05em; }
.motorcycle-card__visits span { margin-left:3px; color:var(--rust); font-size:13px; }
.motorcycle-card__visits:hover { color:var(--petrol); }
.motorcycle-card__footer { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:18px; }
.motorcycle-card__footer form { display:contents; }
.motorcycle-card__state { max-width:180px; color:#537669; font-size:10px; font-weight:700; line-height:1.45; }
.text-action--quiet { color:#88918b; }
.motorcycle-add { display:grid; grid-template-columns:minmax(0,.75fr) minmax(360px,1.25fr); align-items:center; gap:30px; margin-top:31px; padding:25px; border:1px solid #d8d0c5; border-radius:17px; background:var(--paper); }
.motorcycle-add>div>p:not(.eyebrow) { margin-top:9px; color:#74817a; font-size:11px; line-height:1.55; }
.motorcycle-add__form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.motorcycle-add__form .primary-action { grid-column:1/-1; justify-self:end; }
.motorcycle-section--history { margin-top:42px; padding-top:29px; border-top:1px solid #e2d9cd; }
.motorcycle-grid--retired .motorcycle-card { min-height:174px; border-style:dashed; background:#faf7f1; }
.motorcycle-card--retired .motorcycle-card__mark { color:#8a918c; background:#e8e6de; }
.motorcycle-card--retired .motorcycle-card__badge { color:#7a817b; background:#e8e6de; }
.motorcycles-empty { display:flex; align-items:center; gap:13px; margin-top:16px; padding:20px; border:1px dashed #cbbfae; border-radius:13px; color:#748078; background:rgba(250,247,240,.68); font-size:12px; line-height:1.5; }
.motorcycles-empty>span { display:grid; flex:0 0 auto; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--rust); background:var(--peach); font-size:17px; }
.motorcycle-visits { margin-top:31px; padding:23px; border:1px solid #c9dbd2; border-radius:17px; background:linear-gradient(112deg,#edf4ed,#fffdf9); }
.motorcycle-visits__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.motorcycle-visits__heading h3 { margin-top:5px; color:var(--ink); font-size:20px; letter-spacing:-.06em; }
.motorcycle-visits__heading .text-action { flex:0 0 auto; }
.motorcycle-visits__list { display:grid; gap:8px; margin-top:17px; }
.motorcycle-visit { display:flex; align-items:center; gap:11px; min-width:0; padding:10px 11px; border:1px solid #d9e3dc; border-radius:11px; color:inherit; background:#fffdf9; text-decoration:none; transition:transform .16s var(--ease),border-color .16s var(--ease); }
.motorcycle-visit:hover { transform:translateY(-1px); border-color:#9ebeb3; }
.motorcycle-visit img,.motorcycle-visit__mark { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:8px; color:#9a5938; background:var(--peach); font-size:16px; object-fit:cover; }
.motorcycle-visit>span:not(.motorcycle-visit__mark) { min-width:0; }
.motorcycle-visit small { display:block; color:#78817b; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.motorcycle-visit strong { display:block; overflow:hidden; margin-top:4px; color:var(--petrol); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.motorcycle-visit>b { margin-left:auto; color:var(--rust); font-size:15px; }

/* Fatia 4 — companheiros, referências geográficas e trajetos privados. */
.nearby-route { display:grid; grid-template-columns:minmax(0,.85fr) minmax(300px,1.15fr); align-items:center; gap:18px; margin-top:16px; padding:21px; border:1px solid #c8d7d0; border-radius:17px; background:linear-gradient(112deg,#edf4ed,#f9f4ec); box-shadow:0 9px 21px rgba(23,54,58,.045); }
.nearby-route__copy { display:flex; flex-direction:column; align-items:flex-start; }
.nearby-route__copy h3,.monument-map-section h2,.participants-hero h2,.participant-journey h2,.participant-stories h2 { margin-top:7px; color:var(--ink); font-size:20px; letter-spacing:-.06em; }
.nearby-route__copy>p:not(.eyebrow),.monument-map-section__heading p,.participants-hero>div>p:not(.eyebrow),.participant-detail__copy>p,.participant-journey__empty { margin-top:9px; color:#697770; font-size:12px; line-height:1.58; }
.nearby-route__action { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; margin-top:18px; padding:0 17px; border:1px solid var(--rust); border-radius:10px; color:#fff9f1; background:var(--rust); box-shadow:0 8px 16px rgba(198,90,50,.24); font:800 12px 'DM Sans',system-ui,sans-serif; transition:transform .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease); }
.nearby-route__action:hover { background:var(--rust-dark); box-shadow:0 11px 20px rgba(169,77,44,.28); }
.nearby-route__action:active { transform:scale(.97); }
.nearby-route__action:disabled { opacity:.7; cursor:wait; }
.nearby-route__status { min-height:17px; margin-top:12px!important; color:#688076!important; font-size:10px!important; font-weight:700; }
.nearby-route__result { display:block; width:100%; margin-top:4px; padding:10px 11px; border:1px solid #b9d1c4; border-radius:8px; color:#285b50; background:rgba(255,253,249,.78); font-size:11px; font-weight:800; line-height:1.4; }
.quick-card--companions { border-color:#c9ded4; background:#eff6f0; }
.quick-card--companions .quick-card__icon { color:#356b5f; background:#d7e9de; }
.map-canvas { width:100%; height:clamp(240px,27vw,340px); min-height:0; overflow:hidden; border:1px solid #c8d5ce; border-radius:12px; background:linear-gradient(145deg,#d9e6df,#f0e7da); }
.map-canvas.leaflet-container { width:100%; font:inherit; }
.map-canvas .leaflet-control-attribution { font:500 .67rem/1.2 'DM Sans',sans-serif; color:#52635e; background:rgba(255,253,248,.84); }
.map-canvas .leaflet-control-attribution a { color:#375b56; }
.map-canvas .leaflet-control-attribution { padding:2px 5px; color:#66766e; background:rgba(255,253,249,.88); font:9px 'DM Sans',system-ui,sans-serif; }
.map-canvas .leaflet-control-attribution a { color:#53776c; }
.map-canvas .leaflet-control-zoom a { color:#285b50; border-color:#d7cdc0; background:#fffdf9; }
.monument-map-section { margin-top:16px; padding:20px; border:1px solid #d7d0c5; border-radius:15px; background:var(--paper); box-shadow:0 8px 18px rgba(23,54,58,.04); }
.monument-map-section__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:16px; }
.monument-map-section__heading>div { max-width:630px; }
.map-attribution-note { flex:0 0 auto; margin-top:3px; color:#7c8a83; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.map-canvas--nearby { height:clamp(260px,29vw,360px); }
.map-canvas--monument { height:clamp(280px,31vw,390px); }
.text-button { padding:0; border:0; color:var(--rust); background:transparent; font:700 10px 'DM Sans',system-ui,sans-serif; cursor:pointer; }
.text-button:disabled { color:#9aa49e; cursor:wait; }
.participants-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:0 2px; }
.participants-hero>div:first-child { max-width:590px; }
.participants-hero h2 { font-size:clamp(28px,4vw,39px); }
.participants-hero__note { display:flex; align-items:flex-start; gap:8px; max-width:260px; color:#63766e; font-size:11px; font-weight:700; line-height:1.5; }
.participants-hero__note>span:first-child { color:#3b7d6b; font-size:15px; }
.participants-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; }
.participant-card { display:flex; min-height:230px; flex-direction:column; padding:18px; border:1px solid #d9d0c5; border-radius:15px; color:var(--ink); background:var(--paper); box-shadow:0 7px 16px rgba(23,54,58,.04); transition:transform .18s var(--ease),border-color .18s ease-out,box-shadow .18s ease-out; }
.participant-card:hover { transform:translateY(-3px); border-color:#9ebeb3; box-shadow:0 14px 26px rgba(23,54,58,.1); }
.participant-card.participant-card--discover { padding:0; overflow:hidden; }
.participant-card__profile { display:flex; flex:1; min-height:0; flex-direction:column; padding:18px 18px 12px; color:inherit; transition:background .16s ease-out; }
.participant-card__profile:hover { background:#fffdf9; }
.participant-card__action { padding:0 18px 18px; }
.participant-card__action form { display:block; }
.participant-card__friend-action { width:100%; min-height:38px; justify-content:center; padding:0 12px; font-size:10px; }
.participant-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:13px; }
.participant-card__avatar,.participant-detail__avatar { display:grid; overflow:hidden; place-items:center; flex:0 0 auto; color:#fff9f1; background:var(--petrol); font-family:'Sora',sans-serif; font-weight:700; }
.participant-card__avatar { width:48px; height:48px; border-radius:50%; font-size:14px; }
.participant-card__avatar img,.participant-detail__avatar img { width:100%; height:100%; object-fit:cover; }
.participant-card__progress { padding:6px 8px; border-radius:7px; color:#678076; background:#e7f1eb; font-size:10px; font-weight:700; }
.participant-card__progress strong { color:#285b50; font-family:'Sora',sans-serif; font-size:15px; letter-spacing:-.06em; }
.participant-card__identity h3 { margin-top:17px; font-size:16px; letter-spacing:-.05em; }
.participant-card__identity p { margin-top:5px; color:#78847f; font-size:11px; }
.participant-card__route { display:flex; flex-direction:column; gap:7px; margin-top:15px; color:#65736d; font-size:10px; }
.participant-card__club,.participant-detail__club { display:inline-flex; align-items:center; gap:6px; color:#526d63; font-weight:800; }
.participant-card__club img,.participant-detail__club img { width:18px; height:18px; border-radius:50%; object-fit:contain; background:#e4ebe5; }
.participant-card__footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:13px; border-top:1px solid #e7dfd4; color:#7a8780; font-size:10px; font-weight:700; }
.participant-card__footer>span:last-child { color:var(--rust); font-size:18px; }
.participants-empty { display:flex; align-items:center; gap:15px; margin-top:24px; padding:22px; border:1px dashed #cbbfae; border-radius:15px; background:rgba(250,247,240,.67); }
.participants-empty>span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:var(--rust); background:var(--peach); font-size:20px; }
.participants-empty h3 { margin-top:5px; color:var(--ink); font-size:16px; letter-spacing:-.045em; }
.participants-empty p:not(.eyebrow) { margin-top:6px; color:#758078; font-size:12px; }
.participant-detail__hero { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px; padding:25px; border-radius:18px; color:#fff9f1; background:radial-gradient(circle at 86% 8%,rgba(198,90,50,.45),transparent 23%),linear-gradient(120deg,#17363a,#28565a); box-shadow:var(--shadow); }
.participant-detail__avatar { width:86px; height:86px; border:2px solid rgba(255,249,241,.52); border-radius:50%; background:#c65a32; font-size:24px; }
.participant-detail__avatar--interactive { padding:0; cursor:zoom-in; box-shadow:0 5px 14px rgba(0,0,0,.16); transition:transform .16s var(--ease),box-shadow .16s var(--ease); }
.participant-detail__avatar--interactive:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.22); }
.participant-detail__copy h2 { margin-top:7px; font-size:clamp(27px,4vw,39px); letter-spacing:-.075em; }
.participant-detail__copy>p { color:rgba(255,249,241,.75); }
.participant-detail__club { margin-top:13px; color:#e9b08a; font-size:11px; }
.participant-detail__club img { background:rgba(255,249,241,.8); }
.participant-detail__progress { display:flex; flex-direction:column; align-items:center; min-width:90px; color:#e9b08a; text-align:center; }
.participant-detail__progress strong { display:inline-flex; align-items:baseline; gap:4px; font-family:'Sora',sans-serif; font-size:34px; line-height:.9; letter-spacing:-.055em; white-space:nowrap; }
.participant-detail__progress strong small { display:inline-block; color:rgba(255,249,241,.65); font-size:16px; letter-spacing:-.02em; line-height:1; }
.participant-detail__progress span { margin-top:7px; color:rgba(255,249,241,.65); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
/* Capa de relato: cartão quadrado, lembrança fotográfica sem arquivo derivado e carta de rota quando não há imagem. */
.experience-detail__cover { position:relative; isolation:isolate; width:min(100%,640px); margin:0 auto; overflow:hidden; aspect-ratio:1; border:1px solid rgba(52,78,72,.12); border-radius:21px; background:#f3eee2; box-shadow:0 18px 37px rgba(23,54,58,.13); }
.experience-detail__cover-photo { display:block; width:100%; height:100%; padding:0; background:#24494a; }
.experience-detail__cover-photo img { width:100%; height:100%; object-fit:cover; transition:transform .24s var(--ease); }
.experience-detail__cover-photo:hover img { transform:scale(1.026); }
.experience-detail__cover-scrim { position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(14,35,35,.34) 0%,rgba(14,35,35,.02) 37%,rgba(14,35,35,.05) 57%,rgba(14,35,35,.72) 100%); }
.experience-detail__cover-stamp { position:absolute; z-index:2; top:7.5%; right:6.5%; width:clamp(94px,25%,156px); height:auto; filter:drop-shadow(0 2px 1px rgba(7,24,25,.42)) drop-shadow(0 7px 10px rgba(8,26,29,.26)); transform:rotate(-11deg); }
.experience-detail__cover-stamp--graphite { filter:drop-shadow(0 5px 8px rgba(106,73,51,.13)); opacity:.79; }
.experience-detail__cover-date { position:absolute; z-index:2; bottom:7%; left:7%; display:grid; gap:3px; color:#fffaf2; font-family:'Sora',system-ui,sans-serif; text-shadow:0 2px 10px rgba(7,24,25,.42); }
.experience-detail__cover-date span { font-size:clamp(8px,1.8vw,10px); font-weight:800; letter-spacing:.12em; line-height:1.1; text-transform:uppercase; }
.experience-detail__cover-date strong { font-size:clamp(13px,2.7vw,17px); font-weight:800; letter-spacing:.055em; line-height:1.1; }
.experience-detail__cover--route-card { color:#244d47; background:linear-gradient(150deg,#fcf8ee 0%,#f0e7d8 100%); }
.experience-detail__cover--route-card .experience-detail__cover-scrim { background:linear-gradient(180deg,rgba(255,253,247,.14) 0%,rgba(255,253,247,.04) 50%,rgba(47,74,67,.1) 100%); }
.experience-detail__cover--route-card .experience-detail__cover-date { color:#345d55; text-shadow:none; }
.experience-detail__route-art { position:absolute; inset:0; overflow:hidden; }
.experience-detail__route-contour { position:absolute; border:1px solid rgba(78,113,100,.15); border-radius:50%; }
.experience-detail__route-contour--one { top:-27%; left:-19%; width:88%; height:77%; transform:rotate(18deg); }
.experience-detail__route-contour--two { right:-31%; bottom:-17%; width:101%; height:88%; transform:rotate(-28deg); }
.experience-detail__route-contour--three { top:34%; left:5%; width:68%; height:43%; transform:rotate(-17deg); }
.experience-detail__route-line { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.experience-detail__route-line path { fill:none; stroke:#356960; stroke-width:1.35; stroke-dasharray:2.1 2.8; stroke-linecap:round; }
.experience-detail__route-marker { position:absolute; top:42%; left:40%; display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(176,83,45,.35); border-radius:50%; color:#a94d2c; background:rgba(255,250,241,.76); box-shadow:0 7px 14px rgba(143,70,39,.12); font-size:19px; line-height:1; transform:rotate(-8deg); }
.experience-detail__context { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(210px,.65fr); gap:13px; margin-top:18px; }
.experience-detail__monument,.experience-detail__author { display:flex; align-items:center; min-width:0; border:1px solid #ded4c6; border-radius:13px; color:var(--ink); background:var(--paper); box-shadow:0 7px 16px rgba(23,54,58,.04); transition:transform .16s var(--ease),border-color .16s ease-out,box-shadow .16s ease-out; }
.experience-detail__monument:hover,.experience-detail__author:hover { transform:translateY(-2px); border-color:#9ebeb3; box-shadow:0 12px 21px rgba(23,54,58,.09); }
.experience-detail__monument { gap:12px; padding:13px; }
.experience-detail__monument-number { display:grid; flex:0 0 auto; place-items:center; width:43px; height:43px; border-radius:10px; color:#a94d2c; background:#f3e3d5; font-family:'Sora',sans-serif; font-size:13px; font-weight:800; letter-spacing:-.04em; }
.experience-detail__monument small,.experience-detail__author small,.experience-detail__road-item small { display:block; color:#89928b; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.experience-detail__monument strong,.experience-detail__author strong,.experience-detail__road-item strong { display:block; overflow:hidden; margin-top:3px; font-size:13px; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }
.experience-detail__monument em { display:block; overflow:hidden; margin-top:3px; color:#75817a; font-size:10px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.experience-detail__monument-arrow { margin-left:auto; color:#a94d2c; font-size:17px; font-style:normal; }
.experience-detail__author { gap:9px; padding:13px; }
.experience-detail__author img,.experience-detail__author>span[aria-hidden="true"] { display:grid; flex:0 0 auto; place-items:center; width:38px; height:38px; border-radius:50%; color:#fff9f1; background:var(--petrol); object-fit:cover; font-family:'Sora',sans-serif; font-size:11px; font-weight:800; }
.experience-detail__author>span:not([aria-hidden="true"]) { min-width:0; }
.experience-detail__author>i { margin-left:auto; color:#a94d2c; font-size:15px; font-style:normal; }
.experience-detail__grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr); gap:17px; margin-top:18px; }
.experience-detail__story-card,.experience-detail__road-card,.experience-detail__gallery { border:1px solid #ded4c6; border-radius:17px; background:var(--paper); box-shadow:0 7px 16px rgba(23,54,58,.04); }
.experience-detail__story-card { padding:27px; }
.experience-detail__story-card h2,.experience-detail__gallery h2 { margin-top:6px; font-size:21px; letter-spacing:-.06em; }
.experience-detail__story { margin-top:20px; color:#48605a; font-size:14px; line-height:1.75; }
.experience-detail__edit { margin-top:22px; }
.experience-detail__road-card { align-self:start; padding:22px; }
.experience-detail__road-item { display:flex; align-items:center; gap:10px; margin-top:15px; padding-bottom:14px; border-bottom:1px solid #e8e0d5; }
.experience-detail__road-item>span { display:grid; flex:0 0 auto; place-items:center; width:30px; height:30px; border-radius:50%; color:#a94d2c; background:#f3e3d5; font-size:15px; }
.experience-detail__road-empty { margin-top:14px; color:#7c8881; font-size:11px; line-height:1.5; }
.experience-detail__gallery { margin-top:18px; padding:25px; }
.experience-detail__gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:18px; }
.experience-detail__gallery-grid button { display:block; padding:0; overflow:hidden; aspect-ratio:1.18; border-radius:10px; background:#e6ded2; }
.experience-detail__gallery-grid img { width:100%; height:100%; object-fit:cover; transition:transform .2s var(--ease); }
.experience-detail__gallery-grid button:hover img { transform:scale(1.04); }
.experience-gallery-open { overflow:hidden; }
.experience-gallery-modal[hidden] { display:none!important; }
.experience-gallery-modal { position:fixed; z-index:30; inset:0; display:grid; place-items:center; padding:clamp(15px,4vw,42px); background:rgba(10,27,29,.88); }
.experience-gallery-modal__panel { position:relative; display:grid; grid-template-rows:minmax(0,1fr) auto auto; width:min(100%,950px); max-height:100%; padding:14px; border:1px solid rgba(255,249,241,.2); border-radius:17px; color:#fff9f1; background:#17363a; box-shadow:0 24px 60px rgba(0,0,0,.36); }
.experience-gallery-modal__panel>img { display:block; width:100%; max-height:min(72vh,720px); object-fit:contain; border-radius:10px; background:#10292c; }
.experience-gallery-modal__caption { min-height:18px; margin-top:11px; padding-right:44px; color:rgba(255,249,241,.86); font-size:11px; line-height:1.45; }
.experience-gallery-modal__close { position:absolute; z-index:1; top:21px; right:21px; display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,249,241,.35); border-radius:50%; color:#fff9f1; background:rgba(15,37,39,.7); font-size:23px; line-height:1; }
.experience-gallery-modal__controls { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:9px; }
.experience-gallery-modal__controls button { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,249,241,.32); border-radius:50%; color:#fff9f1; background:rgba(255,249,241,.08); font-size:17px; transition:transform .16s var(--ease),background .16s var(--ease); }
.experience-gallery-modal__controls button:hover { background:rgba(255,249,241,.16); }
.experience-gallery-modal__controls button:active,.experience-gallery-modal__close:active { transform:scale(.94); }
.experience-gallery-modal__controls button:disabled { opacity:.35; cursor:default; }
.experience-gallery-modal__controls span { min-width:48px; color:#e9b08a; text-align:center; font-size:10px; font-weight:800; letter-spacing:.05em; }
.experience-gallery-modal button:focus-visible { outline:3px solid #e9b08a; outline-offset:3px; }
.experience-detail__map { margin-top:18px; }
.participant-bio { margin-top:16px; padding:20px 22px; border-left:3px solid var(--rust); background:#f4eee4; }
.participant-bio>p:not(.eyebrow) { max-width:760px; margin-top:8px; color:#52645d; font-size:13px; line-height:1.65; }
.participant-journey { margin-top:23px; padding:22px; border:1px solid #d9d0c5; border-radius:15px; background:var(--paper); }
.participant-journey__heading,.participant-stories__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.participant-journey__heading>span { color:var(--rust); font-family:'Sora',sans-serif; font-size:26px; font-weight:700; letter-spacing:-.08em; }
.participant-journey__bar { height:8px; margin-top:19px; overflow:hidden; border-radius:99px; background:#e6ddd1; }
.participant-journey__bar span { display:block; height:100%; border-radius:99px; background:var(--rust); }
.participant-stamps { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }
.participant-stamps a { display:inline-flex; align-items:center; gap:7px; max-width:100%; padding:7px 9px; border:1px solid #d7e3da; border-radius:7px; color:#50675e; background:#f0f6f1; font-size:10px; font-weight:700; }
.participant-stamps a:hover { border-color:#93b8a9; }
.participant-stamps strong { color:#2f6b5d; font-family:'Sora',sans-serif; font-size:10px; }
.participant-journey__empty { margin-top:17px!important; }
.participant-stories { margin-top:24px; }
.participant-story-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:16px; }
.participant-story { display:grid; grid-template-columns:55px minmax(0,1fr) auto; gap:12px; align-items:center; min-height:93px; padding:10px; border:1px solid #d9d0c5; border-radius:12px; color:var(--ink); background:var(--paper); }
.participant-story>img,.participant-story__mark { width:55px; height:55px; border-radius:8px; }
.participant-story>img { object-fit:cover; }
.participant-story__mark { display:grid; place-items:center; color:var(--rust); background:#eee4d7; font-size:20px; }
.participant-story__copy { min-width:0; }
.participant-story__copy small,.participant-story__copy>span { display:block; overflow:hidden; color:#76827c; font-size:10px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.participant-story__copy strong { display:block; overflow:hidden; margin:4px 0; color:var(--ink); font-size:12px; letter-spacing:-.035em; text-overflow:ellipsis; white-space:nowrap; }
.participant-story__arrow { color:var(--rust); font-size:17px; }

@media (min-width:820px) { .app-content{padding-top:46px}.empty-journal__meta{display:inline-flex} }

/* Direção visual: ficha de diário neutra — retrato amplo sobre cartão de identidade; blocos condicionais em sequência; jornada no encerramento. */
.identity-panel { position:relative; display:grid; place-items:center; min-height:190px; margin:72px 0 20px; padding:78px 26px 28px; border:1px solid #e7d7bd; border-radius:22px; background:radial-gradient(circle at 86% 22%,rgba(205,154,91,.16) 0 44px,transparent 45px),linear-gradient(112deg,#f2e5d0,#e7d6be); box-shadow:0 16px 34px rgba(39,53,47,.08); text-align:center; }
.identity-panel__avatar { position:absolute; z-index:1; top:-54px; left:50%; display:grid; width:142px; height:142px; place-items:center; overflow:hidden; border:6px solid #f8f5ed; border-radius:50%; background:#0b4d4c; box-shadow:0 12px 26px rgba(27,45,40,.2); color:#f8f5ed; font-size:2rem; font-weight:800; transform:translateX(-50%); }
.identity-panel__avatar img { width:100%; height:100%; object-fit:cover; }
button.identity-panel__avatar { padding:0; cursor:zoom-in; }
.identity-panel__copy { display:grid; justify-items:center; }
.identity-panel__copy h2 { margin:0; color:#123d3d; font-size:clamp(1.55rem,3vw,2.15rem); letter-spacing:-.055em; }
.identity-panel__copy p { margin:8px 0 0; color:#5d665d; font-size:.9rem; font-weight:700; }
.identity-panel__copy p span { color:#bf6035; }
.identity-panel__action { align-self:center; padding:12px 16px; border:1px solid #d7bfa3; border-radius:10px; background:rgba(255,255,255,.55); color:#6e452e; font-size:.78rem; font-weight:800; text-decoration:none; white-space:nowrap; transition:transform 160ms cubic-bezier(.23,1,.32,1),background 160ms cubic-bezier(.23,1,.32,1); }
.identity-panel__action:hover { background:#fffaf2; transform:translateY(-1px); }
.identity-panel--editing { margin-bottom:26px; }
.profile-sheet--refined,.participant-sheet { display:grid; gap:16px; max-width:1020px; margin:0 auto; }
.identity-biography { padding:0 4px 6px; color:#405046; }
.identity-biography .eyebrow { margin-bottom:8px; }
.identity-biography > p:last-child { max-width:65ch; margin:0; font-family:Georgia,serif; font-size:1.02rem; line-height:1.7; }
.identity-detail-card { display:flex; align-items:center; min-height:92px; gap:15px; padding:17px 20px; border:1px solid #d9ded3; border-radius:16px; background:#fffdf8; box-shadow:0 9px 22px rgba(41,58,49,.045); }
.identity-detail-card__icon { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; border-radius:50%; background:#f5e4d1; color:#b75832; font-size:1.05rem; }
.identity-detail-card--club .identity-detail-card__icon { background:#e9f2ed; color:#34725c; }
.identity-detail-card__logo-button { display:grid; width:42px; height:42px; flex:0 0 42px; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; cursor:zoom-in; transition:transform .16s var(--ease),box-shadow .16s var(--ease); }
.identity-detail-card__logo-button:hover { transform:translateY(-1px); box-shadow:0 6px 14px rgba(41,58,49,.16); }
.identity-detail-card__logo-button:focus-visible { outline:3px solid rgba(198,90,50,.46); outline-offset:3px; }
.identity-detail-card__logo { display:block; width:42px; height:42px; flex:0 0 42px; border-radius:50%; object-fit:cover; }
.identity-detail-card__logo-button .identity-detail-card__logo { width:100%; height:100%; flex:0 0 auto; }
.identity-detail-card div { display:grid; gap:2px; }
.identity-detail-card small { color:#9d6649; font-size:.66rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.identity-detail-card strong { color:#163f3f; font-size:1rem; }
.identity-detail-card em { color:#67736b; font-size:.78rem; font-style:normal; }
.profile-sheet--refined .profile-journey { margin-top:4px; }
.participant-detail { max-width:1020px; margin:0 auto; }
.participant-detail .back-link { display:none; }
.identity-panel--participant { margin-top:72px; }
.participant-sheet .participant-journey { margin:4px 0 0; }
.participant-sheet .participant-journey__heading .eyebrow { color:#9d6649; }
.participant-detail + .profile-photo-modal + .participant-sheet { margin-top:0; }

@media (max-width:700px) {
  .identity-panel { min-height:162px; margin:58px 0 18px; padding:64px 18px 20px; border-radius:18px; }
  .identity-panel__avatar { top:-42px; left:50%; width:112px; height:112px; border-width:5px; }
  .identity-panel__copy h2 { font-size:1.45rem; }
  .identity-panel__copy p { margin-top:5px; font-size:.76rem; }
  .identity-detail-card { min-height:82px; padding:14px 15px; border-radius:14px; }
  .identity-detail-card__icon,.identity-detail-card__logo-button { width:38px; height:38px; flex-basis:38px; }
  .identity-detail-card__logo { width:38px; height:38px; flex-basis:38px; }
  .identity-biography { padding:0 2px 4px; }
  .identity-biography > p:last-child { font-size:.94rem; }
  .profile-sheet--refined,.participant-sheet { gap:13px; }
  .identity-panel--participant { margin-top:58px; }
}
@media (max-width:760px) { .auth-page{display:block}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:32px 22px 40px}.auth-heading{margin-top:49px} }
@media (max-width:760px) { .catalog-filter-panel form{align-items:stretch;flex-direction:column}.catalog-filter-controls{width:100%}.catalog-select{flex:1 1 170px}.catalog-select--state{flex-basis:100%}.catalog-select select{width:100%} }
@media (max-width:560px) { .app-header{min-height:88px;padding:15px 17px}.header-actions{gap:8px}.header-admin-link span:last-child{display:none}.header-admin-link{width:28px;justify-content:center}.header-logout{font-size:10px}.app-content{width:min(100% - 28px,540px);padding-top:25px}.dashboard-intro{align-items:flex-start;flex-direction:column;gap:13px}.progress-card{padding:20px}.destination-card{min-height:285px}.quick-grid{gap:10px}.quick-card{min-height:142px;padding:16px}.quick-card strong{font-size:12px}.dashboard-insights{grid-template-columns:1fr;gap:10px}.dashboard-insight{min-height:0;padding:18px}.dashboard-insight--group{min-height:150px}.dashboard-insight__copy{max-width:67%}.dashboard-insight__art{right:5%;width:51%;opacity:.68}.empty-journal{align-items:flex-start;padding:18px}.empty-journal__icon{width:38px;height:38px}.field-row{grid-template-columns:1fr;gap:16px}.profile-form,.profile-sheet{padding:19px}.profile-form__footer,.admin-toolbar,.admin-footer{align-items:stretch;flex-direction:column}.profile-form__footer .primary-action,.profile-form__footer .secondary-action,.admin-toolbar .primary-action,.account-deletion__form .danger-action{width:100%;justify-content:center}.profile-hero{align-items:flex-start;padding:19px}.profile-edit-action{position:absolute;right:16px;top:16px}.profile-hero__copy{padding-right:2px}.profile-facts{grid-template-columns:1fr}.profile-sheet__heading>span{display:none}.profile-photo-modal{padding:18px}.profile-photo-modal__close{top:-10px;right:-6px}.access-summary,.access-name-card{align-items:flex-start;flex-direction:column}.copy-value{width:100%}.list-heading{display:none}.invite-row{grid-template-columns:minmax(0,1fr) auto;padding:15px}.invite-row .status-pill{grid-column:1;grid-row:2;justify-self:start;margin-left:26px}.invite-row__actions{grid-column:2;grid-row:1/span 2}.admin-summary{flex-direction:column;gap:10px}.auth-panel__stamp{display:none}.auth-footer{align-items:flex-start;flex-direction:column}.admin-toolbar{align-items:flex-start}.catalog-hero{align-items:flex-start;flex-direction:column;padding:23px}.catalog-progress-summary{width:100%;min-width:0}.catalog-progress-summary strong{font-size:30px}.catalog-filter-panel{padding:16px}.monument-grid{grid-template-columns:1fr}.monument-card{min-height:0}.monument-status{max-width:145px}.catalog-results__heading{align-items:flex-start}.monument-detail__hero{min-height:278px;padding:20px}.monument-detail__hero-copy{right:20px;bottom:22px;left:20px}.monument-detail__hero h2{font-size:34px}.monument-detail__stamp{top:85px;right:22px;width:62px;height:62px}.monument-detail__stamp span{font-size:22px}.monument-detail__stamp small{font-size:8px}.monument-detail-grid{grid-template-columns:1fr}.monument-detail-footer{align-items:flex-start;flex-direction:column;padding:18px}.monument-detail-footer .secondary-action{width:100%;justify-content:center} }
@media (max-width:560px) { .dashboard-insight__art{right:5%;bottom:10px} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important} }

@media (max-width:620px) { .experience-form__card{padding:18px}.field-grid,.upload-grid{grid-template-columns:1fr}.form-monument-summary{align-items:flex-start;flex-direction:column}.experience-form__actions{align-items:stretch;flex-direction:column-reverse}.experience-form__actions .primary-action,.experience-form__actions .secondary-action{width:100%;justify-content:center}.experience-timeline__heading{align-items:flex-start;flex-direction:column}.experience-timeline__heading .secondary-action{width:100%;justify-content:center}.experience-timeline__list{grid-template-columns:1fr}.existing-photos__grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:760px) { .nearby-route{grid-template-columns:1fr;padding:18px}.map-canvas{height:250px}.map-canvas--nearby{height:260px}.map-canvas--monument{height:290px}.monument-map-section{padding:18px}.monument-map-section__heading{flex-direction:column;gap:9px}.participants-hero{align-items:flex-start;flex-direction:column}.participants-hero__note{max-width:330px}.participants-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.participant-card{min-height:218px;padding:15px}.participant-card__identity h3{font-size:14px}.participant-detail__hero{grid-template-columns:auto minmax(0,1fr);gap:15px;padding:20px}.participant-detail__avatar{width:65px;height:65px;font-size:18px}.participant-detail__progress{grid-column:1/-1;align-items:flex-start;flex-direction:row;gap:8px}.participant-detail__progress span{margin-top:0}.participant-journey,.participant-bio{padding:18px}.participant-story-list{grid-template-columns:1fr}.participant-stories__heading{align-items:flex-start;flex-direction:column}.participant-stories__heading .secondary-action{width:100%;justify-content:center}.experience-detail__cover{width:100%;border-radius:18px}.experience-detail__cover-stamp{top:7%;right:6%;width:27%}.experience-detail__route-copy{left:8%;bottom:13%;max-width:72%}.experience-detail__context,.experience-detail__grid{grid-template-columns:1fr}.experience-detail__gallery,.experience-detail__story-card,.experience-detail__road-card{padding:19px}.experience-detail__gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:420px) { .participants-grid{grid-template-columns:1fr}.participant-card{min-height:0}.nearby-route .secondary-action{width:100%;justify-content:center}.map-canvas--monument{height:260px} }

/* Administração — no mobile, o resumo mantém hierarquia e as ações de acesso ocupam uma linha confortável. */
@media (max-width:560px) { .admin-participants-card{grid-template-columns:auto minmax(0,1fr) auto}.admin-participants-card .count-badge{grid-column:2;justify-self:start}.admin-participants-card__arrow{grid-column:3;grid-row:1/span 2}.admin-participants-page__intro{align-items:flex-start;flex-direction:column;gap:13px}.participant-list--admin{padding:4px 15px}.participant-list--admin .participant-row{align-items:flex-start;flex-wrap:wrap}.participant-list--admin .participant-row form{width:100%}.participant-list--admin .text-action{width:100%;min-height:38px;margin-top:2px;padding:0 11px;border:1px solid #e1d3c3;border-radius:10px;background:#fffdf9;text-align:left} }

@media (min-width:621px) { .field-grid--visit { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:680px) { .motorcycles-hero{min-height:0;padding:23px 21px}.motorcycles-hero__stamp{display:none}.motorcycle-grid{grid-template-columns:1fr}.motorcycle-add{grid-template-columns:1fr;gap:20px;padding:20px}.motorcycle-add__form{grid-template-columns:1fr}.motorcycle-add__form .primary-action{width:100%;justify-content:center}.motorcycle-section__heading{align-items:flex-start;flex-direction:column;gap:7px}.motorcycle-section__heading>span{padding:0}.motorcycle-card{min-height:188px}.motorcycle-card__footer{align-items:flex-start;flex-direction:column}.motorcycle-card__state{max-width:none}.motorcycles-page .back-link{margin-bottom:16px} }

/* Estados de processamento — rota discreta em movimento, feedback imediato no botão e envio de fotos sem percentual artificial. */
.route-loading{position:fixed;z-index:90;top:max(12px,env(safe-area-inset-top));left:50%;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:9px 13px;border:1px solid rgba(133,102,73,.24);border-radius:999px;color:#fdf8ef;background:rgba(23,54,58,.96);box-shadow:0 14px 28px rgba(23,54,58,.22);font:700 11px 'DM Sans',system-ui,sans-serif;letter-spacing:.01em;opacity:0;pointer-events:none;transform:translate(-50%,-9px);transition:opacity .18s var(--ease),transform .18s var(--ease)}.route-loading[hidden]{display:none}.route-is-busy .route-loading{opacity:1;transform:translate(-50%,0)}.route-loading__track{position:relative;display:block;flex:0 0 auto;width:30px;height:10px;overflow:hidden}.route-loading__track::before{position:absolute;top:4px;right:0;left:0;height:2px;border-radius:999px;background:rgba(233,176,138,.45);content:""}.route-loading__track i{position:absolute;z-index:1;top:1px;left:0;width:8px;height:8px;border:2px solid #17363a;border-radius:50%;background:#e9b08a;box-shadow:0 0 0 2px rgba(233,176,138,.16)}.button--processing{gap:8px!important;cursor:wait!important;opacity:.92}.button--processing:active{transform:none!important}.button-processing__spinner{display:inline-block;flex:0 0 auto;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%}.form--uploading .upload-field,.form--uploading .file-picker-control__button{border-color:#9bbbac;background:#f0f7f2}.file-picker-control--processing .file-picker-control__action{position:relative;padding-left:28px;background:#356b5f}.file-picker-control--processing .file-picker-control__action::before{position:absolute;top:50%;left:11px;width:10px;height:10px;margin-top:-6px;border:2px solid #fff9f1;border-right-color:transparent;border-radius:50%;content:""}.form--processing .photo-input-feedback{color:#356b5f;font-weight:800}@media (prefers-reduced-motion:no-preference){.route-is-busy .route-loading__track i{animation:route-loading-marker 1.05s linear infinite}.button--processing .button-processing__spinner,.file-picker-control--processing .file-picker-control__action::before{animation:route-loading-spin .72s linear infinite}@keyframes route-loading-marker{0%{transform:translateX(-2px)}72%{transform:translateX(23px)}100%{transform:translateX(23px)}}@keyframes route-loading-spin{to{transform:rotate(360deg)}}}@media (max-width:480px){.route-loading{top:max(9px,env(safe-area-inset-top));padding:8px 11px;font-size:10px}.route-loading__track{width:26px}}

/* Refinamento móvel do painel: o diário e os quatro destinos não podem ampliar a largura da página. */
@media (max-width:640px) {
  .dashboard-journal { padding:18px; overflow:hidden; }
  .dashboard-journal__heading { align-items:flex-start; gap:10px; }
  .journal-preview { display:grid; grid-template-columns:37px minmax(0,1fr) auto; gap:10px; min-width:0; }
  .journal-preview__copy { width:100%; min-width:0; }
  .journal-preview__copy small { display:block; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .bottom-nav { grid-template-columns:repeat(5,minmax(0,1fr)); width:calc(100% - 24px); min-width:0; padding:7px 7px; overflow:visible; }
  .bottom-nav__item { min-width:0; gap:2px; padding:5px 1px; }
  .bottom-nav__icon { width:31px; height:28px; }
  .bottom-nav__icon svg { width:19px; height:19px; }
  .bottom-nav__item small { display:block; max-width:100%; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
}

/* Atualização de otimização de fotos: arquivo versionado para renovar o cache da interface sem mudança visual. */

/* Gestão de monumentos — diretório de marcos à esquerda e mesa de edição à direita, com superfícies minerais e leitura operacional. */
.admin-participants-card--monuments .admin-participants-card__icon { color:#9c4b2e; background:#f1dfcf; }
.admin-monuments-page { max-width:1180px; }
.admin-monuments-page__intro { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-top:19px; }
.admin-monuments-page__intro h2 { margin-top:8px; color:var(--ink); font-size:clamp(28px,5vw,42px); font-weight:650; letter-spacing:-.07em; line-height:1.02; }
.admin-monuments-page__intro p:not(.eyebrow) { max-width:570px; margin-top:11px; color:#71807a; font-size:13px; line-height:1.6; }
.admin-monuments-layout { display:grid; grid-template-columns:minmax(285px,.82fr) minmax(0,1.68fr); gap:22px; align-items:start; margin-top:25px; }
.admin-monuments-directory,.admin-monument-editor { border:1px solid #ded4c6; border-radius:17px; background:rgba(250,247,240,.84); box-shadow:0 12px 25px rgba(23,54,58,.045); }
.admin-monuments-directory { position:sticky; top:22px; padding:19px; }
.admin-monuments-directory__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.admin-monuments-directory__heading h3,.admin-monument-editor__heading h3 { margin-top:5px; color:#244d47; font-size:20px; letter-spacing:-.055em; line-height:1.14; }
.admin-monuments-directory__heading .secondary-action { flex:0 0 auto; padding:8px 10px; font-size:10px; }
.admin-monuments-filter { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; margin-top:18px; }
.admin-monuments-filter label:first-of-type { grid-column:1/-1; }
.admin-monuments-filter input,.admin-monuments-filter select { width:100%; min-height:39px; padding:9px 10px; border:1px solid #d9cfc1; border-radius:10px; outline:none; color:var(--ink); background:#fffdf8; font:600 11px 'DM Sans',system-ui,sans-serif; transition:border-color .16s var(--ease),box-shadow .16s var(--ease); }
.admin-monuments-filter input:focus,.admin-monuments-filter select:focus { border-color:#b98968; box-shadow:0 0 0 3px rgba(198,90,50,.12); }
.admin-monuments-filter .text-action { min-height:39px; padding:0 10px; border:1px solid #e1d3c3; border-radius:10px; background:#fffaf4; transition:transform .16s var(--ease),background .16s var(--ease); }
.admin-monuments-filter .text-action:hover { background:#f4eadc; }
.admin-monuments-filter .text-action:active { transform:scale(.97); }
.admin-monuments-directory__list { display:grid; gap:8px; max-height:min(590px,calc(100vh - 300px)); margin-top:16px; padding-right:3px; overflow-y:auto; scrollbar-color:#cdb9a2 transparent; scrollbar-width:thin; }
.admin-monuments-directory__empty { margin:3px 0; padding:16px; border:1px dashed #cfbfad; border-radius:12px; color:#71807a; background:#fffdf8; font-size:11px; line-height:1.5; }
.admin-monument-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; min-height:66px; padding:10px; border:1px solid #e1d7c9; border-radius:12px; color:inherit; background:#fffdf8; transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease); }
.admin-monument-item:hover { border-color:#c8a989; background:#fffaf4; box-shadow:0 7px 14px rgba(23,54,58,.055); transform:translateY(-1px); }
.admin-monument-item:focus-visible { outline:3px solid rgba(198,90,50,.24); outline-offset:2px; }
.admin-monument-item:active { transform:scale(.99); }
.admin-monument-item.is-active { border-color:#7aa094; background:#edf5ef; box-shadow:inset 3px 0 0 #39715f; }
.admin-monument-item__number { display:grid; place-items:center; min-width:36px; min-height:36px; padding:0 6px; border-radius:9px; color:#9c4b2e; background:#f4e4d6; font:800 10px 'Sora',system-ui,sans-serif; letter-spacing:-.04em; }
.admin-monument-item.is-active .admin-monument-item__number { color:#245e4e; background:#d8ebdf; }
.admin-monument-item__copy { display:grid; min-width:0; gap:3px; }
.admin-monument-item__copy strong,.admin-monument-item__copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-monument-item__copy strong { color:#244d47; font:700 11px 'Sora',system-ui,sans-serif; letter-spacing:-.04em; }
.admin-monument-item__copy small { color:#71807a; font-size:10px; }
.admin-monument-item__status { max-width:83px; color:#9a674b; font-size:9px; font-weight:800; line-height:1.2; text-align:right; }
.admin-monument-item.is-active .admin-monument-item__status { color:#39715f; }
.admin-monument-editor { padding:24px; background:var(--paper); }
.admin-monument-editor__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:0 2px 20px; border-bottom:1px solid #e3d9cc; }
.admin-monument-editor__heading>div>p:not(.eyebrow) { max-width:620px; margin-top:9px; color:#71807a; font-size:12px; line-height:1.55; }
.admin-monument-editor__heading .text-action { flex:0 0 auto; padding-top:4px; }
.admin-monument-form { margin-top:20px; border:0; box-shadow:none; }
.admin-monument-form .field-grid { gap:14px; }
.admin-monument-form .check-row { margin-top:20px; }
.admin-monument-form .profile-form__footer { margin-top:24px; }

@media (max-width:920px) {
  .admin-monuments-layout { grid-template-columns:1fr; }
  .admin-monuments-directory { position:static; }
  .admin-monuments-directory__list { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:430px; }
}

@media (max-width:620px) {
  .admin-monuments-page__intro { align-items:flex-start; flex-direction:column; gap:12px; }
  .admin-monuments-page__intro .count-badge { align-self:flex-start; }
  .admin-monuments-layout { gap:15px; margin-top:19px; }
  .admin-monuments-directory,.admin-monument-editor { padding:16px; border-radius:15px; }
  .admin-monuments-directory__heading { align-items:flex-start; flex-direction:column; }
  .admin-monuments-directory__heading .secondary-action { width:100%; justify-content:center; }
  .admin-monuments-filter { grid-template-columns:1fr; }
  .admin-monuments-filter label:first-of-type { grid-column:auto; }
  .admin-monuments-filter .text-action { width:100%; }
  .admin-monuments-directory__list { grid-template-columns:1fr; max-height:390px; }
  .admin-monument-item { min-height:70px; }
  .admin-monument-editor__heading { align-items:flex-start; flex-direction:column; gap:10px; padding-bottom:17px; }
  .admin-monument-editor__heading .text-action { padding-top:0; }
  .admin-monument-editor__heading h3 { font-size:18px; }
  .admin-monument-form { margin-top:17px; padding:0; }
}

/* A ficha refinada não herda a moldura de formulário da composição anterior. */
.profile-sheet--refined { margin-top:0; padding:0; border:0; border-radius:0; background:transparent; }
@media (max-width:560px) { .profile-sheet--refined { padding:0; } }

/* Carimbo Diário Rota Biker — escala protetiva para o título e a cidade no mobile. */
@media (max-width:560px) {
  .monument-detail__stamp-image { top:63px; right:21px; width:150px; transform:none; }
  .monument-card--conquered .monument-card__body { min-height:156px; padding-right:144px; }
  .monument-card__stamp-image { right:14px; bottom:11px; width:122px; }
  .stamp-celebration img { width:min(78vw,285px); }
}
@media (max-width:420px) {
  .monument-detail__stamp-image { top:61px; right:16px; width:132px; }
  .monument-card--conquered .monument-card__body { min-height:150px; padding-right:132px; }
  .monument-card__stamp-image { right:12px; bottom:10px; width:112px; }
}
.settings-link-card{display:flex;align-items:center;gap:12px;margin-top:12px;padding:17px 18px;border:1px solid #d7e1db;border-radius:14px;color:inherit;background:#f8fbf8;box-shadow:0 8px 18px rgba(23,54,58,.035);transition:transform .16s ease-out,border-color .16s ease-out}.settings-link-card:hover{border-color:#89aaa0;transform:translateY(-1px)}.settings-link-card>span:nth-child(2){display:grid;gap:3px;min-width:0}.settings-link-card small{color:#5d7b72;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.settings-link-card strong{color:#244d47;font-size:13px}.settings-link-card em{color:#71807a;font-size:10px;font-style:normal;line-height:1.4}.settings-link-card>b{margin-left:auto;color:var(--rust);font-size:18px}.my-invitation{max-width:650px}.my-invitation__intro h2{margin-top:8px;color:var(--ink);font-size:clamp(28px,5vw,42px);font-weight:650;letter-spacing:-.065em;line-height:1.02}.my-invitation__intro h2 em{color:var(--rust);font-style:normal}.my-invitation__intro>p:not(.eyebrow){max-width:540px;margin-top:13px;color:#71807a;font-size:13px;line-height:1.65}.capacity-strip{display:flex;align-items:center;gap:11px;margin-top:22px;padding:14px 16px;border:1px solid #d6dfd8;border-radius:13px;color:#244d47;background:#f7faf7}.capacity-strip>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#356b5f;background:#dcece3}.capacity-strip p{display:grid;gap:3px}.capacity-strip strong{font-size:12px}.capacity-strip p span{color:#71807a;font-size:10px}.invite-share-card{margin-top:24px;padding:22px;border:1px solid #d6dfd8;border-radius:17px;background:var(--paper);box-shadow:0 12px 25px rgba(23,54,58,.055)}.invite-share-card h3{margin-top:4px;color:var(--ink);font-family:'Sora',sans-serif;font-size:20px;letter-spacing:-.05em}.invite-share-card header>p:not(.eyebrow){margin-top:7px;color:#71807a;font-size:11px}.invite-share-card__qr{display:grid;place-items:center;width:202px;height:202px;margin:21px auto 13px;padding:13px;border:1px solid #e4dbce;border-radius:14px;background:#fbf8f0}.invite-share-card__qr img{display:block;max-width:100%;height:auto}.invite-share-card__link{display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 9px 8px 12px;border:1px solid #e4dbce;border-radius:11px;background:#fffdf9}.invite-share-card__link code{flex:1;min-width:0;color:#4d655f;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-share-card__link .copy-value{flex:0 0 auto;min-height:31px;padding:0 10px;font-size:10px}.invite-share-card__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.invite-decline{display:flex;justify-content:center;margin-top:14px}.settings-card--invite{margin-top:24px}.participant-row__email{display:inline-flex;width:max-content;margin-top:6px;padding:4px 6px;border-radius:999px;color:#96553e;background:#f1dfd0;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.participant-row__email--verified{color:#356b5f;background:#dcece3}.admin-notice{display:flex;align-items:flex-start;gap:13px;margin:24px 0;padding:17px 18px;border:1px solid #d7e1db;border-radius:14px;background:#f7faf7}.admin-notice>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#356b5f;background:#dcece3}.admin-notice strong{color:#244d47;font-size:12px}.admin-notice p{margin-top:4px;color:#71807a;font-size:11px;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px}.form-grid .field{display:grid;gap:7px}.form-grid .field>span{color:#597069;font-size:10px;font-weight:800}.form-grid .field small{color:#8a9993;font-size:9px}.form-grid input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d6dfd8;border-radius:10px;color:#244d47;background:#fffdf9;font:inherit;font-size:12px}.form-grid input:focus{outline:2px solid rgba(198,90,50,.2);border-color:#c65a32}.invite-row__code>div{display:grid;gap:3px}.invite-row__code>div span{color:#798681;font-size:9px}.invite-row__code>div span:last-child{color:#9a8274}.status-pill--available{color:#356b5f;background:#dcece3}.invite-row__actions{display:flex;justify-content:flex-end;gap:7px}.invite-row__actions form{display:contents}.invite-row__actions button{display:grid;place-items:center;width:31px;height:31px;border:1px solid #d6dfd8;border-radius:9px;color:#556b65;background:#fffdf9;font-size:16px;transition:transform .16s ease-out,border-color .16s ease-out}.invite-row__actions button:hover{border-color:#c65a32;color:#c65a32}.invite-row__actions button:active{transform:scale(.97)}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .primary-action,.form-grid .secondary-action{width:100%;justify-content:center}.invite-share-card__actions{align-items:stretch;flex-direction:column}.invite-share-card__actions .secondary-action{justify-content:center}.settings-link-card{align-items:flex-start}.invite-share-card__qr{width:188px;height:188px}}@media(max-width:560px){.my-invitation__intro h2{font-size:31px}.capacity-strip{align-items:flex-start}.invite-share-card{padding:18px}.invite-share-card__link{align-items:stretch;flex-direction:column}.invite-share-card__link .copy-value{width:100%}}
.friendship-context{display:flex;align-items:center;gap:14px;margin-top:18px;padding:16px 18px;border:1px solid #cfe0d6;border-radius:15px;background:#f4f9f5;box-shadow:0 8px 18px rgba(23,54,58,.035)}.friendship-context__icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;color:#396a60;background:#dbece2;font-size:16px;font-weight:800}.friendship-context__icon--friend{color:#fffdf9;background:#3c7a68}.friendship-context>div{min-width:0}.friendship-context strong{display:block;margin-top:3px;color:#244d47;font-size:12px;line-height:1.35}.friendship-context p:not(.eyebrow){margin-top:3px;color:#71807a;font-size:10px;line-height:1.45}.friendship-context>form,.friendship-context>a{flex:0 0 auto;margin-left:auto}.friendship-context__actions{display:flex;align-items:center;gap:8px;margin-left:auto}.friendship-context__actions form{flex:0 0 auto}.friendships-page{max-width:760px}.friendships-page__intro h2{margin-top:8px;color:var(--ink);font-size:clamp(30px,5vw,44px);letter-spacing:-.07em;line-height:1.02}.friendships-page__intro h2 em{color:var(--rust);font-style:normal}.friendships-page__intro>p:not(.eyebrow){max-width:620px;margin-top:12px;color:#71807a;font-size:13px;line-height:1.62}.friendship-notice{display:flex;align-items:center;gap:13px;margin-top:23px;padding:18px;border:1px solid #d7e1db;border-radius:15px;background:#f7faf7}.friendship-notice>span{display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:9px;color:#356b5f;background:#dcece3;font-size:15px;font-weight:800}.friendship-notice div{min-width:0}.friendship-notice strong{color:#244d47;font-size:12px}.friendship-notice p{margin-top:3px;color:#71807a;font-size:10px;line-height:1.45}.friendship-notice>a{flex:0 0 auto;margin-left:auto}.friendship-section{margin-top:28px}.friendship-section header>h3{margin-top:5px;color:var(--ink);font-size:19px;letter-spacing:-.055em}.friendship-section header>p:not(.eyebrow){max-width:580px;margin-top:7px;color:#71807a;font-size:11px;line-height:1.5}.friendship-list{display:grid;gap:9px;margin-top:14px}.friendship-row{display:flex;align-items:center;gap:13px;padding:12px 13px;border:1px solid #ded5c8;border-radius:13px;background:var(--paper);box-shadow:0 6px 14px rgba(23,54,58,.03)}.friendship-row--friend{border-color:#cbded3;background:#f7fbf7}.friendship-row--quiet{border-style:dashed;background:#fbf9f4}.friendship-person{display:flex;align-items:center;gap:10px;min-width:0}.friendship-person__avatar{display:grid;overflow:hidden;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;color:#fff9f1;background:var(--petrol);font-family:'Sora',sans-serif;font-size:10px;font-weight:800}.friendship-person__avatar img{width:100%;height:100%;object-fit:cover}.friendship-person>span:last-of-type{display:grid;gap:3px;min-width:0}.friendship-person strong{overflow:hidden;color:#244d47;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.friendship-person small{overflow:hidden;color:#71807a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.friendship-person>b{margin-left:3px;color:var(--rust);font-size:15px}.friendship-row__actions{display:flex;align-items:center;gap:7px;margin-left:auto}.friendship-row__actions form{flex:0 0 auto}.friendship-row__actions .primary-action,.friendship-row__actions .secondary-action{min-height:35px;padding:0 11px;font-size:10px}.friendship-row__date{margin-left:auto;color:#78857f;font-size:10px;font-weight:700;white-space:nowrap}.friendship-empty{display:flex;align-items:center;gap:10px;margin-top:13px;padding:15px;border:1px dashed #cfc3b2;border-radius:13px;color:#71807a;background:rgba(250,247,240,.72);font-size:11px;line-height:1.5}.friendship-empty>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:#a95737;background:#f1dfcf;font-size:15px}.friendship-section--blocks{margin-top:35px;padding-top:23px;border-top:1px solid #dfd7cc}.friendship-back{display:inline-flex;margin-top:30px}@media(max-width:620px){.friendship-context{align-items:flex-start;flex-wrap:wrap}.friendship-context>form,.friendship-context>a,.friendship-context__actions{margin-left:48px}.friendship-context>form,.friendship-context>a{width:calc(100% - 48px)}.friendship-context>form .primary-action,.friendship-context>a.secondary-action{width:100%;justify-content:center}.friendship-row{align-items:flex-start;flex-wrap:wrap}.friendship-row__actions{width:100%;margin-left:46px}.friendship-row__actions form{flex:1}.friendship-row__actions .primary-action,.friendship-row__actions .secondary-action{width:100%;justify-content:center}.friendship-row__date{margin-left:46px}.friendship-notice{align-items:flex-start;flex-wrap:wrap}.friendship-notice>a{width:calc(100% - 45px);margin-left:45px;justify-content:center}}
.friendship-context--request{padding-block:13px}.friendship-context--request .eyebrow{margin:0;white-space:nowrap}@media(max-width:620px){.friendship-context--request{align-items:center;flex-wrap:nowrap}.friendship-context--request>form{width:auto;margin-left:auto}.friendship-context--request>form .primary-action{width:auto}}

/* Amigos de rota — faixa ilustrada fixa, pessoas e progresso reais, cartões amplos para leitura confortável. */
.friends-page{max-width:760px}.friends-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:26px}.friends-hero--illustrated{position:relative;isolation:isolate;display:block;min-height:226px;padding:28px 28px 21px;overflow:hidden;border:1px solid #e0d6c8;border-radius:20px;background:#f8f1e4 url('/assets/faixa-rota-amigos-ilustrada.webp') center/cover no-repeat;box-shadow:0 10px 25px rgba(23,54,58,.045)}.friends-hero--illustrated::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(180deg,rgba(255,252,246,.1),rgba(255,252,246,.18))}.friends-hero__copy{position:relative;z-index:1;max-width:100%;text-align:center}.friends-hero h2{color:#244d47;font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,4.3vw,38px);font-weight:700;letter-spacing:-.045em;line-height:1.04}.friends-hero__copy>p{margin-top:8px;color:#71807a;font-size:13px;line-height:1.5}.friends-hero__companions{position:absolute;z-index:1;bottom:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:center;min-height:74px}.friends-hero__avatars{display:flex;align-items:center;justify-content:center;min-width:0}.friend-avatar{display:grid;overflow:hidden;place-items:center;width:100%;height:100%;border-radius:50%;color:#fff9f1;background:var(--petrol);font-family:'Sora',system-ui,sans-serif;font-size:10px;font-weight:800}.friend-avatar img{width:100%;height:100%;object-fit:cover}.friends-hero__avatar{width:68px;height:68px;margin-left:22px;border:3px solid #fffaf1;box-shadow:0 6px 14px rgba(23,54,58,.16)}.friends-hero__avatar:first-child{margin-left:0}.friends-tabs{margin-top:24px}.friends-tabs__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #ded5c8;border-radius:14px;background:#e9e4da}.friends-tabs__tab{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:41px;padding:0 8px;border-radius:10px;color:#65726c;background:transparent;font-size:11px;font-weight:800;transition:background .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease),transform .16s var(--ease)}.friends-tabs__tab[aria-selected=true]{color:#244d47;background:#fffdf9;box-shadow:0 3px 8px rgba(23,54,58,.09)}.friends-tabs__tab:active{transform:scale(.97)}.friends-tabs__tab:focus-visible{outline:2px solid rgba(198,90,50,.54);outline-offset:2px}.friends-tabs__tab span{display:grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;color:#fff9f1;background:var(--rust);font-size:8px;line-height:1}.friends-panel{margin-top:26px}.friends-panel[hidden]{display:none}.friends-panel__heading h3{max-width:520px;margin-top:5px;color:var(--ink);font-size:21px;font-weight:650;letter-spacing:-.055em;line-height:1.14}.friends-panel__heading>p:not(.eyebrow){max-width:490px;margin-top:8px;color:#71807a;font-size:11px;line-height:1.55}.friends-road-list,.friends-request-list{display:grid;gap:13px;margin-top:17px}.friends-road-card{position:relative;display:flex;min-height:104px;border:1px solid #cfe0d6;border-radius:18px;background:#f8fbf8;box-shadow:0 9px 20px rgba(23,54,58,.055);transition:transform .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}.friends-road-card:hover{border-color:#89aaa0;box-shadow:0 13px 25px rgba(23,54,58,.085);transform:translateY(-1px)}.friends-road-card__link{display:grid;grid-template-columns:68px minmax(0,1fr) 112px 20px;align-items:center;flex:1;gap:14px;min-width:0;padding:17px 62px 17px 17px}.friends-road-card__avatar{width:68px;height:68px;box-shadow:0 3px 9px rgba(23,54,58,.12)}.friends-road-card__copy{display:grid;gap:7px;min-width:0}.friends-road-card__copy strong{overflow:hidden;color:#244d47;font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:700;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.friends-road-card__copy small{overflow:hidden;color:#71807a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.friends-road-card__copy small::before{content:'⌖';margin-right:5px;color:#8a8177;font-size:13px}.friends-road-card__progress{display:grid;gap:7px;min-width:0;text-align:left}.friends-road-card__progress b{color:#244d47;font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:700;letter-spacing:-.035em}.friends-road-card__track{display:block;width:100%;height:4px;overflow:hidden;border-radius:99px;background:#d8d6d0}.friends-road-card__track i{display:block;width:var(--friend-progress);height:100%;border-radius:inherit;background:var(--rust)}.friends-road-card__arrow{color:#244d47;font-size:32px;font-weight:300;line-height:1}.friends-card-menu{position:absolute;top:15px;right:13px;z-index:2;transform:none}.friends-card-menu__trigger{display:grid;place-items:center;width:35px;height:35px;padding:0;border:1px solid transparent;border-radius:10px;color:#65726c;background:transparent;transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease)}.friends-card-menu__trigger:hover,.friends-card-menu__trigger[aria-expanded=true]{border-color:#d7cec1;color:#244d47;background:#fffdf9}.friends-card-menu__trigger span{display:block;margin-top:-4px;font-size:15px;font-weight:900;letter-spacing:1px;line-height:1}.friends-card-menu__panel{position:absolute;top:42px;right:0;display:grid;min-width:180px;padding:5px;border:1px solid #ded4c6;border-radius:12px;background:#fffdf9;box-shadow:0 15px 26px rgba(23,54,58,.16)}.friends-card-menu__panel[hidden]{display:none}.friends-card-menu__panel form{display:contents}.friends-card-menu__action{width:100%;min-height:35px;padding:0 9px;border-radius:8px;color:#45635c;background:transparent;font-size:10px;font-weight:800;text-align:left;transition:background .16s var(--ease),color .16s var(--ease)}.friends-card-menu__action:hover{color:#244d47;background:#f4eadc}.friends-card-menu__action--danger{color:#a95737}.friends-card-menu__action--danger:hover{color:#944127;background:#f5ded7}.friends-request-card{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #ded5c8;border-radius:15px;background:var(--paper);box-shadow:0 7px 16px rgba(23,54,58,.03)}.friends-request-card__person{display:flex;align-items:center;gap:11px;min-width:0}.friends-request-card__avatar{flex:0 0 auto;width:42px;height:42px}.friends-request-card__person>span{display:grid;gap:3px;min-width:0}.friends-request-card__person strong{overflow:hidden;color:#244d47;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.friends-request-card__person small{overflow:hidden;color:#71807a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.friends-request-card__person em{overflow:hidden;color:#a15c41;font-size:9px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.friends-request-card__actions{display:flex;align-items:center;gap:7px;margin-left:auto}.friends-request-card__actions form{flex:0 0 auto}.friends-request-card__actions .primary-action,.friends-request-card__actions .secondary-action{min-height:36px;padding:0 11px;font-size:10px;white-space:nowrap}.friends-outgoing{margin-top:29px;padding-top:24px;border-top:1px solid #dfd7cc}.friends-outgoing h4{margin-top:5px;color:#3e5d56;font-size:14px;font-weight:700;letter-spacing:-.03em}.friends-empty{display:flex;align-items:center;gap:12px;margin-top:15px;padding:17px;border:1px dashed #cfc3b2;border-radius:14px;color:#71807a;background:rgba(250,247,240,.72);font-size:11px;line-height:1.5}.friends-empty__route{flex:0 0 auto}.friends-empty--compact{margin-top:16px}.friends-discover-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:6px;padding:23px;border:1px solid #cfe0d6;border-radius:17px;background:#f7faf7;box-shadow:0 9px 20px rgba(23,54,58,.035)}.friends-discover-card__route{grid-column:1/-1}.friends-discover-card__route i:nth-child(2){width:100%;min-width:48px;max-width:220px}.friends-discover-card h3{margin-top:5px;color:#244d47;font-size:20px;font-weight:650;letter-spacing:-.055em}.friends-discover-card p:not(.eyebrow){max-width:395px;margin-top:7px;color:#71807a;font-size:11px;line-height:1.55}.friends-discover-card .primary-action{white-space:nowrap}@media(max-width:620px){.friends-hero--illustrated{min-height:210px;padding:25px 18px 17px}.friends-hero h2{font-size:28px}.friends-hero__copy>p{font-size:12px}.friends-hero__companions{bottom:13px;left:12px;right:12px}.friends-hero__avatar{width:61px;height:61px;margin-left:13px}.friends-road-card__link{grid-template-columns:60px minmax(0,1fr) 90px 18px;gap:11px;padding:16px 58px 16px 16px}.friends-road-card__avatar{width:60px;height:60px}.friends-road-card__copy strong{font-size:19px}.friends-road-card__copy small{font-size:11px}.friends-road-card__progress b{font-size:17px}.friends-road-card__arrow{font-size:27px}.friends-request-card{align-items:flex-start;flex-wrap:wrap;gap:13px}.friends-request-card__actions{width:calc(100% - 53px);margin-left:53px}.friends-request-card__actions form{flex:1}.friends-request-card__actions .primary-action,.friends-request-card__actions .secondary-action{width:100%;justify-content:center}.friends-discover-card{grid-template-columns:1fr;gap:16px}.friends-discover-card .primary-action{justify-content:center}.friends-card-menu__panel{right:-2px}}@media(max-width:390px){.friends-hero--illustrated{min-height:200px}.friends-hero__avatar{width:54px;height:54px;margin-left:7px}.friends-tabs__tab{padding:0 4px;font-size:10px}.friends-road-card{min-height:108px}.friends-road-card__link{grid-template-columns:58px minmax(0,1fr) 15px;gap:10px;padding:15px 57px 15px 15px}.friends-road-card__avatar{width:58px;height:58px}.friends-road-card__copy{gap:5px}.friends-road-card__copy strong{font-size:18px}.friends-road-card__progress{position:absolute;left:83px;right:68px;bottom:15px;display:flex;align-items:center;gap:8px}.friends-road-card__progress b{font-size:15px}.friends-road-card__track{flex:1}.friends-road-card__arrow{font-size:24px}}
/* Hotfix Amigos de rota: o cartão com o menu aberto sobe acima dos cartões posteriores. */
.friends-road-card{z-index:0}.friends-road-card--menu-open{z-index:12}.friends-card-menu__panel{z-index:2}

/* Hotfix Amigos de rota: Sora nos títulos e números mantém a faixa e os cartões na mesma voz tipográfica do Diário. */
.friends-hero h2,.friends-road-card__copy strong,.friends-road-card__progress b{font-family:'Sora',system-ui,sans-serif}.friends-hero h2{font-weight:650;letter-spacing:-.06em}.friends-road-card__copy strong{font-weight:650;letter-spacing:-.055em}.friends-road-card__progress b{font-weight:650;letter-spacing:-.05em}

/* Refinamento de navegação: cartões e botões já deixam claro o toque; setas decorativas saem para uma leitura mais limpa. */
.primary-action>span[aria-hidden="true"],.secondary-action>span[aria-hidden="true"],.text-action>span[aria-hidden="true"],.friend-story-preview__arrow,.journal-preview>span[aria-hidden="true"],.journal-entry__arrow,.participant-story__arrow,.friends-road-card__arrow,.friends-discover>b[aria-hidden="true"],.settings-link-card>b[aria-hidden="true"],.friendship-row>b[aria-hidden="true"],.participant-card__footer>span:last-child,.experience-detail__monument-arrow,.experience-detail__author>i[aria-hidden="true"],.account-deletion summary>b[aria-hidden="true"]{display:none}.friend-story-preview{grid-template-columns:48px minmax(0,1fr)}.participant-story{grid-template-columns:55px minmax(0,1fr)}.participant-card__footer{justify-content:flex-start}.friends-discover{grid-template-columns:34px minmax(0,1fr)}.friends-road-card__link{grid-template-columns:68px minmax(0,1fr) 112px}@media(max-width:620px){.friends-road-card__link{grid-template-columns:60px minmax(0,1fr) 90px}.journal-preview{grid-template-columns:37px minmax(0,1fr)}}@media(max-width:390px){.friends-road-card__link{grid-template-columns:58px minmax(0,1fr)}}
.friendship-person>b[aria-hidden="true"],.friends-feed__more>span[aria-hidden="true"]{display:none}
.friends-discovery-search{position:relative;display:flex;align-items:center;margin-top:18px;border:1px solid #d7e1db;border-radius:13px;background:#fffdf9;box-shadow:0 6px 15px rgba(23,54,58,.035);transition:border-color .16s ease-out,box-shadow .16s ease-out}.friends-discovery-search:focus-within{border-color:#7da79a;box-shadow:0 0 0 3px rgba(125,167,154,.16)}.friends-discovery-search__icon{flex:0 0 auto;width:18px;height:18px;margin-left:14px;fill:none;stroke:#678076;stroke-linecap:round;stroke-width:1.8}.friends-discovery-search input{width:100%;min-width:0;height:45px;padding:0 38px 0 10px;border:0!important;border-radius:inherit!important;color:#244d47;background:transparent!important;box-shadow:none!important;font:inherit;font-size:12px}.friends-discovery-search input::placeholder{color:#7a8780;opacity:1}.friends-discovery-search input:focus{outline:0!important}.friends-discovery-search__clear{position:absolute;right:8px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;color:#5d756c;background:#edf3ee;font-size:20px;line-height:1;transition:transform .16s var(--ease),background .16s var(--ease)}.friends-discovery-search__clear:hover{background:#dfeae2}.friends-discovery-search__clear:active{transform:scale(.94)}.friends-discovery-no-results{margin-top:14px;padding:16px 17px;border:1px dashed #cfc3b2;border-radius:13px;color:#71807a;background:rgba(250,247,240,.72);font-size:11px;line-height:1.5}.friends-discovery-grid{margin-top:14px}.friends-discovery-grid .participant-card[hidden]{display:none!important}

/* Dashboard administrativo — resumo real, atividade e atalhos operacionais. */
.admin-dashboard { margin-top:26px; padding:22px; border:1px solid #ded4c6; border-radius:17px; background:rgba(250,247,240,.72); box-shadow:0 10px 24px rgba(23,54,58,.035); }
.admin-dashboard__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.admin-dashboard__heading h3 { margin-top:5px; color:var(--ink); font-family:'Sora',sans-serif; font-size:18px; letter-spacing:-.05em; }
.admin-dashboard__updated { padding:6px 9px; border-radius:999px; color:#53766d; background:#e4efe9; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.admin-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.admin-metric { display:flex; min-height:125px; flex-direction:column; justify-content:space-between; padding:15px; border:1px solid #d8d1c5; border-radius:13px; color:var(--ink); background:var(--paper); transition:transform .16s var(--ease),box-shadow .16s var(--ease),border-color .16s var(--ease); }
.admin-metric:hover { transform:translateY(-2px); border-color:#b9b0a2; box-shadow:0 9px 18px rgba(23,54,58,.08); }
.admin-metric:focus-visible,.admin-pending-list a:focus-visible,.admin-shortcut-grid a:focus-visible { outline:3px solid rgba(198,90,50,.24); outline-offset:3px; }
.admin-metric>span { color:#71807a; font-size:10px; font-weight:800; line-height:1.35; text-transform:uppercase; letter-spacing:.08em; }
.admin-metric strong { margin-top:12px; color:var(--petrol); font-family:'Sora',sans-serif; font-size:31px; letter-spacing:-.08em; line-height:1; }
.admin-metric small { display:flex; align-items:center; justify-content:space-between; margin-top:13px; color:#78837e; font-size:10px; font-weight:700; }
.admin-metric small span { color:var(--rust); font-size:15px; }
.admin-metric--petrol { border-color:#bfd7ce; background:#f3f8f4; }.admin-metric--rust { border-color:#e5c9b8; background:#fff8f1; }.admin-metric--green { border-color:#c6ded1; background:#f2f8f4; }.admin-metric--sand { border-color:#e0d3be; background:#fbf7ef; }
.admin-dashboard__columns { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:10px; margin-top:10px; }
.admin-dashboard-panel,.admin-dashboard-shortcuts { padding:18px; border:1px solid #e1d8cd; border-radius:14px; background:rgba(255,253,249,.78); }
.admin-activity-list,.admin-pending-list { display:grid; margin-top:13px; }
.admin-activity { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px 0; border-top:1px solid #ebe3d8; }
.admin-activity__mark,.admin-pending-list__icon { display:grid; place-items:center; width:31px; height:31px; border-radius:9px; color:var(--rust); background:var(--peach); font-size:14px; font-weight:800; }
.admin-activity strong,.admin-pending-list strong,.admin-shortcut-grid strong { color:#294f49; font-family:'Sora',sans-serif; font-size:11px; }
.admin-activity p { margin-top:3px; color:#78837e; font-size:10px; line-height:1.4; }
.admin-activity time { color:#9a8c7f; font-size:10px; font-weight:800; }
.admin-pending-list a { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:12px 0; border-top:1px solid #ebe3d8; color:inherit; }
.admin-pending-list a>b { color:var(--rust); font-size:16px; }
.admin-pending-list small,.admin-shortcut-grid small { display:block; margin-top:3px; color:#78837e; font-size:10px; line-height:1.4; }
.admin-dashboard-empty { margin-top:14px; padding:13px; border:1px dashed #d2c5b4; border-radius:9px; color:#78837e; font-size:11px; line-height:1.45; }
.admin-dashboard-shortcuts { margin-top:10px; }
.admin-shortcut-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:13px; }
.admin-shortcut-grid a { display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; padding:12px; border:1px solid #e2d9ce; border-radius:11px; color:inherit; background:#fffdf9; transition:border-color .16s var(--ease),transform .16s var(--ease); }
.admin-shortcut-grid a:hover { transform:translateY(-1px); border-color:#bdab99; }
.admin-shortcut-grid a>span { grid-row:1/span 2; display:grid; place-items:center; width:29px; height:29px; border-radius:8px; color:#356b5f; background:#dcece3; font-size:15px; font-weight:800; }
.admin-shortcut-grid strong { font-size:11px; }.admin-shortcut-grid small { grid-column:2; }
@media (max-width:760px) { .admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard__columns{grid-template-columns:1fr} }
@media (max-width:560px) { .admin-dashboard{padding:17px}.admin-dashboard__heading{align-items:flex-start;flex-direction:column;gap:9px}.admin-metric{min-height:116px;padding:13px}.admin-metric strong{font-size:27px}.admin-shortcut-grid{grid-template-columns:1fr}.admin-dashboard-panel,.admin-dashboard-shortcuts{padding:15px} }

/* Refinamento administrativo: Convites concentra regras e operações em uma página própria. */
.admin-subpage { max-width:980px; margin:0 auto; }
.admin-subpage__intro { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:22px; }
.admin-subpage__intro h2 { margin-top:12px; color:var(--ink); font-family:'Sora',sans-serif; font-size:28px; letter-spacing:-.06em; }
.admin-subpage__intro p:not(.eyebrow) { margin-top:7px; color:#697572; font-size:13px; }
.admin-subpage__intro .text-action { display:inline-flex; color:var(--petrol); font-size:12px; font-weight:700; }
.admin-section--operations { margin-top:24px; }
@media (max-width:640px) {
  .admin-subpage__intro { align-items:flex-start; }
  .admin-subpage__intro h2 { font-size:24px; }
  .admin-subpage .admin-section { padding:18px; }
}
