:root { --ink: #102b25; --forest: #0c5a44; --leaf: #95c11f; --mist: #f4f6ee; --line: #dde4da; }
html { scroll-behavior: smooth; }
.site-page { background: #fbfcf8; color: var(--ink); font-family: "DM Sans", Arial, sans-serif; }
.site-header { height: 84px; max-width: 1220px; margin: auto; padding: 0 26px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 9px; font: 800 22px/1 "Plus Jakarta Sans", sans-serif; letter-spacing: -1.2px; color: var(--forest); }.brand > span:last-child span,.mini-brand span { color: var(--leaf); }
.brand-mark { height: 27px; width: 25px; display: flex; align-items: end; gap: 3px; }.brand-mark span { display:block; width: 6px; background: var(--forest); border-radius: 8px; }.brand-mark span:nth-child(1){height:12px}.brand-mark span:nth-child(2){height:21px;background:var(--leaf)}.brand-mark span:nth-child(3){height:16px}
.site-nav { display: flex; gap: 32px; font-size: 14px; color: #537068; }.site-nav a:hover { color: var(--forest); }.login-link { color: var(--forest); font-weight: 700; font-size: 14px; }.login-link span { font-size: 18px; margin-left: 3px; }
.hero { max-width: 1220px; min-height: 610px; margin: auto; padding: 79px 26px 65px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 42px; }
.eyebrow { color: var(--forest); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; display: flex; align-items: center; gap: 9px; }.eyebrow span { width: 23px; height: 2px; background: var(--leaf); }
.hero h1 { margin: 19px 0 22px; font: 800 clamp(45px, 5.1vw, 72px)/.98 "Plus Jakarta Sans", sans-serif; letter-spacing: -4.4px; }.hero h1 em { color: var(--forest); font-style: normal; }.hero-text { max-width: 510px; color: #587069; font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; gap: 23px; align-items: center; margin-top: 32px; }.button { display: inline-flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; }.button-primary { padding: 15px 20px; background: var(--forest); color:white; border-radius: 8px; box-shadow: 0 10px 22px #0c5a4430; }.button-primary:hover { background: #074431; }.button-primary span { font-size: 20px; }.button-quiet { color: var(--forest); }.button-quiet span { color: var(--leaf); font-size: 19px; }
.trust-row { display: flex; align-items: center; gap: 12px; margin-top: 51px; }.trust-row p { color: #71847e; font-size: 12px; line-height: 1.5; }.trust-row strong { color: var(--ink); }.avatars { display:flex; padding-left:8px; }.avatars i { width:28px; height:28px; display:grid; place-items:center; margin-left:-8px; border:2px solid #fbfcf8; border-radius:50%; background:#e6b286; color:#fff; font-size:8px; font-style:normal; font-weight:700; }.avatars i:nth-child(2){background:#75a99d}.avatars i:nth-child(3){background:#d27d68}.avatars i:last-child{background:#e8efdb;color:var(--forest);font-size:13px;}
.hero-visual { min-height: 454px; position: relative; display: grid; place-items:center; }.visual-glow { position:absolute; width:90%; height:92%; right:0; background: #e5f0d2; border-radius: 54% 46% 43% 57% / 49% 57% 43% 51%; transform:rotate(-6deg); }.dashboard-card { position:relative; z-index:1; width:min(100%, 456px); padding:22px; border:1px solid #f1f3ed; border-radius:15px; background:#fff; box-shadow:0 25px 55px #24483b1c; }.dash-top,.dash-head,.chart-title { display:flex; justify-content:space-between; align-items:center; }.mini-brand { font:700 13px "Plus Jakarta Sans"; color:var(--forest); }.status-dot { color:#348b4f; background:#e9f6e7; border-radius:15px; padding:5px 8px; font-size:9px; font-weight:700; }.status-dot::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#55b866;margin:0 4px 1px 0}.dash-head { margin:27px 0 17px; }.dash-head p { font-size:10px; color:#82938d; }.dash-head strong { font-size:20px; }.calendar { color:#657a73; font-size:10px; border:1px solid var(--line); padding:7px; border-radius:5px; }.dash-metrics { display:grid; grid-template-columns:1fr 1fr; gap:11px; }.dash-metrics article { padding:13px; background:#f8faf6; border-radius:8px; }.metric-icon { float:right; width:19px; height:19px; border-radius:50%; display:grid; place-items:center; font-size:10px; }.green{background:#dff1d9;color:#479a55}.amber{background:#fcecc6;color:#bb8617}.dash-metrics p { font-size:9px; color:#758982; margin:9px 0 4px; }.dash-metrics strong { font-size:24px; }.dash-metrics strong span { font-size:13px; }.dash-metrics small { display:block; color:#579460; font-size:8px; margin-top:2px; }.dash-metrics article+article small { color:#b68519; }.dash-bottom { margin-top:18px; padding:14px; border:1px solid #edf0eb; border-radius:8px; }.chart-title { font-size:10px; color:#556b63; }.chart-title b { color:#3f9c54; font-size:10px; }.bars { display:flex; align-items:end; height:57px; gap:10px; margin:5px 3px 0; border-bottom:1px solid #e7ede4; }.bars i { width:100%; background:#b7d982; border-radius:3px 3px 0 0; height:35%; }.bars i:nth-child(2){height:56%}.bars i:nth-child(3){height:45%}.bars i:nth-child(4){height:85%;background:var(--forest)}.bars i:nth-child(5){height:62%}.bars i:nth-child(6){height:76%}.bars i:nth-child(7){height:48%}.chart-days { display:flex; justify-content:space-between; margin-top:5px; color:#9aa9a2; font-size:8px; }.floating-label { position:absolute; z-index:2; display:flex; align-items:center; gap:8px; padding:10px 13px; background:#fff; border-radius:8px; box-shadow:0 12px 30px #31594b24; }.floating-label strong,.floating-label small { display:block; }.floating-label strong { font-size:10px; }.floating-label small { font-size:8px;color:#80918b;margin-top:2px; }.label-one { top:41px; right:-5px; }.label-two { left:0; bottom:49px; }.check-badge,.alert-badge { width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e0f2db;color:#3f9d50;font-size:12px;font-weight:bold; }.alert-badge { background:#fff0c8;color:#c68b16; }
.numbers { background:var(--forest); color:white; min-height:145px; padding:26px max(26px, calc((100% - 1168px)/2)); display:grid; grid-template-columns:repeat(3,1fr); align-items:center; }.numbers div { display:flex; align-items:center; gap:16px; border-right:1px solid #ffffff2c; padding-left:26px; }.numbers div:first-child{padding-left:0}.numbers div:last-child{border:none}.numbers strong { color:var(--leaf); font:800 34px "Plus Jakarta Sans"; letter-spacing:-2px; }.numbers span { font-size:12px; line-height:1.5; color:#d0e1d8; }
.solution { max-width:1220px; margin:auto; padding:112px 26px; }.section-intro { max-width:615px; }.section-intro h2 { margin-top:16px; font:800 clamp(32px,3.6vw,50px)/1.1 "Plus Jakarta Sans"; letter-spacing:-2.8px; }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:54px; }.feature-grid article { padding:27px; border:1px solid var(--line); border-radius:12px; background:white; }.feature-icon { display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#eef5df;color:var(--forest);font-size:21px;font-weight:bold; }.feature-grid h3 { font:700 18px "Plus Jakarta Sans"; margin:22px 0 10px; }.feature-grid p { color:#698078; font-size:14px; line-height:1.65; }.site-footer { border-top:1px solid var(--line); display:flex; max-width:1168px; margin:auto; padding:28px 0; align-items:center; gap:24px; color:#71847e; font-size:12px; }.site-footer .brand{font-size:17px}.site-footer .brand-mark{transform:scale(.77);transform-origin:left}.site-footer > span{margin-left:auto;}.contact-email,.contact-phone{color:var(--forest);font-weight:700}.contact-email:hover,.contact-phone:hover{text-decoration:underline}
.access { visibility:hidden; opacity:0; position:fixed; inset:0; z-index:10; transition:opacity .2s,visibility .2s; display:grid; place-items:center; padding:18px; }.access:target { visibility:visible; opacity:1; }.access-backdrop { position:absolute; inset:0; background:#092e24b8; backdrop-filter:blur(7px); }.login-box { position:relative; width:min(100%, 412px); padding:34px; border-radius:18px; background:white; box-shadow:0 30px 90px #001b12a8; transform:translateY(12px) scale(.97); transition:transform .2s; }.access:target .login-box{transform:none}.close-access{position:absolute;right:19px;top:14px;font-size:27px;color:#789087}.access-logo .brand-mark{transform:scale(.9);transform-origin:left}.access-kicker{color:var(--leaf);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:18px 0 7px}.login-box h2{font:800 26px/1.15 "Plus Jakarta Sans";letter-spacing:-1.2px}.access-subtitle{color:#71847e;font-size:14px;margin:9px 0 23px}.input-group{margin:16px 0}.input-group label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.input-group input{height:46px;border:1px solid #d8e0d7;border-radius:7px;padding:0 12px;font-size:14px;color:var(--ink);background:#fbfcfa}.input-group input:focus{border-color:var(--forest);box-shadow:0 0 0 3px #0c5a4417}.login-box button{width:100%;height:47px;background:var(--forest);border-radius:7px;font-size:14px}.login-box button:hover{background:#074431}.login-box button span{float:right;font-size:19px}.mensagem-login{min-height:18px;text-align:center;margin:12px 0 0;font-size:13px}.password-field{position:relative}.password-field input{width:100%;padding-right:48px}.login-box .password-toggle{position:absolute;top:1px;right:1px;width:44px;height:44px;padding:0;border:0;background:transparent;color:#587069;font-size:18px;box-shadow:none}.login-box .password-toggle:hover,.login-box .password-toggle:focus{background:transparent;color:var(--forest);box-shadow:none}.password-toggle span{float:none!important;font-size:17px!important}.access-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.login-box .text-action{width:auto;height:auto;padding:0;border:0;background:transparent;color:var(--forest);font-size:12px;font-weight:700;box-shadow:none}.login-box .text-action:hover,.login-box .text-action:focus{background:transparent;color:#074431;text-decoration:underline;box-shadow:none}.form-intro{color:#71847e;font-size:13px;line-height:1.45;margin:0 0 18px}.back-action{display:block!important;margin:16px auto 0}
@media (max-width:760px){.site-header{height:70px;padding:0 18px}.site-nav{display:none}.hero{grid-template-columns:1fr;padding:65px 23px 35px;gap:25px}.hero h1{letter-spacing:-3px}.hero-text{font-size:16px}.hero-visual{min-height:385px}.dashboard-card{width:88%}.label-one{right:0}.label-two{left:0}.numbers{grid-template-columns:1fr;padding:17px 23px;gap:12px}.numbers div{padding:10px 0;border-right:0;border-bottom:1px solid #ffffff2c}.numbers div:last-child{border-bottom:0}.solution{padding:76px 23px}.feature-grid{grid-template-columns:1fr;margin-top:30px}.site-footer{margin:0 23px;flex-wrap:wrap;padding:22px 0}.site-footer p{width:100%;order:3}.site-footer>span{margin-left:auto}.contact-email,.contact-phone{order:2}.hero-actions{gap:18px;flex-wrap:wrap}.trust-row{margin-top:34px}}
@media (max-width:400px){.hero h1{font-size:42px}.button-primary{width:100%;justify-content:space-between}.login-box{padding:28px 22px}.floating-label{padding:8px}.label-one{top:20px}.label-two{bottom:20px}}

/* Landing acompanha automaticamente a preferência de tema do dispositivo. */
[data-theme="dark"] .site-page { --ink:#edf7f0; --forest:#52d783; --leaf:#b7df35; --mist:#17231c; --line:#2b3b31; background:#0c120f; color:var(--ink); }
[data-theme="dark"] .site-nav, [data-theme="dark"] .hero-text, [data-theme="dark"] .trust-row p, [data-theme="dark"] .feature-grid p, [data-theme="dark"] .site-footer, [data-theme="dark"] .access-subtitle { color:#a7b9ad; }
[data-theme="dark"] .trust-row strong, [data-theme="dark"] .section-intro h2, [data-theme="dark"] .feature-grid h3, [data-theme="dark"] .login-box h2 { color:var(--ink); }
[data-theme="dark"] .visual-glow { background:#234430; opacity:.9; }
[data-theme="dark"] .dashboard-card, [data-theme="dark"] .floating-label, [data-theme="dark"] .feature-grid article, [data-theme="dark"] .login-box { background:#17221b; border-color:#2c3d32; box-shadow:0 22px 52px rgba(0,0,0,.28); }
[data-theme="dark"] .dash-metrics article, [data-theme="dark"] .dash-bottom { background:#1d2b22; border-color:#304237; }
[data-theme="dark"] .dash-head p, [data-theme="dark"] .dash-metrics p, [data-theme="dark"] .chart-title, [data-theme="dark"] .floating-label small, [data-theme="dark"] .calendar { color:#a6b9ab; }
[data-theme="dark"] .dash-metrics strong, [data-theme="dark"] .floating-label strong { color:#edf7f0; }
[data-theme="dark"] .calendar { border-color:#3a4c40; }
[data-theme="dark"] .bars { border-color:#34463a; }
[data-theme="dark"] .input-group input { background:#101a13; border-color:#3a4c40; color:#edf7f0; }
[data-theme="dark"] .numbers { background:#075842; }

/* Paleta verde da tela de acesso. */
:root {
    --ink: #052e16;
    --forest: #166534;
    --leaf: #4ade80;
    --mist: #f0fdf4;
    --line: #dcfce7;
}

.site-page { background: #f8fbff; }
.site-nav { color: #526582; }
.hero-text { color: #5b6f8f; }
.button-primary { box-shadow: 0 10px 22px rgba(29, 78, 216, .24); }
.button-primary:hover, .login-box button:hover { background: #14532d; }
.visual-glow { background: #dcfce7; }
.dashboard-card { border-color: #dcfce7; box-shadow: 0 25px 55px rgba(30, 64, 175, .12); }
.numbers { background: #064e3b; }
.numbers span { color: #dcfce7; }
.feature-icon { background: #f0fdf4; }
.access-backdrop { background: rgba(15, 40, 105, .78); }
.login-box { border: 1px solid #dcfce7; box-shadow: 0 30px 90px rgba(15, 40, 105, .34); }
.input-group input { border-color: #dcfce7; background: #f8fbff; }
.input-group input:focus { border-color: #15803d; box-shadow: 0 0 0 3px rgba(37, 99, 235, .14); }
.close-access { color: #526582; }

[data-theme="dark"] .site-page {
    --ink: #f0fdf4;
    --forest: #4ade80;
    --leaf: #86efac;
    --mist: #111c3e;
    --line: #263b70;
    background: #052e16;
}

[data-theme="dark"] .site-nav,
[data-theme="dark"] .hero-text,
[data-theme="dark"] .trust-row p,
[data-theme="dark"] .feature-grid p,
[data-theme="dark"] .site-footer,
[data-theme="dark"] .access-subtitle { color: #b9c7e6; }

[data-theme="dark"] .visual-glow { background: #064e3b; }
[data-theme="dark"] .dashboard-card,
[data-theme="dark"] .floating-label,
[data-theme="dark"] .feature-grid article,
[data-theme="dark"] .login-box { background: #111c3e; border-color: #263b70; }
[data-theme="dark"] .dash-metrics article,
[data-theme="dark"] .dash-bottom { background: #052e16; border-color: #2b437a; }
[data-theme="dark"] .input-group input { background: #052e16; border-color: #2b437a; color: #f0fdf4; }
[data-theme="dark"] .numbers { background: #064e3b; }

/* Contraste da tela de acesso. */
.site-page {
    background: #064e3b;
    color: #ffffff;
}

.site-header,
.site-nav,
.site-nav a,
.login-link,
.brand,
.hero h1,
.hero h1 em,
.hero-text,
.button-quiet,
.trust-row p,
.trust-row strong,
.site-footer,
.site-footer a {
    color: #ffffff;
}

.site-nav a:hover,
.login-link:hover,
.button-quiet:hover,
.site-footer a:hover {
    color: #dcfce7;
}

.eyebrow,
.access-kicker,
.numbers strong {
    color: #ffffff;
}

.eyebrow span,
.button-quiet span,
.brand > span:last-child span,
.mini-brand span {
    color: #ffffff;
    background-color: #ffffff;
}

.visual-glow { background: #dcfce7; }
.dashboard-card,
.feature-grid article,
.floating-label,
.login-box {
    background: #ffffff;
    color: #111827;
}

.dashboard-card *,
.feature-grid article *,
.floating-label *,
.login-box label,
.login-box h2,
.login-box .access-subtitle,
.login-box .form-intro {
    color: #111827;
}

.login-box button:not(.password-toggle):not(.text-action) {
    background: #064e3b;
    color: #ffffff;
}

.login-box .text-action,
.login-box .password-toggle {
    color: #111827;
}

/* Identidade visual Lotrix: azul-royal, superfícies claras e alto contraste. */
:root {
    --ink: #172554;
    --forest: #1d4ed8;
    --leaf: #60a5fa;
    --mist: #eff6ff;
    --line: #dbeafe;
}

.site-page {
    background: #f8fbff;
    color: var(--ink);
}

.site-header,
.site-nav,
.site-nav a,
.login-link,
.brand,
.hero h1,
.hero h1 em,
.hero-text,
.button-quiet,
.trust-row p,
.trust-row strong,
.site-footer,
.site-footer a {
    color: inherit;
}

.brand,
.login-link,
.hero h1 em,
.button-quiet,
.eyebrow,
.access-kicker,
.mini-brand {
    color: var(--forest);
}

.site-nav,
.hero-text,
.trust-row p,
.site-footer,
.access-subtitle {
    color: #526582;
}

.site-nav a:hover,
.login-link:hover,
.button-quiet:hover,
.site-footer a:hover {
    color: #2563eb;
}

.eyebrow span,
.button-quiet span,
.brand > span:last-child span,
.mini-brand span {
    background-color: var(--leaf);
    color: var(--leaf);
}

.button-primary,
.login-box button:not(.password-toggle):not(.text-action) {
    background: var(--forest);
    color: #ffffff;
}

.button-primary:hover,
.login-box button:not(.password-toggle):not(.text-action):hover {
    background: #1e40af;
}

.visual-glow {
    background: #bfdbfe;
}

.numbers {
    background: #1e3a8a;
}

.numbers strong {
    color: #bfdbfe;
}

.numbers span {
    color: #dbeafe;
}

.access-backdrop {
    background: rgba(15, 40, 105, .78);
}

/* =========================================================
   LANDING LOTRIX — AZUL ROYAL
   ========================================================= */

.site-page {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 84% 7%, rgba(96, 165, 250, .22), transparent 26rem),
        linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
}

.site-header {
    position: relative;
    z-index: 3;
    max-width: 1240px;
    height: 88px;
}

.brand {
    color: #172554;
    font-size: 23px;
}

.brand-mark {
    width: 31px;
    height: 31px;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 6px;
    border-radius: 10px;
    background: linear-gradient(145deg, #2563eb, #1e40af);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .24);
}

.brand-mark span {
    width: 5px;
    border-radius: 999px;
    background: #ffffff !important;
}

.brand-mark span:nth-child(1) { height: 11px; }
.brand-mark span:nth-child(2) { height: 18px; }
.brand-mark span:nth-child(3) { height: 14px; }

.site-nav {
    gap: 30px;
    color: #475569;
    font-weight: 600;
}

.site-nav a,
.login-link {
    transition: color .2s ease, transform .2s ease;
}

.site-nav a:hover,
.login-link:hover {
    color: #1d4ed8;
    transform: translateY(-1px);
}

.login-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px;
    border: 1px solid #c7d2fe;
    border-radius: 10px;
    color: #1d4ed8;
    background: rgba(255, 255, 255, .68);
}

.hero {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    min-height: 645px;
    padding-top: 74px;
}

.eyebrow {
    color: #2563eb;
    font-size: 11px;
}

.eyebrow span {
    width: 27px;
    background: #2563eb;
}

.hero h1 {
    max-width: 650px;
    color: #172554;
    font-size: clamp(48px, 5.2vw, 74px);
    letter-spacing: -4.6px;
}

.hero h1 em {
    color: #2563eb;
}

.hero-text {
    color: #526582;
}

.button-primary {
    border: 1px solid #1d4ed8;
    border-radius: 11px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 26px rgba(37, 99, 235, .28);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.button-primary:hover {
    background: #1e40af;
    box-shadow: 0 18px 30px rgba(30, 64, 175, .30);
    transform: translateY(-2px);
}

.button-primary span {
    color: #ffffff !important;
}

.button-quiet {
    border: 1px solid #bfdbfe !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: #1e40af !important;
    box-shadow: 0 8px 20px rgba(30, 64, 175, .08) !important;
}

.button-quiet:hover {
    border-color: #93c5fd !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    box-shadow: 0 12px 22px rgba(30, 64, 175, .12) !important;
}

.button-quiet span {
    color: #2563eb !important;
}

.trust-row {
    margin-top: 43px;
}

.trust-row p { color: #64748b; }
.trust-row strong { color: #172554; }
.avatars i { border-color: #f8fbff; }
.avatars i:nth-child(1) { background: #1d4ed8; }
.avatars i:nth-child(2) { background: #60a5fa; }
.avatars i:nth-child(3) { background: #312e81; }
.avatars i:last-child { color: #1e40af; background: #dbeafe; }

.hero-visual { min-height: 480px; }

.visual-glow {
    width: 96%;
    height: 90%;
    background: linear-gradient(145deg, #dbeafe 0%, #bfdbfe 48%, #e0e7ff 100%);
    border-radius: 42% 58% 54% 46% / 45% 43% 57% 55%;
    transform: rotate(-8deg);
}

.dashboard-card {
    width: min(100%, 468px);
    padding: 24px;
    border: 1px solid rgba(191, 219, 254, .9);
    border-radius: 20px;
    box-shadow: 0 28px 65px rgba(30, 64, 175, .19);
}

.mini-brand { color: #1d4ed8; }
.status-dot { color: #1d4ed8; background: #dbeafe; }
.status-dot::before { background: #2563eb; }
.dash-head p, .dash-metrics p, .chart-title { color: #64748b; }
.dash-head strong, .dash-metrics strong { color: #172554; }
.calendar { color: #475569; border-color: #dbeafe; background: #f8fbff; }
.dash-metrics article { background: #f8fbff; }
.green { color: #1d4ed8; background: #dbeafe; }
.dash-metrics small, .chart-title b { color: #2563eb; }
.bars i { background: #93c5fd; }
.bars i:nth-child(4) { background: #2563eb; }
.dash-bottom { border-color: #dbeafe; }

.floating-label {
    padding: 11px 14px;
    border: 1px solid rgba(191, 219, 254, .85);
    border-radius: 11px;
    box-shadow: 0 16px 34px rgba(30, 64, 175, .16);
}

.check-badge { color: #1d4ed8; background: #dbeafe; }

.numbers {
    min-height: 158px;
    background:
        radial-gradient(circle at 88% 0%, rgba(96, 165, 250, .30), transparent 18rem),
        linear-gradient(110deg, #172554, #1e3a8a 64%, #1d4ed8);
}

.numbers strong { color: #bfdbfe; }
.numbers span { color: #dbeafe; }

.solution { padding-top: 118px; }
.section-intro h2 { color: #172554; }
.feature-grid article {
    border-color: #dbeafe;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(30, 64, 175, .06);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.feature-grid article:hover {
    border-color: #93c5fd;
    box-shadow: 0 20px 35px rgba(30, 64, 175, .12);
    transform: translateY(-4px);
}

.feature-icon { color: #1d4ed8; background: #dbeafe; }
.feature-grid h3 { color: #172554; }
.feature-grid p { color: #64748b; }

.site-footer {
    border-color: #dbeafe;
    color: #64748b;
}

.contact-email, .contact-phone { color: #1d4ed8; }

.access-backdrop { background: rgba(15, 35, 105, .72); }
.login-box { border-color: #dbeafe; }
.login-box h2 { color: #172554; }
.login-box .access-subtitle, .login-box .form-intro { color: #64748b; }
.input-group input { border-color: #cbd5e1; background: #f8fbff; }
.input-group input:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .14); }

@media (max-width: 760px) {
    .site-header { height: 76px; }
    .hero { min-height: auto; padding-top: 52px; }
    .hero h1 { font-size: clamp(43px, 13vw, 58px); }
    .hero-visual { min-height: 410px; }
    .visual-glow { width: 100%; }
}

.brand-mark-image { width: 34px; height: 34px; flex: 0 0 34px; object-fit: contain; border-radius: 50%; }
.site-footer .brand-mark-image { transform: scale(.77); transform-origin: left; }
.access-logo .brand-mark-image { width: 34px; height: 34px; }

/* Hero renovado com atmosfera de cozinha profissional da referência. */
.site-page { background: #f8fafc; }
.site-header {
    max-width: none;
    padding-inline: max(26px, calc((100% - 1168px) / 2));
    background: #06171c;
}
.site-header .brand { color: #fff; }
.site-nav { color: #d0dbe2; }
.site-nav a:hover { color: #4ade80; }
.login-link { border-color: #ffffff42; color: #fff; background: #ffffff0d; }
.hero {
    width: 100%;
    max-width: none;
    min-height: 680px;
    padding: 66px max(26px, calc((100% - 1168px) / 2)) 58px;
    grid-template-columns: minmax(0, .95fr) minmax(450px, 1.05fr);
    gap: 36px;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 79% 74%, rgba(19, 89, 85, .50), transparent 33%),
        radial-gradient(ellipse at 14% 18%, rgba(14, 67, 62, .34), transparent 38%),
        linear-gradient(112deg, #06171c 0%, #092329 53%, #07161d 100%);
    color: #f8fafc;
}
.hero-copy { position: relative; z-index: 3; }
.eyebrow { color: #4ade80; }
.eyebrow span { background: #4ade80; }
.hero h1, .hero h1 em { color: #f8fafc; }
.hero h1 { max-width: 620px; font-size: clamp(48px, 5.3vw, 76px); letter-spacing: -4.8px; }
.hero h1 em { color: #4ade80; }
.hero-text { color: #c2d0d3; }
.hero-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 30px 0 0;
    max-width: 610px;
}
.hero-benefits div {
    min-height: 83px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    padding: 0 13px;
    border-right: 1px solid #ffffff26;
}
.hero-benefits div:first-child { padding-left: 0; }
.hero-benefits div:last-child { border: 0; }
.hero-benefits span { color: #4ade80; font-size: 25px; line-height: 1; font-weight: 700; }
.hero-benefits div:nth-child(even) span { color: #2685ff; }
.hero-benefits strong { color: #eef5f5; font-size: 11px; line-height: 1.3; }
.hero-actions { gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.hero-actions .button { min-height: 54px; padding: 13px 16px; border-radius: 10px; }
.hero-actions .button-primary { background: linear-gradient(135deg, #166534, #16834b) !important; border-color: #20a55c; box-shadow: 0 12px 26px #00854f38; }
.hero-actions .button-quiet { color: #eef5f5 !important; background: #ffffff0d !important; border-color: #ffffff35 !important; box-shadow: none !important; }
.hero-actions .button-quiet span { color: #4ade80 !important; }
.trust-row { margin-top: 28px; }
.trust-row p, .trust-row strong { color: #c6d3d4; }
.avatars i { border-color: #092329; }
.hero-visual {
    min-height: 545px;
    overflow: visible;
    perspective: 1000px;
}
.visual-glow {
    width: 95%; height: 88%; right: 1%;
    background: radial-gradient(ellipse, #0c594c 0%, #0a3938 47%, transparent 74%);
    filter: blur(7px);
}
.phone-device {
    position: absolute;
    z-index: 3;
    top: 20px;
    left: 12%;
    width: 292px;
    height: 500px;
    padding: 13px 11px;
    border: 5px solid #12191d;
    border-radius: 39px;
    background: linear-gradient(145deg, #30393d, #080d10 34%, #161d21);
    box-shadow: 0 32px 60px #0009, inset 0 0 0 1px #ffffff35;
    transform: rotate(-4deg);
}
.phone-device::after {
    content: "";
    position: absolute;
    top: 8px; left: 50%; width: 84px; height: 17px;
    border-radius: 0 0 12px 12px;
    background: #080d10;
    transform: translateX(-50%);
    z-index: 5;
}
.phone-speaker { display: none; }
.dashboard-card {
    width: 100%; height: 100%;
    padding: 28px 15px 14px;
    border: 0; border-radius: 25px;
    background: linear-gradient(#082246, #071a35);
    box-shadow: none;
    overflow: hidden;
    color: #f8fafc;
}
.dash-top { padding: 4px 2px 14px; border-bottom: 1px solid #ffffff17; }
.mini-brand, .dash-head strong, .dash-metrics strong { color: #f8fafc; }
.status-dot { color: #8df0ba; background: #0e513f; }
.status-dot::before { background: #4ade80; }
.dash-head { margin: 17px 0 13px; }
.dash-head p, .dash-metrics p, .chart-title { color: #a9bbce; }
.calendar { color: #d7e7f5; border-color: #ffffff2a; background: #ffffff0c; }
.dash-metrics { gap: 8px; }
.dash-metrics article { padding: 10px; background: #ffffff0c; border: 1px solid #ffffff0c; }
.green { color: #4ade80; background: #124537; }
.amber { color: #fbbf24; background: #594316; }
.dash-metrics small { color: #5ee49b; }
.dash-metrics article + article small { color: #f7c45c; }
.dash-bottom { margin-top: 13px; padding: 11px; border-color: #ffffff20; background: #ffffff08; }
.chart-title b { color: #6eb5ff; }
.bars { height: 48px; border-color: #ffffff22; }
.bars i { background: #2782d8; }
.bars i:nth-child(4) { background: #48a0ff; }
.chart-days { color: #a9bbce; }
.floating-label { z-index: 6; color: #142033; }
.label-one { top: 88px; right: 2%; }
.label-two { left: 0; bottom: 40px; }
.printer-mockup {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 28px;
    width: 246px;
    height: 225px;
    padding: 16px 15px 0;
    border: 1px solid #68747a;
    border-radius: 25px 25px 11px 11px;
    background: linear-gradient(145deg, #454d50, #111719 54%, #252c2f);
    box-shadow: 0 30px 48px #0009, inset 0 2px 4px #ffffff40;
    transform: rotate(2deg);
}
.printer-top { height: 35px; border-radius: 12px 12px 4px 4px; background: linear-gradient(#252d30,#151b1e); }
.printer-top span { display:block; width:35px; height:5px; margin-left:auto; position:relative; top:12px; right:12px; border-radius:5px; background:#101416; }
.printer-slot { height:9px; margin:10px -4px 0; border-radius:9px; background:#070b0d; box-shadow:0 1px 2px #ffffff30; }
.printer-label {
    position: relative;
    width: 140px;
    min-height: 155px;
    margin: -2px auto 0;
    padding: 15px 13px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #142033;
    background: #f8faf8;
    box-shadow: 0 10px 16px #0007;
    transform: rotate(-2deg);
}
.printer-label strong { color: #092949; font: 700 15px "Plus Jakarta Sans", sans-serif; }
.printer-label b { margin-top: 6px; font-size: 9px; }
.printer-label > span { font-size: 8px; }
.label-mark { color: #16a34a; }
.label-code {
    height: 27px;
    margin-top: 2px;
    background: repeating-linear-gradient(90deg, #101820 0 2px, transparent 2px 4px, #101820 4px 5px, transparent 5px 8px);
}

@media (max-width: 900px) {
    .hero { grid-template-columns: 1fr; gap: 10px; padding-top: 48px; }
    .hero-copy { max-width: 680px; }
    .hero-visual { min-height: 535px; }
    .phone-device { left: 17%; }
    .printer-mockup { right: 10%; }
}
@media (max-width: 600px) {
    .site-header { padding-inline: 18px; }
    .hero { padding: 42px 20px 38px; }
    .hero h1 { font-size: clamp(43px, 12vw, 58px); letter-spacing: -3px; }
    .hero-benefits { margin-top: 24px; }
    .hero-benefits div { padding-inline: 7px; min-height: 75px; }
    .hero-benefits strong { font-size: 9px; }
    .hero-actions .button { flex: 1 1 42%; justify-content: space-between; font-size: 12px; }
    .hero-actions .button-primary { flex-basis: 100%; }
    .hero-visual { min-height: 490px; margin-inline: -12px; }
    .phone-device { left: 7%; width: 252px; height: 445px; }
    .printer-mockup { right: 0; bottom: 16px; width: 190px; height: 188px; transform: scale(.86) rotate(2deg); transform-origin: bottom right; }
    .label-one { right: 0; top: 64px; }
    .label-two { bottom: 13px; left: -2px; }
}
@media (max-width: 380px) {
    .hero-benefits strong { font-size: 8px; }
    .phone-device { left: 3%; width: 230px; }
    .printer-mockup { right: -6px; transform: scale(.72) rotate(2deg); }
    .label-one, .label-two { display: none; }
}

/* Assinatura Lotrix com o detalhe verde no x da marca. */
.brand-x { position: relative; display: inline-block; color: inherit; }
.brand-x::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: .48em;
    height: .24em;
    top: -.07em;
    right: -.02em;
    border-radius: 1px 3px 1px 1px;
    background: linear-gradient(125deg, #35f3a1, #00c977);
    clip-path: polygon(18% 0, 100% 0, 67% 100%, 0 100%);
    transform: rotate(-8deg);
}
.mini-brand .brand-x { color: #f8fafc; }
.printer-label .brand-x { color: #092949; }

/* Parte inferior com a mesma paleta escura e verde da referência. */
.numbers {
    position: relative;
    min-height: 178px;
    grid-template-columns: .82fr repeat(3, 1fr);
    gap: 0;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 82% 0%, #126647 0%, transparent 37%),
        linear-gradient(110deg, #06171c, #092c2b 58%, #073c30);
}
.numbers::before {
    content: "";
    position: absolute;
    left: -85px;
    bottom: -200px;
    width: 390px;
    height: 330px;
    border-radius: 50%;
    background: linear-gradient(140deg, #087b4c, #064733);
    transform: rotate(-15deg);
}
.brand-message, .numbers > div { position: relative; z-index: 1; }
.brand-message { display: flex; flex-direction: column; gap: 5px; padding-left: 12px; color: #edf8f4; }
.brand-message strong { color: #fff; font: 800 24px/1 "Plus Jakarta Sans", sans-serif; letter-spacing: -1.2px; }
.brand-message span { color: #b6ddd0; font-size: 12px; line-height: 1.4; }
.numbers > div { padding-left: 22px; }
.numbers strong { color: #4ade80; }
.numbers span { color: #d0e1d8; }
.solution { max-width: none; padding: 95px max(26px, calc((100% - 1168px) / 2)); background: #081b20; }
.section-intro h2 { color: #f1f7f5; }
.solution .eyebrow { color: #4ade80; }
.solution .eyebrow span { background: #4ade80; }
.feature-grid article { background: #10272b; border-color: #25413f; box-shadow: 0 15px 32px #0003; }
.feature-grid article:hover { background: #13302f; border-color: #32815d; }
.feature-icon { color: #4ade80; background: #0b4637; }
.feature-grid h3 { color: #eef8f4; }
.feature-grid p { color: #b4c8c5; }
.site-footer { max-width: none; padding: 28px max(26px, calc((100% - 1168px) / 2)); color: #b4c8c5; background: #06171c; border-color: #25413f; }
.site-footer .brand { color: #f8fafc; }
.site-footer .brand-x { color: inherit; }
.site-footer .contact-email, .site-footer .contact-phone { color: #4ade80; }

@media (max-width: 760px) {
    .numbers { grid-template-columns: 1fr 1fr; padding: 22px 23px; }
    .brand-message { min-height: 75px; padding: 0 0 14px; grid-column: 1 / -1; }
    .numbers > div { padding: 12px 7px; border-right: 0; border-bottom: 1px solid #ffffff2c; }
    .numbers > div:nth-last-child(-n+2) { border-bottom: 0; }
    .numbers > div:first-of-type { padding-left: 7px; }
    .numbers > div:last-child { padding-left: 7px; }
    .solution { padding: 70px 23px; }
    .site-footer { padding: 24px 23px; }
}
