:root {
    --brand: #3157d5;
    --brand-dark: #152970;
    --electric: #4d72ff;
    --ink: #080b12;
    --ink-soft: #111621;
    --paper: #f4f5f7;
    --muted: #697386;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { color: #172033; }
.bg-primary, .btn-primary { background-color: var(--brand) !important; }
.btn-primary { border-color: var(--brand) !important; }

/* Site público */
.public-site {
    margin: 0;
    overflow-x: hidden;
    background: var(--paper);
    color: #10131a;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.public-site .row { margin-left: 0; margin-right: 0; }
.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 20;
    min-height: 96px;
    padding: .65rem .75rem 0;
    border: 0;
    background: transparent;
    pointer-events: none;
}
.site-header .container { min-height: 76px; max-width: 1160px; padding: .7rem 1.1rem; border: 1px solid transparent; border-radius: 0; transition: max-width .42s cubic-bezier(.2,.8,.2,1),min-height .42s ease,background .42s ease,border-radius .42s ease,border-color .42s ease,box-shadow .42s ease,transform .42s ease; pointer-events: auto; }
.site-header.is-floating .container { min-height: 72px; max-width: 960px; border-color: rgba(255,255,255,.48); border-radius: 22px; color: #151922; background: rgba(244,246,250,.74); box-shadow: 0 16px 45px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.8); backdrop-filter: blur(22px) saturate(1.45); -webkit-backdrop-filter: blur(22px) saturate(1.45); }
.site-header.is-floating .brand-lockup { color: #111722; }
.site-header.is-floating .brand-mark { border-color: rgba(48,68,130,.22); color: #fff; background: linear-gradient(145deg,#5578ff,#2946b2); }
.site-header.is-floating .nav-link { color: #4c5668; }
.site-header.is-floating .nav-link:hover { color: #121722; }
.site-header.is-floating .navbar-toggler { border-color: rgba(17,23,34,.18); }
.site-header.is-floating .navbar-toggler-icon { filter: invert(1); }
.brand-lockup { display: inline-flex; align-items: center; gap: .7rem; font-size: 1.28rem; font-weight: 750; letter-spacing: -.03em; }
.brand-mark { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.35); border-radius: 12px; color: #fff; font-size: .9rem; background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(77,114,255,.3)); }
.site-header .nav-link { color: rgba(255,255,255,.68); font-size: .82rem; font-weight: 650; margin: 0 .32rem; }
.site-header .nav-link:hover { color: #fff; }
.site-header .login-link { color: #fff; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.site-cta { padding: .72rem 1.15rem; border: 0; border-radius: 999px; background: var(--electric); color: #fff; font-size: .8rem; font-weight: 750; }
.site-cta:hover { background: #6d8aff; color: #fff; transform: translateY(-1px); }

.home-hero {
    position: relative;
    min-height: 940px;
    padding: 185px 0 80px;
    overflow: hidden;
    color: #fff;
    background: radial-gradient(circle at 70% 30%, #112b72 0, #080d1b 25%, #05070c 58%, #020305 100%);
}
.hero-grid { position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(to bottom, #000 15%, transparent 85%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(55px); pointer-events: none; }
.hero-glow-one { width: 420px; height: 420px; top: 80px; right: 12%; background: rgba(37,92,255,.28); animation: glowDriftOne 11s ease-in-out infinite; }
.hero-glow-two { width: 260px; height: 260px; left: 8%; bottom: 80px; background: rgba(41,77,208,.13); animation: glowDriftTwo 13s ease-in-out infinite; }
.hero-content { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: .65rem; padding: .62rem 1rem; margin-bottom: 2rem; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.67); font-size: .69rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: var(--electric); box-shadow: 0 0 0 5px rgba(77,114,255,.16); }
.home-hero h1 { max-width: 860px; margin: 0; font-size: clamp(3.65rem, 7vw, 7.25rem); line-height: .91; letter-spacing: -.075em; font-weight: 750; background: linear-gradient(110deg, #fff 10%, #8794b0 63%, #456fff 95%); -webkit-background-clip: text; color: transparent; }
.hero-lead { max-width: 680px; margin: 2.1rem 0 0; color: rgba(255,255,255,.61); font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.2rem; }
.hero-primary, .hero-secondary { border-radius: 999px; padding: 1rem 1.35rem; font-size: .88rem; font-weight: 750; }
.hero-primary { color: #fff; border-color: var(--electric); background: var(--electric); box-shadow: 0 14px 35px rgba(77,114,255,.25); }
.hero-primary:hover { color: #fff; background: #6987ff; border-color: #6987ff; transform: translateY(-2px); }
.hero-primary span, .hero-secondary span { margin-left: .8rem; }
.hero-secondary { color: #fff; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.035); }
.hero-secondary:hover { color: #fff; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.35); }
.hero-trust { display: flex; align-items: center; gap: 1rem; margin-top: 2.4rem; color: rgba(255,255,255,.45); font-size: .76rem; }
.trust-avatars { display: flex; }
.trust-avatars i { display: grid; place-items: center; width: 33px; height: 33px; margin-left: -8px; border: 2px solid #080b12; border-radius: 50%; background: #192239; color: #fff; font-size: .62rem; font-style: normal; }
.trust-avatars i:first-child { margin-left: 0; background: var(--electric); }

.product-stage { position: relative; animation: panelFloat 7s ease-in-out infinite; }
.product-window { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 24px; background: rgba(14,20,34,.78); box-shadow: 0 50px 100px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.06); backdrop-filter: blur(18px); transform: perspective(1400px) rotateY(calc(-4deg + var(--tilt-x,0deg))) rotateX(calc(2deg + var(--tilt-y,0deg))); transition: transform .28s ease,box-shadow .28s ease; }
.product-stage:hover .product-window { box-shadow: 0 60px 120px rgba(0,0,0,.62),0 0 55px rgba(48,87,218,.14),inset 0 1px rgba(255,255,255,.08); }
.window-top { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.15rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.window-brand { display: flex; align-items: center; gap: .6rem; font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.8); }
.mini-mark { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; background: var(--electric); font-size: .58rem; }
.window-status { display: flex; align-items: center; gap: .35rem; color: #8a97ad; font-size: .58rem; }
.window-status i { width: 6px; height: 6px; border-radius: 50%; background: #42dc9a; box-shadow: 0 0 8px #42dc9a; animation: onlinePulse 1.8s ease-out infinite; }
.window-body { padding: 1.25rem; }
.window-greeting { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.window-greeting small { display: block; margin-bottom: .25rem; color: #6f7c93; font-size: .52rem; letter-spacing: .13em; }
.window-greeting strong { display: block; font-size: .88rem; }
.window-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #252f45; color: #b7c3d8; font-size: .65rem; }
.metric-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; }
.metric-box { padding: 1rem; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; background: rgba(255,255,255,.035); }
.metric-box span, .metric-box small { display: block; color: #748198; font-size: .55rem; }
.metric-box strong { display: block; margin: .2rem 0; color: #fff; font-size: 1.45rem; letter-spacing: -.05em; }
.metric-box.accent { background: linear-gradient(145deg, rgba(77,114,255,.27), rgba(77,114,255,.07)); border-color: rgba(101,132,255,.25); }
.chart-card { margin-top: .75rem; padding: 1rem; border: 1px solid rgba(255,255,255,.07); border-radius: 14px; background: rgba(255,255,255,.025); }
.chart-head { display: flex; justify-content: space-between; align-items: start; }
.chart-head span { display: block; color: #69758b; font-size: .5rem; }
.chart-head strong { font-size: .68rem; }
.chart-filter { padding: .35rem .55rem; border-radius: 7px; background: rgba(255,255,255,.05); }
.chart-bars { display: flex; align-items: end; gap: .5rem; height: 112px; padding-top: 1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.chart-bars i { flex: 1; min-height: 8px; border-radius: 4px 4px 1px 1px; background: linear-gradient(to top, rgba(67,90,145,.24), rgba(90,120,184,.7)); transform-origin: bottom; animation: chartGrow 1.15s cubic-bezier(.2,.85,.25,1) both; }
.chart-bars i:nth-child(2){animation-delay:.08s}.chart-bars i:nth-child(3){animation-delay:.16s}.chart-bars i:nth-child(4){animation-delay:.24s}.chart-bars i:nth-child(5){animation-delay:.32s}.chart-bars i:nth-child(6){animation-delay:.4s}.chart-bars i:nth-child(7){animation-delay:.48s}.chart-bars i:nth-child(8){animation-delay:.56s}
.chart-bars i.hot { background: linear-gradient(to top, #264bc4, #6887ff); box-shadow: 0 0 20px rgba(77,114,255,.3); animation-name: chartGrow,hotBarGlow; animation-duration:1.15s,2.6s; animation-delay:.4s,1.5s; animation-iteration-count:1,infinite; }
.chart-labels { display: flex; justify-content: space-between; padding-top: .4rem; color: #59657a; font-size: .42rem; }
.activity-line { display: flex; align-items: center; gap: .65rem; margin-top: .75rem; padding: .7rem; border-radius: 12px; background: rgba(255,255,255,.035); }
.activity-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: rgba(49,208,144,.12); color: #43d99b; animation: checkPulse 2.4s ease-in-out infinite; }
.activity-line div { flex: 1; }
.activity-line strong, .activity-line small { display: block; font-size: .52rem; }
.activity-line small { margin-top: .12rem; color: #67748a; }
.activity-line b { color: #66738a; font-size: .48rem; font-weight: 500; }
.floating-card { position: absolute; z-index: 3; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(18,25,41,.9); box-shadow: 0 18px 45px rgba(0,0,0,.4); backdrop-filter: blur(15px); }
.float-products { top: 22%; right: -45px; padding: .85rem 1.1rem; }
.float-products span, .float-products strong { display: block; }
.float-products span { color: #748198; font-size: .52rem; }
.float-products strong { margin-top: .1rem; font-size: 1.2rem; }
.float-units { left: -45px; bottom: 12%; display: flex; align-items: center; gap: .7rem; padding: .8rem 1rem; }
.float-units strong, .float-units small { display: block; font-size: .58rem; }
.float-units small { color: #748198; }
.pulse { width: 10px; height: 10px; border-radius: 50%; background: #42dc9a; box-shadow: 0 0 0 6px rgba(66,220,154,.1); }
.window-live-metrics { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; margin-top: .75rem; }
.live-metric { position: relative; display: flex; align-items: center; gap: .65rem; min-height: 58px; padding: .7rem; overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.028); }
.live-metric::after { content: ""; position: absolute; width: 70px; height: 160%; left: -100px; top: -30%; transform: rotate(18deg); background: linear-gradient(90deg,transparent,rgba(105,137,255,.13),transparent); animation: metricSweep 5s ease-in-out infinite; }
.live-metric:nth-child(2)::after { animation-delay: 1.7s; }
.live-icon { display: grid; flex: 0 0 30px; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #91a6ff; background: rgba(77,114,255,.12); }
.live-metric small,.live-metric strong { display: block; }.live-metric small{color:#647187;font-size:.43rem;letter-spacing:.08em}.live-metric strong{margin-top:.14rem;color:#eef2fa;font-size:.72rem}.live-metric strong b{font-size:.98rem;font-weight:750}
.scroll-hint { display: flex; align-items: center; gap: .8rem; margin-top: 5rem; color: rgba(255,255,255,.33); font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; }
.scroll-hint span { width: 38px; height: 1px; background: rgba(255,255,255,.25); }

.proof-strip { padding: 2.7rem 0; overflow: hidden; border-bottom: 1px solid #e4e6eb; background: #fff; }
.proof-strip p { margin: 0 0 1.6rem; text-align: center; color: #8991a0; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.partner-marquee { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem 2.2rem; }
.partner-name { display: flex; align-items: center; gap: .55rem; color: #7b8391; font-size: .8rem; font-weight: 700; filter: grayscale(1); }
.partner-name span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #dfe2e8; border-radius: 50%; color: #536177; font-size: .65rem; }

.solutions-section { padding: 8rem 0; background: #f3f4f6; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.section-heading > div { max-width: 780px; }
.section-heading > p { max-width: 390px; margin: 0 0 .5rem; color: #727b8c; line-height: 1.7; }
.section-kicker { display: block; margin-bottom: 1rem; color: #5c71c8; font-size: .67rem; font-weight: 800; letter-spacing: .15em; }
.section-heading h2, .journey-section h2, .final-cta h2 { margin: 0; font-size: clamp(2.6rem, 5vw, 5.2rem); line-height: .98; letter-spacing: -.065em; font-weight: 720; }
.section-heading h2 em, .final-cta h2 em { color: var(--electric); font-weight: inherit; }
.solution-card { position: relative; min-height: 570px; padding: 2rem; overflow: hidden; border-radius: 24px; transition: transform .25s ease, box-shadow .25s ease; }
.solution-card:hover { transform: translateY(-7px); box-shadow: 0 30px 60px rgba(20,29,50,.12); }
.solution-card.blue { color: #fff; background: linear-gradient(155deg, #4269ed, #1f3b9f); }
.solution-card.dark { color: #fff; background: #0c111b; }
.solution-card.light { border: 1px solid #e1e4ea; background: #fff; }
.solution-card::after { content: ""; position: absolute; width: 280px; height: 280px; right: -130px; top: -130px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
.solution-card.light::after { border-color: rgba(38,65,149,.08); box-shadow: 0 0 0 45px rgba(38,65,149,.025), 0 0 0 90px rgba(38,65,149,.018); }
.solution-number { color: rgba(255,255,255,.45); font-size: .65rem; letter-spacing: .1em; }
.solution-card.light .solution-number { color: #8e97a8; }
.solution-icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 5.5rem 0 2rem; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.08); font-size: 1.5rem; }
.solution-card.light .solution-icon { border-color: #e4e7ed; background: #f4f6fb; color: var(--brand); }
.solution-card h3 { font-size: 2rem; letter-spacing: -.04em; }
.solution-card p { min-height: 86px; color: rgba(255,255,255,.63); line-height: 1.65; }
.solution-card.light p { color: #697386; }
.solution-card ul { padding: 0; margin: 1.7rem 0 2rem; list-style: none; }
.solution-card li { padding: .55rem 0; border-bottom: 1px solid rgba(255,255,255,.11); font-size: .78rem; }
.solution-card.light li { border-color: #e8eaf0; }
.solution-card a { position: absolute; left: 2rem; bottom: 2rem; color: inherit; font-size: .8rem; font-weight: 750; text-decoration: none; }
.solution-card a span { margin-left: .7rem; }

.journey-section { padding: 8rem 0; color: #fff; background: #090d15; }
.journey-section h2 { max-width: 600px; margin-bottom: 1.8rem; }
.journey-lead { max-width: 490px; margin-bottom: 2rem; color: #8490a3; line-height: 1.7; }
.journey-list { border-top: 1px solid rgba(255,255,255,.11); }
.journey-list article { display: grid; grid-template-columns: 48px 1fr 44px; gap: 1.2rem; align-items: center; padding: 1.65rem 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.journey-list article > span { color: #58647a; font-size: .65rem; }
.journey-list h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.journey-list p { margin: 0; color: #69768b; font-size: .82rem; }
.journey-list b { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; color: #6d89ff; }

.content-section { padding: 8rem 0; background: #fff; }
.text-link { margin-bottom: .5rem; color: #263553; font-size: .78rem; font-weight: 750; text-decoration: none; }
.news-card { height: 100%; overflow: hidden; border: 1px solid #e7e9ee; border-radius: 22px; background: #fff; }
.news-visual { position: relative; display: grid; place-items: center; height: 230px; overflow: hidden; color: rgba(255,255,255,.75); font-size: 4rem; font-weight: 750; }
.news-visual::before, .news-visual::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.news-visual::before { width: 250px; height: 250px; }
.news-visual::after { width: 145px; height: 145px; }
.news-visual span { position: relative; z-index: 2; }
.visual-1 { background: linear-gradient(140deg,#152558,#456cff); }
.visual-2 { background: linear-gradient(140deg,#10151f,#31425f); }
.visual-3 { background: linear-gradient(140deg,#4a65bd,#161d34); }
.news-body { padding: 1.6rem; }
.news-body small { color: #8992a2; font-size: .58rem; letter-spacing: .08em; }
.news-body h3 { margin: .9rem 0 .65rem; font-size: 1.25rem; letter-spacing: -.025em; }
.news-body p { min-height: 48px; color: #717a8a; font-size: .82rem; }
.news-body a { color: var(--brand); font-size: .75rem; font-weight: 750; text-decoration: none; }

.final-cta { position: relative; padding: 9rem 0; overflow: hidden; color: #fff; text-align: center; background: #080b12; }
.cta-orb { position: absolute; width: 700px; height: 380px; left: 50%; bottom: -250px; transform: translateX(-50%); border-radius: 50%; background: #2752ec; filter: blur(75px); opacity: .55; }
.cta-inner { position: relative; z-index: 2; max-width: 900px; margin: auto; }
.final-cta h2 { margin: 0 auto 1.5rem; }
.final-cta p { margin-bottom: 2rem; color: #8490a3; }
.final-cta .hero-secondary { margin-left: .55rem; }

.site-footer { padding: 5rem 0 1.5rem; color: #fff; background: #05070b; border-top: 1px solid rgba(255,255,255,.08); }
.footer-copy { max-width: 450px; margin-top: 1.4rem; color: rgba(255,255,255,.45); line-height: 1.65; }
.footer-title { margin-bottom: 1rem; color: rgba(255,255,255,.42); font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.site-footer .col-6 a { display: block; margin: .7rem 0; color: rgba(255,255,255,.7); font-size: .82rem; text-decoration: none; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 4rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.32); font-size: .7rem; }
.footer-bottom a { margin-left: 1.2rem; color: inherit; text-decoration: none; }
.developer-credit { margin-left: 1.2rem; }.developer-credit a{margin-left:.2rem;color:#8ea4ff}.developer-credit a:hover{color:#fff}

.motion-ready .reveal-item { opacity: 0; transform: translateY(34px) scale(.985); transition: opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms); }
.motion-ready .reveal-item.is-visible { opacity: 1; transform: translateY(0) scale(1); }

@keyframes panelFloat { 0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)} }
@keyframes chartGrow { from{transform:scaleY(.05);opacity:.25}to{transform:scaleY(1);opacity:1} }
@keyframes hotBarGlow { 0%,100%{filter:brightness(1);box-shadow:0 0 18px rgba(77,114,255,.28)}50%{filter:brightness(1.3);box-shadow:0 0 32px rgba(77,114,255,.62)} }
@keyframes onlinePulse { 0%{box-shadow:0 0 0 0 rgba(66,220,154,.5)}70%{box-shadow:0 0 0 7px rgba(66,220,154,0)}100%{box-shadow:0 0 0 0 rgba(66,220,154,0)} }
@keyframes checkPulse { 0%,100%{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 0 18px rgba(67,217,155,.16)} }
@keyframes metricSweep { 0%,55%{left:-100px}85%,100%{left:130%} }
@keyframes glowDriftOne { 0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-35px,45px) scale(1.12)} }
@keyframes glowDriftTwo { 0%,100%{transform:translate(0,0)}50%{transform:translate(45px,-30px)} }

/* Páginas públicas internas */
.public-site main > .container.py-5 { min-height: 60vh; padding-top: 9rem !important; }
.public-site .content-page { max-width: 850px; }
.public-site .cms-content img { max-width: 100%; height: auto; }

/* Aplicação autenticada */
.sidebar { min-height: calc(100vh - 56px); }
.sidebar .nav-link { color: #34405b; border-radius: .5rem; }
.sidebar .nav-link:hover { background: #edf1ff; color: var(--brand); }
.nav-section { margin: 1.25rem .75rem .25rem; color: #8a94a9; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.mobile-shell { max-width: 680px; }
.hero-card { background: linear-gradient(135deg,#233eaa,#557af0); }
.qr-button { border-radius: 1rem; }
.checkin-code { padding: 1.25rem; border-radius: 1rem; background: #edf1ff; color: var(--brand); font: 700 3rem/1 monospace; letter-spacing: .2em; }
.media-thumb { height: 150px; object-fit: cover; }

@media (max-width: 1199px) {
    .home-hero { min-height: auto; }
    .home-hero h1 { font-size: clamp(3.5rem,8vw,6rem); }
    .float-products { right: -10px; }
    .float-units { left: -10px; }
}
@media (max-width: 991px) {
    .site-header { min-height: 82px; padding: .45rem; background: transparent; }
    .site-header .container { min-height: 68px; padding: .55rem .8rem; }
    .site-header.is-floating .container { min-height: 64px; border-radius: 18px; }
    .site-header .navbar-collapse { margin-top: .55rem; padding: .8rem 1rem 1rem; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(5,8,14,.96); box-shadow: 0 20px 40px rgba(0,0,0,.28); }
    .site-header.is-floating .navbar-collapse { border-color: rgba(30,42,70,.12); background: rgba(244,246,250,.96); }
    .site-header .nav-link { padding: .65rem 0; }
    .site-header.is-floating .nav-link { color: #465165; }
    .site-header .site-cta { margin-top: .5rem; text-align: center; }
    .home-hero { padding-top: 155px; }
    .product-window { margin-top: 2rem; transform: none; }
    .product-stage { animation-duration: 8s; }
    .floating-card { display: none; }
    .scroll-hint { margin-top: 3rem; }
    .section-heading { display: block; }
    .section-heading > p, .section-heading > .text-link { display: block; margin-top: 1.5rem; }
    .solution-card { min-height: 525px; }
    .sidebar { min-height: auto; border-bottom: 1px solid #ddd; }
    .sidebar .nav { display: grid; grid-template-columns: repeat(2,1fr); }
    .nav-section { grid-column: 1/-1; }
}
@media (max-width: 575px) {
    .home-hero { padding: 135px 0 55px; }
    .home-hero h1 { font-size: 3.25rem; }
    .hero-actions .btn { width: 100%; }
    .hero-trust { align-items: start; }
    .product-window { border-radius: 17px; }
    .window-body { padding: .8rem; }
    .metric-box { padding: .75rem; }
    .chart-bars { height: 90px; }
    .solutions-section, .journey-section, .content-section { padding: 5.5rem 0; }
    .solution-card { min-height: 510px; padding: 1.5rem; }
    .solution-icon { margin-top: 4rem; }
    .solution-card a { left: 1.5rem; }
    .journey-list article { grid-template-columns: 34px 1fr; }
    .journey-list article b { display: none; }
    .final-cta { padding: 6rem 0; }
    .final-cta .hero-secondary { width: 100%; margin: .7rem 0 0; }
    .final-cta .hero-primary { width: 100%; }
    .footer-bottom { display: block; }
    .footer-bottom span { display: block; margin-top: .7rem; }
    .footer-bottom a { margin: 0 1.2rem 0 0; }
    .developer-credit { margin: .65rem 0 0; }
    .window-live-metrics { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .motion-ready .reveal-item { opacity: 1; transform: none; }
}

/* Painel administrativo */
.admin-shell { margin: 0; background: #f2f4f8; color: #182033; font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.admin-layout { min-height: 100vh; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; display: flex; flex-direction: column; width: 272px; overflow: hidden; color: #fff; background: #090d16; border-right: 1px solid rgba(255,255,255,.07); }
.admin-sidebar::before { content: ""; position: absolute; width: 240px; height: 240px; left: -130px; top: -110px; border-radius: 50%; background: #3157d5; filter: blur(75px); opacity: .2; pointer-events: none; }
.sidebar-head { position: relative; display: flex; align-items: center; justify-content: space-between; height: 78px; padding: 0 1.35rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.admin-brand { display: flex; align-items: center; gap: .7rem; color: #fff; text-decoration: none; }
.admin-brand > span { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 11px; background: linear-gradient(145deg,#5578ff,#2844ad); box-shadow: 0 9px 24px rgba(49,87,213,.3); font-size: .7rem; font-weight: 800; }
.admin-brand strong { font-size: 1.08rem; letter-spacing: -.035em; }
.sidebar-close { display: none; border: 0; background: none; color: #8b96a9; font-size: 1.7rem; }
.workspace-label { margin: 1.15rem 1rem .5rem; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.035); }
.workspace-label small,.workspace-label strong { display: block; }
.workspace-label small { margin-bottom: .3rem; color: #5e6b82; font-size: .52rem; letter-spacing: .13em; }
.workspace-label strong { color: #c4ccda; font-size: .72rem; }
.admin-nav { position: relative; flex: 1; padding: .45rem .8rem 1.2rem; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #273047 transparent; }
.admin-nav-section { margin: 1.35rem .75rem .5rem; color: #536078; font-size: .57rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.admin-nav-link { display: flex; align-items: center; gap: .8rem; margin: .14rem 0; padding: .67rem .75rem; border-radius: 10px; color: #858fa2; font-size: .74rem; font-weight: 580; text-decoration: none; transition: .2s ease; }
.admin-nav-link:hover { color: #dce2ec; background: rgba(255,255,255,.05); }
.admin-nav-link.active { color: #fff; background: linear-gradient(90deg,rgba(67,101,226,.25),rgba(55,80,168,.1)); box-shadow: inset 2px 0 #5578ff; }
.nav-icon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; color: #6d7890; background: rgba(255,255,255,.035); font-size: .78rem; }
.admin-nav-link.active .nav-icon { color: #9bb0ff; background: rgba(77,114,255,.18); }
.sidebar-user { display: grid; grid-template-columns: 38px 1fr 27px; gap: .7rem; align-items: center; margin: .8rem; padding: .85rem; border-top: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.035); }
.user-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; color: #fff; background: linear-gradient(145deg,#4d72ff,#243f9f); font-size: .65rem; font-weight: 800; }
.sidebar-user strong,.sidebar-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user strong { color: #e8ebf2; font-size: .68rem; }
.sidebar-user small { margin-top: .2rem; color: #657188; font-size: .54rem; }
.sidebar-user form button { width: 27px; height: 27px; padding: 0; border: 0; border-radius: 8px; color: #778298; background: rgba(255,255,255,.045); }
.sidebar-user form button:hover { color: #fff; background: #c74858; }
.sidebar-overlay { display: none; }

.admin-stage { min-height: 100vh; margin-left: 272px; }
.admin-topbar { position: sticky; top: 0; z-index: 30; display: flex; justify-content: space-between; align-items: center; height: 78px; padding: 0 2rem; border-bottom: 1px solid #e5e8ee; background: rgba(255,255,255,.88); backdrop-filter: blur(16px); }
.topbar-start { display: flex; align-items: center; gap: .85rem; }
.topbar-start small,.topbar-start strong { display: block; }
.topbar-start small { color: #9aa2b0; font-size: .52rem; letter-spacing: .13em; }
.topbar-start strong { margin-top: .1rem; font-size: .82rem; }
.menu-toggle { display: none; width: 38px; height: 38px; border: 1px solid #e1e5ec; border-radius: 10px; background: #fff; color: #33405a; }
.topbar-actions { display: flex; align-items: center; gap: .8rem; }
.topbar-site { color: #657086; font-size: .68rem; font-weight: 700; text-decoration: none; }
.topbar-site:hover { color: var(--brand); }
.topbar-icon { position: relative; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #e5e8ee; border-radius: 11px; background: #fff; color: #6a7588; }
.topbar-icon i { position: absolute; width: 6px; height: 6px; right: 8px; top: 8px; border: 1px solid #fff; border-radius: 50%; background: #4d72ff; }
.topbar-profile { display: flex; align-items: center; gap: .65rem; padding-left: .8rem; border-left: 1px solid #e5e8ee; }
.small-avatar { width: 35px; height: 35px; }
.topbar-profile strong,.topbar-profile small { display: block; }
.topbar-profile strong { font-size: .68rem; }
.topbar-profile small { margin-top: .15rem; color: #929aa8; font-size: .54rem; }
.admin-main { width: 100%; max-width: 1680px; margin: auto; padding: 2rem; }
.admin-alert { border: 0; border-radius: 13px; box-shadow: 0 12px 30px rgba(25,36,62,.07); }

.dashboard-heading,.admin-page-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.6rem; }
.page-kicker,.panel-kicker { display: block; margin-bottom: .45rem; color: #5570ce; font-size: .57rem; font-weight: 800; letter-spacing: .14em; }
.dashboard-heading h1,.admin-page-heading h1 { margin: 0; color: #131a28; font-size: clamp(1.65rem,3vw,2.25rem); line-height: 1.1; letter-spacing: -.045em; font-weight: 740; }
.dashboard-heading p,.admin-page-heading p { margin: .5rem 0 0; color: #7b8494; font-size: .78rem; }
.heading-actions { display: flex; align-items: center; gap: .7rem; }
.date-chip { padding: .75rem 1rem; border: 1px solid #e1e5ec; border-radius: 11px; background: #fff; color: #737e91; font-size: .67rem; }
.admin-primary-btn { padding: .78rem 1rem; border: 0; border-radius: 11px; color: #fff; background: linear-gradient(135deg,#4d72ff,#304fc1); box-shadow: 0 10px 24px rgba(49,87,213,.19); font-size: .69rem; font-weight: 750; }
.admin-primary-btn:hover { color: #fff; background: linear-gradient(135deg,#6585ff,#3d5bc9); transform: translateY(-1px); }

.admin-welcome { position: relative; display: flex; align-items: center; min-height: 210px; margin-bottom: 1rem; padding: 2rem 2.25rem; overflow: hidden; border-radius: 20px; color: #fff; background: radial-gradient(circle at 80% 40%,#2548af 0,#14265e 24%,#101828 58%,#0c111b 100%); box-shadow: 0 25px 50px rgba(20,30,55,.15); }
.admin-welcome::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size: 42px 42px; }
.admin-welcome > div:first-child { position: relative; z-index: 2; max-width: 620px; }
.welcome-tag { display: inline-block; margin-bottom: .8rem; padding: .4rem .65rem; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: #93a9ed; font-size: .52rem; letter-spacing: .13em; }
.admin-welcome h2 { margin: 0 0 .6rem; font-size: clamp(1.5rem,3vw,2.2rem); letter-spacing: -.045em; }
.admin-welcome p { margin: 0; color: #8995ad; font-size: .78rem; }
.welcome-orbit { position: absolute; width: 250px; height: 250px; right: 5%; border: 1px solid rgba(117,145,255,.28); border-radius: 50%; }
.welcome-orbit::before,.welcome-orbit::after { content: ""; position: absolute; border: 1px solid rgba(117,145,255,.16); border-radius: 50%; }
.welcome-orbit::before { inset: 30px; }.welcome-orbit::after { inset: 65px; }
.welcome-orbit b { position: absolute; inset: 50%; z-index: 2; display: grid; place-items: center; width: 54px; height: 54px; transform: translate(-50%,-50%); border-radius: 17px; background: #4d72ff; box-shadow: 0 0 35px rgba(77,114,255,.6); font-size: .85rem; }
.welcome-orbit span,.welcome-orbit i { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #6f8cff; box-shadow: 0 0 15px #6f8cff; }
.welcome-orbit span { left: 22px; top: 70px; }.welcome-orbit i { right: 48px; bottom: 24px; }

.admin-stat-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.admin-stat-card { position: relative; min-height: 148px; padding: 1.15rem; overflow: hidden; border: 1px solid #e3e7ee; border-radius: 17px; background: #fff; box-shadow: 0 12px 30px rgba(26,38,67,.045); }
.stat-top { display: flex; align-items: center; justify-content: space-between; }
.stat-icon { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #eef2ff; color: #4564d6; font-size: .75rem; }
.stat-trend { color: #a0a7b4; font-size: .48rem; }
.admin-stat-card > strong { display: block; margin-top: 1rem; font-size: 1.65rem; line-height: 1; letter-spacing: -.05em; }
.admin-stat-card > p { margin: .35rem 0 0; color: #7a8495; font-size: .64rem; }
.stat-line { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: #eef0f4; }
.stat-line i { display: block; width: 68%; height: 100%; background: #4d72ff; }
.tone-violet .stat-icon { color:#7959d9;background:#f1edff}.tone-violet .stat-line i{background:#7959d9}.tone-cyan .stat-icon{color:#258fa6;background:#e7f8fb}.tone-cyan .stat-line i{background:#2ba6bf}.tone-green .stat-icon{color:#319a6b;background:#e8f8f0}.tone-green .stat-line i{background:#38af79}.tone-amber .stat-icon{color:#b37b22;background:#fff4dd}.tone-amber .stat-line i{background:#daa03e}.tone-red .stat-icon{color:#c15262;background:#fdecef}.tone-red .stat-line i{background:#d15c6d}

.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(320px,.8fr); gap: 1rem; margin-top: 1rem; }
.dashboard-grid.lower-grid { grid-template-columns: minmax(0,1.55fr) minmax(310px,.85fr); }
.admin-panel { border: 1px solid #e3e7ee; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(26,38,67,.04); }
.admin-panel > header { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.35rem; border-bottom: 1px solid #edf0f4; }
.admin-panel h2,.activity-strip h2 { margin: 0; font-size: .96rem; letter-spacing: -.025em; }
.admin-panel header a { color: #5770c7; font-size: .6rem; font-weight: 700; text-decoration: none; }
.panel-period { padding: .42rem .65rem; border-radius: 8px; color: #7e8796; background: #f3f5f8; font-size: .55rem; }
.admin-chart { display: flex; height: 275px; padding: 1.4rem 1.35rem 1.1rem; }
.chart-scale { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 28px; color: #a2a9b5; font-size: .48rem; }
.admin-chart-bars { display: flex; flex: 1; align-items: end; gap: 1rem; margin-left: 1rem; border-bottom: 1px solid #e9ecf1; background-image: linear-gradient(#edf0f4 1px,transparent 1px); background-size: 100% 33.33%; }
.admin-bar-item { display: flex; flex: 1; flex-direction: column; align-items: center; height: 100%; }
.admin-bar-track { display: flex; flex: 1; align-items: end; width: min(30px,70%); }
.admin-bar-track i { position: relative; display: block; width: 100%; min-height: 5px; border-radius: 6px 6px 2px 2px; background: linear-gradient(to top,#3157d5,#6d89f5); box-shadow: 0 8px 18px rgba(49,87,213,.2); }
.admin-bar-track i b { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); color: #68738a; font-size: .48rem; font-style: normal; }
.admin-bar-item > span { height: 28px; padding-top: .55rem; color: #9199a7; font-size: .48rem; }
.status-ring-wrap { display: flex; align-items: center; gap: 1.5rem; padding: 1.7rem 1.35rem; }
.status-ring { display: grid; flex: 0 0 135px; place-items: center; width: 135px; height: 135px; border-radius: 50%; background: conic-gradient(#4d72ff 0 42%,#42b987 42% 67%,#e5a948 67% 80%,#d15c6d 80% 90%,#a3adbc 90%); }
.status-ring::before { content: ""; grid-area: 1/1; width: 92px; height: 92px; border-radius: 50%; background: #fff; }
.status-ring > div { z-index: 2; grid-area: 1/1; text-align: center; }
.status-ring strong,.status-ring span { display: block; }.status-ring strong{font-size:1.35rem}.status-ring span{color:#929aa8;font-size:.52rem}
.status-legend { flex: 1; }
.status-legend > div { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: .5rem; padding: .36rem 0; }
.status-legend p { margin: 0; color: #727d8f; font-size: .57rem; }.status-legend strong{font-size:.6rem}.status-dot{width:7px;height:7px;border-radius:50%;background:#a3adbc}.status-pending_checkin{background:#4d72ff}.status-checked_in{background:#42b987}.status-expired{background:#e5a948}.status-canceled{background:#d15c6d}

.recent-list { padding: .25rem 1.35rem .7rem; }
.recent-list article { display: grid; grid-template-columns: 45px minmax(150px,1fr) auto auto; gap: .75rem; align-items: center; padding: .9rem 0; border-bottom: 1px solid #edf0f4; }
.recent-list article:last-child { border-bottom: 0; }
.request-id { color: #778297; font-size: .57rem; font-weight: 750; }
.request-main strong,.request-main small { display: block; }.request-main strong{font-size:.66rem}.request-main small{margin-top:.2rem;color:#959daa;font-size:.52rem}
.geo-pill,.request-status,.table-status { padding: .34rem .5rem; border-radius: 999px; font-size: .48rem; font-weight: 750; }
.geo-pill { color: #607087; background: #f1f3f6; }.geo-pill.ok{color:#27845a;background:#e9f8f0}.geo-pill.out_of_range,.geo-pill.low_accuracy{color:#a17125;background:#fff4df}.geo-pill.no_location{color:#7b8494;background:#f0f2f5}
.request-status,.table-status { color:#3859c2;background:#edf1ff}.status-checked_in,.status-confirmed,.status-active,.status-paid{color:#27845a!important;background:#e9f8f0!important}.status-denied,.status-blocked,.status-canceled,.status-overdue{color:#b04454!important;background:#fdecef!important}.status-expired,.status-inactive{color:#9a6a20!important;background:#fff3da!important}
.quick-actions { padding: .55rem 1.25rem 1rem; }
.quick-actions a { display: grid; grid-template-columns: 38px 1fr 20px; gap: .75rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid #edf0f4; color: inherit; text-decoration: none; }
.quick-actions a:last-child { border-bottom: 0; }
.quick-actions a > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: #5570d3; background: #edf1ff; }
.quick-actions strong,.quick-actions small { display: block; }.quick-actions strong{font-size:.64rem}.quick-actions small{margin-top:.2rem;color:#939ba8;font-size:.52rem}.quick-actions b{color:#8d96a5;font-size:.72rem}
.activity-strip { display: grid; grid-template-columns: 210px 1fr; gap: 1rem; margin-top: 1rem; padding: 1.35rem; border: 1px solid #e3e7ee; border-radius: 18px; background: #fff; }
.activity-items { display: grid; grid-template-columns: repeat(5,1fr); gap: .7rem; }
.activity-items article { display: flex; gap: .55rem; padding: .65rem; border-radius: 10px; background: #f6f7f9; }
.activity-items article > span { display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:8px;color:#348966;background:#e4f5ed;font-size:.56rem}.activity-items strong,.activity-items small{display:block}.activity-items strong{font-size:.55rem;text-transform:capitalize}.activity-items small{margin-top:.2rem;color:#929aa8;font-size:.46rem;line-height:1.4}
.admin-empty { display: grid; place-items: center; padding: 2.5rem; color: #929aa8; text-align: center; }.admin-empty span{font-size:1.8rem}.admin-empty p{margin:.5rem 0 0;font-size:.7rem}

/* Cadastros e formulários */
.admin-page-heading { margin-bottom: 1.4rem; }
.admin-toolbar { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; padding: .75rem; border: 1px solid #e3e7ee; border-radius: 14px; background: #fff; }
.admin-search { display: flex; flex: 0 1 420px; align-items: center; gap: .6rem; height: 39px; padding: 0 .75rem; border: 1px solid #e3e7ee; border-radius: 10px; background: #f7f8fa; }
.admin-search span { color: #8993a4; }.admin-search input{width:100%;border:0;outline:0;background:transparent;color:#273249;font-size:.68rem}
.admin-filter-btn { padding: .65rem .85rem; border: 1px solid #dfe3ea; border-radius: 10px; color: #59657a; background: #fff; font-size: .62rem; font-weight: 700; }
.result-count { margin-left: auto; color: #929aa8; font-size: .58rem; }
.admin-table-card { overflow: hidden; border: 1px solid #e1e5ec; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(26,38,67,.04); }
.admin-table thead th { padding: .85rem 1rem; border-bottom: 1px solid #e8ebf0; color: #8d96a5; background: #f8f9fb; font-size: .52rem; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.admin-table tbody td { padding: .9rem 1rem; border-color: #eef0f3; color: #596477; font-size: .63rem; vertical-align: middle; }
.admin-table tbody tr:hover td { background: #fafbfe; }
.id-badge { color: #5870c2; font-weight: 750; }.table-action{color:#5570c9;font-size:.58rem;font-weight:750;text-decoration:none;white-space:nowrap}.table-action span{margin-left:.35rem}.admin-table code{padding:.25rem .4rem;border-radius:6px;color:#5a66a4;background:#f0f2fa;font-size:.52rem}
.admin-main > .card { border: 1px solid #e3e7ee!important; border-radius: 17px; box-shadow: 0 12px 30px rgba(26,38,67,.04)!important; }
.admin-main .form-control,.admin-main .form-select { min-height: 43px; border-color: #dfe3ea; border-radius: 10px; font-size: .72rem; }
.admin-main .form-control:focus,.admin-main .form-select:focus { border-color: #7790ec; box-shadow: 0 0 0 3px rgba(77,114,255,.1); }
.admin-main .form-label { color: #5d687b; font-size: .65rem; font-weight: 700; }

@media(max-width:1400px){.admin-stat-grid{grid-template-columns:repeat(3,1fr)}.activity-items{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.dashboard-grid,.dashboard-grid.lower-grid{grid-template-columns:1fr}.activity-strip{grid-template-columns:1fr}.activity-items{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991px){
    .admin-sidebar{transform:translateX(-100%);transition:transform .25s ease}.sidebar-open .admin-sidebar{transform:translateX(0)}.sidebar-close{display:block}.sidebar-overlay{position:fixed;inset:0;z-index:35;background:rgba(5,8,15,.55);backdrop-filter:blur(3px)}.sidebar-open .sidebar-overlay{display:block}.admin-stage{margin-left:0}.menu-toggle{display:grid;place-items:center}.admin-main{padding:1.25rem}.admin-topbar{height:70px;padding:0 1.25rem}.topbar-profile{display:none}.welcome-orbit{right:-50px;opacity:.65}
}
@media(max-width:700px){.dashboard-heading,.admin-page-heading{display:block}.heading-actions{margin-top:1rem}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-welcome{padding:1.5rem;min-height:230px}.admin-welcome>div:first-child{max-width:75%}.welcome-orbit{right:-100px}.status-ring-wrap{align-items:flex-start}.recent-list article{grid-template-columns:42px 1fr auto}.recent-list .geo-pill{display:none}.activity-items{grid-template-columns:1fr}.admin-toolbar{flex-wrap:wrap}.admin-search{flex:1 0 100%}.result-count{margin-left:0}.topbar-site{display:none}}
@media(max-width:460px){.admin-stat-grid{grid-template-columns:1fr}.admin-welcome>div:first-child{max-width:100%}.welcome-orbit{display:none}.heading-actions{align-items:stretch}.date-chip{display:none}.admin-primary-btn{width:100%;text-align:center}.status-ring-wrap{display:block}.status-ring{margin:0 auto 1.2rem}.recent-list article{grid-template-columns:38px 1fr}.recent-list .request-status{grid-column:2;justify-self:start}.topbar-icon{display:none}.admin-main{padding:1rem}.admin-chart-bars{gap:.45rem;margin-left:.5rem}.admin-bar-track{width:70%}}

/* Tema administrativo escuro — alinhado à experiência institucional */
.admin-shell { color: #eef2fb; background: #04060a; }
.admin-stage { position: relative; background: radial-gradient(circle at 72% 8%,rgba(31,72,190,.25),transparent 28%),radial-gradient(circle at 20% 45%,rgba(35,62,145,.11),transparent 30%),#05070c; }
.admin-stage::before { content: ""; position: fixed; inset: 0 0 0 272px; pointer-events: none; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(to bottom,#000,transparent 80%); }
.admin-sidebar { background: rgba(5,8,14,.96); border-color: rgba(255,255,255,.08); box-shadow: 18px 0 50px rgba(0,0,0,.32); }
.admin-sidebar::before { width: 360px; height: 360px; left: -210px; top: -170px; opacity: .3; }
.sidebar-head,.sidebar-user { border-color: rgba(255,255,255,.08); }
.workspace-label { border-color: rgba(105,137,255,.16); background: linear-gradient(135deg,rgba(78,112,239,.11),rgba(255,255,255,.02)); }
.admin-nav-link { color: #707b90; }
.admin-nav-link:hover { color: #f1f4fb; background: rgba(255,255,255,.05); }
.admin-nav-link.active { background: linear-gradient(90deg,rgba(70,105,235,.32),rgba(43,63,128,.05)); box-shadow: inset 2px 0 #6485ff,0 10px 28px rgba(26,52,151,.1); }

.admin-topbar { border-color: rgba(255,255,255,.075); background: rgba(5,8,14,.76); box-shadow: 0 12px 35px rgba(0,0,0,.18); }
.topbar-start small { color: #56637b; }.topbar-start strong{color:#e9edf6}
.topbar-site { color: #7d899e; }.topbar-site:hover{color:#fff}
.topbar-icon { border-color: rgba(255,255,255,.09); color: #8a96aa; background: rgba(255,255,255,.035); }
.topbar-icon i { border-color: #080b11; }
.topbar-profile { border-color: rgba(255,255,255,.09); }.topbar-profile strong{color:#eef2f9}.topbar-profile small{color:#626f86}
.menu-toggle { border-color: rgba(255,255,255,.11); color: #d8deea; background: rgba(255,255,255,.04); }
.admin-main { position: relative; z-index: 2; }

.dashboard-heading h1,.admin-page-heading h1 { color: #f3f5fa; font-size: clamp(2rem,3.5vw,3rem); background: linear-gradient(110deg,#fff 20%,#9ba8c2 70%,#6280f5); -webkit-background-clip: text; color: transparent; }
.dashboard-heading p,.admin-page-heading p { color: #657188; }
.page-kicker,.panel-kicker { color: #7893ff; }
.date-chip { border-color: rgba(255,255,255,.09); color: #8390a5; background: rgba(255,255,255,.035); }
.admin-primary-btn { border-radius: 999px; background: linear-gradient(135deg,#5377ff,#3154cf); box-shadow: 0 15px 35px rgba(51,85,207,.28); }

.admin-welcome { min-height: 255px; border: 1px solid rgba(113,143,255,.18); background: radial-gradient(circle at 77% 42%,rgba(37,84,218,.72),rgba(18,36,90,.55) 22%,rgba(10,16,29,.92) 55%,#080b12 100%); box-shadow: 0 32px 70px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.06); }
.admin-welcome h2 { max-width: 720px; font-size: clamp(2rem,4vw,3.55rem); line-height: 1.02; letter-spacing: -.06em; background: linear-gradient(105deg,#fff 25%,#9aa9c7 72%,#7894ff); -webkit-background-clip: text; color: transparent; }
.admin-welcome p { color: #768299; }
.welcome-tag { color: #a4b6ff; background: rgba(68,103,231,.08); }

.admin-stat-card { min-height: 165px; border-color: rgba(255,255,255,.085); background: linear-gradient(145deg,rgba(18,25,40,.92),rgba(9,13,22,.94)); box-shadow: 0 22px 45px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035); }
.admin-stat-card::before { content: ""; position: absolute; width: 115px; height: 115px; right: -50px; top: -55px; border-radius: 50%; background: rgba(77,114,255,.11); filter: blur(5px); }
.stat-icon { border: 1px solid rgba(113,143,255,.13); color: #8da4ff; background: rgba(77,114,255,.12); }
.stat-trend { color: #4f5c72; }.admin-stat-card>strong{color:#f5f7fb;font-size:1.9rem}.admin-stat-card>p{color:#727e93}
.stat-line { background: rgba(255,255,255,.04); }.stat-line i{box-shadow:0 0 14px rgba(77,114,255,.5)}
.tone-violet .stat-icon{color:#b09bff;background:rgba(121,89,217,.12)}.tone-cyan .stat-icon{color:#72d3e6;background:rgba(43,166,191,.11)}.tone-green .stat-icon{color:#70dda7;background:rgba(56,175,121,.11)}.tone-amber .stat-icon{color:#efc06b;background:rgba(218,160,62,.11)}.tone-red .stat-icon{color:#ef8797;background:rgba(209,92,109,.11)}

.admin-panel,.activity-strip { border-color: rgba(255,255,255,.085); background: linear-gradient(145deg,rgba(16,22,36,.94),rgba(8,12,20,.96)); box-shadow: 0 25px 55px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.03); }
.admin-panel>header { border-color: rgba(255,255,255,.07); }.admin-panel h2,.activity-strip h2{color:#edf1f8}.admin-panel header a{color:#829aff}
.panel-period { color: #738096; background: rgba(255,255,255,.045); }
.admin-chart-bars { border-color: rgba(255,255,255,.08); background-image: linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px); }
.chart-scale,.admin-bar-item>span { color: #4e5b71; }.admin-bar-track i b{color:#7c889c}
.admin-bar-track i { background: linear-gradient(to top,#2749bc,#6888ff); box-shadow: 0 0 25px rgba(68,105,235,.32); }
.status-ring::before { background: #0d131f; }.status-ring strong{color:#f4f6fb}.status-ring span{color:#647086}.status-legend p{color:#7a869b}.status-legend strong{color:#e7ebf3}
.recent-list article,.quick-actions a { border-color: rgba(255,255,255,.07); }
.request-id{color:#657188}.request-main strong{color:#e8ecf4}.request-main small{color:#5e6a7e}
.geo-pill { color:#8490a3;background:rgba(255,255,255,.055)}.geo-pill.ok{color:#6fe0a7;background:rgba(45,155,101,.12)}.geo-pill.out_of_range,.geo-pill.low_accuracy{color:#ebbc68;background:rgba(181,121,32,.12)}.geo-pill.no_location{color:#8994a7;background:rgba(255,255,255,.05)}
.request-status,.table-status{color:#94aaff;background:rgba(77,114,255,.14)}.status-checked_in,.status-confirmed,.status-active,.status-paid{color:#67dda3!important;background:rgba(45,155,101,.13)!important}.status-denied,.status-blocked,.status-canceled,.status-overdue{color:#ec8191!important;background:rgba(184,64,82,.13)!important}.status-expired,.status-inactive{color:#e8b961!important;background:rgba(174,113,23,.13)!important}
.quick-actions a { color: #e8ecf4; }.quick-actions a:hover{color:#fff}.quick-actions a>span{border:1px solid rgba(105,137,255,.12);color:#8ca3ff;background:rgba(77,114,255,.11)}.quick-actions small{color:#5d697d}.quick-actions b{color:#647087}
.activity-items article { border: 1px solid rgba(255,255,255,.055); background: rgba(255,255,255,.025); }.activity-items article>span{color:#70dda8;background:rgba(45,155,101,.12)}.activity-items strong{color:#dfe4ee}.activity-items small{color:#566276}
.admin-empty { color: #596579; }

.admin-toolbar,.admin-table-card { border-color: rgba(255,255,255,.085); background: linear-gradient(145deg,rgba(16,22,36,.95),rgba(8,12,20,.97)); box-shadow: 0 24px 50px rgba(0,0,0,.2); }
.admin-search { border-color: rgba(255,255,255,.08); background: rgba(255,255,255,.035); }.admin-search input{color:#e9edf5}.admin-search input::placeholder{color:#576377}
.admin-filter-btn { border-color: rgba(255,255,255,.09); color: #a0aabc; background: rgba(255,255,255,.04); }.admin-filter-btn:hover{color:#fff;background:rgba(255,255,255,.08)}.result-count{color:#596579}
.admin-table thead th { border-color: rgba(255,255,255,.07); color: #5e6a80; background: rgba(255,255,255,.025); }
.admin-table tbody td { border-color: rgba(255,255,255,.055); color: #9ba5b6; }.admin-table tbody tr:hover td{background:rgba(77,114,255,.035)}
.id-badge,.table-action { color: #849cff; }.admin-table code{color:#9baaff;background:rgba(77,114,255,.1)}
.admin-main>.card { border-color: rgba(255,255,255,.085)!important; color:#dce2ec;background:linear-gradient(145deg,rgba(16,22,36,.95),rgba(8,12,20,.97))!important;box-shadow:0 24px 50px rgba(0,0,0,.2)!important}
.admin-main .form-label{color:#8d98aa}.admin-main .form-control,.admin-main .form-select{border-color:rgba(255,255,255,.09);color:#e8ecf4;background-color:rgba(255,255,255,.04)}.admin-main .form-control::placeholder{color:#536075}.admin-main .form-control:focus,.admin-main .form-select:focus{border-color:#607eeb;background-color:rgba(255,255,255,.055);box-shadow:0 0 0 3px rgba(77,114,255,.12)}.admin-main .form-select option{color:#e8ecf4;background:#101622}
.admin-alert.alert-success{color:#7de2ad;background:rgba(34,133,82,.18)}.admin-alert.alert-danger{color:#f08b9a;background:rgba(160,44,61,.18)}

@media(max-width:991px){.admin-stage::before{inset:0}.admin-topbar{background:rgba(5,8,14,.9)}}
