/* SoftBari Production Final — luxury visual system, responsive polish, accessibility */
:root{
  --sb-ink:#061426;--sb-navy:#071d34;--sb-blue:#1167ff;--sb-cyan:#18c9e8;--sb-gold:#e9bd67;
  --sb-bg:#f6f9fd;--sb-card:#fff;--sb-border:#dbe7f3;--sb-muted:#60758c;
  --sb-shadow:0 22px 60px rgba(4,31,63,.12);--sb-shadow-lg:0 34px 90px rgba(3,27,57,.18);
  --sb-radius:22px;--sb-ease:cubic-bezier(.2,.75,.2,1)
}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#fbfdff 0,#f4f8fc 50%,#f8fbff 100%);color:var(--sb-ink)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 10% 8%,rgba(17,103,255,.07),transparent 23%),radial-gradient(circle at 88% 16%,rgba(24,201,232,.08),transparent 22%),linear-gradient(rgba(7,29,52,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(7,29,52,.025) 1px,transparent 1px);background-size:auto,auto,42px 42px,42px 42px}
.header{border-bottom:1px solid rgba(219,231,243,.78);box-shadow:0 10px 34px rgba(4,31,63,.045)}
.header.scrolled{background:rgba(255,255,255,.93)!important;backdrop-filter:blur(22px) saturate(1.25)}
.brand-logo img{content:url('../img/softbari-logo-web.webp');height:auto;object-fit:contain}.brand-logo-header img{max-width:172px}.brand-logo-footer img{max-width:210px}
.nav-links a{position:relative}.nav-links a::after{content:"";position:absolute;left:15%;right:85%;bottom:-8px;height:2px;border-radius:3px;background:linear-gradient(90deg,var(--sb-blue),var(--sb-cyan));transition:.3s var(--sb-ease)}.nav-links a:hover::after,.nav-links a.active::after{right:15%}
.btn{min-height:42px;border-radius:13px;transition:transform .22s var(--sb-ease),box-shadow .25s,border-color .2s,background .2s;position:relative;isolation:isolate;overflow:hidden}.btn::after{content:"";position:absolute;top:-80%;left:-55%;width:36%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(20deg);transition:left .65s var(--sb-ease);z-index:-1}.btn:hover::after{left:125%}.btn:hover{transform:translateY(-2px)}.btn-primary{box-shadow:0 13px 30px rgba(17,103,255,.22)}.btn-primary:hover{box-shadow:0 18px 40px rgba(17,103,255,.32)}
.card,.app-card,.v4-product,.v4-plan,.resource-card,.portal-card,.project-card,.bento-card{border-color:var(--sb-border)!important;border-radius:var(--sb-radius)!important;box-shadow:0 14px 38px rgba(4,31,63,.07);transition:transform .3s var(--sb-ease),box-shadow .3s,border-color .3s}.card:hover,.v4-product:hover,.v4-plan:hover,.resource-card:hover,.portal-card:hover,.project-card:hover,.bento-card:hover{transform:translateY(-6px);box-shadow:var(--sb-shadow);border-color:#bfd8f3!important}
.v4-section{position:relative}.v4-section:nth-of-type(even)::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#d7e7f7,transparent)}
.v4-photo-wrap{background:linear-gradient(135deg,#0a2a4d,#0b6e9b);box-shadow:var(--sb-shadow-lg)}.v4-photo-wrap img{filter:saturate(.94) contrast(1.02);transition:transform 1.2s var(--sb-ease),filter .5s}.v4-slide.active .v4-photo-wrap img{transform:scale(1.025)}
.v4-laptop,.v4-tablet,.v4-phone,.demo-device,.portal-screen,.v5-dashboard-shot{box-shadow:0 28px 70px rgba(2,24,51,.23)}
.v4-float-card{backdrop-filter:blur(20px);background:rgba(255,255,255,.88)!important;border:1px solid rgba(255,255,255,.68)!important;box-shadow:0 16px 46px rgba(2,28,58,.16)}
.v4-kicker,.eyebrow{letter-spacing:.08em;text-transform:uppercase}.v4-title{letter-spacing:-.035em}.v4-lead,.muted{color:var(--sb-muted)!important}
.final-phone-screen{width:100%;height:100%;object-fit:cover;object-position:top left;border-radius:inherit;display:block}
/* Premium background media fallback when remote photography is unavailable */
.v4-photo-wrap::after,.industry-media::after,.consult-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(3,20,39,.33));border-radius:inherit}
img[data-photo]{background:linear-gradient(135deg,#0e3c65,#0b7895);min-height:120px}
/* Live app shell */
.product-app,.app-shell{background:radial-gradient(circle at 92% 4%,rgba(17,103,255,.10),transparent 25%),linear-gradient(180deg,#f8fbff,#eef5fb)!important}
.product-top,.app-top{backdrop-filter:blur(20px) saturate(1.2);background:rgba(255,255,255,.9)!important;border-bottom:1px solid #dbe7f3!important}
.product-side,.sidebar{background:radial-gradient(circle at 20% 0,rgba(24,201,232,.12),transparent 28%),linear-gradient(180deg,#03162a,#08345b 68%,#04192d)!important}
.product-side button,.side-link{transition:.24s var(--sb-ease)}.product-side button:hover,.side-link:hover{transform:translateX(4px)}
.product-kpi,.app-kpi{overflow:hidden;position:relative}.product-kpi::after,.app-kpi::after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-45px;top:-55px;background:radial-gradient(circle,rgba(17,103,255,.13),transparent 70%)}
.crud-layout{gap:18px}.crud-form{position:sticky;top:96px;align-self:start}.table-wrap{scrollbar-width:thin;scrollbar-color:#a9c7e5 transparent}.table tbody tr:hover{background:#f4f9ff!important}
/* states */
.status{border-radius:999px!important;font-weight:700!important}.empty-state{padding:30px!important;color:#70849a!important}.notice{border-radius:16px!important}
/* animated premium reveal */
@keyframes sbFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes sbPulse{0%,100%{opacity:.55;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}
@keyframes sbGradient{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}
.v4-float-card:nth-child(2n){animation:sbFloat 5.6s ease-in-out infinite}.v4-float-card:nth-child(2n+1){animation:sbFloat 6.4s ease-in-out infinite reverse}.grad{background-size:200% 200%!important;animation:sbGradient 7s ease infinite}.ecosystem-node.active,.pulse-node{animation:sbPulse 3.5s ease-in-out infinite}
/* PWA / mobile bottom dock */
.sb-mobile-dock{display:none}.sb-skip{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;color:#071d34;padding:10px 14px;border-radius:10px;box-shadow:var(--sb-shadow)}.sb-skip:focus{top:12px}
:focus-visible{outline:3px solid rgba(17,103,255,.32);outline-offset:3px}
/* responsive */
@media(max-width:1080px){.container{width:min(94%,1100px)}.nav-links{gap:2px}.nav-links a{padding-inline:8px;font-size:.9rem}.nav-actions .btn-outline{display:none}}
@media(max-width:900px){body{padding-bottom:72px}.header .nav{min-height:68px}.brand-logo-header img{max-width:148px}.v4-slide .container{gap:32px}.v4-media{order:2}.v4-hero h1{line-height:.98}.v4-micro{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.crud-layout{grid-template-columns:1fr!important}.crud-form{position:static}.product-shell{grid-template-columns:1fr!important}.product-side{display:flex!important;overflow-x:auto;gap:7px;padding:10px!important;position:sticky!important;top:68px!important;z-index:20}.product-side h3{display:none}.product-side button{white-space:nowrap;min-width:max-content}.sb-mobile-dock{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:990;left:10px;right:10px;bottom:10px;background:rgba(3,22,42,.92);backdrop-filter:blur(18px);padding:7px;border-radius:18px;border:1px solid rgba(255,255,255,.13);box-shadow:0 18px 55px rgba(2,20,42,.28)}.sb-mobile-dock a{display:flex;align-items:center;justify-content:center;min-height:44px;color:#dfefff;text-decoration:none;border-radius:12px;font-weight:700;font-size:.82rem}.sb-mobile-dock a.primary{background:linear-gradient(135deg,var(--sb-blue),#13a9d1);color:#fff}.footer{padding-bottom:90px!important}}
@media(max-width:640px){.container{width:min(94%,100%)}.announce{font-size:.78rem}.announce .container{gap:8px}.announce span{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v4-hero h1{font-size:clamp(2.55rem,14vw,4.2rem)!important}.v4-hero p{font-size:1rem}.v4-actions{display:grid!important;grid-template-columns:1fr!important}.v4-actions .btn{width:100%}.v4-media{min-height:330px!important}.v4-photo-wrap{inset:8px 0 0!important}.v4-laptop{height:215px!important;left:2%!important;right:2%!important}.v4-tablet,.v4-phone{transform:scale(.82)}.v4-micro{grid-template-columns:1fr 1fr!important;font-size:.78rem}.footer-grid{grid-template-columns:1fr 1fr!important}.footer-grid>div:first-child{grid-column:1/-1}.page-hero{padding-top:54px!important}.app-content,.product-main{padding:18px 12px!important}.app-card{border-radius:16px!important}.product-top{padding:8px 10px!important}.product-top-actions{gap:5px}.product-top-actions .product-status{display:none}.product-top-actions .btn{font-size:.75rem;padding:8px 10px}.table{min-width:720px}.form-row-2,.form-grid,.admin-two,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.modal-card{width:min(94vw,640px)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.001ms!important;transition-delay:0s!important}}

/* Production mobile/native shell fixes */
html.sb-native-app body{padding-bottom:0!important}
html.sb-native-app .quick-dock,html.sb-native-app .sb-mobile-dock,html.sb-native-app .v9-mobile-dock,html.sb-native-app #sbPwaInstallBar{display:none!important}
@media(max-width:900px){.quick-dock{display:none!important}.toast{bottom:88px}.sb-mobile-dock{bottom:max(10px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}}
html.sb-native-app .toast{bottom:18px}
