/* Landing pública Gestão 360° — apresentação */
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100dvh;
    font-family: 'DM Sans', system-ui, sans-serif;
    background: #0b0e1a;
    color: #eef2ff;
    -webkit-font-smoothing: antialiased;
}
a:focus-visible, button:focus-visible {
    outline: 2px solid #7ab7ff;
    outline-offset: 3px;
}
.g360-top {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    background: rgba(11, 14, 26, 0.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.g360-top .brand {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #eef2ff;
    text-decoration: none;
    font-weight: 700;
    font-size: .95rem;
}
.g360-top .brand img { height: 32px; width: auto; }
.g360-top-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.g360-top-link {
    color: #c4d0ff;
    text-decoration: none;
    font-weight: 600;
    font-size: .85rem;
    padding: .45rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.12);
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease;
}
.g360-top-link:hover { background: rgba(255,255,255,0.06); color: #fff; }
.g360-top-cta {
    background: #1a2332;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: .85rem;
    padding: .45rem 1.15rem;
    border-radius: 999px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,0.08);
    transition: background 180ms ease;
}
.g360-top-cta:hover { background: #243044; color: #fff; }
.g360-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 16px 48px;
    width: 100%;
}
.g360-cta-btn {
    margin-top: 20px;
    background: linear-gradient(135deg, #1a2332, #2b6ef0);
    padding: 16px 40px;
    border-radius: 100px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 32px rgba(43,110,240,0.3);
    color: #fff;
    font-weight: 600;
    font-size: 1.2rem;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.g360-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(43,110,240,0.4); color: #fff; }
.g360-foot {
    width: 100%;
    max-width: 1024px;
    margin: 0 auto 24px;
    text-align: center;
    color: #8ba1d6;
    font-size: .85rem;
}
.g360-foot a { color: #7ab7ff; text-decoration: none; }
.g360-foot a:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .g360-cta-btn:hover { transform: none; }
}

        /* RESET */
        * { margin: 0; padding: 0; box-sizing: border-box; }

        .g360-page {
            font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
            background: #0b0e1a;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px 0;
        }

        .slide {
            width: 1024px;
            min-height: 640px;
            background: linear-gradient(145deg, #12172b 0%, #1a2140 100%);
            border-radius: 32px;
            box-shadow: 0 25px 50px -8px rgba(0,0,0,0.8), inset 0 1px 2px rgba(255,255,255,0.05);
            margin-bottom: 40px;
            padding: 48px 56px;
            position: relative;
            overflow: hidden;
            color: #eef2ff;
            transition: transform 0.2s;
            border: 1px solid rgba(255,255,255,0.06);
        }

        /* Efeito de brilho tecnológico */
        .slide::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -20%;
            width: 60%;
            height: 80%;
            background: radial-gradient(ellipse, rgba(0, 153, 255, 0.08) 0%, transparent 70%);
            pointer-events: none;
        }

        .slide::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background: linear-gradient(90deg, #00c6fb, #005bea, #a855f7);
            opacity: 0.6;
        }

        .slide-content {
            position: relative;
            z-index: 2;
            height: 100%;
            display: flex;
            flex-direction: column;
        }

        h1 {
            font-size: 3.4rem;
            font-weight: 700;
            background: linear-gradient(135deg, #ffffff 0%, #94b8ff 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            letter-spacing: -0.02em;
            margin-bottom: 0.2em;
        }

        h2 {
            font-size: 2.4rem;
            font-weight: 600;
            background: linear-gradient(135deg, #c4d0ff, #7aa9ff);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.5em;
        }

        h3 {
            font-size: 1.6rem;
            font-weight: 500;
            color: #b6c8ff;
            margin-bottom: 0.75em;
            letter-spacing: -0.01em;
        }

        .subtitle {
            font-size: 1.3rem;
            color: #9bb1e6;
            font-weight: 300;
            letter-spacing: 0.02em;
        }

        .badge {
            display: inline-block;
            background: rgba(0, 150, 255, 0.15);
            border: 1px solid rgba(0, 150, 255, 0.25);
            padding: 0.3rem 1rem;
            border-radius: 100px;
            font-size: 0.9rem;
            color: #7ab7ff;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .grid-2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px 40px;
            margin-top: 20px;
        }

        .grid-3 {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
            margin-top: 20px;
        }

        .grid-4 {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            margin-top: 20px;
        }

        .card {
            background: rgba(255, 255, 255, 0.04);
            backdrop-filter: blur(4px);
            border-radius: 20px;
            padding: 20px 24px;
            border: 1px solid rgba(255, 255, 255, 0.06);
            box-shadow: 0 8px 20px -12px rgba(0,0,0,0.4);
            transition: 0.2s;
        }

        .card:hover { background: rgba(255,255,255,0.07); }

        .icon {
            font-size: 2.2rem;
            margin-bottom: 8px;
            display: block;
        }

        .metric {
            font-size: 2.6rem;
            font-weight: 700;
            background: linear-gradient(135deg, #64b5f6, #42a5f5);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .metric-green {
            background: linear-gradient(135deg, #81c784, #66bb6a);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .metric-red {
            background: linear-gradient(135deg, #ef9a9a, #ef5350);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .list-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 10px;
            font-size: 1.05rem;
            color: #d6e2ff;
        }

        .list-item::before {
            content: '▹';
            color: #4a9eff;
            font-weight: bold;
            font-size: 1.2rem;
        }

        .timeline {
            display: flex;
            justify-content: space-between;
            margin: 30px 0;
            position: relative;
        }

        .timeline::after {
            content: '';
            position: absolute;
            top: 32px;
            left: 10%;
            width: 80%;
            height: 2px;
            background: linear-gradient(90deg, #2b6ef0, #a855f7);
            opacity: 0.3;
        }

        .step {
            text-align: center;
            width: 14%;
            position: relative;
        }

        .step-number {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: linear-gradient(135deg, #1a3a7a, #2b6ef0);
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 10px;
            font-weight: 700;
            font-size: 1.2rem;
            box-shadow: 0 0 0 4px rgba(43, 110, 240, 0.15);
            color: #fff;
        }

        .step-label {
            font-size: 0.8rem;
            color: #a0b8e6;
            line-height: 1.3;
        }

        .table-mini {
            width: 100%;
            border-collapse: collapse;
            margin-top: 12px;
        }
        .table-mini td {
            padding: 8px 0;
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }
        .table-mini tr:last-child td { border: none; }
        .table-mini .label { color: #a0b8e6; }
        .table-mini .value { text-align: right; font-weight: 500; }

        .pill {
            background: rgba(0, 200, 150, 0.15);
            color: #6dd5b0;
            padding: 2px 14px;
            border-radius: 100px;
            font-size: 0.85rem;
            border: 1px solid rgba(0,200,150,0.15);
        }

        .pill-warn {
            background: rgba(255, 170, 0, 0.12);
            color: #ffb74d;
            border-color: rgba(255,170,0,0.15);
        }

        .pill-danger {
            background: rgba(255, 50, 50, 0.12);
            color: #ff6b6b;
            border-color: rgba(255,50,50,0.15);
        }

        .flex-between { display: flex; justify-content: space-between; align-items: center; }
        .flex-grow { flex: 1; }
        .mt-2 { margin-top: 20px; }
        .mb-1 { margin-bottom: 12px; }
        .text-center { text-align: center; }
        .text-muted { color: #8ba1d6; }

        /* Página de capa especial */
        .slide-cover {
            background: linear-gradient(145deg, #0b1124, #162044);
            justify-content: center;
            align-items: center;
            text-align: center;
        }
        .slide-cover h1 {
            font-size: 4.2rem;
            margin-bottom: 0.3em;
        }
        .slide-cover .subtitle {
            font-size: 1.6rem;
            color: #8db2ff;
        }
        .cover-line {
            width: 120px;
            height: 3px;
            background: linear-gradient(90deg, #00c6fb, #005bea);
            margin: 24px auto;
            border-radius: 4px;
        }

        /* Responsivo para impressão */
        @media print {
            body { background: #0b0e1a; padding: 0; }
            .slide {
                width: 100%;
                min-height: 100vh;
                border-radius: 0;
                margin: 0;
                box-shadow: none;
                page-break-after: always;
                padding: 48px 56px;
            }
            .slide::before, .slide::after { display: none; }
        }

        @media (max-width: 1100px) {
            .slide { width: 100%; padding: 32px 24px; min-height: auto; }
            h1 { font-size: 2.6rem; }
            h2 { font-size: 2rem; }
            .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
            .timeline { flex-wrap: wrap; gap: 16px; }
            .step { width: 30%; }
            .timeline::after { display: none; }
        }
