@font-face { font-family:"Montserrat"; font-weight:500; font-style:normal; font-display:swap; src:url("fontes/montserrat-medium.woff") format("woff"); }
@font-face { font-family:"Montserrat"; font-weight:700; font-style:normal; font-display:swap; src:url("fontes/montserrat-bold.woff") format("woff"); }
@font-face { font-family:"Montserrat"; font-weight:800; font-style:normal; font-display:swap; src:url("fontes/montserrat-extrabold.woff") format("woff"); }

/* Marca Seldon: azul meia-noite #00132C (texto, bases), ciano #00B4D8 (so preenchimento de botao, com texto marinho).
   Ciano sobre branco NAO tem contraste para texto: links usam #00607A. Tema claro unico, sem tema escuro automatico. */
:root { color-scheme:light; --bg:#f6f9fb; --card:#fff; --ink:#00132c; --mut:#4a5a6e; --line:#d3dde6; --cyan:#00b4d8; --cyan-d:#0098b6; --link:#00607a; --tint:#e6f6fa; --tint2:#f0f6fa;
  --ok:#1e7f4b; --okbg:#e7f5ec; --warn:#b26a00; --warnbg:#fff3d6; --bad:#c0261a; --badbg:#fdeaea; --shadow:0 10px 30px rgba(0,19,44,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; -webkit-text-size-adjust:100%; }
img { max-width:100%; height:auto; }
a { color:var(--link); }
a:hover { color:var(--ink); }
a:focus-visible, .btn:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, button:focus-visible { outline:3px solid var(--cyan); outline-offset:2px; }
.wrap { max-width:1080px; margin:0 auto; padding:0 20px; }
.skip { position:absolute; left:-999px; top:0; background:#fff; padding:8px 12px; z-index:20; }
.skip:focus { left:8px; top:8px; }
.mont, h1, h2, h3, .btn, .chip, .marca__nome { font-family:"Montserrat",system-ui,sans-serif; }

/* cabecalho */
header.top { background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; backdrop-filter:saturate(1.2) blur(6px); }
header.top .wrap { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:66px; flex-wrap:wrap; padding-top:6px; padding-bottom:6px; }
.marca { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.marca img { width:40px; height:auto; display:block; }
.marca__nome { display:flex; flex-direction:column; line-height:1; }
.marca__seldon { font-weight:800; font-size:20px; letter-spacing:.02em; }
.marca__produto { font-weight:500; font-size:11px; letter-spacing:.32em; margin-top:4px; }
nav.menu { display:flex; align-items:center; flex-wrap:wrap; gap:4px 18px; }
nav.menu a { text-decoration:none; color:var(--ink); font-size:.93rem; padding:6px 0; border-bottom:2px solid transparent; }
nav.menu a:hover, nav.menu a[aria-current="page"] { border-bottom-color:var(--cyan); color:var(--ink); }
nav.menu a.btn { padding:9px 16px; border:1px solid var(--cyan); border-bottom-width:1px; }

/* tipografia e botoes */
h1 { font-weight:800; font-size:2.5rem; line-height:1.1; margin:0 0 16px; letter-spacing:-.6px; }
h2 { font-weight:800; font-size:1.7rem; line-height:1.2; margin:0 0 14px; letter-spacing:-.3px; }
h3 { font-weight:700; font-size:1.1rem; line-height:1.3; margin:0 0 6px; }
.lead { font-size:1.2rem; color:var(--mut); max-width:700px; margin:0 0 22px; }
.mut { color:var(--mut); }
.small { font-size:.9rem; }
.btn { display:inline-block; background:var(--cyan); color:var(--ink) !important; padding:13px 22px; border-radius:10px; text-decoration:none; font-weight:700; margin:0 10px 10px 0; border:1px solid var(--cyan); font-size:.95rem; cursor:pointer; }
.btn:hover { background:var(--cyan-d); border-color:var(--cyan-d); }
.btn.sec { background:#fff; border:1px solid var(--ink); }
.btn.sec:hover { background:var(--tint); }
.btn.sm { padding:8px 14px; font-size:.85rem; }

/* secoes */
section.blk { padding:46px 0; }
section.alt { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
section.tint { background:var(--tint2); }
.eyebrow { font-family:"Montserrat",sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--link); margin:0 0 8px; }
.hero { padding:52px 0 40px; background:linear-gradient(180deg,#eef8fb 0%,var(--bg) 100%); }
.hero .wrap { display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; }
.grid2 { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media (max-width:860px) { .hero .wrap, .grid2, .grid3 { grid-template-columns:1fr; } .grid4 { grid-template-columns:repeat(2,1fr); } h1 { font-size:1.95rem; } h2 { font-size:1.45rem; } }
@media (max-width:480px) { .grid4 { grid-template-columns:1fr; } }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px; }
.card.pop { box-shadow:var(--shadow); border-color:#c4d7e2; }
.step { background:var(--tint); border-radius:14px; padding:18px; border-left:4px solid var(--cyan); }
.step b { font-family:"Montserrat",sans-serif; font-size:1.6rem; display:block; }
.stat { text-align:left; }
.stat b { font-family:"Montserrat",sans-serif; font-size:1.55rem; display:block; line-height:1.1; }
.stat span { color:var(--mut); font-size:.88rem; }
.callout { background:var(--tint); border-left:4px solid var(--cyan); border-radius:10px; padding:14px 16px; margin:18px 0; }
.callout.warn { background:var(--warnbg); border-left-color:var(--warn); }
.note { background:var(--warnbg); border:1px solid #f0d9a0; color:#7a4f00; border-radius:10px; padding:12px 14px; font-size:.95rem; }
.lacuna { background:var(--warnbg); border:1px dashed var(--warn); color:#7a4f00; padding:2px 8px; border-radius:6px; font-size:.92em; }
.chip { display:inline-block; font-weight:700; font-size:.72rem; letter-spacing:.04em; padding:3px 10px; border-radius:999px; border:1px solid transparent; vertical-align:middle; }
.chip.dev { background:var(--tint); color:#00607a; border-color:#9fd6e4; }
.chip.plan { background:#eef1f4; color:#4a5a6e; border-color:#cfd7df; }
.chip.dem { background:#fff; color:#00132c; border-color:#00132c; }
.chip.ok { background:var(--okbg); color:var(--ok); border-color:#a9d9bb; }
ul.check { list-style:none; padding:0; margin:0 0 12px; }
ul.check li { padding-left:26px; position:relative; margin-bottom:8px; }
ul.check li::before { content:""; position:absolute; left:0; top:.45em; width:14px; height:14px; border-radius:50%; background:var(--cyan); box-shadow:inset 0 0 0 4px var(--tint); }
ul.x li::before { background:#c9d2db; }
table { border-collapse:collapse; width:100%; font-size:.95rem; background:#fff; }
th, td { border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; }
th { background:var(--tint); font-family:"Montserrat",sans-serif; font-weight:700; font-size:.88rem; }
.tablewrap { overflow-x:auto; }
details { background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 18px; margin-bottom:10px; }
details summary { cursor:pointer; font-weight:700; font-family:"Montserrat",sans-serif; font-size:.98rem; }
details[open] summary { margin-bottom:8px; }
.crumbs { font-size:.85rem; color:var(--mut); }
.crumbs.wrap { padding:14px 20px 0; }
.crumbs a { color:var(--mut); }

/* artigos */
article.post { max-width:760px; margin:0 auto; padding:30px 20px 60px; }
article.post h1 { font-size:2.1rem; }
article.post h2 { margin-top:34px; }
article.post p, article.post li { font-size:1.06rem; }
.byline { color:var(--mut); font-size:.92rem; margin-bottom:22px; }

/* calculadoras */
.calc { background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:var(--shadow); }
.calc .g { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
@media (max-width:640px) { .calc .g, .res { grid-template-columns:1fr !important; } }
.calc label { display:block; font-weight:700; font-size:.94rem; margin-bottom:4px; font-family:"Montserrat",sans-serif; }
.calc .hint { display:block; font-weight:400; color:var(--mut); font-size:.84rem; margin-top:2px; font-family:system-ui,sans-serif; }
.calc input[type=number], .calc select { width:100%; padding:11px 12px; font-size:1rem; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); }
.res { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.box { border:1px solid #bfe3ee; border-radius:12px; padding:14px; background:var(--tint); }
.box h3 { margin:0 0 4px; font-size:.95rem; }
.box .big { font-family:"Montserrat",sans-serif; font-size:1.8rem; font-weight:800; line-height:1.1; }

/* maquetes de tela (ilustracao com dados ficticios) */
.fig { margin:0; }
.fig figcaption { font-size:.82rem; color:var(--mut); margin-top:10px; text-align:center; }
.tablet { background:#00132c; border-radius:26px; padding:14px; box-shadow:var(--shadow); max-width:560px; margin:0 auto; }
/* prints reais do app: moldura de tablet, janela de navegador ou celular */
.shot img { display:block; width:100%; height:auto; }
.tablet.real { max-width:680px; padding:11px; border-radius:22px; }
.tablet.real .tela { border-radius:12px; background:#fff; }
.janela { background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); overflow:hidden; max-width:900px; margin:0 auto; }
.janela::before { content:""; display:block; height:24px; border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 16px 12px,#cfd7df 4px,transparent 5px), radial-gradient(circle at 31px 12px,#cfd7df 4px,transparent 5px), radial-gradient(circle at 46px 12px,#cfd7df 4px,transparent 5px), #f1f4f7; }
.celular { background:#00132c; border-radius:30px; padding:9px; max-width:250px; margin:0 auto; box-shadow:var(--shadow); }
.celular img { border-radius:22px; }
.shot figcaption .real { display:block; font-size:.76rem; opacity:.85; margin-top:2px; }
.galeria { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:30px 26px; margin-top:20px; align-items:start; }
.shot a { display:block; cursor:zoom-in; }
.chip { white-space:nowrap; }
.galeria .wide { grid-column:1 / -1; }
.tela { background:#f6f9fb; border-radius:14px; overflow:hidden; color:var(--ink); font-size:13.5px; line-height:1.35; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
.tela .top { background:#00132c; color:#fff; padding:9px 14px; display:flex; justify-content:space-between; align-items:center; font-weight:700; font-family:"Montserrat",sans-serif; font-size:12.5px; }
.tela .top span { font-weight:500; opacity:.85; }
.tela .sync { background:var(--okbg); color:var(--ok); padding:5px 14px; font-size:12px; font-weight:700; display:flex; justify-content:space-between; }
.tela .sync.off { background:var(--warnbg); color:#7a4f00; }
.tela .corpo { padding:14px; }
.tela h4 { margin:0 0 8px; font-family:"Montserrat",sans-serif; font-size:14px; }
.tela .tempo { font-family:"Montserrat",sans-serif; font-weight:800; font-size:34px; line-height:1; color:var(--bad); }
.tela .rot { color:var(--mut); font-size:12px; }
.tela .motivos { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:10px 0; }
.tela .m { background:#fff; border:2px solid var(--line); border-radius:10px; padding:11px 6px; text-align:center; font-weight:700; font-size:12.5px; }
.tela .m.sel { border-color:var(--ink); background:var(--tint); }
.tela .acao { background:var(--cyan); color:var(--ink); text-align:center; font-weight:800; font-family:"Montserrat",sans-serif; padding:13px; border-radius:10px; margin-top:8px; }
.tela .acao.sec { background:#fff; border:2px solid var(--ink); }
.tela .toast { background:#00132c; color:#fff; border-radius:8px; padding:8px 12px; display:flex; justify-content:space-between; font-size:12px; margin-top:10px; }
.tela .toast b { color:var(--cyan); }
.tela .kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:10px; }
.tela .kpi { background:#fff; border:1px solid var(--line); border-radius:10px; padding:8px 10px; }
.tela .kpi b { display:block; font-family:"Montserrat",sans-serif; font-size:19px; }
.tela .kpi span { font-size:11px; color:var(--mut); }
.tela .bar { display:grid; grid-template-columns:96px 1fr 42px; gap:8px; align-items:center; margin:5px 0; font-size:12px; }
.tela .bar i { display:block; height:14px; border-radius:4px; background:var(--cyan); }
.tela .bar i.d { background:#00132c; }
.tela .bar i.g { background:#9fb3c4; }
.tela .linha { display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid var(--line); border-left:5px solid var(--ok); border-radius:8px; padding:8px 10px; margin:6px 0; }
.tela .linha.falta { border-left-color:var(--bad); background:var(--badbg); }
.tela .linha.pend { border-left-color:var(--warn); background:var(--warnbg); }
.tela .linha b { font-family:"Montserrat",sans-serif; font-size:12.5px; }
.tela .scan { background:#fff; border:2px dashed var(--ink); border-radius:10px; padding:10px; text-align:center; font-weight:700; margin-bottom:8px; }
.tela .resumo { background:var(--tint); border-radius:10px; padding:9px 12px; font-weight:700; margin-top:8px; }
.etiqueta { background:#fff; border:2px solid #00132c; border-radius:6px; max-width:300px; margin:0 auto; padding:12px 14px; font-family:"Courier New",monospace; font-size:13px; line-height:1.4; box-shadow:var(--shadow); }
.etiqueta .cod { height:34px; margin-top:8px; background:repeating-linear-gradient(90deg,#00132c 0 2px,#fff 2px 4px,#00132c 4px 5px,#fff 5px 8px); }
.etiqueta strong { font-size:19px; display:block; }

/* rodape */
footer.rod { background:#fff; border-top:1px solid var(--line); padding:38px 0 26px; color:var(--mut); font-size:.92rem; margin-top:0; }
footer.rod .cols { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:24px; }
@media (max-width:760px) { footer.rod .cols { grid-template-columns:1fr 1fr; } }
footer.rod h4 { font-family:"Montserrat",sans-serif; font-size:.85rem; color:var(--ink); margin:0 0 8px; }
footer.rod a { color:var(--mut); text-decoration:none; display:block; padding:2px 0; }
footer.rod a:hover { color:var(--ink); text-decoration:underline; }
footer.rod .legal { border-top:1px solid var(--line); margin-top:22px; padding-top:14px; font-size:.84rem; }
.hidden { display:none !important; }
.sr { position:absolute; left:-9999px; }
@media print { header.top, footer.rod, .btn { display:none !important; } }
