/* Bride Era R14.2 — sistema visual mais humano, editorial e consistente. */
:root{
  --r142-paper:#fbf8f5;--r142-surface:#fffdfa;--r142-ink:#2b2522;--r142-muted:#746a65;
  --r142-line:rgba(91,72,64,.14);--r142-shadow:0 14px 38px rgba(73,52,46,.08);
  --r142-shadow-hover:0 18px 46px rgba(73,52,46,.12);--r142-radius:20px;--r142-radius-sm:13px;
}
body.app{background:
  radial-gradient(circle at 12% 0%,rgba(218,187,175,.13),transparent 28rem),
  radial-gradient(circle at 92% 24%,rgba(225,211,184,.13),transparent 30rem),var(--r142-paper);color:var(--r142-ink)}
.app-content{max-width:1480px;padding-top:26px}
.app-topbar{background:rgba(255,253,250,.92);border-bottom:1px solid var(--r142-line);backdrop-filter:blur(20px) saturate(1.2);box-shadow:0 4px 18px rgba(80,57,50,.035)}
.app-topbar h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em}
.app-sidebar{background:linear-gradient(180deg,#fffdfa 0%,#faf4ef 100%);border-right:1px solid var(--r142-line);box-shadow:10px 0 32px rgba(70,48,42,.035)}
.sb-brand{border-bottom:0;padding-bottom:12px}.sb-couple{margin:0 12px 14px;border:1px solid rgba(165,115,103,.14);border-radius:18px;background:linear-gradient(145deg,rgba(250,235,230,.84),rgba(250,244,232,.86));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.sb-nav{padding:2px 10px 20px}.sb-group-title{padding-left:10px;color:#9a8c85;font-size:.62rem;letter-spacing:.17em}
.sb-link{border-radius:11px;padding:9px 10px;margin-bottom:3px;transition:background .18s ease,color .18s ease,transform .18s ease}.sb-link:hover{background:rgba(192,138,125,.08);transform:translateX(2px)}.sb-link.active{background:#f4e5e0;color:#6e4544;font-weight:650}.sb-link.active::before{display:none}.sb-link .ico{filter:saturate(.82)}
.panel,.kpi,.feature,.s-card,.integrated-context{border:1px solid var(--r142-line)!important;background:rgba(255,253,250,.92);box-shadow:var(--r142-shadow);border-radius:var(--r142-radius)!important}
.panel{padding:22px}.panel:hover{box-shadow:var(--r142-shadow-hover)}
.kpi{overflow:hidden;position:relative}.kpi::after{content:"";position:absolute;width:58px;height:58px;border-radius:50%;right:-20px;top:-22px;background:rgba(192,138,125,.07)}
.panel-head h3,.panel-head h4{letter-spacing:-.01em}.panel-head .sub{color:var(--r142-muted)}
.btn{border-radius:12px!important;font-weight:620;letter-spacing:.005em;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease;gap:7px!important}.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(76,53,47,.10)}.btn:active{transform:translateY(0) scale(.985)}
.btn-primary{background:linear-gradient(180deg,#9b6665,#855251)!important;border-color:#855251!important;color:#fff!important}.btn-soft{background:#f6e9e5!important;border-color:#ecd5ce!important;color:#724a49!important}.btn-ghost{background:rgba(255,255,255,.62)!important;border-color:var(--r142-line)!important}.btn-danger{border-radius:12px!important}
.r142-btn-icon{font-size:.92em;opacity:.88;line-height:1;display:inline-grid;place-items:center;min-width:1em}
input,select,textarea{border-radius:12px!important;border:1px solid rgba(105,82,73,.19)!important;background:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);transition:border-color .18s ease,box-shadow .18s ease!important}input:focus,select:focus,textarea:focus{border-color:#b57a72!important;box-shadow:0 0 0 3px rgba(181,122,114,.11)!important;outline:0!important}.field label{font-weight:630;color:#5f5550;letter-spacing:.01em}
.badge{border-radius:999px;padding:.3em .65em;font-weight:650}.tbl-wrap{border-radius:16px;border:1px solid var(--r142-line);background:#fff;overflow:auto}.tbl{border-collapse:separate;border-spacing:0}.tbl th{background:#faf6f3;color:#7c6d66;font-size:.71rem;letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0}.tbl tr:hover td{background:#fffaf7}.tbl td{border-bottom-color:rgba(95,74,66,.08)!important}
.modal{border-radius:24px!important;border:1px solid rgba(91,72,64,.12)!important;box-shadow:0 28px 90px rgba(42,30,26,.24)!important;background:#fffdfa!important}.modal-head{border-bottom:1px solid rgba(91,72,64,.09)}.modal-footer{border-top:1px solid rgba(91,72,64,.09)!important}
.page-guide{background:linear-gradient(135deg,#f9eee9,#fffdf9)!important;border-color:rgba(178,126,112,.15)!important}.help-inline-note{border-style:solid!important;background:rgba(255,255,255,.74)!important}

/* Topo: notificações e conversas com vida, sem virar carnaval. */
.notification-orb-r142,.conversation-orb-r142{position:relative!important;width:40px!important;height:40px!important;border-radius:13px!important;background:linear-gradient(145deg,#fff,#f8eee9)!important;border:1px solid rgba(145,100,91,.16)!important;box-shadow:0 7px 20px rgba(80,54,48,.08);overflow:visible!important}
.conversation-orb-r142{background:linear-gradient(145deg,#fff,#f0f2f8)!important}.top-action-glyph{font-size:1rem;transition:transform .2s ease}.notification-orb-r142:hover .top-action-glyph{transform:rotate(-10deg) scale(1.08)}.conversation-orb-r142:hover .top-action-glyph{transform:translateY(-1px) scale(1.08)}
.notification-orb-r142.has-unread::before,.conversation-orb-r142.has-unread::before{content:"";position:absolute;inset:-3px;border-radius:16px;border:1px solid rgba(183,105,94,.36);animation:r142Pulse 2.4s ease-out infinite;pointer-events:none}.conversation-orb-r142.has-unread::before{border-color:rgba(90,112,164,.32)}
.notification-bell .notif-count{position:absolute!important;right:-6px!important;top:-6px!important;min-width:19px!important;height:19px!important;padding:0 5px!important;border-radius:999px!important;background:#a95750!important;color:#fff!important;font:700 10px/19px var(--font-body)!important;box-shadow:0 3px 8px rgba(91,44,41,.25)!important;display:grid!important;place-items:center}.notification-bell:not(.has-unread) .notif-count{opacity:0;transform:scale(.7);pointer-events:none}
@keyframes r142Pulse{0%{opacity:.9;transform:scale(.94)}70%,100%{opacity:0;transform:scale(1.22)}}

/* Central de alertas */
.notif-hero-r142{background:linear-gradient(120deg,#704947,#9b6863)!important}.notif-item{border:1px solid var(--r142-line)!important;border-radius:16px!important;margin-bottom:9px!important;background:#fff!important;padding:14px!important;align-items:center!important}.notif-item.unread{background:linear-gradient(90deg,#fff8f5,#fff)!important;border-color:rgba(190,126,111,.26)!important;box-shadow:0 8px 22px rgba(95,61,54,.055)}.notif-item h4{margin:0!important}.notif-item p{margin:4px 0 0!important}.notif-actions-r142{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.notif-dismiss-r142{width:34px!important;height:34px!important;color:#8b7770!important}

/* Marketplace e cidades */
.vendor-search-r142{padding:20px!important}.vendor-search-main{display:flex;align-items:end;gap:12px}.vendor-search-main>.field:first-child{flex:1}.vendor-location-grid{display:grid;grid-template-columns:1fr 1.4fr .75fr 1fr;gap:12px;margin-top:14px}.city-search-input{display:flex;align-items:center;gap:7px;border:1px solid rgba(105,82,73,.19);border-radius:12px;background:#fff;padding:0 11px}.city-search-input input{border:0!important;box-shadow:none!important;padding-left:0}.city-picker-r142{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:230px;overflow:auto;padding:10px;margin-top:9px;border-radius:14px;background:#faf7f4;border:1px solid rgba(93,73,65,.09)}.city-option-r142{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:10px;background:#fff;border:1px solid rgba(93,73,65,.08);font-size:.79rem;cursor:pointer}.city-option-r142:hover{border-color:#d5aaa0}.city-selected-r142{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}.city-chip-r142{border:0;border-radius:999px;background:#f3e5df;color:#674846;padding:6px 9px;font:600 .75rem var(--font-body);cursor:pointer}.city-chip-r142 span{opacity:.65;margin-left:3px}.r142-vendor-card{transition:transform .18s ease,box-shadow .18s ease}.r142-vendor-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(62,43,38,.13)}.vendor-detail-cover{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:18px;margin-bottom:16px}.vendor-detail-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.vendor-service-card{box-shadow:none!important}

/* Perfil do fornecedor */
.vendor-profile-r142{display:grid;gap:16px}.profile-section-r142{padding:20px;border:1px solid rgba(93,73,65,.10);border-radius:18px;background:linear-gradient(145deg,#fff,#fdf9f6)}.profile-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.profile-section-title>span{width:34px;height:34px;border-radius:11px;background:#efe0da;color:#7f5350;display:grid;place-items:center;font:700 .75rem var(--font-body)}.profile-section-title h3{margin:0}.profile-section-title p{margin:2px 0 0;color:var(--r142-muted);font-size:.82rem}.geo-card-r142{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:14px;background:#f7f3ee;border:1px dashed rgba(95,72,64,.18);margin-bottom:14px}.geo-card-r142 small{display:block;margin-top:2px;color:var(--r142-muted)}.vendor-publish-toggle{padding:13px;border-radius:14px;background:#f7eee9;border:1px solid rgba(178,126,112,.16)}.vendor-publish-toggle span small{display:block;color:var(--r142-muted)}

/* Catálogos: visual menos “tabela cinza”, mais vitrine. */
.gift-catalog-visual{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.gift-preset-visual{min-height:116px!important;border:1px solid rgba(98,75,66,.11)!important;border-radius:17px!important;background:linear-gradient(145deg,#fff,#fcf8f5)!important;box-shadow:0 7px 20px rgba(75,52,46,.055)!important;padding:10px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}.gift-preset-visual:hover{transform:translateY(-2px)!important;border-color:rgba(181,122,114,.28)!important;box-shadow:0 14px 28px rgba(75,52,46,.09)!important}.gift-preset-visual>img{border-radius:14px!important;background:#f7f2ed!important}.gift-preset-visual>b,.gift-preset-visual span b{font-size:.92rem}.gift-preset-visual>i{font-style:normal!important;color:#8a5b58!important;font-weight:700!important}.catalog-search-head{padding:14px;border-radius:16px;background:#faf6f3;border:1px solid rgba(98,75,66,.10);margin-bottom:12px}.catalog-search-head .field{margin-bottom:0}

/* Fornecedores no mobile */
.supplier-search-toggle-r142{display:none}

/* Logout do menu mobile */
.mobile-account-actions .mobile-logout{border:1px solid rgba(156,75,72,.15)!important;background:linear-gradient(145deg,#fff,#fff3f1)!important;border-radius:16px!important;color:#934d49!important;box-shadow:0 7px 20px rgba(119,61,56,.07)!important;padding:11px 16px!important}.mobile-account-actions .mobile-logout span{display:grid;width:28px;height:28px;border-radius:9px;background:#f7ded9;place-items:center}.mobile-account-actions .mobile-logout b{font-size:.78rem!important}

/* Demo 3D da landing */
[data-open-3d-demo]{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.48)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important}[data-open-3d-demo]:hover{background:#fff!important;color:#563f3e!important;border-color:#fff!important}

@media(max-width:1050px){.vendor-location-grid{grid-template-columns:1fr 1fr}.city-picker-r142{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){
  .app-topbar .global-history,.app-topbar .save-dot{display:none!important}
  .app-topbar h2{max-width:38vw!important}
  body.app{background:linear-gradient(180deg,#fbf8f5,#f8f3ef)!important}.app-content{padding:14px 12px 30px!important}.app-topbar{border-radius:0 0 16px 16px!important;box-shadow:0 5px 18px rgba(74,50,44,.05)!important}.panel{padding:15px!important;border-radius:17px!important;box-shadow:0 6px 20px rgba(79,54,48,.05)!important}.kpi{border-radius:17px!important}.btn{border-radius:11px!important}
  .notification-orb-r142,.conversation-orb-r142{width:36px!important;height:36px!important;border-radius:11px!important}.notification-bell .notif-count{right:-5px!important;top:-5px!important}
  .vendor-search-main{display:grid;grid-template-columns:1fr auto}.vendor-search-main>.field:first-child{grid-column:1/-1}.vendor-search-main>.field:nth-child(2){min-width:0}.vendor-location-grid{grid-template-columns:1fr}.city-picker-r142{grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}
  .gift-catalog-visual{grid-template-columns:1fr!important}.gift-preset-visual{grid-template-columns:78px minmax(0,1fr)!important;width:100%!important;max-width:none!important}.gift-preset-visual>img{width:78px!important;height:78px!important}.gift-preset-visual>i{display:none!important}
  .supplier-toolbar-r142{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:8px!important;overflow:visible!important;flex-wrap:wrap!important}.supplier-toolbar-r142>#foAdd{grid-column:1/2;grid-row:1;width:100%;justify-content:center}.supplier-search-toggle-r142{display:inline-flex!important;grid-column:2/3;grid-row:1;width:48px;justify-content:center;font-size:1.15rem}.supplier-search-r142{display:none!important;grid-column:1/-1;grid-row:2;width:100%}.supplier-toolbar-r142.search-open .supplier-search-r142{display:block!important}.supplier-filter-strip-r142{grid-column:1/-1;display:flex;gap:7px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.supplier-filter-strip-r142::-webkit-scrollbar{display:none}.supplier-filter-strip-r142>*{flex:0 0 auto;min-width:max-content}.supplier-filter-strip-r142 select{max-width:155px}
  .notif-item{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px}.notif-actions-r142{grid-column:1/-1;justify-content:flex-start;padding-left:44px}.geo-card-r142{align-items:flex-start;flex-direction:column}.profile-section-r142{padding:15px}
  .mobile-app-nav{background:rgba(255,253,250,.94)!important;border-color:rgba(105,80,72,.11)!important;box-shadow:0 16px 42px rgba(54,37,33,.15)!important}.mobile-app-nav button.active{background:#f4e4df!important;color:#754b49!important}
}
@media(max-width:390px){.city-picker-r142{grid-template-columns:1fr}.app-topbar h2{max-width:34vw!important}}
@media(prefers-reduced-motion:reduce){.notification-orb-r142.has-unread::before,.conversation-orb-r142.has-unread::before{animation:none}}

/* R14.2 — segunda camada da repaginação: detalhes que tiram a sensação de template genérico. */
.view-head{margin-bottom:18px}.view-head h2,.view-head h3{font-family:var(--font-display);letter-spacing:-.015em}.toolbar{padding:10px;border:1px solid rgba(91,72,64,.09);border-radius:16px;background:rgba(255,253,250,.72);box-shadow:0 5px 16px rgba(71,50,44,.035)}
.tabs{gap:5px;padding:5px;border:1px solid rgba(91,72,64,.10);border-radius:14px;background:#faf6f3}.tabs button{border:0!important;border-radius:10px!important;padding:8px 12px!important}.tabs button.active{background:#fff!important;color:#744d4b!important;box-shadow:0 4px 14px rgba(70,48,42,.08)}
.chips{gap:6px}.chip,.chips button{border-radius:999px!important}.checkbox-line{border-radius:11px}.checkbox-line input[type="checkbox"]{accent-color:#91605d}.empty-state{padding:30px 18px!important;border-radius:18px;background:linear-gradient(145deg,#fffdf9,#faf4ef)}
.btn-icon{border:1px solid rgba(91,72,64,.10)!important;background:rgba(255,255,255,.76)!important;border-radius:11px!important;transition:transform .17s ease,background .17s ease,box-shadow .17s ease}.btn-icon:hover{transform:translateY(-1px);background:#fff!important;box-shadow:0 7px 18px rgba(73,52,46,.08)}
.sb-foot{padding:12px}.sb-plan{border-radius:18px!important;background:linear-gradient(145deg,#4d3c36,#332925)!important;box-shadow:0 12px 28px rgba(48,35,31,.17)!important}.sb-support .btn{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.15)!important;color:#fff!important}
#toasts .toast{border-radius:14px!important;box-shadow:0 16px 40px rgba(53,37,32,.16)!important;border:1px solid rgba(91,72,64,.10)!important;backdrop-filter:blur(14px)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(126,98,87,.20);border:3px solid transparent;background-clip:padding-box;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:rgba(126,98,87,.34);border:2px solid transparent;background-clip:padding-box}
@media(max-width:820px){
  .toolbar{padding:8px;border-radius:14px}.tabs{border-radius:13px}.app-content>.panel:first-child,.app-content>.eco-hero:first-child{margin-top:2px}
  .mobile-sheet-card{background:linear-gradient(180deg,#fffdfb,#faf5f1)!important}.mobile-sheet-head h3{font-family:var(--font-display);font-size:1.35rem}.mobile-sheet-scroll [data-sheet-go]{border-color:rgba(91,72,64,.09)!important;background:rgba(255,255,255,.9)!important;box-shadow:0 5px 14px rgba(67,46,40,.035)!important}.mobile-sheet-scroll [data-sheet-go]:active{transform:scale(.985)}
  .mobile-app-nav{padding:7px!important;border-radius:23px!important}.mobile-app-nav button{border-radius:16px!important;transition:transform .15s ease,background .15s ease}.mobile-app-nav button:active{transform:scale(.96)}
}
