/* Yipp Brand 50 - mature product system derived from the print identity */
:root{
  --primary:#f56d5a!important;--primary-dark:#dc5848!important;--primary-soft:#fff1ee!important;
  --navy:#0b2d45;--ink:#101820;--text:#102d43!important;--muted:#667684!important;
  --line:#dfe5e9!important;--border:#dfe5e9!important;--surface:#fff;--canvas:#f6f8f9;
  --radius:8px;--shadow:0 10px 30px rgba(11,45,69,.08);
}
*{box-sizing:border-box}
html,body{background:var(--canvas)!important;color:var(--text)!important}
body{font-family:Inter,"Avenir Next","Segoe UI",Arial,sans-serif!important;letter-spacing:-.01em}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4,strong{color:var(--navy);letter-spacing:-.025em}
.page,.merchant-page{width:min(1440px,100%)!important;margin-inline:auto!important;padding:34px clamp(18px,3vw,48px) 110px!important}
.section{margin-top:28px!important}.subtle{color:var(--muted)!important}
.eyebrow,.fin-kicker{color:var(--primary)!important;font-size:11px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.page-header{align-items:flex-end!important;margin:0 0 28px!important;padding:0 0 22px!important;border-bottom:1px solid var(--line)!important}
.page-header h1,.merchant-dashboard-heading h1,.fin-head h1{font-size:clamp(29px,4vw,46px)!important;line-height:1.02!important;font-weight:750!important;margin:5px 0 9px!important}
.page-header p,.merchant-dashboard-heading p{max-width:720px!important;font-size:15px!important;line-height:1.6!important}

/* Header */
html[data-yipp-role] .yipp-unified-topbar{height:72px!important;padding:0 clamp(14px,3vw,34px)!important;background:#fff!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}
html[data-yipp-role] .merchant-menu-button{border:0!important;border-radius:6px!important;background:transparent!important;color:var(--navy)!important}
html[data-yipp-role] .merchant-menu-button:hover{background:var(--primary-soft)!important;color:var(--primary)!important}
html[data-yipp-role] .merchant-mobile-brand{min-width:120px!important}
html[data-yipp-role] .merchant-mobile-brand img{width:auto!important;height:46px!important;object-fit:contain!important}
html[data-yipp-role] .merchant-mobile-brand span{font-size:10px!important;letter-spacing:.12em!important;text-transform:uppercase!important}
html[data-yipp-role] .merchant-top-location{border:0!important;border-left:1px solid var(--line)!important;border-radius:0!important;padding-left:18px!important;color:var(--primary)!important}
html[data-yipp-role] .merchant-owner-avatar{background:var(--navy)!important;border-radius:6px!important;color:#fff!important}
html[data-yipp-role] .merchant-owner-control select{border:0!important;border-radius:4px!important}

/* Off-canvas navigation */
html[data-yipp-role] .desktop-nav,html[data-yipp-role] .merchant-desktop-nav{background:#10171f!important;width:min(322px,90vw)!important;padding:0 18px 30px!important;box-shadow:18px 0 45px rgba(3,12,20,.22)!important}
html[data-yipp-role] .menu-identity{height:auto!important;min-height:238px!important;flex-basis:auto!important;margin:0 -18px 20px!important;padding:24px 24px 22px!important;background:#fff!important;border-bottom:3px solid var(--primary)!important}
html[data-yipp-role] .menu-identity-brand img{width:auto!important;height:72px!important;object-fit:contain!important}
html[data-yipp-role] .menu-close{right:2px!important;top:0!important;border-radius:5px!important;background:transparent!important}
html[data-yipp-role] .menu-city{margin-top:8px!important;color:var(--navy)!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
html[data-yipp-role] .menu-user{margin-top:20px!important;padding-top:16px!important;border-top:1px solid var(--line)!important}
html[data-yipp-role] .menu-user-avatar{width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:6px!important;background:var(--navy)!important}
html[data-yipp-role] .nav-label{padding:4px 13px 10px!important;color:#8293a3!important;font-size:10px!important;letter-spacing:.16em!important;text-transform:uppercase!important}
html[data-yipp-role] .nav-button,html[data-yipp-role] .merchant-nav-button{min-height:46px!important;margin:2px 0!important;border-radius:5px!important;color:#c7d0d8!important;font-size:13px!important;font-weight:650!important}
html[data-yipp-role] .nav-button svg,html[data-yipp-role] .merchant-nav-button svg{color:#8293a3!important}
html[data-yipp-role] .nav-button:hover,html[data-yipp-role] .merchant-nav-button:hover{background:#172532!important;color:#fff!important}
html[data-yipp-role] .nav-button.active,html[data-yipp-role] .merchant-nav-button.active{background:var(--primary)!important;color:#fff!important;box-shadow:none!important}
html[data-yipp-role] .nav-button.active svg,html[data-yipp-role] .merchant-nav-button.active svg{color:#fff!important}

/* Cards and data surfaces */
.panel,.stat-card,.business-card,.offer-card,.action-card,.notice-card,.merchant-ready-card,.merchant-demand-card,.fin-panel,.merchant-kpi-card-v2,.group-vote-card,.partner-opportunity-card{border:1px solid var(--line)!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:none!important}
.panel:hover,.business-card:hover,.offer-card:hover,.action-card:hover{border-color:#cbd5db!important;box-shadow:var(--shadow)!important;transform:none!important}
.stats-grid{gap:14px!important}.stat-card{padding:20px!important;border-top:3px solid var(--navy)!important}
.stat-card strong{font-size:27px!important}.stat-card>span:last-child{font-size:11px!important;letter-spacing:.055em!important;text-transform:uppercase!important}
.stat-icon,.merchant-kpi-icon-v2{border-radius:5px!important;background:var(--primary-soft)!important;color:var(--primary)!important}
.card-grid{gap:18px!important}.business-card,.offer-card{overflow:hidden!important}
.business-image{border-radius:0!important;background:#e9eef1!important}.business-image img{transition:transform .35s ease!important}.business-card:hover .business-image img{transform:scale(1.015)!important}
.business-card h3,.offer-card h3{font-size:17px!important}.business-top,.offer-body{padding:18px!important}
.status,.boost-badge,.chip{border-radius:4px!important;font-weight:750!important;box-shadow:none!important}
.chip{border:1px solid var(--line)!important;background:#fff!important;color:var(--navy)!important}
.chip:hover{border-color:var(--primary)!important}.chip.active{border-color:var(--navy)!important;background:var(--navy)!important;color:#fff!important}
.chip svg{color:var(--primary)!important}.chip.active svg{color:#fff!important}

/* Buttons and forms */
.btn{min-height:42px!important;border-radius:5px!important;padding:10px 17px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.025em!important;box-shadow:none!important;text-transform:none!important}
.btn-primary{border-color:var(--primary)!important;background:var(--primary)!important;color:#fff!important}.btn-primary:hover{border-color:var(--primary-dark)!important;background:var(--primary-dark)!important}
.btn-secondary{border-color:var(--navy)!important;background:#fff!important;color:var(--navy)!important}.btn-secondary:hover{background:var(--navy)!important;color:#fff!important}
.btn-ghost,.text-button{color:var(--navy)!important}.text-button{text-decoration-color:var(--primary)!important;text-underline-offset:4px!important}
.field label{margin-bottom:7px!important;color:var(--navy)!important;font-size:11px!important;font-weight:800!important;letter-spacing:.05em!important;text-transform:uppercase!important}
.field input,.field select,.field textarea,.fin-search{border:1px solid #cfd8de!important;border-radius:5px!important;background:#fff!important;box-shadow:none!important;color:var(--navy)!important}
.field input:focus,.field select:focus,.field textarea:focus,.fin-search:focus{border-color:var(--primary)!important;outline:3px solid rgba(245,109,90,.14)!important}

/* Primary visitor experience */
.visitor-hero,.hero-card,.group-decision-hero,.pulse-hero{border-radius:8px!important;background:var(--navy)!important;box-shadow:none!important}
.visitor-hero:before,.visitor-hero:after,.hero-card:before,.hero-card:after{display:none!important}
.yipp-me-hero-button{border-radius:5px!important;background:var(--primary)!important;box-shadow:none!important}
.yipp-me-hero-button:hover{background:var(--primary-dark)!important;transform:none!important}
.action-card{min-height:104px!important;padding:20px!important}.action-card .action-icon{border-radius:5px!important;background:var(--primary-soft)!important;color:var(--primary)!important}
.map-panel{min-height:330px!important;border-radius:6px!important;background:#e9eef1!important}.map-water,.map-road,.map-pin,.map-user{opacity:.5!important}
.right-now-rail{gap:16px!important}.right-now-card{border:1px solid var(--line)!important;border-radius:8px!important;box-shadow:none!important}
.right-now-boost{border-radius:4px!important;background:var(--primary-soft)!important;color:var(--navy)!important}

.partner-hero-stat strong{color:var(--primary)!important}

/* Dashboards */
.merchant-dashboard-heading,.fin-head{padding-bottom:22px!important;border-bottom:1px solid var(--line)!important}
.merchant-dashboard-shell,.merchant-dashboard-v2{background:transparent!important;border:0!important;box-shadow:none!important}
.merchant-kpi-grid-v2{gap:14px!important}.merchant-kpi-card-v2{padding:19px!important;border-top:3px solid var(--navy)!important}
.merchant-ready-card{border-left:4px solid var(--primary)!important;background:#fff!important}.merchant-ready-card.active{background:#fff!important}
.merchant-status-strip{border-radius:5px!important;background:#fff!important;border:1px solid var(--line)!important}
table,.fin-table{border:1px solid var(--line)!important;border-radius:6px!important;overflow:hidden!important}
thead,.fin-row.fin-label{background:var(--navy)!important;color:#fff!important}.fin-row.fin-label span{color:#fff!important}
tbody tr:hover,.fin-row:not(.fin-label):hover{background:#f8fafb!important}

/* Modals and onboarding */
.modal-backdrop{background:rgba(5,17,27,.68)!important;backdrop-filter:blur(6px)!important}
.modal{border:0!important;border-radius:9px!important;box-shadow:0 28px 80px rgba(5,17,27,.3)!important;overflow:hidden!important}
.modal-head{min-height:84px!important;padding:18px 22px!important;border-bottom:3px solid var(--primary)!important;background:#fff!important}
.modal-head .brand-logo{width:auto!important;height:56px!important;object-fit:contain!important}
.modal-body{padding:26px!important}.auth-tabs{padding:3px!important;border-radius:5px!important;background:#eef2f4!important}
.auth-tab{border-radius:4px!important;color:var(--muted)!important}.auth-tab.active{background:var(--navy)!important;color:#fff!important;box-shadow:none!important}
.auth-footnote{border-top:1px solid var(--line)!important;padding-top:16px!important;color:var(--muted)!important}

/* Mobile navigation is a clear five-step task bar */
.mobile-bottom-nav{min-height:70px!important;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;border-top:1px solid var(--line)!important;background:rgba(255,255,255,.97)!important;box-shadow:0 -8px 25px rgba(11,45,69,.06)!important;backdrop-filter:blur(14px)!important}
.mobile-nav-button{border-radius:4px!important;color:#71808c!important;font-size:10px!important;font-weight:750!important}
.mobile-nav-button svg{stroke-width:1.8!important}.mobile-nav-button.active{background:transparent!important;color:var(--navy)!important}.mobile-nav-button.active svg{color:var(--primary)!important}.mobile-nav-button.active:after{content:"";position:absolute;top:-7px;width:28px;height:3px;background:var(--primary)!important}

/* Sales presentation */
.pitch-mode,.yipp-pitch19{background:#10171f!important}.pitch-slide{background:#fff!important}.pitch-slide h1,.pitch-slide h2{color:var(--navy)!important}.pitch-slide-dark{background:#10171f!important}.pitch-slide-dark h1,.pitch-slide-dark h2{color:#fff!important}
.pitch-price-card,.pitch-visual-card,.qr-entry-demo,.share-demo-card{border-radius:7px!important;box-shadow:none!important;border:1px solid var(--line)!important}
.pitch-price-card.featured{border:2px solid var(--primary)!important}.pitch-price-ribbon{border-radius:3px!important;background:var(--primary)!important}

@media(max-width:800px){
  .page,.merchant-page{padding:24px 15px 96px!important}.page-header{display:block!important;margin-bottom:22px!important}.page-header>.btn{margin-top:14px!important}
  html[data-yipp-role] .yipp-unified-topbar{height:64px!important;padding-inline:10px!important}
  html[data-yipp-role] .merchant-mobile-brand img{height:42px!important}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stat-card{min-height:112px!important}
  .card-grid{grid-template-columns:1fr!important}.modal{width:calc(100% - 20px)!important;max-height:calc(100dvh - 24px)!important}
  .modal-body{padding:20px!important}.hero-buttons{display:grid!important;grid-template-columns:1fr!important}
}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr 1fr!important}.stat-card{padding:15px!important}.page-header h1{font-size:30px!important}.merchant-top-icon[aria-label="Help"]{display:none!important}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Build 61: complete, independently scrollable partner application review */
.partner-application-review-modal{
  display:flex!important;
  flex-direction:column!important;
  width:min(940px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 28px)!important;
  overflow:hidden!important;
}
.partner-application-review-modal .modal-head{
  flex:0 0 auto!important;
}
.partner-application-review-modal .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.partner-application-review-modal .partner-review-grid>div{
  min-width:0;
}
.partner-application-review-modal .partner-review-grid strong,
.partner-application-review-modal .partner-review-notes p{
  overflow-wrap:anywhere;
}
@media(max-width:720px){
  .modal-backdrop:has(.partner-application-review-modal){padding:8px!important;align-items:stretch!important}
  .partner-application-review-modal{width:100%!important;max-height:calc(100dvh - 16px)!important}
  .partner-application-review-modal .modal-head{min-height:68px!important;padding:12px 14px!important}
  .partner-application-review-modal .modal-body{padding:16px!important}
}

/* Build 62: independently scrollable Add Destination and admin management forms */
.admin-manage-modal{
  display:flex!important;
  flex-direction:column!important;
  width:min(820px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 28px)!important;
  overflow:hidden!important;
}
.admin-manage-modal .modal-head{flex:0 0 auto!important}
.admin-manage-modal .modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
@media(max-width:720px){
  .modal-backdrop:has(.admin-manage-modal){padding:8px!important;align-items:stretch!important}
  .admin-manage-modal{width:100%!important;max-height:calc(100dvh - 16px)!important}
  .admin-manage-modal .modal-head{min-height:68px!important;padding:12px 14px!important}
  .admin-manage-modal .modal-body{padding:16px!important}
}
