/* Apresentação pública: estilos isolados das telas internas (tudo sob .ps-presentation).
   Mesma estrutura da apresentação do ActionStat, nas cores do EstatPharma. */
.ps-presentation { --ps-ink:#16251c; --ps-muted:#4f6157; --ps-accent:#24721c; --ps-accent-strong:#1b5a15; --ps-soft:#e8f6e9; --ps-line:#e3e9e4; --ps-dark:#10231a; background:#fff; color:var(--ps-ink); font-family:Inter,system-ui,sans-serif; font-size:16px; line-height:1.65; }
.ps-presentation *, .ps-presentation *::before, .ps-presentation *::after { box-sizing:border-box; }
.ps-presentation h1,.ps-presentation h2,.ps-presentation h3,.ps-presentation p { margin:0; }
.ps-presentation a { text-decoration:none; }
.ps-presentation a:focus-visible { outline:3px solid #3b82f6; outline-offset:4px; }
.ps-container { width:min(1180px,calc(100% - 48px)); margin:auto; }

.ps-header { background:#fff; border-bottom:1px solid var(--ps-line); }
.ps-nav { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:84px; }
.ps-brand { display:inline-flex; align-items:center; }
.ps-brand-logo { display:block; width:170px; max-width:100%; height:auto; }
.ps-nav nav { display:flex; gap:30px; }
.ps-nav nav a { color:var(--ps-muted); font-size:14px; font-weight:600; }
.ps-nav nav a:hover,.ps-text-link:hover { color:var(--ps-accent); text-decoration:underline; }

.ps-presentation .ps-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 22px; border-radius:8px; background:var(--ps-accent); border:1px solid var(--ps-accent); color:#fff; font-size:14px; font-weight:650; }
.ps-presentation .ps-btn:hover { background:var(--ps-accent-strong); }
.ps-presentation .ps-btn-outline { background:transparent; border-color:#7d9486; }
.ps-presentation .ps-btn-outline:hover { background:#ffffff14; }

.ps-hero { background:var(--ps-dark); color:#fff; overflow:hidden; }
.ps-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding-block:72px; }
.ps-eyebrow { color:var(--ps-accent); font-size:11px; letter-spacing:2px; font-weight:750; margin-bottom:18px !important; }
.ps-hero .ps-eyebrow { color:#8fe39a; }
.ps-hero h1 { font-size:clamp(36px,4.2vw,56px); line-height:1.1; letter-spacing:-1.8px; max-width:580px; font-weight:750; }
.ps-lead { margin-top:24px !important; color:#d3e0d7; font-size:18px; line-height:1.7; max-width:520px; }
.ps-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.ps-hero-note { margin-top:20px !important; font-size:12px; color:#a9bdb0; }
.ps-hero-visual { position:relative; padding-bottom:20px; }
.ps-hero-visual > img { display:block; width:100%; height:420px; object-fit:cover; border-radius:16px; }
.ps-image-caption { position:absolute; bottom:0; left:24px; right:24px; display:flex; align-items:center; gap:16px; padding:18px 22px; border-radius:10px; background:#fff; color:var(--ps-ink); box-shadow:0 10px 25px #0002; }
.ps-caption-mark { display:grid; place-items:center; flex:none; background:var(--ps-soft); color:var(--ps-accent); width:42px; height:42px; border-radius:10px; font-size:25px; }
.ps-image-caption strong,.ps-image-caption div > span { display:block; }
.ps-image-caption strong { font-size:15px; }
.ps-image-caption div > span { font-size:12px; color:var(--ps-muted); }

.ps-strip { background:#f6f8f6; border-bottom:1px solid var(--ps-line); }
.ps-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding-block:28px; }
.ps-strip-grid p { font-size:12px; color:var(--ps-muted); }
.ps-strip-grid strong { display:block; color:var(--ps-ink); font-size:18px; }

.ps-section { padding-block:80px; scroll-margin-top:24px; }
.ps-section-heading { max-width:650px; margin-bottom:38px; }
.ps-section-heading h2,.ps-about-grid h2,.ps-final h2 { font-size:clamp(27px,3vw,38px); line-height:1.2; letter-spacing:-1px; font-weight:750; }
.ps-section-heading > p:last-child { margin-top:16px; color:var(--ps-muted); }

.ps-tools-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ps-tool { position:relative; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--ps-line); border-radius:18px; padding:28px; background:#fff; transition:transform .25s, box-shadow .25s, border-color .25s; }
.ps-tool::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,var(--ps-accent),#16b81e); transform:scaleX(0); transform-origin:left; transition:transform .35s; }
.ps-tool:hover { transform:translateY(-4px); border-color:#cfe8d1; box-shadow:0 20px 44px #16251c14; }
.ps-tool:hover::before { transform:scaleX(1); }
.ps-tool-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:22px; }
.ps-tool-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:15px; background:linear-gradient(135deg,#e2f4e3,#f3fbf3); color:var(--ps-accent); font-size:24px; transition:background .25s, color .25s; }
.ps-tool:hover .ps-tool-icon { background:linear-gradient(135deg,#2d8a23,var(--ps-accent)); color:#fff; }
.ps-tool-number { color:#c3cec6; font-size:14px; font-weight:750; letter-spacing:1px; }
.ps-tool h3 { font-size:19px; line-height:1.3; font-weight:700; }
.ps-tool p { color:var(--ps-muted); margin-top:12px; font-size:14px; flex:1; }
.ps-tool-topics { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:20px 0 0; padding:18px 0 0; border-top:1px solid #edf1ee; }
.ps-tool-topics li { padding:3px 10px; border-radius:999px; background:#f3f6f4; color:#46584c; font-size:12px; font-weight:600; }

.ps-workflow { background:#f6f8f6; }
.ps-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; list-style:none; padding:0; margin:0; }
.ps-steps li { position:relative; padding:28px; border-radius:18px; background:#fff; border:1px solid var(--ps-line); box-shadow:0 4px 14px #16251c0a; }
.ps-steps li:not(:last-child)::after { content:"→"; position:absolute; top:50%; right:-19px; z-index:1; width:16px; color:#b9c6bd; font-size:18px; text-align:center; transform:translateY(-50%); }
.ps-step-head { display:flex; align-items:center; justify-content:space-between; }
.ps-step-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--ps-dark); color:#fff; font-size:21px; }
.ps-step-number { font-size:34px; font-weight:800; line-height:1; background:linear-gradient(135deg,var(--ps-accent),#16b81e); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ps-steps h3 { margin-top:22px; font-size:18px; line-height:1.3; font-weight:700; }
.ps-steps p { margin-top:10px; font-size:14px; color:var(--ps-muted); }

.ps-levels-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ps-level { border:1px solid var(--ps-line); border-top:4px solid var(--ps-accent); border-radius:14px; padding:26px; background:#fff; }
.ps-level h3 { font-size:20px; font-weight:750; }
.ps-level p { margin-top:8px; color:var(--ps-muted); font-size:14px; }
.ps-level ul { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:18px 0 0; padding:16px 0 0; border-top:1px solid #edf1ee; }
.ps-level li { padding:3px 10px; border-radius:999px; background:var(--ps-soft); color:var(--ps-accent-strong); font-size:12px; font-weight:600; }

.ps-about { background:#f6f8f6; }
.ps-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.ps-about-grid > img { display:block; width:100%; height:330px; object-fit:cover; border-radius:14px; }
.ps-about-grid p:not(.ps-eyebrow) { margin-top:20px; color:var(--ps-muted); font-size:15px; }
.ps-text-link { display:inline-block; margin-top:24px; color:var(--ps-accent); font-size:14px; font-weight:700; }
.ps-norms { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:8px; }
.ps-norms li { display:flex; gap:12px; align-items:baseline; padding:8px 12px; border-radius:8px; background:#fff; border:1px solid var(--ps-line); font-size:13px; color:var(--ps-muted); }
.ps-norms strong { flex:none; min-width:96px; color:var(--ps-accent-strong); font-size:13px; }

.ps-final { background:var(--ps-soft); padding-block:48px; }
.ps-final-grid { display:flex; justify-content:space-between; align-items:center; gap:28px; }
.ps-final p:not(.ps-eyebrow) { margin-top:14px; color:var(--ps-muted); }

.ps-footer { background:#f4f8f5; border-top:1px solid var(--ps-line); font-size:14px; line-height:1.6; }
.ps-footer-main { display:grid; grid-template-columns:1.65fr 1.3fr .8fr .95fr; gap:36px; padding-block:52px 40px; }
.ps-footer h3 { margin-bottom:16px; color:var(--ps-accent); font-size:11px; letter-spacing:2px; font-weight:750; text-transform:uppercase; }
.ps-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.ps-footer a { color:var(--ps-ink); }
.ps-footer-logos { --logo-h:42px; display:flex; align-items:center; gap:18px; }
.ps-footer-logos a { display:block; flex:none; }
.ps-footer-logos img { display:block; height:var(--logo-h); width:auto; }
.ps-footer-group { padding-left:18px; border-left:1px solid #c9d4cc; }
.ps-footer-brand p { margin-top:18px; color:var(--ps-muted); font-size:13px; }
.ps-footer-brand p > span { display:block; }
.ps-footer-brand p > span + span { margin-top:2px; color:var(--ps-ink); }
.ps-footer-tagline { white-space:nowrap; }
.ps-footer-icon { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:8px; background:#fff; border:1px solid var(--ps-line); color:var(--ps-accent); font-size:15px; }
.ps-footer-contact a { display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:center; }
.ps-footer-contact strong { display:block; color:var(--ps-muted); font-size:12px; font-weight:600; line-height:1.3; }
.ps-footer-contact strong + span { display:block; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ps-footer-social a { display:flex; gap:12px; align-items:center; font-size:13px; line-height:1.35; }
.ps-footer-social small { display:block; color:var(--ps-muted); font-size:12px; }
.ps-footer-main a:hover, .ps-footer-main a:hover span { color:var(--ps-accent-strong); }
.ps-footer-bar { border-top:1px solid var(--ps-line); }
.ps-footer-bar .ps-container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; padding-block:18px; color:var(--ps-muted); font-size:12px; }
.ps-footer-bar address { font-style:normal; }
.ps-footer-bar i { color:var(--ps-accent); margin-right:4px; }

/* Homologação (APP_ENV=HOM): faixa no topo e selo ao lado do logo */
.ps-env-strip { background:#fff3d1; border-bottom:1px solid #f0c75e; color:#5c3d00; font-size:13px; }
.ps-env-strip .ps-container { display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; padding-block:9px; }
.ps-env-strip strong { display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:750; letter-spacing:1.2px; text-transform:uppercase; }
.ps-env-strip i { color:#b7791f; font-size:14px; }
.ps-brand-wrap { display:inline-flex; align-items:center; gap:12px; }
.ps-env-badge { background:#f5b301; color:#3b2a00; font-size:10px; font-weight:800; letter-spacing:1.2px; padding:4px 8px; border-radius:6px; }
/* Produção: link para a homologação e aviso antes de sair */
.ps-env-link { display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:9px 14px; border-radius:8px; border:1px dashed #5d7a67; background:#ffffff08; color:#d3e0d7; font-size:13px; font-weight:600; }
.ps-env-link:hover { background:#ffffff14; border-color:#8fe39a; }
.ps-env-link i { color:#f5c451; }
.ps-env-link span { color:#8fe39a; }
.ps-env-dialog { width:min(440px, calc(100% - 32px)); padding:24px; border:0; border-radius:12px; color:var(--ps-ink); font-family:Inter,system-ui,sans-serif; box-shadow:0 20px 50px #0006; }
.ps-env-dialog::backdrop { background:#0a1610a6; }
.ps-env-dialog-head { display:flex; gap:14px; align-items:flex-start; }
.ps-env-dialog-icon { flex:none; width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:#fff3d1; border:1px solid #f0c75e; color:#b7791f; font-size:18px; }
.ps-env-dialog h2 { margin:0; font-size:18px; font-weight:750; letter-spacing:-.3px; }
.ps-env-dialog p { margin:8px 0 0; color:var(--ps-muted); font-size:14px; line-height:1.6; }
.ps-env-dialog ul { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:8px; font-size:13px; }
.ps-env-dialog li { display:flex; gap:10px; align-items:baseline; }
.ps-env-dialog li i { color:#b7791f; }
.ps-env-dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:22px; }
.ps-env-dialog .ps-btn { min-height:42px; padding:10px 18px; gap:8px; cursor:pointer; }
.ps-env-dialog .ps-btn-ghost { background:#fff; border-color:#c9d4cc; color:var(--ps-ink); }
.ps-env-dialog .ps-btn-ghost:hover { background:var(--ps-soft); }

@media(prefers-reduced-motion:reduce) { .ps-tool,.ps-tool::before,.ps-tool-icon { transition:none; } }
@media(max-width:1000px) { .ps-steps { grid-template-columns:repeat(2,1fr); } .ps-steps li::after { display:none; } .ps-footer-main { grid-template-columns:1fr 1fr; gap:36px 32px; } }
@media(max-width:900px) { .ps-nav nav { gap:18px; } .ps-hero-grid { gap:30px; } .ps-tools-grid { grid-template-columns:repeat(2,1fr); } .ps-levels-grid { grid-template-columns:1fr; } .ps-about-grid { gap:30px; } .ps-hero-visual > img { height:360px; } }
@media(max-width:640px) { .ps-container { width:calc(100% - 32px); } .ps-nav { min-height:72px; gap:12px; } .ps-brand-logo { width:135px; } .ps-nav nav { display:none; } .ps-hero-grid { grid-template-columns:1fr; padding-block:44px; gap:36px; } .ps-hero h1 { letter-spacing:-1px; } .ps-hero-visual > img { height:280px; } .ps-image-caption { left:14px; right:14px; } .ps-strip-grid { grid-template-columns:1fr 1fr; gap:20px; } .ps-tools-grid,.ps-steps,.ps-about-grid { grid-template-columns:1fr; } .ps-section { padding-block:48px; } .ps-section-heading { margin-bottom:28px; } .ps-tool,.ps-level { padding:24px; } .ps-about-grid > img { height:250px; } .ps-final-grid,.ps-footer-bar .ps-container { flex-direction:column; align-items:flex-start; } .ps-footer-main { grid-template-columns:1fr; gap:30px; padding-block:40px 32px; } .ps-footer-logos { --logo-h:34px; gap:14px; } .ps-footer-group { padding-left:14px; } .ps-footer-tagline { white-space:normal; } .ps-env-badge { display:none; } .ps-actions { flex-direction:column; align-items:stretch; } }
