:root{--bg:#041f1b;--bg2:#07342d;--panel:#0a2924;--orange:#ff8a1d;--orange2:#ffb15c;--green:#39d98a;--red:#ff5c70;--text:#fff;--muted:rgba(255,255,255,.62);--line:rgba(255,255,255,.09);--shadow:0 18px 50px rgba(0,0,0,.34);--header-h:72px;--footer-h:74px;--radius:24px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#021411;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow-x:hidden}.app-shell{width:100%;max-width:520px;min-height:100dvh;margin:0 auto;background:radial-gradient(circle at 50% -8%,rgba(255,138,29,.14),transparent 34%),linear-gradient(180deg,var(--bg2),var(--bg) 58%,#021411);position:relative;box-shadow:0 0 70px rgba(0,0,0,.4)}.app-header{height:var(--header-h);position:fixed;z-index:100;top:0;left:50%;transform:translateX(-50%);width:min(100%,520px);padding:12px 16px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;background:linear-gradient(180deg,rgba(4,31,27,.98),rgba(4,31,27,.88),transparent);backdrop-filter:blur(10px)}.brand{justify-self:center;text-decoration:none;color:white;display:flex;align-items:center;gap:9px;font-weight:900;font-size:13px;letter-spacing:.11em}.brand img{height:34px;width:34px;object-fit:contain}.round-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.065);color:#fff;cursor:pointer;text-decoration:none}.round-icon svg{width:20px;height:20px;fill:currentColor}.header-spacer{width:42px}.app-main{padding:calc(var(--header-h) + 8px) 16px 28px;min-height:100dvh}.app-main.with-footer{padding-bottom:calc(var(--footer-h) + 26px)}.auth-main{display:flex;align-items:center;justify-content:center;padding-top:calc(var(--header-h) + 20px)}.bottom-nav{position:fixed;z-index:100;left:50%;bottom:0;transform:translateX(-50%);height:var(--footer-h);width:min(100%,520px);display:grid;grid-template-columns:1fr 1fr;padding:8px 16px max(8px,env(safe-area-inset-bottom));background:rgba(2,20,17,.94);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.nav-item{text-decoration:none;color:var(--muted);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:11px;font-weight:800;position:relative}.nav-item.active{color:#fff}.nav-item.active:after{content:"";width:28px;height:3px;border-radius:4px;background:var(--orange);position:absolute;bottom:0}.nav-icon{font-size:21px}.nav-icon-wrap{position:relative}.message-badge{position:absolute;right:-12px;top:-7px;background:var(--red);color:white;min-width:18px;height:18px;border-radius:10px;font-size:10px;display:grid;place-items:center;padding:0 4px;border:2px solid #021411}.section-title{margin:10px 0 5px;font-size:26px;line-height:1.05}.section-subtitle{color:var(--muted);font-size:13px;margin:0 0 18px}.card-stack{position:relative;height:min(66vh,610px);min-height:470px}.profile-card{height:100%;border-radius:28px;overflow:hidden;position:absolute;inset:0;background:#0b1715;box-shadow:var(--shadow);touch-action:none;user-select:none;transition:transform .25s ease,opacity .25s ease}.profile-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-bars{position:absolute;top:12px;left:12px;right:12px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;z-index:4}.photo-bar{height:3px;border-radius:4px;background:rgba(255,255,255,.35);overflow:hidden}.photo-bar.active{background:#fff}.card-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 40%,rgba(0,0,0,.85) 100%);pointer-events:none}.card-info{position:absolute;bottom:18px;left:18px;right:18px;z-index:4}.card-name{font-size:32px;font-weight:900;text-shadow:0 3px 10px rgba(0,0,0,.4)}.presence{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;letter-spacing:.05em;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.16);padding:6px 9px;border-radius:999px;margin-top:7px}.presence:before{content:"";width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green)}.instagram{font-size:13px;color:rgba(255,255,255,.78);margin-top:7px}.tap-zone{position:absolute;top:0;bottom:30%;width:42%;z-index:6;border:0;background:transparent;padding:0;margin:0;appearance:none;-webkit-appearance:none;outline:none;box-shadow:none;color:transparent;cursor:pointer}.tap-zone.left{left:0}.tap-zone.right{right:0}.swipe-stamp{position:absolute;top:90px;padding:7px 13px;border:4px solid currentColor;border-radius:8px;font-size:30px;font-weight:1000;letter-spacing:.04em;z-index:7;opacity:0;transform:rotate(-12deg);pointer-events:none}.swipe-stamp.like{left:20px;color:var(--green)}.swipe-stamp.nope{right:20px;color:var(--red);transform:rotate(12deg)}.action-row{height:92px;display:flex;align-items:center;justify-content:center;gap:27px}.action{border:0;background:none;color:#fff;text-align:center;font-weight:800;font-size:10px;cursor:pointer}.action-circle{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.065);border:1px solid var(--line);font-size:28px;margin-bottom:5px;box-shadow:0 10px 24px rgba(0,0,0,.24)}.action-row.hidden{display:none}
.action.small .action-circle{width:48px;height:48px;color:var(--orange);font-size:24px}.action.dislike .action-circle{color:var(--red);border-color:rgba(255,92,112,.28)}.action.like .action-circle{color:var(--green);border-color:rgba(57,217,138,.28)}.empty-state{text-align:center;padding:68px 22px}.empty-state .emoji{font-size:52px}.empty-state h2{font-size:24px;margin:15px 0 8px}.empty-state p{color:var(--muted);line-height:1.5}.primary-btn,.secondary-btn{width:100%;border:none;border-radius:16px;padding:15px 18px;font-size:13px;font-weight:900;cursor:pointer}.primary-btn{background:linear-gradient(135deg,var(--orange),#ff9f43);color:#1b130b;box-shadow:0 12px 30px rgba(255,138,29,.22)}.secondary-btn{background:rgba(255,255,255,.07);color:#fff;border:1px solid var(--line)}.auth-card{width:100%;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.auth-card h1{font-size:28px;margin:0 0 7px}.auth-card .lead{color:var(--muted);margin:0 0 24px;line-height:1.45}.form-grid{display:grid;gap:14px}.field label{display:block;font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}.field input,.field select,.field textarea{width:100%;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.055);padding:13px 14px;color:#fff;outline:none;font:inherit}.field select option{color:#111}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(255,138,29,.65);box-shadow:0 0 0 3px rgba(255,138,29,.08)}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice{border:1px solid var(--line);border-radius:12px;padding:11px 8px;text-align:center;font-size:11px;font-weight:900;color:var(--muted);cursor:pointer;background:rgba(255,255,255,.04)}.choice input{display:none}.choice:has(input:checked){color:#fff;border-color:var(--orange);background:rgba(255,138,29,.13)}.progress{height:5px;background:rgba(255,255,255,.08);border-radius:999px;margin-bottom:20px;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange);border-radius:inherit}.auth-links{font-size:12px;color:var(--muted);text-align:center;margin-top:16px}.auth-links a{color:var(--orange2);font-weight:900;text-decoration:none}.photo-upload-grid{display:grid;grid-template-columns:1.25fr 1fr;grid-auto-rows:145px;gap:10px}.photo-slot{border:1px dashed rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.04);position:relative;overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:28px;cursor:pointer}.photo-slot:first-child{grid-row:span 2}.photo-slot img{width:100%;height:100%;object-fit:cover}.photo-slot small{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.6);padding:4px 7px;border-radius:8px;color:#fff;font-size:9px;font-weight:900}.conversation-list{display:grid;gap:10px}.conversation-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;text-decoration:none;color:#fff;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:18px;padding:10px}.avatar{width:64px;height:64px;border-radius:18px;object-fit:cover;border:2px solid transparent}.conversation-item.new .avatar{border-color:var(--orange)}.conversation-item.match .avatar{border-color:var(--green)}.conversation-name{font-size:15px;font-weight:900}.conversation-preview{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;margin-top:4px}.status{font-size:9px;font-weight:1000;letter-spacing:.03em;border-radius:999px;padding:6px 8px;white-space:nowrap}.status.new{color:#2a1703;background:var(--orange)}.status.match{color:#062317;background:var(--green)}.status.wait{color:#fff;background:rgba(255,255,255,.09)}.chat-page{height:calc(100dvh - var(--header-h) - var(--footer-h) - 24px);display:grid;grid-template-rows:auto 1fr auto}.chat-person{display:flex;align-items:center;gap:10px;padding:4px 2px 12px;border-bottom:1px solid var(--line)}.chat-person img{width:42px;height:42px;border-radius:50%;object-fit:cover}.chat-messages{overflow-y:auto;padding:16px 2px;display:flex;flex-direction:column;gap:9px}.bubble{max-width:78%;padding:10px 12px;border-radius:16px;font-size:13px;line-height:1.35}.bubble.received{align-self:flex-start;background:rgba(255,255,255,.085);border-bottom-left-radius:5px}.bubble.sent{align-self:flex-end;background:var(--orange);color:#1d1205;border-bottom-right-radius:5px}.chat-form{display:grid;grid-template-columns:1fr 48px;gap:8px;padding-top:10px}.chat-form input{border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;padding:12px 13px;outline:none}.chat-form button{border:0;border-radius:14px;background:var(--orange);font-size:20px;cursor:pointer}.profile-box{text-align:center;padding:15px 0 25px}.profile-box img{width:118px;height:118px;border-radius:28px;object-fit:cover;border:3px solid rgba(255,138,29,.5)}.profile-box h1{margin:12px 0 3px}.profile-box p{margin:0;color:var(--muted)}.settings-list{display:grid;gap:9px}.setting-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:#fff;padding:15px 16px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:15px;font-size:13px;font-weight:800}.match-overlay{position:fixed;z-index:300;inset:0;background:rgba(1,12,10,.93);display:none;place-items:center;padding:20px}.match-overlay.open{display:grid}.match-modal{width:min(100%,420px);text-align:center}.match-modal h2{font-size:42px;margin:10px 0;color:var(--orange)}.match-modal p{color:var(--muted);line-height:1.45}.match-photos{display:flex;justify-content:center;align-items:center;margin:24px 0}.match-photos img{width:118px;height:118px;object-fit:cover;border-radius:50%;border:4px solid var(--orange)}.match-photos img+img{margin-left:-22px}.match-heart{font-size:34px;z-index:2;background:#061d19;border-radius:50%;padding:6px;margin:0 -10px}.stack-buttons{display:grid;gap:9px}.toast{position:fixed;z-index:500;left:50%;bottom:calc(var(--footer-h) + 18px);transform:translate(-50%,20px);background:#fff;color:#111;padding:10px 14px;border-radius:12px;font-size:12px;font-weight:800;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:700px){body{padding:28px 0}.app-shell{min-height:calc(100dvh - 56px);border-radius:32px;overflow:hidden}.app-header{top:28px;border-radius:32px 32px 0 0}.bottom-nav{bottom:28px;border-radius:0 0 32px 32px}.card-stack{height:min(65vh,600px)}}
@media(max-width:380px){.app-main{padding-left:12px;padding-right:12px}.card-stack{min-height:430px}.card-name{font-size:28px}.action-row{gap:19px}.conversation-item{grid-template-columns:56px 1fr auto}.avatar{width:56px;height:56px}.status{padding:5px 6px;font-size:8px}}

/* ===== Modernização visual v1.1 ===== */
:root{
  --bg:#071a17;
  --bg2:#0a2924;
  --panel:#102b26;
  --panel-soft:rgba(255,255,255,.055);
  --orange:#ff8a1d;
  --orange2:#ffab5a;
  --green:#44d7a3;
  --red:#ff6577;
  --text:#f7faf9;
  --text-2:#d7e0de;
  --muted:#8fa39f;
  --line:rgba(255,255,255,.075);
  --shadow:0 24px 64px rgba(0,0,0,.30);
}
html,body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Segoe UI",sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{letter-spacing:0}
.app-shell{background:radial-gradient(circle at 50% -12%,rgba(255,138,29,.09),transparent 30%),linear-gradient(180deg,#0a2b25 0%,#071d19 45%,#051411 100%)}
.app-header{background:linear-gradient(180deg,rgba(7,26,23,.98),rgba(7,26,23,.90),rgba(7,26,23,.4),transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{font-size:12px;font-weight:750;letter-spacing:.065em}.brand img{height:32px;width:32px}.round-icon{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.07)}
.page-heading{margin:4px 0 24px}.section-title{font-size:30px;line-height:1.08;font-weight:760;letter-spacing:-.035em;margin:6px 0 7px}.section-subtitle{font-size:14px;line-height:1.45;color:var(--muted);margin:0}.card-name{font-size:31px;font-weight:760;letter-spacing:-.035em}.presence{font-size:11px;font-weight:650;letter-spacing:0;background:rgba(6,18,16,.55)}.instagram{font-size:14px;color:rgba(255,255,255,.72)}
.action{font-size:11px;font-weight:650;letter-spacing:0;color:var(--muted)}.action-circle{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.08);box-shadow:0 10px 28px rgba(0,0,0,.20)}
.primary-btn,.secondary-btn{font-size:14px;font-weight:700;letter-spacing:-.01em;border-radius:18px}.primary-btn{color:#1b1007}.field label{font-size:12px;font-weight:650;text-transform:none;letter-spacing:0;color:var(--text-2)}.field input,.field select,.field textarea{font-size:15px;border-radius:16px;background:rgba(255,255,255,.045)}
.auth-card h1{font-size:30px;font-weight:760;letter-spacing:-.035em}.auth-card .lead{font-size:14px;color:var(--muted)}

/* Bottom nav */
.bottom-nav{height:78px;padding:8px 22px max(10px,env(safe-area-inset-bottom));background:rgba(5,20,17,.88);border-top-color:rgba(255,255,255,.06);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.nav-item{font-size:11px;font-weight:600;gap:4px;color:#80938f}.nav-item.active{color:#fff}.nav-item.active:after{width:5px;height:5px;border-radius:50%;bottom:3px}.nav-svg{width:23px;height:23px;fill:currentColor;display:block}.message-badge{right:-10px;top:-6px;background:var(--orange);color:#1a1007;border-color:#071a17;font-weight:800}

/* Conversas */
.conversation-list{display:flex;flex-direction:column;gap:0;margin:0 -4px}.conversation-item{grid-template-columns:58px minmax(0,1fr) 10px;gap:13px;align-items:center;padding:13px 8px;text-decoration:none;color:var(--text);background:transparent;border:0;border-radius:18px;transition:background .16s ease,transform .16s ease}.conversation-item:hover{background:rgba(255,255,255,.04)}.conversation-item:active{transform:scale(.992);background:rgba(255,255,255,.055)}
.avatar-wrap{width:58px;height:58px;position:relative;flex:none}.avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:0;display:block}.online-dot{position:absolute;width:13px;height:13px;border-radius:50%;right:0;bottom:1px;background:var(--green);border:3px solid #071a17}.conversation-content{min-width:0}.conversation-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.conversation-name{font-size:16px;font-weight:700;letter-spacing:-.015em}.conversation-time{font-size:11px;font-weight:500;color:#718783;white-space:nowrap}.conversation-preview{font-size:14px;line-height:1.35;color:#a8b9b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none;margin-top:3px}.conversation-item.is-unread .conversation-preview{color:#f2f7f5;font-weight:600}.you-prefix{color:#7e928d}.conversation-state{display:flex;align-items:center;gap:5px;margin-top:5px;font-size:11px;font-weight:600;color:#768a86}.conversation-state span{width:5px;height:5px;border-radius:50%;background:currentColor}.conversation-state.new{color:var(--orange2)}.conversation-state.match{color:var(--green)}.conversation-state.waiting{color:#718480}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(255,138,29,.08)}

/* Chat */
.chat-page{height:calc(100dvh - var(--header-h) - var(--footer-h) - 12px);grid-template-rows:58px 1fr 62px}.chat-person{gap:10px;padding:2px 0 10px;border-bottom:1px solid rgba(255,255,255,.055)}.chat-back{width:30px;height:40px;display:grid;place-items:center;text-decoration:none;color:#fff;font-size:36px;font-weight:300;line-height:1}.chat-avatar-wrap{width:40px;height:40px}.chat-avatar-wrap img{width:40px!important;height:40px!important;border-radius:50%}.chat-avatar-wrap .online-dot{width:11px;height:11px;border-width:2px}.chat-person-meta{display:flex;flex-direction:column;min-width:0}.chat-person-meta strong{font-size:15px;font-weight:700;letter-spacing:-.01em}.chat-person-meta span{font-size:11px;color:var(--green);margin-top:2px;font-weight:550}.chat-messages{gap:6px;padding:18px 0 12px}.chat-day{align-self:center;font-size:11px;color:#758984;background:rgba(255,255,255,.04);padding:5px 9px;border-radius:999px;margin-bottom:8px}.bubble{display:flex;flex-direction:column;max-width:80%;padding:10px 12px 7px;border-radius:19px;font-size:14px;line-height:1.38;letter-spacing:-.006em}.bubble small{font-size:9px;line-height:1;color:rgba(255,255,255,.5);align-self:flex-end;margin-top:4px}.bubble.received{background:#15342e;border:1px solid rgba(255,255,255,.035);border-bottom-left-radius:6px}.bubble.sent{background:#e77712;color:white;border-bottom-right-radius:6px}.bubble.sent small{color:rgba(255,255,255,.68)}.chat-form{grid-template-columns:1fr 44px;gap:9px;padding:9px 0 2px}.chat-form input{border-radius:22px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.06);padding:12px 16px;font-size:15px;color:#fff}.chat-form input::placeholder{color:#718480}.chat-form button{width:44px;height:44px;align-self:center;border-radius:50%;display:grid;place-items:center;background:var(--orange);box-shadow:none}.chat-form button svg{width:20px;height:20px;fill:#201106;transform:translateX(1px)}

/* Perfil / ajustes */
.profile-box h1{font-size:27px;font-weight:760;letter-spacing:-.03em}.setting-link{font-size:14px;font-weight:600;border-radius:17px;background:rgba(255,255,255,.035)}

/* Match */
.match-modal h2{font-size:39px;font-weight:780;letter-spacing:-.04em}.match-modal p{font-size:14px}.swipe-stamp{background:transparent!important;box-shadow:none!important}

@media(max-width:380px){.section-title{font-size:27px}.conversation-item{grid-template-columns:52px minmax(0,1fr) 9px;padding:11px 5px}.avatar-wrap,.avatar{width:52px;height:52px}.conversation-name{font-size:15px}.conversation-preview{font-size:13px}}

/* Backend / feedback */
.flash-stack{position:fixed;top:76px;left:50%;transform:translateX(-50%);z-index:1200;width:min(92vw,460px);display:grid;gap:8px;pointer-events:none}.flash{padding:12px 14px;border-radius:14px;font-size:14px;font-weight:650;backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.22)}.flash.error{background:rgba(91,18,26,.92);border:1px solid rgba(255,92,112,.35);color:#fff}.flash.success{background:rgba(11,77,57,.94);border:1px solid rgba(57,217,138,.35);color:#fff}.photo-slot.has-photo span{display:none}.photo-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.danger-link{color:#ff7d8d!important}

/* Cadastro moderno + validações por etapa */
.field-hint{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.35}
.input-prefix-wrap{position:relative;display:flex;align-items:center}
.input-prefix-wrap .input-prefix{position:absolute;left:14px;z-index:2;color:rgba(255,255,255,.76);font-size:15px;font-weight:700;pointer-events:none}
.input-prefix-wrap input{padding-left:31px!important}
.photo-step-heading{margin-bottom:14px}.photo-step-heading h2{margin:0 0 5px;font-size:22px;letter-spacing:-.025em}.photo-step-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.photo-slot-wrap{position:relative;min-width:0}.photo-slot-wrap.is-primary{grid-row:span 2}.photo-upload-grid .photo-slot-wrap.is-primary .photo-slot{height:100%}
.photo-upload-grid .photo-slot-wrap:not(.is-primary) .photo-slot{height:145px}
.photo-upload-grid{grid-auto-rows:auto;align-items:stretch}
.photo-slot-wrap.is-primary{height:300px}.photo-slot-wrap:not(.is-primary){height:145px}
.photo-change{position:absolute;left:9px;right:9px;bottom:9px;z-index:5;border:1px solid rgba(255,255,255,.16);background:rgba(4,20,17,.78);backdrop-filter:blur(10px);color:#fff;border-radius:11px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer}
.photo-slot-wrap.is-primary .photo-change{bottom:37px}
.photo-remove{position:absolute;right:8px;top:8px;z-index:6;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(6,15,14,.78);color:#fff;font-size:21px;line-height:26px;cursor:pointer;display:grid;place-items:center}
.photo-change[hidden],.photo-remove[hidden]{display:none!important}
.form-error-modal[hidden]{display:none!important}.form-error-modal{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:20px}.form-error-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(8px)}.form-error-box{position:relative;z-index:1;width:min(100%,370px);background:#0b1f1b;border:1px solid rgba(255,255,255,.11);border-radius:24px;padding:24px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.45)}.form-error-icon{width:44px;height:44px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:rgba(255,92,112,.13);border:1px solid rgba(255,92,112,.32);color:#ff7d8d;font-size:23px;font-weight:800}.form-error-box h3{margin:0 0 7px;font-size:20px;letter-spacing:-.02em}.form-error-box p{margin:0 0 18px;color:var(--text-2);font-size:14px;line-height:1.48}.modal-open{overflow:hidden}
@media(max-width:560px){.photo-upload-grid{grid-template-columns:1.18fr 1fr}.photo-slot-wrap.is-primary{height:280px}.photo-slot-wrap:not(.is-primary){height:135px}.choice-row{gap:7px}.choice{padding:11px 5px;font-size:10.5px}.form-error-box{border-radius:22px;padding:22px}}

/* Eventos / contexto da festa */
.events-page,.event-detail-page{width:min(100%,720px);margin:0 auto;padding:8px 0 30px}.events-heading{margin:8px 0 28px}.eyebrow{display:block;color:var(--orange2);font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.events-heading h1,.event-detail-card h1{margin:0;font-size:34px;line-height:1.05;letter-spacing:-.04em;font-weight:780}.events-heading p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.event-section-title{margin:26px 0 10px;font-size:12px;font-weight:700;color:var(--text-2)}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.event-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card{padding:18px;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);box-shadow:0 16px 40px rgba(0,0,0,.12)}.event-card.event-live{background:linear-gradient(145deg,rgba(255,138,29,.115),rgba(255,255,255,.045));border-color:rgba(255,138,29,.18)}.event-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:11px}.event-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.04em}.event-status.live{color:var(--green)}.event-status.live i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px rgba(68,215,163,.09)}.event-status.scheduled{color:var(--orange2)}.event-status.ended{color:#738984}.event-card h2{margin:18px 0 7px;font-size:22px;letter-spacing:-.025em}.event-card p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.48}.event-card form{margin-top:16px}.event-card .primary-btn,.event-card .secondary-btn{width:100%}.event-card button:disabled{opacity:.45;cursor:not-allowed}.event-empty{padding:26px 20px;text-align:center;border:1px dashed rgba(255,255,255,.09);border-radius:22px;color:var(--muted)}.event-empty h2{margin:0 0 6px;color:var(--text);font-size:20px}.events-account{display:flex;gap:10px;justify-content:center;margin:28px 0 0;color:var(--muted);font-size:13px}.events-account a{color:var(--text-2);text-decoration:none}.text-back{display:inline-block;margin:2px 0 16px;color:var(--muted);text-decoration:none;font-size:14px}.event-detail-card{padding:26px;border-radius:28px;background:linear-gradient(150deg,rgba(255,138,29,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.08)}.event-detail-card h1{margin-top:10px}.event-detail-card>p{color:var(--muted);font-size:14px;line-height:1.5}.event-datetime{display:inline-block;margin:10px 0 22px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.05);color:var(--text-2);font-size:12px}.checkin-box{margin-top:8px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07)}.checkin-box h2{font-size:20px;margin:0 0 6px}.checkin-box p{color:var(--muted);font-size:13px;line-height:1.45;margin:0 0 16px}.checkin-success{display:flex;align-items:center;gap:12px;margin:10px 0 16px;padding:14px;border-radius:18px;background:rgba(68,215,163,.08);border:1px solid rgba(68,215,163,.14)}.checkin-success>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(68,215,163,.16);color:var(--green);font-weight:900}.checkin-success strong{font-size:14px}.checkin-success p{margin:2px 0 0;color:var(--muted);font-size:12px}.event-open-btn{display:block;text-align:center;text-decoration:none}.event-ended-copy{padding:14px;border-radius:16px;background:rgba(255,255,255,.035)}.current-event-pill{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:0 0 14px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);font-size:11px;color:var(--text-2);white-space:nowrap;overflow:hidden}.current-event-pill>span{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none}.current-event-pill>span.ended{background:#6f8580}.current-event-pill a{color:var(--orange2);text-decoration:none;margin-left:3px}.chat-person-meta span{color:var(--muted)!important}

@media(max-width:650px){.events-page,.event-detail-page{padding-left:2px;padding-right:2px}.event-grid,.event-grid.compact{grid-template-columns:1fr}.events-heading h1,.event-detail-card h1{font-size:30px}.event-card{padding:17px}.event-detail-card{padding:22px}}

/* Eventos V2 — um evento por linha + banner responsivo */
.event-list{display:grid;grid-template-columns:1fr;gap:16px}
.event-card-row{overflow:hidden;border-radius:24px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075);box-shadow:0 18px 45px rgba(0,0,0,.14)}
.event-card-row.event-live{border-color:rgba(255,138,29,.18);background:linear-gradient(145deg,rgba(255,138,29,.075),rgba(255,255,255,.035))}
.event-banner{width:100%;aspect-ratio:16/5;min-height:150px;overflow:hidden;background:#07342d}
.event-banner img{width:100%;height:100%;display:block;object-fit:cover}
.event-card-body{padding:18px 20px 20px}
.event-card-body h2{margin:14px 0 6px;font-size:24px;letter-spacing:-.03em}
.event-card-body p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.48}
.event-card-body form{margin-top:15px}.event-card-body .primary-btn,.event-card-body .secondary-btn{width:100%}
.event-detail-banner{margin:-26px -26px 22px;aspect-ratio:16/5;overflow:hidden;border-radius:28px 28px 0 0;background:#07342d}
.event-detail-banner img{width:100%;height:100%;object-fit:cover;display:block}
.event-password-form{display:grid;gap:14px}.event-password-form .primary-btn{width:100%}

/* Perfil V2 */
.profile-edit-card{width:min(100%,560px);margin:0 auto}.profile-edit-card h1{margin-top:2px}
.choice-stack{display:grid;gap:10px}.interest-option{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.035);cursor:pointer}
.interest-option input{accent-color:var(--orange);width:18px;height:18px}.interest-option span{display:grid;gap:3px}.interest-option strong{font-size:14px}.interest-option small{color:var(--muted);font-size:12px}
.profile-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.managed-photo{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid var(--line)}.managed-photo img{width:100%;height:100%;object-fit:cover;display:block}.managed-photo.main-photo{grid-row:span 2}.main-photo-badge{position:absolute;left:10px;top:10px;padding:6px 9px;border-radius:999px;background:rgba(4,20,17,.82);backdrop-filter:blur(10px);font-size:10px;font-weight:800}.photo-inline-form{position:absolute;left:10px;right:10px;bottom:10px}.managed-photo-actions{position:absolute;left:8px;right:8px;bottom:8px;display:grid;gap:6px}.managed-photo-actions form{margin:0}.mini-btn{width:100%;display:block;text-align:center;border:1px solid rgba(255,255,255,.15);background:rgba(4,20,17,.82);backdrop-filter:blur(10px);color:#fff;border-radius:11px;padding:8px 9px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.mini-btn.danger{color:#ff8a99}.add-photo-form .primary-btn{display:block;text-align:center;width:100%;cursor:pointer}

@media(max-width:650px){
  .event-banner{aspect-ratio:16/6;min-height:118px}.event-card-body{padding:15px 16px 17px}.event-card-body h2{font-size:21px}.event-detail-banner{margin:-22px -22px 20px;aspect-ratio:16/6}
  .profile-photo-grid{gap:9px}.managed-photo{border-radius:17px}.mini-btn{font-size:10px;padding:7px 6px}
}


/* ===== Layout Refresh V3 — branco + verde social ===== */
:root{
  --bg:#f4f7f4;
  --bg2:#ffffff;
  --panel:#ffffff;
  --orange:#1f6a55;
  --orange2:#2b8a6f;
  --green:#1f8a63;
  --red:#dd5668;
  --text:#10352b;
  --muted:#6f867f;
  --text-2:#547067;
  --line:#d9e5df;
  --shadow:0 18px 48px rgba(16,53,43,.08);
}
html,body{background:#eaf0ec;color:var(--text)}
.app-shell{background:linear-gradient(180deg,#f8fbf9 0%,#f3f7f4 55%,#eef4f0 100%);box-shadow:0 18px 70px rgba(16,53,43,.10)}
.app-header{background:linear-gradient(180deg,rgba(248,251,249,.98),rgba(248,251,249,.93),rgba(248,251,249,.70),transparent);border-bottom:1px solid rgba(217,229,223,.65)}
.brand,.round-icon,.nav-item.active,.section-title,.conversation-name,.chat-person-meta strong,.profile-box h1,.events-heading h1,.event-detail-card h1,.auth-card h1{color:var(--text)}
.round-icon{background:#fff;border-color:#dbe7e1;color:#235b4c;box-shadow:0 10px 26px rgba(16,53,43,.06)}
.bottom-nav{background:rgba(255,255,255,.94);border-top:1px solid #dfe9e4;box-shadow:0 -10px 30px rgba(16,53,43,.06)}
.nav-item{color:#71867f}.nav-item.active{color:#1e604e}.nav-item.active:after{background:#1f8a63}.message-badge{background:#1f8a63;color:#fff;border-color:#fff}
.section-subtitle,.auth-card .lead,.field label,.conversation-preview,.conversation-time,.chat-person-meta span,.events-heading p,.event-card-body p,.event-detail-card>p,.event-datetime,.current-event-pill,.event-empty,.empty-state p,.instagram{color:var(--muted)}
.primary-btn{background:linear-gradient(135deg,#1f8a63,#166b4d);color:#fff;box-shadow:0 14px 28px rgba(31,138,99,.18)}
.secondary-btn{background:#fff;color:#184437;border:1px solid #d7e3dd}
.auth-card,.event-detail-card,.event-card-row,.managed-photo,.conversation-item,.setting-link{background:#fff;border-color:#dde7e2;box-shadow:0 16px 40px rgba(16,53,43,.06)}
.field input,.field select,.field textarea,.chat-form input{background:#f6faf7;border-color:#d8e4de;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus,.chat-form input:focus{border-color:#1f8a63;box-shadow:0 0 0 4px rgba(31,138,99,.10)}
.choice,.interest-option{background:#f7fbf8;border-color:#dce7e1;color:#50726a}
.choice:has(input:checked),.interest-option:has(input:checked){background:#edf7f2;border-color:#1f8a63;color:#184437}
.current-event-pill{background:#f6faf7;border-color:#dbe6e0;color:#4f6c63}
.current-event-pill a{color:#1f8a63;font-weight:700}
.card-stack{height:min(68vh,630px)}
.profile-card{background:#fff;border:1px solid #dbe5df;border-radius:34px;box-shadow:0 22px 54px rgba(16,53,43,.10)}
.card-gradient{background:linear-gradient(180deg,rgba(255,255,255,.0) 34%,rgba(10,30,24,.10) 55%,rgba(10,30,24,.72) 100%)}
.photo-bars{top:14px;left:14px;right:14px}.photo-bar{height:4px;background:rgba(255,255,255,.35)}
.card-info{bottom:20px;left:20px;right:20px}
.card-name{font-size:34px;font-weight:780;color:#fff}
.presence{background:rgba(255,255,255,.92);border-color:rgba(255,255,255,.98);color:#184437;backdrop-filter:blur(12px)}
.instagram{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;margin-top:10px;background:rgba(255,255,255,.14);color:#f4faf7;border:1px solid rgba(255,255,255,.18);border-radius:999px;backdrop-filter:blur(10px)}
.swipe-stamp{border-width:3px;border-radius:16px;padding:10px 14px;font-size:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
.action-row{gap:18px;height:96px}.action{font-size:11px;color:#6d837c}.action-circle{background:#fff;border-color:#d8e4de;box-shadow:0 12px 28px rgba(16,53,43,.09)}
.action.like .action-circle{color:#1f8a63;border-color:rgba(31,138,99,.25)}
.action.dislike .action-circle{color:#dd5668;border-color:rgba(221,86,104,.18)}
.action.small .action-circle{color:#2b8a6f}
.conversation-list{gap:10px;margin:0}.conversation-item{background:#fff;border:1px solid #dce6e1;border-radius:24px;padding:13px 12px;box-shadow:0 10px 24px rgba(16,53,43,.05)}
.conversation-item:hover{background:#f8fbf9}.conversation-preview{color:#70857e}.conversation-item.is-unread .conversation-preview{color:#12392f}.conversation-state.new{color:#1f8a63}.conversation-state.match{color:#207055}.unread-dot{background:#1f8a63;box-shadow:0 0 0 4px rgba(31,138,99,.08)}
.chat-person{border-bottom:1px solid #dce7e2}.chat-day{background:#edf5f0;color:#5f7b72}.bubble.received{background:#fff;border:1px solid #dde7e2;color:#16392f}.bubble.sent{background:#1f8a63;color:#fff}.bubble small{color:#7a928b}.bubble.sent small{color:rgba(255,255,255,.75)}
.match-overlay{background:rgba(240,246,242,.92);backdrop-filter:blur(14px)}
.match-modal{background:#fff;border:1px solid #dce7e2;border-radius:32px;padding:26px 22px;box-shadow:0 24px 80px rgba(16,53,43,.10)}
.match-modal h2{font-size:40px;color:#184437;letter-spacing:-.04em}.match-modal p{color:#6e847d}.match-photos img{border:4px solid #fff;box-shadow:0 10px 28px rgba(16,53,43,.10)}.match-heart{background:#fff;color:#1f8a63;box-shadow:0 8px 18px rgba(16,53,43,.09)}
.match-pill{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 10px;padding:8px 14px;border-radius:999px;background:#edf7f2;color:#1d6c51;font-size:11px;font-weight:800;letter-spacing:.08em}
.global-match-user{display:grid;gap:4px;margin:-2px 0 16px}.global-match-user strong{font-size:20px;color:#12392f}.global-match-user span{font-size:13px;color:#678078}
.toast{background:#12392f;color:#fff;box-shadow:0 14px 30px rgba(16,53,43,.18)}
.flash-stack{transition:opacity .3s ease, transform .3s ease}
@media (min-width:700px){body{padding:26px 0;background:linear-gradient(180deg,#ecf2ee 0%,#e7efea 100%)}.app-header{top:26px}}
@media (max-width:420px){.card-name{font-size:30px}.conversation-item{border-radius:22px}.match-modal{padding:24px 18px;border-radius:28px}}

/* ===== Mobile First V4 — Verde Casa Luppi ===== */
:root{
  --luppi-green:#28593F;
  --luppi-green-dark:#1F4632;
  --luppi-green-soft:#eef2f0;
  --header-h:68px;
  --footer-h:76px;
}

/* Estrutura 100% pensada para celular */
html,body{width:100%;min-height:100%;background:#f3f7f4}
body{padding:0!important;overscroll-behavior-y:none}
.app-shell{width:100%;max-width:520px;min-height:100dvh;background:#f7faf8;box-shadow:none;border-radius:0!important;overflow:visible!important}

/* Header Luppi */
.app-header{
  top:0!important;
  height:var(--header-h);
  width:min(100%,520px);
  padding:10px 14px;
  background:var(--luppi-green)!important;
  border-bottom:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 4px 18px rgba(21,42,35,.16);
}
.brand{color:#fff!important;font-weight:800;letter-spacing:.045em}
.brand img{height:34px;width:34px}
.round-icon{
  width:42px;height:42px;
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:none!important;
}
.round-icon:active{background:rgba(255,255,255,.18)!important;transform:scale(.96)}

/* Footer Luppi */
.bottom-nav{
  bottom:0!important;
  width:min(100%,520px);
  height:calc(var(--footer-h) + env(safe-area-inset-bottom));
  padding:8px 16px max(8px,env(safe-area-inset-bottom));
  background:var(--luppi-green)!important;
  border-top:0!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 -4px 18px rgba(21,42,35,.14);
  border-radius:0!important;
}
.nav-item{color:rgba(255,255,255,.68)!important;font-weight:650}
.nav-item.active{color:#fff!important}
.nav-item.active:after{background:#fff!important;width:5px;height:5px;bottom:4px}
.nav-svg{fill:currentColor}
.message-badge{background:#fff!important;color:var(--luppi-green)!important;border-color:var(--luppi-green)!important}

/* Área útil não entra embaixo das barras fixas */
.app-main{
  padding-top:calc(var(--header-h) + 12px)!important;
  padding-left:14px!important;
  padding-right:14px!important;
  min-height:100dvh;
}
.app-main.with-footer{
  padding-bottom:calc(var(--footer-h) + env(safe-area-inset-bottom) + 18px)!important;
}

/* Descobrir ocupa exatamente o espaço disponível no celular */
#cardStack.card-stack{
  height:clamp(320px,calc(100dvh - var(--header-h) - var(--footer-h) - 188px),560px)!important;
  min-height:0!important;
}
#actionRow.action-row{
  height:82px;
  gap:18px;
  padding:4px 0 6px;
  margin-bottom:0;
}
#actionRow .action-circle{width:56px;height:56px;margin-bottom:3px}
#actionRow .action.small .action-circle{width:46px;height:46px}

/* Upload: bordas sempre visíveis */
.photo-upload-grid{gap:11px}
.photo-slot-wrap{border-radius:18px}
.photo-slot{
  border:2px dashed var(--luppi-green)!important;
  background:var(--luppi-green-soft)!important;
  color:var(--luppi-green)!important;
  box-shadow:inset 0 0 0 1px rgba(21,42,35,.04);
}
.photo-slot::before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:12px;
  border:1px solid rgba(21,42,35,.12);
  pointer-events:none;
}
.photo-slot.has-photo{
  border-style:solid!important;
  border-color:var(--luppi-green)!important;
  background:#fff!important;
}
.photo-slot.has-photo::before{display:none}
.photo-slot span{color:var(--luppi-green)!important;font-weight:500}
.photo-slot small{background:var(--luppi-green)!important;color:#fff!important}
.photo-change{
  background:rgba(21,42,35,.94)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.28)!important;
}
.photo-remove{
  background:#fff!important;
  color:#c94355!important;
  border:1px solid #e6d7da!important;
  box-shadow:0 5px 16px rgba(0,0,0,.10);
}

/* Verde da Luppi também nas principais ações */
.primary-btn{background:var(--luppi-green)!important;color:#fff!important;box-shadow:0 12px 26px rgba(21,42,35,.18)!important}
.primary-btn:active{background:var(--luppi-green-dark)!important;transform:scale(.99)}
.action.like .action-circle{color:var(--luppi-green)!important;border-color:rgba(21,42,35,.24)!important}
.current-event-pill>span{background:var(--luppi-green)!important}
.current-event-pill a{color:var(--luppi-green)!important}

/* Phones menores: preserva tudo entre header e footer */
@media(max-width:390px){
  :root{--header-h:64px;--footer-h:72px}
  .app-main{padding-left:11px!important;padding-right:11px!important;padding-top:calc(var(--header-h) + 9px)!important}
  #cardStack.card-stack{height:clamp(285px,calc(100dvh - var(--header-h) - var(--footer-h) - 176px),500px)!important}
  #actionRow.action-row{height:76px;gap:12px}
  #actionRow .action-circle{width:52px;height:52px}
  #actionRow .action.small .action-circle{width:42px;height:42px}
  .current-event-pill{margin-bottom:9px}
  .section-title{font-size:25px;margin-top:3px}
  .section-subtitle{font-size:12px;margin-bottom:12px}
}

/* ===== Ajuste V3.1 — menu do perfil + CTAs verdes ===== */
.settings-list .setting-link{
  background:#28593F;
  color:#fff;
  border:1px solid #28593F;
  box-shadow:0 10px 24px rgba(21,42,35,.10);
}
.settings-list .setting-link span{
  color:rgba(255,255,255,.86);
}
.settings-list .setting-link:active{
  transform:scale(.99);
  background:#102019;
}
.settings-list .setting-link.danger-link{
  background:#fff;
  color:#c94c5d!important;
  border-color:#f1d9de;
}
.settings-list .setting-link.danger-link span{
  color:#c94c5d;
}
.empty-state .secondary-btn,
.matches-empty .secondary-btn{
  background:#28593F;
  color:#fff;
  border:1px solid #28593F;
  box-shadow:0 10px 24px rgba(21,42,35,.12);
}
.empty-state .secondary-btn:active,
.matches-empty .secondary-btn:active{
  background:#102019;
  transform:scale(.99);
}


/* ===== Verde oficial Casa Luppi — #28593F ===== */
:root{--luppi-green:#28593F;--luppi-green-dark:#1F4632}
.app-header,.bottom-nav{background:#28593F!important}
.primary-btn,
.empty-state .secondary-btn,
.matches-empty .secondary-btn,
.event-card-body .primary-btn,
.event-open-btn,
.event-password-form .primary-btn,
.add-photo-form .primary-btn,
.settings-list .setting-link:not(.danger-link){
  background:#28593F!important;
  border-color:#28593F!important;
  color:#fff!important;
}
.primary-btn:active,
.empty-state .secondary-btn:active,
.matches-empty .secondary-btn:active,
.settings-list .setting-link:not(.danger-link):active{background:#102019!important}
.current-event-pill a,.action.like .action-circle{color:#28593F!important}
.choice:has(input:checked),.interest-option:has(input:checked){border-color:#28593F!important}
.progress span{background:#28593F!important}
.auth-links a{color:#28593F!important}
.message-badge{color:#28593F!important}


/* ===== Ajustes UI V3.2 — cadastro + ações de swipe ===== */
/* Erros de cadastro: caixa branca para leitura imediata */
.form-error-backdrop{background:rgba(21,49,37,.46)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.form-error-box{
  background:#fff!important;
  border:1px solid #e0e8e3!important;
  box-shadow:0 24px 70px rgba(17,55,42,.18)!important;
}
.form-error-box h3{color:#183f30!important}
.form-error-box p{color:#60756d!important}
.form-error-icon{background:#fdf0f2!important;border-color:#f1cbd2!important;color:#d75164!important}
.form-error-box .primary-btn{background:var(--luppi-green)!important;color:#fff!important}

/* @ fixo do Instagram no cadastro */
.input-prefix-wrap .input-prefix,
.input-prefix-wrap>span{
  color:var(--luppi-green)!important;
  font-weight:800!important;
}

/* Ações do Discover com leitura visual mais próxima de apps de swipe atuais */
#actionRow.action-row{
  gap:20px!important;
  align-items:flex-start;
  justify-content:center;
}
#actionRow .action{
  min-width:72px;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.015em;
  color:#6c827a!important;
}
#actionRow .action-circle{
  width:62px!important;
  height:62px!important;
  margin:0 auto 6px!important;
  background:#fff!important;
  border:1px solid #dbe5df!important;
  box-shadow:0 9px 24px rgba(24,69,52,.11)!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
#actionRow .action.small .action-circle{width:50px!important;height:50px!important;margin-top:6px!important}
#actionRow .action-circle svg{width:27px;height:27px;display:block;fill:currentColor}
#actionRow .action.small .action-circle svg{width:23px;height:23px}
#actionRow .action.dislike .action-circle{color:#e05b6f!important;border-color:#f1d5da!important}
#actionRow .action.like .action-circle{color:#27a36f!important;border-color:#cfe9dd!important}
#actionRow .action.small .action-circle{color:#d3a42f!important;border-color:#ebdfbe!important}
#actionRow .action:active .action-circle{transform:scale(.91);box-shadow:0 5px 14px rgba(24,69,52,.10)!important}

/* Instagram dentro do card: ícone em vez de @ */
.instagram{
  width:max-content;
  max-width:100%;
  display:inline-flex!important;
  align-items:center;
  gap:7px;
}
.instagram-icon{width:17px;height:17px;display:block;flex:none}
.instagram span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:390px){
  #actionRow.action-row{gap:10px!important}
  #actionRow .action{min-width:66px}
  #actionRow .action-circle{width:56px!important;height:56px!important}
  #actionRow .action.small .action-circle{width:46px!important;height:46px!important}
  #actionRow .action-circle svg{width:25px;height:25px}
}

/* ===== V3.3 — conversas verdes + popup de match compacto ===== */
/* Mantém a página clara; apenas os itens da lista ficam na identidade Luppi */
.conversation-list{
  gap:10px!important;
  margin:0!important;
}
.conversation-item{
  background:#28593F!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
  border-radius:22px!important;
  padding:13px 12px!important;
  box-shadow:0 10px 24px rgba(40,89,63,.13)!important;
}
.conversation-item:hover,
.conversation-item:active{
  background:#316A4B!important;
}
.conversation-name{color:#fff!important}
.conversation-preview{color:rgba(255,255,255,.76)!important}
.conversation-item.is-unread .conversation-preview{color:#fff!important;font-weight:650!important}
.conversation-time{color:rgba(255,255,255,.62)!important}
.you-prefix{color:rgba(255,255,255,.70)!important}
.conversation-state{color:rgba(255,255,255,.72)!important}
.conversation-state.new,.conversation-state.match{color:#D9F3E3!important}
.conversation-state.waiting{color:rgba(255,255,255,.68)!important}
.unread-dot{background:#fff!important;box-shadow:0 0 0 4px rgba(255,255,255,.14)!important}
.avatar{border:2px solid rgba(255,255,255,.20)!important}

/* Match é um popup — não uma "nova página" */
.match-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:3000!important;
  display:none!important;
  place-items:center!important;
  padding:18px!important;
  background:rgba(15,48,36,.38)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
.match-overlay.open{display:grid!important}
.match-modal{
  width:min(88vw,340px)!important;
  max-height:min(86dvh,560px)!important;
  overflow:auto!important;
  background:#fff!important;
  border:1px solid #dce7e2!important;
  border-radius:26px!important;
  padding:20px 18px 18px!important;
  box-shadow:0 22px 70px rgba(16,53,43,.24)!important;
  text-align:center!important;
  animation:luppiMatchPop .22s cubic-bezier(.2,.8,.2,1)!important;
}
@keyframes luppiMatchPop{
  from{opacity:0;transform:scale(.92) translateY(10px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
.match-modal h2{
  margin:5px 0 6px!important;
  font-size:29px!important;
  line-height:1!important;
  color:#28593F!important;
  letter-spacing:-.035em!important;
}
.match-modal p{
  margin:0 auto!important;
  max-width:270px!important;
  font-size:13px!important;
  line-height:1.4!important;
  color:#6b8078!important;
}
.match-pill{
  margin-bottom:7px!important;
  padding:6px 10px!important;
  font-size:9px!important;
}
.match-photos{
  margin:16px 0 12px!important;
}
.match-photos img{
  width:82px!important;
  height:82px!important;
  border-width:3px!important;
}
.match-heart{
  font-size:21px!important;
  padding:5px!important;
  margin:0 -8px!important;
}
.global-match-user{margin:0 0 13px!important;gap:2px!important}
.global-match-user strong{font-size:17px!important}
.global-match-user span{font-size:11px!important}
.match-modal .stack-buttons{gap:7px!important}
.match-modal .primary-btn,
.match-modal .secondary-btn{
  border-radius:14px!important;
  padding:12px 14px!important;
  font-size:12px!important;
}

@media(max-width:390px){
  .conversation-item{border-radius:19px!important;padding:11px 10px!important}
  .match-modal{width:min(90vw,320px)!important;padding:18px 16px 16px!important;border-radius:24px!important}
  .match-photos img{width:74px!important;height:74px!important}
  .match-modal h2{font-size:27px!important}
}

/* ===== PROFISSÃO + DENÚNCIA / DISCOVER ===== */
.profession{
  margin-top:4px;
  font-size:15px;
  line-height:1.3;
  font-weight:600;
  color:rgba(255,255,255,.9);
  text-shadow:0 2px 8px rgba(0,0,0,.35);
  max-width:88%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.report-profile-btn{
  position:absolute;
  z-index:9;
  top:30px;
  right:14px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(10,22,17,.42);
  color:#fff;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  cursor:pointer;
  touch-action:manipulation;
}
.report-profile-btn svg{width:20px;height:20px}
.report-profile-btn:active{transform:scale(.94)}
.report-overlay[hidden]{display:none!important}
.report-overlay{position:fixed;z-index:420;inset:0;display:grid;place-items:center;padding:20px}
.report-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.report-modal{
  position:relative;
  z-index:1;
  width:min(100%,390px);
  max-height:min(82dvh,620px);
  overflow:auto;
  background:#fff;
  color:#18332a;
  border-radius:26px;
  padding:24px 20px 20px;
  box-shadow:0 26px 70px rgba(0,0,0,.3);
}
.report-modal h2{margin:8px 0 6px;font-size:24px;letter-spacing:-.03em}
.report-modal>p{margin:0 0 18px;color:#65736d;font-size:14px;line-height:1.45}
.report-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fceaea;color:#d04444;font-size:22px;font-weight:900}
.report-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f4f2;color:#4d5f58;font-size:24px;line-height:1;cursor:pointer}
.report-field{display:block;margin-bottom:14px}
.report-field>span{display:block;margin-bottom:7px;color:#355047;font-size:13px;font-weight:700}
.report-field select,.report-field textarea{width:100%;border:1px solid #dce5e0;background:#f8faf9;color:#18332a;border-radius:14px;padding:13px 14px;font:inherit;outline:none}
.report-field textarea{resize:vertical;min-height:88px}
.report-field select:focus,.report-field textarea:focus{border-color:#28593F;box-shadow:0 0 0 3px rgba(40,89,63,.10)}
.report-submit{width:100%;margin-top:2px}

/* ===== INSIGHTS V1 ===== */
.bottom-nav{grid-template-columns:repeat(3,1fr)!important}
.nav-item{min-width:0}
.nav-item>span:last-child{white-space:nowrap;font-size:10px}

.insights-page{display:grid;gap:14px}
.insights-hero{
  background:linear-gradient(145deg,#28593F,#316A4B);
  color:#fff;
  border-radius:26px;
  padding:20px;
  box-shadow:0 16px 34px rgba(40,89,63,.17);
}
.insights-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.insights-kicker{font-size:10px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.insights-hero h1{margin:3px 0 0;font-size:26px;line-height:1;letter-spacing:-.035em}
.insights-event{font-size:10px;font-weight:800;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);padding:7px 9px;border-radius:999px;white-space:nowrap;max-width:46%;overflow:hidden;text-overflow:ellipsis}
.insights-status{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px 15px}
.insights-status strong{display:block;font-size:15px;line-height:1.32;margin-bottom:5px}
.insights-status span{font-size:11px;line-height:1.4;color:rgba(255,255,255,.72)}

.insights-main-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.insight-main-card{
  background:#fff;
  border:1px solid #dce7e2;
  border-radius:20px;
  padding:15px 10px;
  text-align:center;
  box-shadow:0 10px 24px rgba(16,53,43,.05);
}
.insight-main-icon{width:34px;height:34px;border-radius:50%;margin:0 auto 8px;display:grid;place-items:center;font-size:17px;font-weight:900}
.insight-main-card.like .insight-main-icon{background:#e9f7f0;color:#25835f}
.insight-main-card.dislike .insight-main-icon{background:#fff0f2;color:#dd5668}
.insight-main-card.match .insight-main-icon{background:#eef5ff;color:#5e70c7}
.insight-main-value{display:block;color:#163c30;font-size:28px;line-height:1;font-weight:900;letter-spacing:-.04em}
.insight-main-label{display:block;margin-top:5px;color:#71867f;font-size:10px;font-weight:800;line-height:1.15}

.insights-section{background:#fff;border:1px solid #dce7e2;border-radius:22px;padding:17px;box-shadow:0 10px 24px rgba(16,53,43,.04)}
.insights-section-title{margin:0 0 12px;font-size:15px;color:#173e32;letter-spacing:-.015em}
.insights-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.insight-detail{background:#f5f9f6;border:1px solid #e0e9e4;border-radius:16px;padding:13px}
.insight-detail span{display:block;font-size:10px;font-weight:800;color:#71867f;margin-bottom:5px}
.insight-detail strong{display:block;font-size:20px;line-height:1;color:#214f3e}
.insight-detail small{display:block;margin-top:5px;font-size:9px;line-height:1.3;color:#8a9b95}

.insights-meter{margin-top:13px}
.insights-meter-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:800;color:#657b73;margin-bottom:7px}
.insights-meter-track{height:9px;background:#eef3f0;border-radius:999px;overflow:hidden}
.insights-meter-fill{height:100%;background:#28593F;border-radius:999px;min-width:0;transition:width .25s ease}
.insights-note{margin:10px 0 0;font-size:10px;line-height:1.4;color:#7b8e87}

@media(max-width:390px){
  .insights-main-grid{gap:7px}
  .insight-main-card{padding:13px 6px;border-radius:18px}
  .insight-main-value{font-size:25px}
  .insight-main-label{font-size:9px}
  .insights-hero{padding:17px;border-radius:23px}
  .insights-hero h1{font-size:24px}
  .nav-item>span:last-child{font-size:9px}
}

/* ===== INSIGHTS SHARE / STORY V2 ===== */
.insights-share-btn{width:100%;margin-top:12px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:#fff;color:#28593F;padding:13px 15px;display:flex;align-items:center;justify-content:center;gap:8px;font:800 12px/1 inherit;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.insights-share-btn svg{width:18px;height:18px;fill:currentColor}.insights-share-btn:active{transform:scale(.985)}.insights-share-btn:disabled{opacity:.72;cursor:wait}
.story-preview-overlay[hidden]{display:none!important}.story-preview-overlay{position:fixed;z-index:700;inset:0;display:grid;place-items:center;padding:16px}.story-preview-backdrop{position:absolute;inset:0;background:rgba(5,12,9,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.story-preview-modal{position:relative;z-index:1;width:min(100%,390px);max-height:92dvh;overflow:auto;background:#fff;border-radius:26px;padding:18px;box-shadow:0 28px 80px rgba(0,0,0,.36)}
.story-preview-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#eef3f0;color:#375449;font-size:25px;line-height:1;cursor:pointer}.story-preview-head{padding:2px 38px 12px 2px}.story-preview-head strong{display:block;color:#173e32;font-size:18px;letter-spacing:-.02em}.story-preview-head span{display:block;margin-top:3px;color:#7c8e87;font-size:11px}
.story-preview-image{display:block;width:min(100%,300px);aspect-ratio:9/16;object-fit:cover;margin:0 auto;background:#0d1412;border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.story-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.story-preview-actions .primary-btn,.story-preview-actions .secondary-btn{margin:0!important;padding:12px 10px!important;font-size:11px!important}
@media(max-width:390px){.story-preview-modal{border-radius:22px;padding:15px}.story-preview-image{width:min(100%,270px)}}


/* ===== STATUS DE ATIVIDADE / DISCOVER ===== */
.activity-status{
  display:flex;align-items:center;gap:6px;margin-top:6px;
  font-size:12px;font-weight:700;color:rgba(255,255,255,.88);
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.activity-status:before{
  content:"";width:7px;height:7px;border-radius:50%;background:#68d391;
  box-shadow:0 0 0 3px rgba(104,211,145,.16),0 0 10px rgba(104,211,145,.42);
  flex:0 0 auto;
}

/* Insights sem métrica de dislikes recebidos */
.insights-main-grid{grid-template-columns:repeat(2,minmax(0,1fr));}


/* Luppi Match — identificação oficial e páginas legais */
.official-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:7px 10px;border-radius:999px;background:rgba(40,89,63,.10);color:#28593F;font-size:10px;font-weight:800;letter-spacing:.08em;margin-bottom:8px}
.official-info{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:16px;background:#f4f8f5;border:1px solid rgba(40,89,63,.14);font-size:12px;line-height:1.45;color:#415047;margin:4px 0 8px}
.official-info strong{color:#28593F;font-size:12px}
.legal-mini{margin-top:14px;font-size:11px;line-height:1.5;color:#6f7772;text-align:center}.legal-mini a,.site-legal-footer a,.legal-consent a{color:#28593F;font-weight:700;text-decoration:none}.legal-consent{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #dde5df;border-radius:14px;background:#fafcfb;font-size:12px;line-height:1.4;color:#4c5650}.legal-consent input{margin-top:2px;accent-color:#28593F;flex:0 0 auto}.site-legal-footer{padding:18px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:10px;line-height:1.4;color:#7a817d}.site-legal-footer strong{color:#59625d;font-size:10px}.site-legal-footer nav{display:flex;gap:7px;align-items:center;margin-top:2px}.legal-page{max-width:720px;margin:0 auto;padding:18px 18px 32px}.legal-page h1{font-size:28px;line-height:1.05;margin:8px 0 4px;color:#18231d}.legal-page h2{font-size:16px;margin:22px 0 6px;color:#28593F}.legal-page p{font-size:14px;line-height:1.65;color:#4f5953;margin:0}.legal-updated{font-size:11px!important;color:#89908c!important}.legal-back{margin-top:26px}.official-auth-card h1{margin-top:0}
