/* Link Finance · Cristal. Identidade compartilhada entre todos os produtos.
   Cores da logo nova (28/10/2026): azul-marinho #0E2233, azul #1B4F91, dourado #D6A85C, papel #F1F4F8. */
:root {
 --glass-ink:#0E2233;--glass-muted:#56687A;--glass-ground:#F1F4F8;
 --glass-pane:rgba(255,255,255,.74);--glass-solid:#FBFCFD;--glass-line:rgba(255,255,255,.92);
 --glass-edge:rgba(11,37,64,.14);--glass-tint:#E3EBF5;--glass-green:#1B4F91;
 --glass-gold:#8A6425;--glass-gold-light:#D6A85C;
 --glass-shadow:0 4px 6px -4px rgba(14,34,51,.10),0 16px 38px -22px rgba(14,34,51,.26),inset 0 1px 0 rgba(255,255,255,.95);
 --glass-lift:0 9px 15px -10px rgba(14,34,51,.18),0 24px 50px -24px rgba(14,34,51,.32),inset 0 1px 0 rgba(255,255,255,.98);
 --glass-marble:radial-gradient(ellipse at 5% 15%,rgba(62,127,196,.16),transparent 43%),radial-gradient(ellipse at 94% 3%,rgba(95,168,224,.16),transparent 42%),radial-gradient(ellipse at 75% 90%,rgba(214,168,92,.14),transparent 46%);
}
html.dark,html[data-tema="escuro"] {
 --glass-ink:#F2F3ED;--glass-muted:#A7B5C3;--glass-ground:#0B1B29;
 --glass-pane:rgba(21,48,70,.80);--glass-solid:#153046;--glass-line:rgba(241,244,248,.14);
 --glass-edge:rgba(241,244,248,.14);--glass-tint:#1D3E56;--glass-green:#6FB3E6;
 --glass-gold:#D6A85C;--glass-gold-light:#D6A85C;
 --glass-marble:radial-gradient(ellipse at 5% 15%,rgba(62,127,196,.20),transparent 43%),radial-gradient(ellipse at 94% 3%,rgba(36,84,138,.28),transparent 42%),radial-gradient(ellipse at 75% 90%,rgba(214,168,92,.08),transparent 46%);
 --glass-shadow:0 14px 38px -20px #0008,inset 0 1px 0 #ffffff12;
 --glass-lift:0 22px 50px -20px #000a,inset 0 1px 0 #ffffff20;
}
html {background-color:var(--glass-ground)}
body {
 background-color:var(--glass-ground)!important;
 background-image:var(--glass-marble)!important;
 background-attachment:fixed!important;
 color:var(--glass-ink);isolation:isolate;
}
body::before {
 content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
 background-image:url("marble.svg");background-size:cover;background-position:center;opacity:.5;
}
html.dark body::before,html[data-tema="escuro"] body::before {opacity:.075}
.eco-icon {display:inline-block;vertical-align:middle;flex-shrink:0;width:44px;height:46px;object-fit:contain;filter:drop-shadow(0 6px 7px #0E22331a);transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;user-select:none;pointer-events:none}
:is(a,button):hover > .eco-icon,:is(a,button):hover .eco-icon,.eco-icon:hover {transform:translateY(-3px) rotate(-3deg);filter:drop-shadow(0 9px 9px #0E223326)}
:is(a,button):active .eco-icon {transform:translateY(2px) scale(.96)}
.eco-icon.small {width:32px;height:34px}.eco-icon.large {width:76px;height:80px}
.glass-surface {background:var(--glass-pane);border:1px solid var(--glass-line);border-radius:24px;box-shadow:var(--glass-shadow);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}
.glass-enter {animation:glass-enter .65s cubic-bezier(.2,.8,.2,1) backwards}
@keyframes glass-enter {from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes glass-float {0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes glass-orbit {to{rotate:360deg}}
@keyframes glass-breathe {0%,100%{opacity:.4;scale:.9}50%{opacity:.85;scale:1.06}}
@keyframes glass-scan {0%{translate:-140% 0}100%{translate:340% 0}}
.glass-orbit {position:relative;width:280px;height:280px;margin:auto;display:grid;place-items:center;isolation:isolate}
.glass-orbit::before,.glass-orbit::after {content:"";position:absolute;inset:14px;border:1px solid var(--glass-edge);border-radius:50%;animation:glass-orbit 30s linear infinite}
.glass-orbit::after {inset:44px;border-style:dashed;animation-direction:reverse}
.glass-orbit-center {display:grid;place-items:center;width:110px;height:110px;border-radius:32px;background:var(--glass-pane);border:1px solid var(--glass-line);box-shadow:var(--glass-lift);backdrop-filter:blur(18px);animation:glass-float 6s ease-in-out infinite}
.glass-orbit > .eco-icon {position:absolute;width:54px;height:57px;animation:glass-float 5s ease-in-out infinite}
.glass-orbit > .eco-icon:nth-child(2){top:0;left:108px;animation-delay:-1s}.glass-orbit > .eco-icon:nth-child(3){right:0;top:110px;animation-delay:-2s}.glass-orbit > .eco-icon:nth-child(4){bottom:0;left:108px;animation-delay:-3s}.glass-orbit > .eco-icon:nth-child(5){left:0;top:110px;animation-delay:-4s}
.glass-loading-line {width:150px;height:3px;border-radius:99px;background:var(--glass-edge);overflow:hidden;margin:24px auto}
.glass-loading-line::after {content:"";display:block;width:50%;height:100%;border-radius:99px;background:linear-gradient(90deg,#1B4F91,#D6A85C);animation:glass-scan 1.6s ease-in-out infinite}
.glass-motion-toggle {position:fixed;bottom:16px;left:16px;z-index:48;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--glass-edge);background:var(--glass-pane);color:var(--glass-muted);backdrop-filter:blur(12px);box-shadow:var(--glass-shadow);cursor:pointer;font:600 15px/1 system-ui}
.glass-motion-toggle:hover {color:var(--glass-ink);transform:scale(1.07)}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.glass-enter{opacity:1;translate:none}}
@media(max-width:700px){.glass-orbit{width:224px;height:224px}.glass-orbit-center{width:86px;height:86px}.glass-orbit>.eco-icon{width:44px;height:46px}.glass-orbit>.eco-icon:nth-child(2),.glass-orbit>.eco-icon:nth-child(4){left:90px}.glass-orbit>.eco-icon:nth-child(3),.glass-orbit>.eco-icon:nth-child(5){top:90px}}
@media print{body{background:white!important;color:#0E2233!important}body::before,.glass-motion-toggle{display:none!important}.glass-surface{background:white!important;box-shadow:none!important;backdrop-filter:none!important}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Adaptador dos sistemas HTML: mesmos tokens, sem tocar nas regras de negócio. */
html:root {
 --sis-fundo:var(--glass-ground);--sis-cartao:var(--glass-pane);--sis-texto:var(--glass-ink);--sis-texto-2:var(--glass-ink);--sis-texto-suave:var(--glass-muted);
 --sis-borda:var(--glass-edge);--sis-borda-forte:#C2CEDC;--sis-rebaixado:#E8EDF4;--sis-primaria:#1B4F91;--sis-primaria-forte:#163F74;--sis-sobre-primaria:#fff;
 --sis-realce:var(--glass-tint);--sis-sobre-realce:#153046;--sis-raio:12px;--sis-raio-cartao:22px;
 --sis-sombra-1:var(--glass-shadow);--sis-sombra-2:var(--glass-shadow);--sis-sombra-3:var(--glass-lift);
}
html:root[data-tema="escuro"] {--sis-borda-forte:#2C4E68;--sis-rebaixado:#1D3E56;--sis-primaria:#6FB3E6;--sis-primaria-forte:#A3CFF0;--sis-sobre-primaria:#0E2233;--sis-sobre-realce:#D3E6F7}
html body :is(.card,.kpi-card,.panel,.kpi,.box,.cartao,.ap-cartao,.ap-plano,.lf-entrada-formulario) {
 background:var(--glass-pane);border:1px solid var(--glass-line);border-radius:22px;box-shadow:var(--glass-shadow);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);
 animation:glass-enter .65s cubic-bezier(.2,.8,.2,1) backwards;
}
html body :is(.kpi-card,.kpi,.ap-cartao,.cartao):hover {box-shadow:var(--glass-lift)}
html body :is(.kpi-card,.kpi,.ap-cartao){transition:translate .25s,box-shadow .25s}html body :is(.kpi-card,.kpi,.ap-cartao):hover{translate:0 -3px}
html body :is(.lf-barra-in,.ap-topo-in) {background:var(--glass-pane);border:1px solid var(--glass-line);box-shadow:var(--glass-lift);backdrop-filter:blur(24px) saturate(1.5);border-radius:20px}
html body :is(.tabs,.main-tabs,.nav,.seg) {background:color-mix(in srgb,var(--glass-pane) 80%,transparent);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(18px);border-radius:16px}
html body :is(.tabs,.main-tabs,.nav,.seg,#nav,#tabs) :is(button,a){transition:background .2s,translate .2s,box-shadow .2s}
html body :is(.tabs,.main-tabs,.nav,.seg,#nav,#tabs) :is(button,a):hover{translate:0 -1px}
html body :is(.tabs,.main-tabs,.nav,.seg,#nav,#tabs) .eco-icon{width:27px;height:29px;margin-right:6px}
html body :is(input,select,textarea){border-color:var(--glass-edge);background:color-mix(in srgb,var(--glass-solid) 82%,transparent);color:var(--glass-ink)}
html body :is(input,select,textarea):focus{border-color:#1B4F91;box-shadow:0 0 0 3px #1B4F911f}
html body :is(.modal,.modal-box,.md,.pm,.lf-menu){background:var(--glass-solid);box-shadow:var(--glass-lift);border-color:var(--glass-edge)}
html body .lf-marca{height:auto;min-height:42px}.lf-marca .eco-icon{width:36px;height:38px}
html body .lf-entrada{background:none;max-width:1500px;margin:auto;padding:24px;gap:24px}
html body .lf-entrada-marca{background:linear-gradient(145deg,#ffffffa6,#E3EBF5b0,#F3E8D49c);color:var(--glass-ink);border:1px solid var(--glass-line);border-radius:32px;box-shadow:var(--glass-shadow)}
html body .lf-entrada-marca :is(h1,h2,p,li){color:var(--glass-ink)}
html body .lf-entrada-marca .eco-icon{width:82px;height:86px;animation:glass-float 6s ease-in-out infinite}
html body .lf-passagem{background:var(--glass-ground);color:var(--glass-ink)}
html body .lf-passagem .eco-icon{width:90px;height:94px;animation:glass-float 3s ease-in-out infinite;filter:drop-shadow(0 16px 24px #1B4F914a)}
html body .lf-passagem::after{content:"";width:120px;height:4px;border-radius:99px;background:linear-gradient(90deg,#1B4F91,#D6A85C);animation:glass-breathe 1.5s ease-in-out infinite}
html body :is(.lf-entrada-formulario,.lf-entrada-form){background:var(--glass-pane);border:1px solid var(--glass-line);border-radius:28px;box-shadow:var(--glass-lift)}
html body .lf-entrada-form{padding:36px}
html[data-tema="escuro"] body .lf-entrada-marca{background:linear-gradient(140deg,#153046d0,#1D3E5699 55%,#24548A66)}
@media(max-width:700px){html body .lf-entrada{padding:16px}html body .lf-entrada-form{padding:24px}html body :is(.card,.panel,.box,.cartao){border-radius:17px}}
@media(prefers-reduced-motion:reduce){html body :is(.card,.kpi-card,.panel,.kpi,.box,.cartao,.ap-cartao,.ap-plano,.lf-entrada-formulario){animation:none!important;translate:none!important}}
/* Entrada compartilhada dos quatro sistemas. */
html body .lf-entrar{padding:24px;gap:24px;max-width:1540px;margin:auto;background:none}
html body .lf-vitrine{background:linear-gradient(145deg,#ffffffa6,#E3EBF5b0,#F3E8D49c);color:var(--glass-ink);border:1px solid var(--glass-line);border-radius:32px;box-shadow:var(--glass-shadow);overflow:hidden}
html body .lf-vitrine .lf-grade{opacity:.2}.lf-vitrine .lf-logo>.eco-icon{width:68px;height:72px;animation:glass-float 5s ease-in-out infinite}
/* border-box: padding e borda não somam aos 100% (no celular o cartão passava da tela); 462 = 384 + 2×38 + 2, 436 = 384 + 2×25 + 2. */
html body .lf-acesso-in{box-sizing:border-box;max-width:462px;padding:38px;background:var(--glass-pane);border:1px solid var(--glass-line);border-radius:28px;box-shadow:var(--glass-lift);backdrop-filter:blur(18px)}
html body .lf-acesso-in>.lf-logo{display:flex;gap:12px;margin-bottom:25px}.lf-acesso-in>.lf-logo .eco-icon{width:52px;height:55px}
html[data-tema="escuro"] body .lf-vitrine{background:linear-gradient(140deg,#153046d0,#1D3E5699 55%,#24548A66)}
@media(max-width:700px){html body .lf-entrar{padding:16px}html body .lf-acesso{padding:24px 0}html body .lf-acesso-in{padding:25px;max-width:436px}}

/* A casca controla a duração pelo carregamento real dos dados. */
.glass-system-loader{display:none}
html.lf-carregando:not(.lf-sem-dados) body::after{display:none}
html.lf-carregando:not(.lf-sem-dados) body>.glass-system-loader{display:flex;opacity:1;visibility:visible;position:fixed;inset:88px 0 0;z-index:10;align-items:center;justify-content:center;flex-direction:column;background:var(--glass-ground);color:var(--glass-ink)}
.glass-system-loader>.eco-icon{animation:glass-float 3s ease-in-out infinite;width:90px;height:94px}.glass-system-loader p{margin-top:24px;font:500 15px/1.5 system-ui}.glass-system-loader .glass-loading-line{margin:10px auto}
html body .ap-cartao .eco-icon{width:42px;height:44px}
html body .diag-result.glass-surface{background:var(--glass-pane);color:var(--glass-ink)}

/* Menus longos continuam alcançáveis sem alargar a página no celular. */
html body .tabs{max-width:100%;overflow-x:auto}
html body .tabs :is(.tab-btn,.tab){flex-shrink:0;white-space:nowrap}
@media(max-width:700px){html body .grupo{min-width:0;max-width:100%;flex-wrap:wrap}html body .seg{max-width:100%;overflow-x:auto;min-width:0}html body .seg button{flex-shrink:0;white-space:nowrap}html body .tabs .wrap{min-width:0}}

html body #abas{min-width:0;max-width:100%;overflow-x:auto;gap:5px;margin-left:0}
html body #abas button{display:flex;align-items:center;gap:6px;flex-shrink:0;color:var(--glass-muted);white-space:nowrap;padding:8px 11px}
html body #abas button.on,html body #abas button:hover{color:var(--glass-ink);background:var(--glass-tint)}
html body #abas .eco-icon{width:27px;height:29px}
