:root {
    --preto: #111827;
    --preto-claro: #1f2937;
    --dourado: #2563eb;
    --dourado-claro: #60a5fa;
    --branco: #ffffff;
    --cinza: #f8fafc;
    --cinza-texto: #4b5563;
    --borda: #e5e7eb;
    --verde: #16a34a;
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', 'Segoe UI', Arial, Helvetica, sans-serif;
    color: var(--preto);
    background: #ffffff;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

ul {
    padding-left: 20px;
}

.container {
    width: min(1180px, 92%);
    margin: 0 auto;
}

/* Barra superior */

.topbar {
    background: #0f172a;
    color: #dbeafe;
    font-size: 14px;
    padding: 9px 0;
}

.topbar-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

/* Cabeçalho */

.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--borda);
    backdrop-filter: blur(10px);
}

.nav {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.logo {
    font-size: 23px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.logo span {
    color: var(--dourado);
}

.menu {
    display: flex;
    align-items: center;
    gap: 25px;
    font-size: 15px;
    font-weight: 600;
}

.menu a {
    transition: color 0.2s ease;
}

.menu a:hover {
    color: var(--dourado);
}

/* Botões */

.btn {
    display: inline-flex;
    min-height: 48px;
    padding: 12px 22px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 7px;
    cursor: pointer;
    font-weight: 700;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn-primary {
    background: var(--dourado);
    color: var(--branco);
}

.btn-primary:hover {
    background: #1d4ed8;
}

.btn-dark {
    background: #111827;
    color: var(--branco);
}

.btn-dark:hover {
    background: #263244;
}

.btn-outline {
    color: var(--branco);
    border-color: rgba(255, 255, 255, 0.55);
}

.btn-outline:hover {
    background: var(--branco);
    color: var(--preto);
}

/* Hero */

.hero {
    min-height: 620px;
    display: flex;
    align-items: center;
    color: var(--branco);
    background:
        linear-gradient(
            90deg,
            rgba(15, 23, 42, 0.98) 0%,
            rgba(15, 23, 42, 0.91) 54%,
            rgba(30, 64, 175, 0.72) 100%
        ),
        radial-gradient(
            circle at 85% 35%,
            #2563eb 0%,
            #1e3a5f 42%,
            #0f172a 100%
        );
}

.hero-content {
    max-width: 760px;
    padding: 90px 0;
}

.eyebrow {
    margin-bottom: 16px;
    color: var(--dourado-claro);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.hero h1 {
    margin-bottom: 22px;
    font-size: clamp(42px, 6vw, 72px);
    line-height: 1.04;
    letter-spacing: -2.6px;
}

.hero h1 span {
    color: var(--dourado-claro);
}

.hero p {
    max-width: 690px;
    margin-bottom: 32px;
    color: #e5edf8;
    font-size: 20px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.hero-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 48px;
}

.hero-number strong {
    display: block;
    color: var(--dourado-claro);
    font-size: 25px;
}

.hero-number span {
    color: #cbd5e1;
    font-size: 14px;
}

/* Seções */

.section {
    padding: 88px 0;
}

.section-light {
    background: var(--cinza);
}

.section-dark {
    background: #111827;
    color: var(--branco);
}

.section-heading {
    max-width: 760px;
    margin-bottom: 42px;
}

.section-heading.center {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.section-heading h2 {
    margin-bottom: 15px;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.12;
    letter-spacing: -1.5px;
}

.section-heading p {
    color: var(--cinza-texto);
    font-size: 18px;
}

.section-dark .section-heading p {
    color: #cbd5e1;
}

/* Grades */

.grid {
    display: grid;
    gap: 24px;
}

.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

/* Cards */

.card {
    padding: 28px;
    background: var(--branco);
    border: 1px solid var(--borda);
    border-radius: 14px;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.card:hover {
    transform: translateY(-5px);
    border-color: #bfdbfe;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.11);
}

.card-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
    border-radius: 10px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 22px;
}

.card h3 {
    margin-bottom: 11px;
    font-size: 21px;
    line-height: 1.25;
}

.card p {
    color: var(--cinza-texto);
    font-size: 15px;
}

.card ul {
    margin-top: 18px;
    color: var(--cinza-texto);
}

.card li {
    margin-bottom: 8px;
}

/* Cards de públicos */

.audience-card {
    position: relative;
    min-height: 330px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}

.audience-card::before {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.94),
        rgba(0, 0, 0, 0.1)
    );
}

.audience-card.client {
    background: linear-gradient(135deg, #334155, #0f172a);
}

.audience-card.company {
    background: linear-gradient(135deg, #2563eb, #172554);
}

.audience-card.montador {
    background: linear-gradient(135deg, #0f766e, #134e4a);
}

.audience-card.course {
    background: linear-gradient(135deg, #475569, #1e293b);
}

.audience-content {
    position: relative;
    z-index: 1;
    color: var(--branco);
}

.audience-content h3 {
    margin-bottom: 10px;
    font-size: 27px;
}

.audience-content p {
    margin-bottom: 18px;
    color: #e2e8f0;
}

/* Destaques */

.highlight {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 50px;
    align-items: center;
}

.highlight-box {
    min-height: 460px;
    padding: 42px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--branco);
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            rgba(37, 99, 235, 0.94),
            rgba(15, 23, 42, 0.98)
        ),
        #1e3a8a;
}

.highlight-box small {
    margin-bottom: 10px;
    color: #bfdbfe;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.highlight-box h3 {
    margin-bottom: 14px;
    font-size: 36px;
    line-height: 1.12;
}

.highlight-list {
    display: grid;
    gap: 15px;
    margin: 28px 0;
}

.highlight-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.highlight-item p {
    color: var(--cinza-texto);
}

.check {
    width: 28px;
    min-width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 900;
}

/* Planos */

.plans {
    align-items: stretch;
}

.plan {
    display: flex;
    flex-direction: column;
}

.plan.featured {
    position: relative;
    border: 2px solid var(--dourado);
}

.plan-badge {
    position: absolute;
    top: -14px;
    right: 18px;
    padding: 7px 13px;
    color: var(--branco);
    background: var(--dourado);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.plan-name {
    color: #1d4ed8;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.plan h3 {
    margin: 8px 0 12px;
    font-size: 28px;
}

.plan p {
    min-height: 52px;
}

.plan .btn {
    margin-top: auto;
}

/* Passos */

.steps {
    counter-reset: step;
}

.step {
    position: relative;
    padding-left: 76px;
}

.step::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    counter-increment: step;
    content: counter(step);
    color: var(--branco);
    background: var(--dourado);
    border-radius: 50%;
    font-size: 20px;
    font-weight: 900;
}

.step h3 {
    margin-bottom: 7px;
    font-size: 20px;
}

.step p {
    color: var(--cinza-texto);
}

/* Chamada final */

.cta {
    padding: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    color: var(--branco);
    border-radius: 20px;
    background: linear-gradient(120deg, #0f172a, #1d4ed8);
}

.cta h2 {
    max-width: 700px;
    font-size: clamp(30px, 4vw, 47px);
    line-height: 1.1;
}

.cta p {
    max-width: 680px;
    margin-top: 12px;
    color: #dbeafe;
}

/* Rodapé */

.footer {
    padding: 60px 0 25px;
    background: #0b1120;
    color: #cbd5e1;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 40px;
}

.footer h3,
.footer h4 {
    margin-bottom: 16px;
    color: var(--branco);
}

.footer a {
    display: block;
    margin-bottom: 9px;
}

.footer a:hover {
    color: var(--dourado-claro);
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-top: 45px;
    padding-top: 22px;
    border-top: 1px solid #273449;
    font-size: 14px;
}

/* WhatsApp */

.whatsapp {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 999;
    min-width: 58px;
    height: 58px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--branco);
    background: var(--verde);
    border-radius: 999px;
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25);
}

/* Responsividade */

@media (max-width: 1000px) {
    .menu {
        display: none;
    }

    .grid-4,
    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    .highlight,
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 700px) {
    .topbar-content,
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .nav {
        min-height: 68px;
    }

    .nav > .btn {
        display: none;
    }

    .hero {
        min-height: auto;
    }

    .hero-content {
        padding: 72px 0;
    }

    .hero h1 {
        font-size: 44px;
        letter-spacing: -1.7px;
    }

    .hero p {
        font-size: 17px;
    }

    .section {
        padding: 68px 0;
    }

    .grid-4,
    .grid-3,
    .grid-2,
    .highlight,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .cta {
        padding: 34px 25px;
    }

    .whatsapp {
        width: 58px;
        padding: 0;
    }

    .whatsapp span {
        display: none;
    }
}

/* Acabamentos visuais e acessibilidade */
::selection {
    color: #ffffff;
    background: #2563eb;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.35);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Módulo 1 — formulários e painel */
.narrow-container{width:min(760px,92%)}
.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px;align-items:start}
.form-side{position:sticky;top:120px}.form-side h1,.form-card h1{font-size:clamp(32px,4vw,48px);line-height:1.08;margin-bottom:16px}.form-side>p,.form-intro{color:var(--cinza-texto);font-size:17px;margin-bottom:24px}
.form-card{background:#fff;border:1px solid var(--borda);border-radius:18px;padding:34px;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field span,.check-field span{font-weight:700;font-size:14px}.field small,.help-text{color:var(--cinza-texto);font-size:13px}.field h2{font-size:21px;padding-top:8px;border-bottom:1px solid var(--borda);padding-bottom:10px}
.field input,.field select,.field textarea,.filter-bar input,.filter-bar select{width:100%;border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:13px 14px;font:inherit;color:var(--preto);outline:none;transition:border .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus{border-color:var(--dourado);box-shadow:0 0 0 4px rgba(37,99,235,.11)}.field textarea{resize:vertical}.span-2{grid-column:span 2}.check-field{display:flex;gap:10px;align-items:flex-start}.check-field input{margin-top:5px}.btn-wide{width:100%}
.info-panel{margin-top:20px;padding:18px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px}.info-panel strong,.info-panel span{display:block}.info-panel span{color:#475569;font-size:14px;margin-top:4px}
.alert{padding:15px 17px;border-radius:10px;margin-bottom:22px;font-weight:650}.alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
.success-card{text-align:center}.success-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;background:#dcfce7;color:#15803d;font-size:34px;font-weight:900}.protocol-box{margin:26px auto;padding:20px;background:#f8fafc;border:1px dashed #94a3b8;border-radius:12px;max-width:450px}.protocol-box span,.protocol-box strong{display:block}.protocol-box span{font-size:13px;color:var(--cinza-texto);text-transform:uppercase;letter-spacing:1px}.protocol-box strong{font-size:25px;margin-top:5px}.center-actions{justify-content:center}
.lookup-form{margin-top:22px}.request-result{margin-top:32px;padding-top:28px;border-top:1px solid var(--borda)}.request-result-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.request-result-head span,.detail-grid span{display:block;color:var(--cinza-texto);font-size:13px}.request-result-head strong{font-size:20px}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-grid>div{padding:14px;background:#f8fafc;border-radius:10px}.detail-grid strong{display:block;margin-top:3px}.preserve-text{white-space:pre-wrap;color:#334155;margin-top:4px}
.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;white-space:nowrap;background:#e2e8f0;color:#334155}.status-novo{background:#dbeafe;color:#1d4ed8}.status-em_analise,.status-aguardando_informacoes{background:#fef3c7;color:#92400e}.status-orcamento_enviado,.status-orcamento_aprovado{background:#ede9fe;color:#6d28d9}.status-montador_selecionado,.status-agendado,.status-em_execucao{background:#cffafe;color:#155e75}.status-finalizado{background:#dcfce7;color:#166534}.status-cancelado{background:#fee2e2;color:#991b1b}
.login-container{width:min(520px,92%)}
.admin-body{background:#f1f5f9}.admin-top{height:70px;background:#fff;border-bottom:1px solid var(--borda);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.admin-user{display:flex;align-items:center;gap:18px}.admin-user a{font-weight:800;color:#dc2626}.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 70px)}.admin-sidebar{background:#0f172a;padding:24px 16px;display:flex;flex-direction:column;gap:7px}.admin-sidebar a{color:#cbd5e1;padding:12px 14px;border-radius:8px;font-weight:700}.admin-sidebar a:hover{background:#1e293b;color:#fff}.admin-main{padding:34px;min-width:0}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.admin-heading h1{font-size:36px;line-height:1.1}.admin-heading p{color:var(--cinza-texto);margin-top:6px}.back-link{display:inline-block;margin-bottom:10px;color:#2563eb;font-weight:750}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat-card,.admin-card{background:#fff;border:1px solid var(--borda);border-radius:14px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.stat-card{padding:24px}.stat-card span{display:block;color:var(--cinza-texto);font-weight:700}.stat-card strong{display:block;font-size:38px;margin-top:6px}.admin-card{padding:24px;margin-bottom:24px}.admin-card h2{font-size:22px;margin-bottom:20px}.admin-card-head{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e2e8f0;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#64748b}td small{display:block;color:#64748b;margin-top:4px}.table-link{font-weight:800;color:#2563eb}.empty-state{padding:40px 10px;text-align:center;color:#64748b}.filter-bar{display:grid;grid-template-columns:1fr 240px auto;gap:12px;margin-bottom:20px}.admin-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:24px;align-items:start}.admin-stack{min-width:0}.sticky-card{position:sticky;top:94px}.file-list{margin-top:22px;padding-top:20px;border-top:1px solid var(--borda)}.file-list h3{font-size:16px;margin-bottom:10px}.file-list a{display:block;padding:10px 0;color:#2563eb;font-weight:750}.timeline{border-left:2px solid #cbd5e1;padding-left:20px}.timeline-item{position:relative;padding:0 0 22px}.timeline-item:before{content:'';position:absolute;width:11px;height:11px;border-radius:50%;background:#2563eb;left:-26px;top:6px}.timeline-item span{display:block;color:#64748b;font-size:13px}.timeline-item p{margin-top:6px;color:#475569}
@media(max-width:1000px){.form-layout,.admin-columns{grid-template-columns:1fr}.form-side,.sticky-card{position:static}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.admin-sidebar{flex-direction:row;overflow:auto}.admin-main{padding:24px}}
@media(max-width:700px){.form-card{padding:24px 18px}.form-grid,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.request-result-head,.admin-heading{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.admin-top{padding:0 16px}.admin-user span{display:none}.admin-main{padding:18px 12px}.filter-bar{grid-template-columns:1fr}.admin-sidebar{padding:10px}.admin-sidebar a{white-space:nowrap}.admin-heading h1{font-size:30px}}

/* Módulo 2 — rede e painel de montadores */
.btn-outline-dark{color:#0f172a;border-color:#94a3b8;background:#fff}.btn-outline-dark:hover{background:#e2e8f0;border-color:#64748b}
.professional-form-layout{grid-template-columns:.72fr 1.28fr}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;cursor:pointer;transition:border .2s,background .2s,transform .2s}.choice-card:hover{border-color:#60a5fa;background:#eff6ff;transform:translateY(-1px)}.choice-card input{margin-top:4px}.choice-card span{font-weight:700;font-size:14px}.login-help{margin-top:20px;color:#64748b;text-align:center}.install-summary{margin:24px 0}.install-summary code{font-weight:800;color:#1d4ed8}
.professional-status-pending{background:#fef3c7;color:#92400e}.professional-status-under_review{background:#dbeafe;color:#1d4ed8}.professional-status-approved{background:#dcfce7;color:#166534}.professional-status-rejected{background:#fee2e2;color:#991b1b}.professional-status-blocked{background:#e2e8f0;color:#334155}
.professional-filter{grid-template-columns:minmax(240px,1fr) 210px 260px auto}.table-specialties{display:flex;flex-wrap:wrap;gap:5px;max-width:320px}.table-specialties span,.tag-list span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:800}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.subheading{font-size:16px;margin:24px 0 12px}.professional-files-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.professional-file-card{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid #cbd5e1;border-radius:11px;background:#f8fafc}.professional-file-card:hover{border-color:#60a5fa;background:#eff6ff}.professional-file-card>span{color:#2563eb;font-size:12px;font-weight:800;text-transform:uppercase}.professional-file-card strong{overflow-wrap:anywhere}.professional-file-card small{color:#64748b}.approval-meta{margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0;color:#64748b;font-size:13px}
.stats-grid-7{grid-template-columns:repeat(7,minmax(0,1fr))}.stats-grid-7 .stat-card{padding:18px}.stats-grid-7 .stat-card strong{font-size:30px}
.professional-dashboard-section{min-height:70vh}.professional-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.professional-identity{display:flex;align-items:center;gap:18px}.professional-identity h1{font-size:clamp(30px,4vw,44px);line-height:1.05}.professional-identity p{color:#64748b;margin-top:7px}.professional-avatar{width:86px;height:86px;border-radius:18px;object-fit:cover;border:3px solid #fff;box-shadow:0 10px 25px rgba(15,23,42,.14)}.placeholder-avatar{display:grid;place-items:center;background:#2563eb;color:#fff;font-size:36px;font-weight:900}.professional-stats{margin-bottom:24px}.professional-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:24px;align-items:start}.job-list{display:grid;gap:16px}.job-card{padding:20px;border:1px solid #dbe2ea;border-radius:13px;background:#f8fafc}.job-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.job-card-head strong,.job-card-head span{display:block}.job-card-head>div>span{color:#64748b;font-size:14px;margin-top:3px}.job-actions{margin-top:16px}.one-column-details{grid-template-columns:1fr}.one-column-details .span-2{grid-column:span 1}
.admin-sidebar a.active{background:#1d4ed8;color:#fff}
@media(max-width:1200px){.stats-grid-7{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.professional-dashboard-grid{grid-template-columns:1fr}.professional-filter{grid-template-columns:1fr 1fr}.professional-filter button{grid-column:span 2}}
@media(max-width:700px){.professional-form-layout{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.professional-files-grid{grid-template-columns:1fr}.stats-grid-7{grid-template-columns:1fr 1fr}.professional-dashboard-head,.professional-identity{align-items:flex-start}.professional-dashboard-head{flex-direction:column}.professional-identity{flex-direction:column}.professional-filter{grid-template-columns:1fr}.professional-filter button{grid-column:span 1}.job-card-head{flex-direction:column}}

/* Módulo 3 — área do cliente, comunicação e avaliações */
.status-orcamento_recusado{background:#fee2e2;color:#991b1b}
.client-auth-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}.client-auth-intro{padding:34px 10px}.client-auth-intro h1{font-size:clamp(36px,5vw,58px);line-height:1.04;margin-bottom:18px}.client-auth-intro>p{font-size:18px;color:#475569;max-width:560px}.client-benefits{display:grid;gap:14px;margin-top:28px}.client-benefits>div{padding:18px;border:1px solid #dbe2ea;border-radius:13px;background:#fff}.client-benefits strong,.client-benefits span{display:block}.client-benefits span{color:#64748b;font-size:14px;margin-top:4px}
.client-dashboard-section,.client-order-page{min-height:72vh}.client-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.client-dashboard-head h1{font-size:clamp(34px,4vw,48px);line-height:1.04}.client-dashboard-head p{color:#64748b;margin-top:7px}.client-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:24px;align-items:start}.client-request-list{display:grid;gap:12px}.client-request-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px;border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc;transition:transform .2s,border .2s,background .2s}.client-request-card:hover{transform:translateY(-1px);border-color:#60a5fa;background:#eff6ff}.client-request-card>div>strong,.client-request-card>div>span{display:block}.client-request-card>div>span{color:#64748b;font-size:14px;margin-top:4px}.client-request-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.client-request-meta small{color:#64748b}.notification-dot{display:inline-flex!important;background:#dc2626!important;color:#fff!important;padding:5px 8px!important;border-radius:999px!important;font-size:11px!important;font-weight:800!important;margin:0!important}.client-help-card p{color:#64748b;margin-bottom:18px}.client-stats{grid-template-columns:repeat(4,1fr)}
.client-order-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.5fr);gap:24px;align-items:start}.quote-card{border-left:5px solid #8b5cf6}.quote-card.approved{border-left-color:#16a34a}.quote-card.rejected{border-left-color:#dc2626}.quote-card h2{font-size:38px;margin:4px 0}.quote-decision{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.quote-pending{background:#fef3c7;color:#92400e}.quote-approved{background:#dcfce7;color:#166534}.quote-rejected{background:#fee2e2;color:#991b1b}.quote-description{font-size:16px;margin:14px 0 18px}.quote-meta{display:flex;gap:18px;color:#64748b;font-size:14px;margin-bottom:18px}.quote-action-form{border-top:1px solid #e2e8f0;padding-top:18px}.rejection-field{margin-top:14px}.completion-panel{background:#ecfdf5!important;border:1px solid #a7f3d0}.completion-panel span{color:#047857}.client-area-callout{display:grid;gap:3px;margin:20px 0;padding:16px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:11px}.client-area-callout span{color:#475569;font-size:14px}.client-area-callout a{color:#1d4ed8;font-weight:800;margin-top:5px}
.message-security{color:#64748b;font-size:12px;font-weight:800}.message-thread{display:flex;flex-direction:column;gap:12px;max-height:560px;overflow:auto;padding:4px 4px 12px}.message-bubble{max-width:84%;padding:14px 16px;border-radius:14px}.message-bubble strong,.message-bubble small{display:block}.message-bubble p{margin:5px 0}.message-bubble small{font-size:11px;opacity:.75}.message-bubble.from-client{align-self:flex-end;background:#dbeafe;color:#1e3a8a;border-bottom-right-radius:4px}.message-bubble.from-team{align-self:flex-start;background:#f1f5f9;color:#334155;border-bottom-left-radius:4px}.message-form{margin-top:18px;padding-top:18px;border-top:1px solid #e2e8f0}.admin-message-thread .from-client{align-self:flex-start;background:#fef3c7;color:#78350f;border-bottom-left-radius:4px;border-bottom-right-radius:14px}.admin-message-thread .from-team{align-self:flex-end;background:#dbeafe;color:#1e3a8a;border-bottom-right-radius:4px;border-bottom-left-radius:14px}
.service-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-file-card{display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid #cbd5e1;border-radius:11px;background:#f8fafc}.service-file-card:hover{border-color:#60a5fa;background:#eff6ff}.service-file-card>span{color:#2563eb;font-size:11px;font-weight:800;text-transform:uppercase}.service-file-card strong{overflow-wrap:anywhere}.service-file-card small{color:#64748b}.service-upload-form{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.admin-service-files{margin-top:16px}
.professional-public-card{text-align:center}.professional-public-avatar{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 14px;border-radius:20px;background:#2563eb;color:#fff;font-size:32px;font-weight:900}.professional-public-card h3{font-size:22px}.professional-level{display:inline-flex;margin:9px 0 16px;padding:6px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:800}.professional-public-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.professional-public-stats>div{padding:10px 5px;border-radius:9px;background:#f8fafc}.professional-public-stats strong,.professional-public-stats span{display:block}.professional-public-stats strong{font-size:19px}.professional-public-stats span{font-size:10px;color:#64748b}.review-card p{color:#64748b;margin-bottom:16px}.review-complete strong{display:block;color:#f59e0b;font-size:26px;letter-spacing:2px}.review-complete p{margin:10px 0;color:#334155}.review-complete small{color:#64748b}.review-stars{color:#f59e0b;font-size:24px;letter-spacing:2px}.rating-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rating-summary span{padding:12px;background:#f8fafc;border-radius:9px;color:#64748b;font-size:13px}.rating-summary strong{display:block;color:#0f172a;font-size:18px}.review-comment{margin-top:18px;padding:18px;background:#fffbeb;border-radius:11px;color:#78350f;font-size:16px}.rating-field select{font-weight:700}
.module-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.module-feature-grid>div{padding:17px;border:1px solid #dbe2ea;border-radius:11px;background:#f8fafc}.module-feature-grid strong,.module-feature-grid span{display:block}.module-feature-grid span{color:#64748b;font-size:13px;margin-top:4px}.install-step{padding:10px 12px;margin-bottom:8px;border-radius:9px;background:#ecfdf5;color:#065f46;font-weight:700}.client-filter{grid-template-columns:minmax(260px,1fr) auto}.stats-grid-9{grid-template-columns:repeat(9,minmax(0,1fr))}.stats-grid-9 .stat-card{padding:16px}.stats-grid-9 .stat-card strong{font-size:28px}
@media(max-width:1300px){.stats-grid-9{grid-template-columns:repeat(5,1fr)}}
@media(max-width:1000px){.client-auth-layout,.client-dashboard-grid,.client-order-grid{grid-template-columns:1fr}.client-stats{grid-template-columns:repeat(2,1fr)}.module-feature-grid{grid-template-columns:repeat(2,1fr)}.stats-grid-9{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.client-dashboard-head{flex-direction:column}.client-request-card{align-items:flex-start;flex-direction:column}.client-request-meta{justify-content:flex-start}.service-file-grid,.module-feature-grid,.rating-summary{grid-template-columns:1fr}.message-bubble{max-width:94%}.professional-public-stats{grid-template-columns:1fr 1fr 1fr}.stats-grid-9{grid-template-columns:1fr 1fr}}


/* Módulo 4 — Painel Pro do Montador */
.status-a_caminho{background:#dbeafe;color:#1d4ed8}.status-conclusao_solicitada{background:#fef3c7;color:#92400e}
.pro-app-body{margin:0;background:#f1f5f9;color:#0f172a}.pro-app-topbar{position:sticky;top:0;z-index:1200;min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#0f172a;color:#fff;box-shadow:0 4px 18px rgba(15,23,42,.18)}.pro-app-topbar .logo span{color:#60a5fa}.pro-topbar-account{display:flex;align-items:center;gap:18px;font-size:14px}.pro-topbar-account a{padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:8px}.pro-app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 68px)}.pro-app-sidebar{position:sticky;top:68px;height:calc(100vh - 68px);padding:26px 18px;background:#fff;border-right:1px solid #dbe2ea}.pro-sidebar-label{padding:0 12px 12px;color:#94a3b8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.pro-app-sidebar a{display:block;margin-bottom:5px;padding:12px 14px;border-radius:9px;color:#475569;font-weight:700}.pro-app-sidebar a:hover{background:#eff6ff;color:#1d4ed8}.pro-app-sidebar a.active{background:#1d4ed8;color:#fff}.pro-app-main{width:100%;max-width:1600px;padding:34px;margin:0 auto}.pro-app-footer{padding:20px 30px;background:#0f172a;color:#94a3b8;text-align:center;font-size:13px}
.pro-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.pro-page-heading.compact{align-items:flex-end}.pro-page-heading h1{font-size:clamp(32px,4vw,48px);line-height:1.03;margin:2px 0 7px}.pro-page-heading p{color:#64748b}.pro-identity-block{display:flex;align-items:center;gap:18px}
.pro-availability-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;padding:20px 22px;border:1px solid #bfdbfe;border-radius:15px;background:#eff6ff}.pro-availability-card>div>strong{display:inline}.pro-availability-card p{margin-top:5px;color:#475569;font-size:14px}.pro-live-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 5px rgba(22,163,74,.13)}.availability-busy{background:#fffbeb;border-color:#fde68a}.availability-busy .pro-live-dot{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.14)}.availability-offline{background:#f8fafc;border-color:#cbd5e1}.availability-offline .pro-live-dot{background:#64748b;box-shadow:0 0 0 5px rgba(100,116,139,.14)}.pro-availability-form{display:flex;gap:10px}.pro-availability-form select{min-width:250px;padding:11px;border:1px solid #bfdbfe;border-radius:9px;background:#fff}
.pro-metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:24px}.pro-metrics-grid article{padding:19px;border:1px solid #dbe2ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04)}.pro-metrics-grid span,.pro-metrics-grid strong,.pro-metrics-grid small{display:block}.pro-metrics-grid span{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.pro-metrics-grid strong{margin:7px 0 4px;font-size:27px;line-height:1.05}.pro-metrics-grid small{color:#94a3b8;font-size:11px}
.pro-section-card{padding:24px;border:1px solid #dbe2ea;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.045)}.pro-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.pro-section-heading h2{font-size:24px;line-height:1.15}.pro-section-heading .eyebrow{margin-bottom:5px}.pro-count-badge{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:900}.pro-priority-card{margin-bottom:24px;border-color:#93c5fd;background:linear-gradient(140deg,#fff,#eff6ff)}.pro-job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.pro-job-card{padding:19px;border:1px solid #dbe2ea;border-radius:13px;background:#fff}.pro-job-card.pending{border-color:#93c5fd}.pro-job-card-top{display:flex;justify-content:space-between;gap:12px}.pro-job-card-top strong,.pro-job-card-top span{display:block}.pro-job-card-top>div>span{margin-top:3px;color:#64748b;font-size:13px}.pro-job-summary{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.pro-job-summary span{padding:6px 8px;border-radius:7px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:700}.pro-job-card p{min-height:66px;margin-bottom:15px;color:#475569;font-size:14px}
.pro-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.45fr);gap:24px;align-items:start}.pro-side-stack,.pro-main-stack{display:grid;gap:24px}.pro-service-list{display:grid;gap:10px}.pro-service-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}.pro-service-row:hover{border-color:#93c5fd;background:#eff6ff}.pro-service-main strong,.pro-service-main span{display:block}.pro-service-main span{margin-top:4px;color:#64748b;font-size:13px}.pro-service-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pro-service-meta small{color:#64748b}.pro-agenda-list{display:grid;gap:10px}.pro-agenda-list a{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid #e2e8f0;border-radius:10px}.pro-agenda-list time{width:48px;height:48px;display:grid;place-items:center;align-content:center;border-radius:10px;background:#1d4ed8;color:#fff}.pro-agenda-list time strong,.pro-agenda-list time span{display:block;line-height:1}.pro-agenda-list time strong{font-size:20px}.pro-agenda-list time span{margin-top:3px;font-size:9px}.pro-agenda-list a>div>strong,.pro-agenda-list a>div>span{display:block}.pro-agenda-list a>div>span{margin-top:4px;color:#64748b;font-size:12px}.pro-performance-list{display:grid;gap:0}.pro-performance-list>div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e2e8f0}.pro-performance-list>div:last-child{border-bottom:0}.pro-performance-list span{color:#64748b}.pro-performance-list strong{text-align:right}
.pro-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.45fr);gap:24px;align-items:start}.pro-decision-card{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px;border-color:#60a5fa;background:#eff6ff}.pro-decision-card h2{margin-bottom:6px}.pro-decision-card p{color:#475569}.pro-decision-actions{display:flex;align-items:center;gap:10px}.pro-reject-form{display:flex;gap:8px}.pro-reject-form input{min-width:210px;padding:11px;border:1px solid #fecaca;border-radius:8px}.btn-danger-soft{background:#fee2e2;color:#991b1b;border-color:#fecaca}.btn-danger-soft:hover{background:#fecaca}.pro-action-stack{display:grid;gap:12px}.pro-action-card{border-top:4px solid #2563eb}.pro-message-thread .from-professional{align-self:flex-end;background:#dcfce7;color:#166534;border-bottom-right-radius:4px}.pro-help-text{margin-top:14px;color:#64748b;font-size:12px}.install-security-note{margin-top:18px;color:#64748b}
@media(max-width:1350px){.pro-metrics-grid{grid-template-columns:repeat(3,1fr)}.pro-job-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.pro-app-shell{grid-template-columns:1fr}.pro-app-sidebar{position:static;height:auto;display:flex;gap:6px;overflow:auto;padding:10px;border-right:0;border-bottom:1px solid #dbe2ea}.pro-sidebar-label{display:none}.pro-app-sidebar a{white-space:nowrap;margin:0}.pro-content-grid,.pro-detail-grid{grid-template-columns:1fr}.pro-decision-card{align-items:flex-start;flex-direction:column}.pro-decision-actions{width:100%;flex-wrap:wrap}.pro-app-main{padding:24px}}
@media(max-width:700px){.pro-app-topbar{padding:0 16px}.pro-topbar-account span{display:none}.pro-app-main{padding:18px 14px}.pro-page-heading,.pro-identity-block,.pro-availability-card{align-items:flex-start;flex-direction:column}.pro-metrics-grid{grid-template-columns:1fr 1fr}.pro-job-grid{grid-template-columns:1fr}.pro-availability-form,.pro-decision-actions,.pro-reject-form{width:100%;flex-direction:column}.pro-availability-form select,.pro-reject-form input{width:100%;min-width:0}.pro-service-row{align-items:flex-start;flex-direction:column}.pro-service-meta{justify-content:flex-start}.pro-detail-grid{grid-template-columns:1fr}.pro-section-card{padding:19px}.pro-page-heading h1{font-size:34px}}


/* Módulo 5 — Distribuição inteligente */
.dispatch-summary-card { margin-bottom: 24px; }
.dispatch-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px; }
.dispatch-summary-grid > div { padding:16px; border:1px solid var(--borda); border-radius:12px; background:#f8fafc; }
.dispatch-summary-grid span { display:block; color:var(--cinza-texto); font-size:13px; }
.dispatch-summary-grid strong { display:block; margin-top:5px; }
.dispatch-mini-list { display:grid; gap:10px; margin-top:16px; }
.dispatch-mini-list > div { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--borda); }
.dispatch-mini-list small { color:var(--cinza-texto); }
.dispatch-candidate-grid { display:grid; gap:16px; }
.dispatch-candidate { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:start; padding:20px; border:1px solid var(--borda); border-radius:14px; background:#fff; }
.dispatch-candidate:hover { border-color:#9db8ff; box-shadow:0 10px 28px rgba(26,73,160,.08); }
.dispatch-candidate input[type=checkbox] { width:20px; height:20px; margin-top:6px; }
.dispatch-candidate-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.dispatch-candidate-head h3 { margin:0; }
.dispatch-candidate-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin:10px 0; color:var(--cinza-texto); font-size:14px; }
.dispatch-score { min-width:88px; text-align:center; padding:12px; border-radius:12px; background:#eaf1ff; color:#174ea6; }
.dispatch-score strong { display:block; font-size:25px; }
.dispatch-reasons { display:flex; flex-wrap:wrap; gap:7px; }
.dispatch-reasons span { padding:5px 9px; border-radius:999px; background:#f1f5f9; color:#475569; font-size:12px; }
.dispatch-form-bar { position:sticky; bottom:14px; z-index:20; margin-top:22px; padding:18px; display:grid; grid-template-columns:1fr 1fr 1.5fr auto; gap:14px; align-items:end; background:#fff; border:1px solid var(--borda); border-radius:16px; box-shadow:0 16px 40px rgba(15,23,42,.14); }
.dispatch-form-bar .field { margin:0; }
.dispatch-status-table td { vertical-align:middle; }
.dispatch-invited,.dispatch-viewed { background:#eaf1ff;color:#174ea6; }
.dispatch-accepted { background:#dcfce7;color:#166534; }
.dispatch-rejected,.dispatch-expired,.dispatch-cancelled,.dispatch-lost { background:#f1f5f9;color:#475569; }
.dispatch-opportunities { border:2px solid #8eb0ff; }
.call-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.call-detail-grid > div { padding:16px; border:1px solid var(--borda); border-radius:12px; }
.call-detail-grid span { display:block; color:var(--cinza-texto); font-size:13px; }
.call-actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; }
.call-actions form { padding:18px; border:1px solid var(--borda); border-radius:14px; }
.call-actions textarea { width:100%; }
@media (max-width:900px) {
  .dispatch-summary-grid,.dispatch-form-bar { grid-template-columns:1fr; }
  .dispatch-candidate { grid-template-columns:auto 1fr; }
  .dispatch-score { grid-column:2; justify-self:start; }
  .dispatch-mini-list > div { grid-template-columns:1fr; }
}
@media (max-width:650px) {
  .call-detail-grid,.call-actions { grid-template-columns:1fr; }
  .dispatch-candidate-head { flex-direction:column; }
}

/* Módulo 6 — Financeiro e pagamentos */
.finance-filter{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(240px,.8fr) auto;gap:14px;align-items:end;margin-bottom:24px}.finance-filter label{display:flex;flex-direction:column;gap:7px}.finance-filter label>span{font-size:13px;font-weight:800;color:#475569}.finance-metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:24px}.finance-metrics-grid article{padding:20px;border:1px solid #dbe2ea;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}.finance-metrics-grid span,.finance-metrics-grid strong,.finance-metrics-grid small{display:block}.finance-metrics-grid span{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.finance-metrics-grid strong{margin:8px 0 4px;font-size:26px;line-height:1.08}.finance-metrics-grid small{color:#94a3b8;font-size:11px}.finance-request-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-table td>small,.finance-table td>strong{display:block}.finance-table td>small{margin-top:4px;color:#64748b}.finance-warning{color:#b45309!important;font-weight:800}.finance-status-not_defined{background:#f1f5f9;color:#475569}.finance-status-awaiting_payment{background:#fef3c7;color:#92400e}.finance-status-partial{background:#ffedd5;color:#9a3412}.finance-status-paid{background:#dcfce7;color:#166534}.finance-status-refunded{background:#ede9fe;color:#6d28d9}.finance-status-cancelled{background:#fee2e2;color:#991b1b}.payout-status-paid{background:#dcfce7;color:#166534}.payout-status-pending,.payout-status-partial{background:#fef3c7;color:#92400e}.payout-status-held{background:#fee2e2;color:#991b1b}.finance-admin-columns{grid-template-columns:minmax(0,1.45fr) minmax(350px,.55fr)}.finance-transaction-list{display:grid;gap:14px}.finance-transaction-card{padding:17px;border:1px solid #dbe2ea;border-left:5px solid #94a3b8;border-radius:12px;background:#fff}.finance-transaction-card.tx-confirmed{border-left-color:#16a34a}.finance-transaction-card.tx-pending{border-left-color:#f59e0b;background:#fffbeb}.finance-transaction-card.tx-cancelled{opacity:.7;border-left-color:#dc2626;background:#f8fafc}.finance-transaction-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.finance-transaction-head>div:last-child{text-align:right}.finance-transaction-head strong,.finance-transaction-head span{display:block}.finance-transaction-head>div>span{margin-top:4px;color:#64748b;font-size:12px}.finance-transaction-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0;color:#64748b;font-size:12px}.finance-tx-confirmed{background:#dcfce7;color:#166534}.finance-tx-pending{background:#fef3c7;color:#92400e}.finance-tx-cancelled{background:#fee2e2;color:#991b1b}.finance-proof-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.finance-proof-list a{padding:7px 10px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:800}.finance-transaction-actions{display:grid;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid #e2e8f0}.finance-transaction-actions>form:first-child{display:flex;gap:8px;flex-wrap:wrap}.finance-proof-form{display:grid;grid-template-columns:minmax(170px,1fr) auto auto auto;gap:10px;align-items:center}.finance-proof-form input[type=file]{min-width:0}.finance-proof-form label{font-size:12px;color:#475569;white-space:nowrap}.danger-link{border:0;background:none;color:#b91c1c;cursor:pointer;font:inherit;font-weight:800}.finance-summary-grid{grid-template-columns:repeat(3,1fr)}.finance-pending-note{margin:14px 0 0}.client-finance-metrics,.client-payment-summary{grid-template-columns:repeat(4,1fr)}.finance-client-row .client-request-meta>strong{font-size:15px}.finance-client-summary{border-color:#bfdbfe;background:linear-gradient(140deg,#fff,#eff6ff)}.compact-list .finance-transaction-card{padding:14px}.pro-finance-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-order-summary{border-color:#bfdbfe}.finance-order-summary .admin-card-head{margin-bottom:4px}.financial-note{padding:12px;border-radius:10px;background:#f8fafc;color:#475569}.storage-protected-note{font-size:12px;color:#64748b}
@media(max-width:1250px){.finance-metrics-grid{grid-template-columns:repeat(3,1fr)}.finance-admin-columns{grid-template-columns:1fr}.finance-proof-form{grid-template-columns:1fr 1fr}.client-finance-metrics,.client-payment-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.finance-filter,.finance-summary-grid{grid-template-columns:1fr}.finance-metrics-grid,.finance-request-metrics,.pro-finance-metrics{grid-template-columns:1fr 1fr}.finance-transaction-head{flex-direction:column}.finance-transaction-head>div:last-child{text-align:left}.finance-proof-form{grid-template-columns:1fr}.finance-admin-columns{display:block}}
@media(max-width:560px){.finance-metrics-grid,.finance-request-metrics,.client-finance-metrics,.client-payment-summary,.pro-finance-metrics{grid-template-columns:1fr}.finance-transaction-actions>form:first-child{flex-direction:column}.finance-transaction-actions .btn{width:100%}}


/* Módulo 7 — Avaliações, reputação e níveis profissionais */
.reputation-level,
.quality-status,
.review-moderation {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .45px;
    text-transform: uppercase;
    white-space: nowrap;
}
.level-bronze { background:#f3e7d7; color:#7c4a1f; border:1px solid #e2c9aa; }
.level-prata { background:#eef2f7; color:#475569; border:1px solid #cbd5e1; }
.level-ouro { background:#fff4cc; color:#854d0e; border:1px solid #f7d774; }
.level-premium { background:linear-gradient(135deg,#111827,#1d4ed8); color:#fff; border:1px solid #315ec7; box-shadow:0 8px 24px rgba(29,78,216,.24); }
.quality-normal { background:#dcfce7; color:#166534; }
.quality-warning { background:#fef3c7; color:#92400e; }
.quality-critical { background:#fee2e2; color:#991b1b; }
.moderation-published { background:#dcfce7; color:#166534; }
.moderation-under_review { background:#fef3c7; color:#92400e; }
.moderation-hidden { background:#f1f5f9; color:#475569; }

.professional-heading-badges { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; }
.reputation-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin-bottom:24px; }
.reputation-metrics article { min-width:0; padding:19px; border:1px solid #dbe2ea; border-radius:14px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.045); }
.reputation-metrics span,.reputation-metrics strong,.reputation-metrics small { display:block; }
.reputation-metrics span { color:#64748b; font-size:11px; font-weight:900; letter-spacing:.4px; text-transform:uppercase; }
.reputation-metrics strong { margin:7px 0 3px; font-size:28px; line-height:1; }
.reputation-metrics small { color:#94a3b8; font-size:11px; }
.reputation-filter { display:grid; grid-template-columns:minmax(240px,1.3fr) minmax(150px,.45fr) minmax(160px,.5fr) auto; gap:13px; align-items:end; }
.reputation-filter label { display:flex; flex-direction:column; gap:7px; }
.reputation-filter label>span { color:#475569; font-size:12px; font-weight:900; }
.reputation-filter input,.reputation-filter select,.review-moderation-form input,.review-moderation-form select,.resolve-alert-form input { width:100%; border:1px solid #cbd5e1; border-radius:9px; padding:11px 12px; background:#fff; color:#0f172a; font:inherit; }
.reputation-filter input:focus,.reputation-filter select:focus,.review-moderation-form input:focus,.review-moderation-form select:focus,.resolve-alert-form input:focus { outline:0; border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.11); }
.reputation-table td { vertical-align:middle; }
.reputation-table td strong,.reputation-table td small { display:block; }
.reputation-table td small { margin-top:4px; color:#64748b; font-size:11px; }
.ranking-position { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:#eff6ff; color:#1d4ed8; font-weight:900; }

.reputation-admin-summary { scroll-margin-top:94px; border-top:4px solid #2563eb; }
.reputation-admin-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.reputation-admin-grid article { min-width:0; padding:16px; border:1px solid #dbe2ea; border-radius:12px; background:#f8fafc; }
.reputation-admin-grid article span,.reputation-admin-grid article strong,.reputation-admin-grid article small { display:block; }
.reputation-admin-grid article span { color:#64748b; font-size:11px; font-weight:900; text-transform:uppercase; }
.reputation-admin-grid article strong { margin:7px 0 3px; font-size:22px; }
.reputation-admin-grid article small { color:#94a3b8; font-size:11px; }
.reputation-admin-grid .score-card { background:linear-gradient(145deg,#0f172a,#1d4ed8); color:#fff; border:0; }
.reputation-admin-grid .score-card span,.reputation-admin-grid .score-card small { color:#dbeafe; }
.reputation-admin-grid .score-card strong { font-size:34px; }

.badge-showcase { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:20px; }
.compact-badges { grid-template-columns:repeat(4,minmax(160px,1fr)); }
.badge-card { min-width:0; padding:18px; border:1px solid #dbe2ea; border-radius:14px; background:linear-gradient(145deg,#fff,#f8fafc); }
.badge-card .badge-icon { width:34px; height:34px; display:grid; place-items:center; margin-bottom:11px; border-radius:10px; background:#dbeafe; color:#1d4ed8; }
.badge-card strong,.badge-card p { display:block; }
.badge-card p { margin-top:5px; color:#64748b; font-size:12px; }
.badge-premium { border-color:#93c5fd; background:linear-gradient(145deg,#eff6ff,#fff); }
.badge-featured { border-color:#fde68a; background:#fffbeb; }
.badge-top-rating,.badge-punctual { border-color:#bbf7d0; background:#f0fdf4; }

.review-admin-list,.professional-review-list,.quality-alert-list,.reputation-history { display:grid; gap:12px; }
.review-admin-list article,.professional-review-list article,.reputation-history article { padding:16px; border:1px solid #dbe2ea; border-radius:12px; background:#fff; }
.review-admin-list article { display:grid; grid-template-columns:minmax(180px,.7fr) auto minmax(240px,1.3fr) auto; align-items:center; gap:16px; }
.review-admin-list strong,.review-admin-list span { display:block; }
.review-admin-list span { color:#64748b; font-size:12px; margin-top:3px; }
.review-admin-list p { color:#475569; }
.review-stars { color:#f59e0b; letter-spacing:2px; white-space:nowrap; }
.review-stars>span,.professional-review-head i { color:#cbd5e1; font-style:normal; }

.review-moderation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.review-moderation-card { margin:0; }
.review-moderation-head,.professional-review-head,.quality-alert-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.review-moderation-head strong,.review-moderation-head span { display:block; }
.review-moderation-head>div>span { margin-top:4px; color:#64748b; font-size:12px; }
.review-score-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:16px 0; }
.review-score-grid>div { padding:10px 7px; border-radius:9px; background:#f8fafc; text-align:center; }
.review-score-grid span,.review-score-grid strong { display:block; }
.review-score-grid span { color:#64748b; font-size:10px; }
.review-score-grid strong { margin-top:3px; font-size:14px; color:#b45309; }
.review-comment { margin:13px 0; padding:14px; border-radius:10px; background:#fffbeb; color:#78350f; }
.review-moderation-card>small { color:#64748b; }
.review-moderation-form { display:grid; grid-template-columns:minmax(145px,.45fr) minmax(220px,1fr) auto; gap:10px; align-items:end; margin-top:16px; padding-top:16px; border-top:1px solid #e2e8f0; }
.review-moderation-form label { display:flex; flex-direction:column; gap:6px; }
.review-moderation-form label>span { color:#475569; font-size:11px; font-weight:900; }

.quality-alert-list .alert-item { padding:16px; border:1px solid #dbe2ea; border-left:5px solid #94a3b8; border-radius:12px; background:#fff; }
.quality-alert-list .severity-info { border-left-color:#3b82f6; background:#eff6ff; }
.quality-alert-list .severity-warning { border-left-color:#f59e0b; background:#fffbeb; }
.quality-alert-list .severity-critical { border-left-color:#dc2626; background:#fef2f2; }
.quality-alert-list .resolved { opacity:.72; background:#f8fafc; }
.quality-alert-list p { margin:8px 0; }
.quality-alert-list small { color:#64748b; }
.resolve-alert-form { display:grid; grid-template-columns:1fr auto; gap:9px; margin-top:12px; }
.resolved-note { margin-top:10px; padding:10px; border-radius:9px; background:#ecfdf5; color:#065f46; }

.reputation-history article { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; }
.reputation-history p { margin-top:4px; color:#64748b; font-size:12px; }
.reputation-history time { color:#94a3b8; font-size:11px; white-space:nowrap; }

.review-form-card { max-width:760px; margin:0 auto; }
.review-form { display:grid; gap:18px; margin-top:22px; }
.star-rating-field { margin:0; padding:17px; border:1px solid #dbe2ea; border-radius:12px; background:#f8fafc; }
.star-rating-field legend { width:100%; padding:0 4px; }
.star-rating-field legend strong,.star-rating-field legend span { display:block; }
.star-rating-field legend span { margin-top:3px; color:#64748b; font-size:12px; font-weight:400; }
.star-rating-options { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:5px; margin-top:12px; }
.star-rating-options input { position:absolute; opacity:0; pointer-events:none; }
.star-rating-options label { position:relative; color:#cbd5e1; font-size:36px; line-height:1; cursor:pointer; transition:transform .15s,color .15s; }
.star-rating-options label span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.star-rating-options label:hover,.star-rating-options label:hover~label,.star-rating-options input:checked~label { color:#f59e0b; transform:translateY(-1px); }
.star-rating-options input:focus-visible+label { outline:3px solid rgba(37,99,235,.28); outline-offset:3px; border-radius:4px; }
.review-privacy-note { padding:12px 14px; border-radius:10px; background:#eff6ff; color:#1e3a8a; font-size:12px; }

.reputation-hero { display:grid; grid-template-columns:auto minmax(0,1fr); gap:28px; align-items:center; margin-bottom:24px; padding:28px; border-radius:20px; color:#fff; box-shadow:0 18px 45px rgba(15,23,42,.16); }
.level-bg-bronze { background:linear-gradient(135deg,#7c4a1f,#0f172a); }
.level-bg-prata { background:linear-gradient(135deg,#64748b,#0f172a); }
.level-bg-ouro { background:linear-gradient(135deg,#a16207,#0f172a); }
.level-bg-premium { background:linear-gradient(135deg,#1d4ed8,#0f172a); }
.reputation-score-ring { --score:0; width:156px; aspect-ratio:1; display:grid; place-items:center; align-content:center; border-radius:50%; background:radial-gradient(circle at center,#0f172a 59%,transparent 60%),conic-gradient(#60a5fa calc(var(--score)*1%),rgba(255,255,255,.16) 0); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.reputation-score-ring strong,.reputation-score-ring span { display:block; text-align:center; }
.reputation-score-ring strong { font-size:35px; line-height:1; }
.reputation-score-ring span { margin-top:5px; color:#cbd5e1; font-size:11px; }
.reputation-hero-copy h2 { margin:9px 0 8px; font-size:34px; }
.reputation-hero-copy>p { max-width:780px; color:#dbeafe; }
.reputation-inline-stats { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.reputation-inline-stats span { padding:9px 12px; border:1px solid rgba(255,255,255,.15); border-radius:10px; background:rgba(255,255,255,.08); color:#dbeafe; font-size:12px; }
.reputation-inline-stats strong { color:#fff; font-size:15px; }
.reputation-dashboard-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:22px; margin-bottom:22px; }
.reputation-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.reputation-kpi-grid article { padding:15px; border:1px solid #dbe2ea; border-radius:12px; background:#f8fafc; }
.reputation-kpi-grid span,.reputation-kpi-grid strong,.reputation-kpi-grid small { display:block; }
.reputation-kpi-grid span { color:#64748b; font-size:11px; font-weight:900; text-transform:uppercase; }
.reputation-kpi-grid strong { margin:6px 0; font-size:23px; }
.reputation-kpi-grid small { color:#64748b; font-size:11px; }
.mini-progress,.level-progress { overflow:hidden; height:7px; border-radius:999px; background:#e2e8f0; }
.mini-progress i,.level-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#60a5fa); }
.level-progress { height:10px; margin:13px 0 17px; }
.level-requirements { display:grid; gap:9px; }
.level-requirements>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #e2e8f0; border-radius:9px; background:#f8fafc; }
.level-requirements>div.done { border-color:#bbf7d0; background:#f0fdf4; color:#166534; }
.level-requirements span { font-size:12px; font-weight:800; }
.level-requirements strong { font-size:12px; }
.review-criteria-mini { display:flex; flex-wrap:wrap; gap:7px; margin:11px 0; }
.review-criteria-mini span { padding:5px 8px; border-radius:999px; background:#f1f5f9; color:#475569; font-size:10px; font-weight:800; }
.professional-review-head span { color:#f59e0b; white-space:nowrap; }
.quality-alert-panel { border-left:5px solid #f59e0b; }

.professional-directory-hero { color:#fff; background:linear-gradient(125deg,#0f172a 0%,#1d4ed8 72%,#2563eb 100%); }
.professional-directory-hero h1 { max-width:900px; margin:8px 0 14px; font-size:clamp(38px,5.5vw,66px); line-height:1.02; }
.professional-directory-hero p { max-width:760px; color:#dbeafe; font-size:18px; }
.directory-filter { display:grid; grid-template-columns:minmax(170px,.6fr) minmax(220px,1fr) minmax(150px,.45fr) auto; gap:12px; align-items:end; margin-top:28px; padding:18px; border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(255,255,255,.1); backdrop-filter:blur(10px); }
.directory-filter label { display:flex; flex-direction:column; gap:6px; }
.directory-filter label>span { color:#dbeafe; font-size:11px; font-weight:900; }
.directory-filter input,.directory-filter select { width:100%; padding:12px 13px; border:1px solid rgba(255,255,255,.4); border-radius:9px; background:#fff; color:#0f172a; font:inherit; }
.public-professional-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.public-professional-card { overflow:hidden; padding:22px; border:1px solid #dbe2ea; border-top:5px solid #94a3b8; border-radius:17px; background:#fff; box-shadow:0 12px 35px rgba(15,23,42,.065); transition:transform .2s,box-shadow .2s; }
.public-professional-card:hover { transform:translateY(-4px); box-shadow:0 20px 45px rgba(15,23,42,.11); }
.level-border-bronze { border-top-color:#a16207; }
.level-border-prata { border-top-color:#94a3b8; }
.level-border-ouro { border-top-color:#eab308; }
.level-border-premium { border-top-color:#2563eb; }
.public-professional-top { display:flex; align-items:center; gap:14px; }
.public-professional-top img,.public-avatar-placeholder { width:72px; height:72px; flex:0 0 72px; border-radius:18px; object-fit:cover; }
.public-avatar-placeholder { display:grid; place-items:center; background:linear-gradient(135deg,#1d4ed8,#0f172a); color:#fff; font-size:27px; font-weight:900; }
.public-professional-top h3 { margin:7px 0 3px; font-size:20px; }
.public-professional-top p { color:#64748b; font-size:12px; }
.public-professional-score { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:18px 0; }
.public-professional-score span { min-width:0; padding:10px 7px; border-radius:9px; background:#f8fafc; color:#64748b; font-size:9px; text-align:center; }
.public-professional-score strong { display:block; margin-bottom:3px; color:#0f172a; font-size:16px; }
.public-badge-list { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.public-badge-list span { padding:5px 8px; border-radius:999px; background:#eff6ff; color:#1d4ed8; font-size:10px; font-weight:900; }
.public-professional-bio { min-height:68px; margin:13px 0 17px; color:#475569; font-size:13px; }

.btn-danger-soft { background:#fff1f2; color:#be123c; border-color:#fecdd3; }
.btn-danger-soft:hover { background:#ffe4e6; }
.btn-outline-dark { color:#0f172a; background:#fff; border-color:#cbd5e1; }
.btn-outline-dark:hover { background:#f8fafc; border-color:#94a3b8; }

@media(max-width:1300px) {
    .reputation-metrics,.reputation-admin-grid { grid-template-columns:repeat(3,1fr); }
    .public-professional-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .review-admin-list article { grid-template-columns:minmax(180px,.7fr) auto minmax(220px,1.2fr); }
    .review-admin-list article>.review-moderation { grid-column:1/-1; }
}
@media(max-width:1050px) {
    .reputation-filter,.directory-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .reputation-filter .btn,.directory-filter .btn { width:100%; }
    .review-moderation-grid,.reputation-dashboard-grid { grid-template-columns:1fr; }
    .badge-showcase,.compact-badges { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .review-moderation-form { grid-template-columns:1fr; }
}
@media(max-width:760px) {
    .professional-heading-badges { justify-content:flex-start; }
    .reputation-metrics,.reputation-admin-grid,.reputation-kpi-grid { grid-template-columns:1fr 1fr; }
    .reputation-filter,.directory-filter,.public-professional-grid { grid-template-columns:1fr; }
    .review-admin-list article { grid-template-columns:1fr; }
    .review-moderation-head,.professional-review-head,.quality-alert-head { flex-direction:column; }
    .review-score-grid { grid-template-columns:repeat(2,1fr); }
    .review-score-grid>div:last-child { grid-column:1/-1; }
    .reputation-hero { grid-template-columns:1fr; justify-items:start; }
    .reputation-score-ring { width:132px; }
    .reputation-history article { grid-template-columns:1fr; }
    .reputation-history time { white-space:normal; }
    .public-professional-score { grid-template-columns:1fr; }
    .public-professional-score span { text-align:left; }
}
@media(max-width:520px) {
    .reputation-metrics,.reputation-admin-grid,.reputation-kpi-grid,.badge-showcase,.compact-badges { grid-template-columns:1fr; }
    .star-rating-options label { font-size:32px; }
    .public-professional-top { align-items:flex-start; }
    .public-professional-top img,.public-avatar-placeholder { width:58px; height:58px; flex-basis:58px; border-radius:14px; }
    .resolve-alert-form { grid-template-columns:1fr; }
}


/* ========================================================================== 
   MÓDULO VISUAL 1 — DESIGN SYSTEM COELHO MONTAGENS PRO
   Fundação visual unificada para site, cliente, administração e montadores.
   ========================================================================== */
:root {
    --brand-950:#071225;
    --brand-900:#0b1730;
    --brand-800:#10254a;
    --brand-700:#174ea6;
    --brand-600:#1f6feb;
    --brand-500:#2f80ed;
    --brand-100:#dbeafe;
    --brand-50:#eff6ff;
    --accent-600:#0f8f83;
    --accent-500:#18a999;
    --ink-950:#0b1220;
    --ink-800:#1d2939;
    --ink-600:#475467;
    --ink-500:#667085;
    --surface:#ffffff;
    --surface-soft:#f6f8fc;
    --surface-muted:#eef2f7;
    --line:#e4e9f1;
    --line-strong:#cfd7e4;
    --success:#16a34a;
    --warning:#d97706;
    --danger:#dc2626;
    --shadow-xs:0 1px 2px rgba(7,18,37,.06);
    --shadow-sm:0 8px 24px rgba(7,18,37,.07);
    --shadow-md:0 18px 50px rgba(7,18,37,.10);
    --shadow-lg:0 28px 80px rgba(7,18,37,.16);
    --radius-sm:10px;
    --radius-md:16px;
    --radius-lg:24px;
    --radius-xl:32px;
    --preto:var(--ink-950);
    --preto-claro:var(--ink-800);
    --dourado:var(--brand-600);
    --dourado-claro:#79adff;
    --branco:#fff;
    --cinza:var(--surface-soft);
    --cinza-texto:var(--ink-600);
    --borda:var(--line);
    --verde:var(--success);
}

html { scroll-padding-top:100px; }
body {
    color:var(--ink-950);
    background:var(--surface);
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing:-.006em;
}
body::before {
    content:"";
    position:fixed;
    inset:0 0 auto;
    height:3px;
    z-index:2000;
    pointer-events:none;
    background:linear-gradient(90deg,var(--brand-600),#62a2ff,var(--accent-500));
}
.container { width:min(1240px,92%); }
h1,h2,h3,h4,strong,.logo { letter-spacing:-.025em; }
p { text-wrap:pretty; }

/* Marca */
.brand-logo {
    display:inline-flex;
    align-items:center;
    gap:11px;
    min-width:max-content;
    color:var(--ink-950);
}
.brand-mark {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 42px;
    border-radius:13px;
    color:#fff;
    background:linear-gradient(145deg,var(--brand-600),var(--brand-900));
    box-shadow:0 10px 24px rgba(31,111,235,.25),inset 0 1px 0 rgba(255,255,255,.28);
    font-size:12px;
    font-weight:900;
    letter-spacing:-.04em;
}
.brand-wordmark { display:grid; line-height:1; }
.brand-wordmark b { font-size:17px; font-weight:850; white-space:nowrap; }
.brand-wordmark em {
    width:max-content;
    margin-top:5px;
    padding:3px 7px;
    border-radius:999px;
    color:var(--brand-700);
    background:var(--brand-50);
    font-size:9px;
    font-style:normal;
    font-weight:900;
    letter-spacing:.14em;
}

/* Topo público */
.topbar {
    padding:8px 0;
    color:#dbeafe;
    background:linear-gradient(100deg,var(--brand-950),var(--brand-800));
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:12px;
    font-weight:650;
}
.topbar-content span { display:inline-flex; align-items:center; gap:8px; }
.topbar-content span::before {
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#5eead4;
    box-shadow:0 0 0 4px rgba(94,234,212,.10);
}
.header {
    top:3px;
    min-height:82px;
    background:rgba(255,255,255,.88);
    border-bottom:1px solid rgba(207,215,228,.8);
    box-shadow:0 4px 18px rgba(7,18,37,.035);
    backdrop-filter:blur(18px) saturate(160%);
}
.header.is-scrolled { box-shadow:0 12px 36px rgba(7,18,37,.10); }
.nav { min-height:82px; gap:24px; }
.menu { margin-left:auto; gap:4px; font-size:13px; }
.menu a {
    padding:10px 11px;
    border-radius:10px;
    color:var(--ink-600);
    font-weight:750;
}
.menu a:hover { color:var(--brand-700); background:var(--brand-50); }
.nav-cta { min-height:44px; padding:10px 17px; white-space:nowrap; }
.nav-toggle,.panel-menu-toggle {
    display:none;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid var(--line);
    border-radius:12px;
    color:var(--ink-950);
    background:#fff;
    box-shadow:var(--shadow-xs);
    cursor:pointer;
}
.nav-toggle-lines,.nav-toggle-lines::before,.nav-toggle-lines::after {
    width:20px;
    height:2px;
    display:block;
    border-radius:99px;
    background:currentColor;
    transition:transform .2s ease,opacity .2s ease;
}
.nav-toggle-lines { position:relative; }
.nav-toggle-lines::before,.nav-toggle-lines::after { content:""; position:absolute; left:0; }
.nav-toggle-lines::before { top:-6px; }
.nav-toggle-lines::after { top:6px; }
body.nav-open .nav-toggle-lines { background:transparent; }
body.nav-open .nav-toggle-lines::before { top:0; transform:rotate(45deg); }
body.nav-open .nav-toggle-lines::after { top:0; transform:rotate(-45deg); }
.mobile-nav-backdrop,.panel-backdrop { display:none; }

/* Botões e controles */
.btn {
    min-height:46px;
    padding:11px 19px;
    border-radius:12px;
    box-shadow:none;
    font-size:14px;
    font-weight:800;
    letter-spacing:-.01em;
}
.btn-primary {
    color:#fff;
    background:linear-gradient(135deg,var(--brand-600),var(--brand-700));
    box-shadow:0 10px 22px rgba(31,111,235,.20);
}
.btn-primary:hover { background:linear-gradient(135deg,#2b79f3,#144696); box-shadow:0 14px 30px rgba(31,111,235,.27); }
.btn-dark { background:linear-gradient(135deg,var(--brand-950),var(--brand-800)); }
.btn-dark:hover { background:linear-gradient(135deg,#101f3d,#183968); }
.btn-outline-dark { border-color:var(--line-strong); color:var(--ink-800); }
.btn-outline-dark:hover { color:var(--brand-700); background:var(--brand-50); border-color:#9fc2fb; }
.btn-outline { border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.btn-outline:hover { background:#fff; color:var(--brand-900); }
button,input,select,textarea { accent-color:var(--brand-600); }
.field input,.field select,.field textarea,.filter-bar input,.filter-bar select,
.reputation-filter input,.reputation-filter select,.directory-filter input,.directory-filter select,
.review-moderation-form input,.review-moderation-form select,.resolve-alert-form input {
    min-height:48px;
    border-color:var(--line-strong);
    border-radius:12px;
    background:#fff;
    box-shadow:inset 0 1px 2px rgba(7,18,37,.025);
}
.field textarea { min-height:120px; }
.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus,
.reputation-filter input:focus,.reputation-filter select:focus,.directory-filter input:focus,.directory-filter select:focus {
    border-color:var(--brand-500);
    box-shadow:0 0 0 4px rgba(47,128,237,.12),inset 0 1px 2px rgba(7,18,37,.02);
}

/* Página inicial */
.hero {
    position:relative;
    min-height:700px;
    overflow:hidden;
    background:
        linear-gradient(115deg,rgba(7,18,37,.99) 0%,rgba(11,23,48,.97) 53%,rgba(23,78,166,.90) 100%);
}
.hero::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.48;
    background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:46px 46px;
    mask-image:linear-gradient(to right,#000,transparent 88%);
}
.hero::after {
    content:"";
    position:absolute;
    width:620px;
    height:620px;
    right:-170px;
    top:-150px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(94,162,255,.27),rgba(94,162,255,0) 68%);
    pointer-events:none;
}
.hero-layout {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
    align-items:center;
    gap:70px;
}
.hero-content { max-width:800px; padding:104px 0; }
.hero .eyebrow {
    width:max-content;
    padding:8px 11px;
    border:1px solid rgba(121,173,255,.25);
    border-radius:999px;
    color:#b9d4ff;
    background:rgba(47,128,237,.10);
    font-size:11px;
    letter-spacing:.17em;
}
.hero h1 { max-width:820px; margin-bottom:24px; font-size:clamp(46px,5.5vw,76px); line-height:.99; letter-spacing:-.055em; }
.hero h1 span { color:#8bbaff; }
.hero p { max-width:690px; color:#c9d6e8; font-size:18px; line-height:1.75; }
.hero-actions { gap:11px; }
.hero-numbers { gap:14px; margin-top:45px; }
.hero-number {
    min-width:150px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:rgba(255,255,255,.055);
    backdrop-filter:blur(8px);
}
.hero-number strong { color:#fff; font-size:19px; }
.hero-number span { color:#aebed4; font-size:11px; }
.hero-visual { position:relative; min-height:500px; }
.hero-visual::before {
    content:"";
    position:absolute;
    inset:48px 10px 20px 54px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:36px;
    background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 40px 80px rgba(0,0,0,.22);
    transform:rotate(3deg);
    backdrop-filter:blur(15px);
}
.hero-dashboard {
    position:absolute;
    inset:88px 28px 52px 20px;
    padding:25px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:26px;
    color:#fff;
    background:rgba(8,20,42,.78);
    box-shadow:0 35px 75px rgba(0,0,0,.27);
    backdrop-filter:blur(18px);
}
.hero-dashboard-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.hero-dashboard-head span { display:block; color:#9fb1ca; font-size:11px; }
.hero-dashboard-head strong { display:block; margin-top:3px; font-size:17px; }
.hero-dashboard-live { display:flex; align-items:center; gap:7px; color:#8ff3d4; font-size:11px; font-weight:800; }
.hero-dashboard-live::before { content:""; width:8px; height:8px; border-radius:50%; background:#34d399; box-shadow:0 0 0 5px rgba(52,211,153,.11); }
.hero-dashboard-metrics { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }
.hero-dashboard-metrics article { padding:16px; border:1px solid rgba(255,255,255,.09); border-radius:15px; background:rgba(255,255,255,.055); }
.hero-dashboard-metrics span,.hero-dashboard-metrics strong { display:block; }
.hero-dashboard-metrics span { color:#9fb1ca; font-size:10px; }
.hero-dashboard-metrics strong { margin-top:6px; font-size:22px; }
.hero-dashboard-list { display:grid; gap:9px; margin-top:14px; }
.hero-dashboard-list div { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:11px; padding:11px; border-radius:13px; background:rgba(255,255,255,.045); }
.hero-dashboard-list i { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#9fc4ff; background:rgba(47,128,237,.15); font-style:normal; font-weight:900; }
.hero-dashboard-list b,.hero-dashboard-list small { display:block; }
.hero-dashboard-list b { font-size:12px; }
.hero-dashboard-list small { margin-top:2px; color:#8fa3bd; font-size:9px; }
.hero-dashboard-list em { padding:5px 8px; border-radius:999px; color:#9cf0db; background:rgba(24,169,153,.13); font-size:9px; font-style:normal; font-weight:900; }
.hero-float-badge {
    position:absolute;
    right:-5px;
    bottom:30px;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:15px;
    color:#fff;
    background:linear-gradient(135deg,rgba(47,128,237,.96),rgba(23,78,166,.96));
    box-shadow:0 20px 45px rgba(0,0,0,.24);
    font-size:11px;
    font-weight:850;
}
.section { padding:96px 0; }
.section-light { background:linear-gradient(180deg,#f8faff,#f3f6fb); }
.section-heading { margin-bottom:46px; }
.section-heading h2 { max-width:900px; font-size:clamp(34px,4.2vw,52px); letter-spacing:-.045em; }
.section-heading p { max-width:760px; color:var(--ink-600); }
.eyebrow { color:var(--brand-600); font-size:11px; letter-spacing:.16em; }
.card {
    border-color:var(--line);
    border-radius:20px;
    box-shadow:var(--shadow-xs);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.card:hover { transform:translateY(-5px); border-color:#c8d9f4; box-shadow:var(--shadow-md); }
.card-icon { width:50px; height:50px; border-radius:14px; color:var(--brand-700); background:linear-gradient(145deg,var(--brand-50),#dbeafe); }
.audience-card { min-height:360px; border:0; }
.audience-card.client { background:linear-gradient(145deg,#14315c,#071225); }
.audience-card.company { background:linear-gradient(145deg,#174ea6,#0b1730); }
.audience-card.montador { background:linear-gradient(145deg,#0f766e,#071225); }
.audience-card.course { background:linear-gradient(145deg,#5b3aa4,#071225); }
.highlight-box { border-radius:26px; background:linear-gradient(145deg,var(--brand-600),var(--brand-950)); box-shadow:var(--shadow-lg); }
.plan.featured { border-color:var(--brand-500); box-shadow:0 18px 45px rgba(31,111,235,.14); }
.step::before { color:#fff; background:linear-gradient(135deg,var(--brand-600),var(--brand-700)); box-shadow:0 10px 25px rgba(31,111,235,.22); }
.cta { border-radius:28px; background:linear-gradient(115deg,var(--brand-950),var(--brand-700)); box-shadow:var(--shadow-lg); }

/* Rodapé */
.footer { padding:72px 0 26px; color:#9fb0c8; background:#06101f; }
.footer-brand { max-width:390px; }
.footer .brand-logo { color:#fff; margin-bottom:18px; }
.footer .brand-wordmark em { color:#b9d4ff; background:rgba(255,255,255,.08); }
.footer-grid { grid-template-columns:1.45fr repeat(3,1fr); gap:55px; }
.footer h4 { color:#fff; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.footer a { width:max-content; max-width:100%; color:#9fb0c8; font-size:13px; }
.footer a:hover { color:#fff; transform:translateX(2px); }
.footer-trust { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.footer-trust span { padding:6px 9px; border:1px solid rgba(255,255,255,.09); border-radius:999px; color:#b8c8dc; background:rgba(255,255,255,.035); font-size:10px; font-weight:800; }
.footer-bottom { color:#71839d; border-top-color:rgba(255,255,255,.08); }
.whatsapp { right:24px; bottom:24px; height:54px; min-width:54px; background:linear-gradient(135deg,#22c55e,#12833e); box-shadow:0 16px 36px rgba(18,131,62,.28); font-size:13px; }

/* Formulários, autenticação e cliente */
.section-light:has(.login-container),.client-dashboard-section,.client-order-page { position:relative; overflow:hidden; }
.section-light:has(.login-container)::before,.client-dashboard-section::before,.client-order-page::before {
    content:"";
    position:absolute;
    width:440px;
    height:440px;
    top:-260px;
    right:-160px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(47,128,237,.12),transparent 70%);
    pointer-events:none;
}
.form-card,.admin-card,.pro-section-card,.client-request-card,.quote-card,.review-card {
    border-color:var(--line);
    border-radius:20px;
    box-shadow:var(--shadow-sm);
}
.form-card { padding:38px; }
.login-container .form-card { position:relative; overflow:hidden; }
.login-container .form-card::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,var(--brand-600),var(--accent-500)); }
.client-dashboard-head,.pro-page-heading,.admin-heading { margin-bottom:30px; }
.client-dashboard-head h1,.pro-page-heading h1,.admin-heading h1 { letter-spacing:-.04em; }
.client-stats article,.client-finance-metrics article,.client-payment-summary article,
.pro-metrics-grid article,.pro-finance-metrics article,.reputation-metrics article {
    border-color:var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow-xs);
}
.client-request-card,.pro-service-row,.pro-job-card { transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.client-request-card:hover,.pro-service-row:hover,.pro-job-card:hover { transform:translateY(-2px); border-color:#c7d9f7; box-shadow:var(--shadow-sm); }
.status-badge { border:1px solid rgba(15,23,42,.06); font-size:10px; letter-spacing:.02em; text-transform:uppercase; }
.alert { border-radius:13px; box-shadow:var(--shadow-xs); }

/* Painéis compartilhados */
.admin-body,.pro-app-body { background:#f3f6fb; }
.admin-top,.pro-app-topbar {
    height:78px;
    top:3px;
    padding:0 26px;
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.92);
    box-shadow:0 5px 22px rgba(7,18,37,.04);
    backdrop-filter:blur(16px);
}
.admin-top .brand-wordmark b,.pro-app-topbar .brand-wordmark b { font-size:15px; }
.admin-top .brand-mark,.pro-app-topbar .brand-mark { width:38px; height:38px; flex-basis:38px; border-radius:11px; }
.panel-title { display:grid; margin-left:8px; padding-left:14px; border-left:1px solid var(--line); }
.panel-title strong { font-size:12px; }
.panel-title span { color:var(--ink-500); font-size:10px; }
.admin-user,.pro-topbar-account { padding:7px 8px 7px 13px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.admin-user::before,.pro-topbar-account::before { content:""; width:30px; height:30px; border-radius:9px; background:linear-gradient(145deg,var(--brand-100),var(--brand-50)); }
.admin-user a,.pro-topbar-account a { padding:7px 10px; border-radius:8px; color:#b42318; background:#fff1f1; font-size:11px; }
.admin-shell,.pro-app-shell { grid-template-columns:258px minmax(0,1fr); min-height:calc(100vh - 78px); }
.admin-sidebar,.pro-app-sidebar {
    position:sticky;
    top:81px;
    height:calc(100vh - 81px);
    overflow:auto;
    padding:24px 16px;
    color:#d5dfec;
    background:linear-gradient(180deg,var(--brand-950),#091a34);
    border-right:1px solid rgba(255,255,255,.04);
}
.sidebar-section-label,.pro-sidebar-label { margin:7px 12px 8px; color:#6f87a6; font-size:9px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.admin-sidebar a,.pro-app-sidebar a {
    position:relative;
    display:flex;
    align-items:center;
    min-height:45px;
    padding:11px 13px;
    border-radius:12px;
    color:#aebed2;
    font-size:13px;
    font-weight:750;
}
.admin-sidebar a:hover,.pro-app-sidebar a:hover { color:#fff; background:rgba(255,255,255,.065); }
.admin-sidebar a.active,.pro-app-sidebar a.active { color:#fff; background:linear-gradient(90deg,rgba(47,128,237,.30),rgba(47,128,237,.12)); box-shadow:inset 0 0 0 1px rgba(121,173,255,.15); }
.admin-sidebar a.active::before,.pro-app-sidebar a.active::before { content:""; position:absolute; left:0; width:3px; height:21px; border-radius:0 4px 4px 0; background:#75aaff; }
.admin-main,.pro-app-main { padding:38px clamp(20px,3vw,46px) 55px; }
.admin-heading h1,.pro-page-heading h1 { font-size:clamp(30px,3.2vw,42px); }
.stat-card,.admin-card,.pro-section-card { border-radius:18px; box-shadow:var(--shadow-xs); }
.stat-card { position:relative; overflow:hidden; padding:23px; }
.stat-card::after { content:""; position:absolute; width:70px; height:70px; right:-30px; top:-30px; border-radius:50%; background:var(--brand-50); }
.stat-card strong { color:var(--brand-900); font-size:34px; }
.admin-card,.pro-section-card { padding:25px; }
.table-wrap { border:1px solid var(--line); border-radius:14px; }
table { background:#fff; }
th { padding:13px 15px; color:var(--ink-500); background:#f7f9fc; border-bottom:1px solid var(--line); font-size:10px; }
td { padding:15px; border-bottom-color:#edf1f6; }
tbody tr { transition:background .15s ease; }
tbody tr:hover { background:#f8fbff; }
tbody tr:last-child td { border-bottom:0; }
.table-link { color:var(--brand-700); }
.filter-bar,.reputation-filter,.finance-filter,.professional-filter { padding:14px; border:1px solid var(--line); border-radius:15px; background:#f8fafc; }
.timeline { border-left-color:#d8e0eb; }
.timeline-item::before { background:var(--brand-600); box-shadow:0 0 0 4px var(--brand-50); }
.empty-state { border:1px dashed var(--line-strong); border-radius:14px; background:#fafbfd; }
.pro-app-footer { color:#8090a7; background:#071225; border-top:1px solid rgba(255,255,255,.06); }

/* Reputação e financeiro */
.reputation-hero { border-radius:24px; }
.level-bg-premium { background:linear-gradient(135deg,var(--brand-600),var(--brand-950)); }
.finance-transaction-card,.review-admin-list article,.professional-review-list article,.reputation-history article,.badge-card { border-radius:15px; box-shadow:var(--shadow-xs); }
.finance-transaction-card:hover,.badge-card:hover { border-color:#c8d9f4; }
.reputation-score-ring { box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 18px 42px rgba(0,0,0,.17); }
.professional-directory-hero { position:relative; overflow:hidden; background:linear-gradient(120deg,var(--brand-950),var(--brand-700)); }
.professional-directory-hero::after { content:""; position:absolute; width:500px; height:500px; right:-220px; top:-250px; border-radius:50%; background:radial-gradient(circle,rgba(121,173,255,.27),transparent 68%); }
.public-professional-card { border-radius:20px; box-shadow:var(--shadow-sm); }

/* Animações discretas */
@keyframes cm-fade-up { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.hero-content,.hero-visual,.form-card,.admin-heading,.pro-page-heading { animation:cm-fade-up .45s ease both; }
.hero-visual { animation-delay:.08s; }

/* Responsividade geral */
@media(max-width:1180px) {
    .menu { gap:1px; }
    .menu a { padding:9px 7px; font-size:12px; }
    .nav-cta { padding-inline:13px; }
    .hero-layout { grid-template-columns:1fr .72fr; gap:35px; }
}
@media(max-width:1000px) {
    .nav-toggle,.panel-menu-toggle { display:grid; }
    .nav { position:relative; }
    .menu {
        position:fixed;
        z-index:1900;
        top:0;
        right:0;
        width:min(370px,88vw);
        height:100dvh;
        margin:0;
        padding:96px 22px 30px;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:5px;
        overflow:auto;
        background:#fff;
        box-shadow:-30px 0 70px rgba(7,18,37,.20);
        transform:translateX(105%);
        transition:transform .25s ease;
    }
    .menu a { padding:13px 14px; border:1px solid transparent; font-size:14px; }
    .menu a:hover { border-color:#d8e6fa; }
    body.nav-open { overflow:hidden; }
    body.nav-open .menu { transform:none; }
    .mobile-nav-backdrop { position:fixed; inset:0; z-index:1800; background:rgba(7,18,37,.52); backdrop-filter:blur(3px); }
    body.nav-open .mobile-nav-backdrop { display:block; }
    .nav-toggle { position:relative; z-index:1950; }
    .nav-cta { margin-left:auto; }
    .hero-layout { grid-template-columns:1fr; }
    .hero-visual { min-height:440px; margin-top:-70px; }
    .hero-content { padding-bottom:80px; }
    .admin-shell,.pro-app-shell { grid-template-columns:1fr; }
    .admin-sidebar,.pro-app-sidebar {
        position:fixed;
        z-index:1800;
        top:0;
        left:0;
        width:min(290px,86vw);
        height:100dvh;
        padding-top:95px;
        transform:translateX(-105%);
        transition:transform .24s ease;
        box-shadow:30px 0 70px rgba(7,18,37,.25);
    }
    body.panel-menu-open { overflow:hidden; }
    body.panel-menu-open .admin-sidebar,body.panel-menu-open .pro-app-sidebar { transform:none; }
    .panel-backdrop { position:fixed; inset:0; z-index:1700; background:rgba(7,18,37,.50); backdrop-filter:blur(3px); }
    body.panel-menu-open .panel-backdrop { display:block; }
    .panel-menu-toggle { position:relative; z-index:1900; }
    .admin-main,.pro-app-main { padding-top:30px; }
}
@media(max-width:760px) {
    body::before { height:2px; }
    .topbar { display:none; }
    .header { top:2px; min-height:70px; }
    .nav { min-height:70px; width:min(100% - 26px,1240px); }
    .brand-mark { width:38px; height:38px; flex-basis:38px; border-radius:11px; }
    .brand-wordmark b { font-size:14px; }
    .nav-cta { display:none; }
    .hero { min-height:auto; }
    .hero-content { padding:82px 0 70px; }
    .hero h1 { font-size:clamp(42px,13vw,60px); }
    .hero p { font-size:16px; }
    .hero-actions .btn { width:100%; }
    .hero-numbers { display:grid; grid-template-columns:1fr 1fr; }
    .hero-number:last-child { grid-column:1/-1; }
    .hero-visual { min-height:390px; margin-top:-35px; }
    .hero-dashboard { inset:58px 4px 42px; padding:19px; }
    .hero-visual::before { inset:25px 3px 18px 20px; }
    .hero-float-badge { right:2px; bottom:17px; }
    .section { padding:72px 0; }
    .form-card { padding:29px 20px; }
    .footer-grid { gap:32px; }
    .admin-top,.pro-app-topbar { height:70px; padding:0 13px; }
    .panel-title { display:none; }
    .admin-user::before,.pro-topbar-account::before { display:none; }
    .admin-user,.pro-topbar-account { padding:6px; border:0; background:transparent; }
    .admin-user span,.pro-topbar-account span { display:none; }
    .admin-main,.pro-app-main { padding:23px 13px 45px; }
    .admin-card,.pro-section-card { padding:20px 16px; }
    .stats-grid { gap:11px; }
    .stat-card { padding:18px; }
    .stat-card strong { font-size:28px; }
    .whatsapp { right:14px; bottom:14px; }
}
@media(max-width:520px) {
    .hero-dashboard-metrics { grid-template-columns:1fr 1fr; }
    .hero-dashboard-list div { grid-template-columns:34px 1fr; }
    .hero-dashboard-list em { grid-column:2; width:max-content; }
    .hero-numbers { grid-template-columns:1fr; }
    .hero-number:last-child { grid-column:auto; }
    .stats-grid { grid-template-columns:1fr; }
    .footer-bottom { gap:9px; }
}

/* =========================================================
   CORREÇÃO MOBILE 1 — MENU LATERAL E PAINÉIS
   Corrige o overlay acima do menu no Safari/iPhone e impede
   que as barras administrativas fiquem em linha horizontal.
   ========================================================= */

@media (max-width: 1000px) {
    /* O cabeçalho precisa ficar acima do backdrop para que o menu
       não seja escurecido ou desfocado no Safari do iPhone. */
    body.nav-open .header {
        z-index: 2100;
    }

    .mobile-nav-backdrop {
        z-index: 1800;
        background: rgba(7, 18, 37, 0.58);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .menu {
        z-index: 2150;
        width: min(360px, 86vw);
        max-width: calc(100vw - 34px);
        padding:
            max(92px, calc(env(safe-area-inset-top) + 74px))
            max(18px, env(safe-area-inset-right))
            max(28px, env(safe-area-inset-bottom))
            18px;
        color: var(--ink-950);
        background: #ffffff;
        border-left: 1px solid var(--line);
        border-radius: 24px 0 0 24px;
        box-shadow: -24px 0 65px rgba(7, 18, 37, 0.28);
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        isolation: isolate;
    }

    .menu a {
        min-height: 50px;
        display: flex;
        align-items: center;
        padding: 13px 15px;
        color: var(--ink-800);
        background: #f8fafc;
        border: 1px solid #edf1f6;
        border-radius: 13px;
        font-size: 14px;
        line-height: 1.25;
    }

    .menu a:hover,
    .menu a:focus-visible {
        color: var(--brand-700);
        background: var(--brand-50);
        border-color: #c7d9f7;
    }

    body.nav-open .nav-toggle {
        z-index: 2200;
        color: var(--ink-950);
        background: #ffffff;
        border-color: var(--line-strong);
        box-shadow: 0 10px 28px rgba(7, 18, 37, 0.16);
    }

    /* Corrige regras antigas que deixavam o menu do painel em linha. */
    .admin-sidebar,
    .pro-app-sidebar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        width: min(330px, 88vw);
        max-width: calc(100vw - 34px);
        padding:
            max(92px, calc(env(safe-area-inset-top) + 76px))
            16px
            max(26px, env(safe-area-inset-bottom));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .admin-sidebar a,
    .pro-app-sidebar a {
        width: 100%;
        flex: 0 0 auto;
        white-space: normal;
    }

    body.panel-menu-open .admin-top,
    body.panel-menu-open .pro-app-topbar {
        z-index: 1900;
    }

    body.panel-menu-open .panel-menu-toggle {
        z-index: 2200;
        background: #ffffff;
        box-shadow: 0 10px 28px rgba(7, 18, 37, 0.16);
    }

    .panel-backdrop {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(7, 18, 37, 0.58);
    }
}

@media (max-width: 520px) {
    .menu {
        width: min(340px, 88vw);
        border-radius: 20px 0 0 20px;
    }

    .admin-sidebar,
    .pro-app-sidebar {
        width: min(320px, 89vw);
    }
}

/* =========================================================
   MÓDULO 8 — ÁREA CORPORATIVA
   ========================================================= */
.company-app-topbar .brand-wordmark em{color:#8fc2ff}.company-page-heading p{max-width:760px}.company-metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.company-dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,.55fr)}
.corporate-auth-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:42px;align-items:start}.corporate-auth-intro{position:sticky;top:120px;padding:44px;border-radius:24px;color:#fff;background:linear-gradient(145deg,#071225,#113368 70%,#1766c2);box-shadow:0 28px 70px rgba(7,18,37,.22)}.corporate-auth-intro h1{font-size:clamp(36px,5vw,58px);line-height:1.03;letter-spacing:-.045em}.corporate-auth-intro p{margin:20px 0;color:#cfddf1;font-size:18px}.corporate-benefit-list{display:grid;gap:12px}.corporate-benefit-list span{padding:12px 14px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.06);font-weight:750}.corporate-register-card{max-width:none}
.company-call-list{display:grid;gap:11px}.company-call-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px;border:1px solid #dce5f0;border-radius:14px;background:#f9fbfe;transition:.2s}.company-call-row:hover{transform:translateY(-1px);border-color:#8bb8f4;background:#eff6ff}.company-call-row>div:first-child strong,.company-call-row>div:first-child span{display:block}.company-call-row>div:first-child span{margin-top:4px;color:#64748b;font-size:13px}.company-call-row>div:last-child{display:flex;align-items:center;gap:10px}.company-call-row small{color:#64748b}.company-plan-list,.company-month-list,.company-admin-list{display:grid;gap:10px;margin:14px 0}.company-plan-list>div,.company-month-list>div,.company-admin-list>div{padding:13px 14px;border:1px solid #e1e8f0;border-radius:12px;background:#f8fafc}.company-plan-list strong,.company-plan-list span,.company-plan-list small,.company-month-list span,.company-month-list strong,.company-month-list small,.company-admin-list strong,.company-admin-list span,.company-admin-list small{display:block}.company-plan-list span,.company-month-list small,.company-admin-list span,.company-admin-list small{color:#64748b;font-size:12px;margin-top:3px}.company-support-card p{color:#64748b;margin-bottom:16px}
.company-unit-grid,.company-contract-grid,.company-maintenance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.company-unit-card,.company-contract-card,.company-maintenance-card{padding:20px;border:1px solid #dce5f0;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 12px 34px rgba(15,23,42,.05)}.company-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.company-card-top>span:first-child,.company-unit-code{color:#1d4ed8;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.company-unit-card h3,.company-contract-card h3,.company-maintenance-card h3{font-size:21px;line-height:1.15}.company-unit-card>p,.company-contract-card>p,.company-maintenance-card>p{color:#64748b;margin:7px 0 16px}.company-card-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:15px 0;color:#64748b;font-size:12px}.company-maintenance-date{padding:15px;margin:14px 0;border-radius:13px;background:#eef6ff}.company-maintenance-date span,.company-maintenance-date strong{display:block}.company-maintenance-date span{font-size:12px;color:#64748b}.company-maintenance-date strong{font-size:25px;color:#0f3f86}.company-description-box{margin-top:18px;padding:16px;border:1px solid #dce5f0;border-radius:13px;background:#f8fafc}.company-description-box span{display:block;margin-bottom:6px;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.company-description-box p{color:#334155}.company-file-list{display:grid;gap:9px}.company-file-list a{display:block;padding:12px 13px;border:1px solid #dce5f0;border-radius:11px;background:#f8fafc}.company-file-list strong,.company-file-list span{display:block}.company-file-list span{margin-top:3px;color:#64748b;font-size:12px}.company-form-card{max-width:980px}.company-filter-bar{grid-template-columns:minmax(220px,1fr) minmax(220px,.75fr) auto;align-items:end}
.company-status-pending,.company-status-under_review{background:#fff7d6;color:#8a5a00}.company-status-approved{background:#dcfce7;color:#166534}.company-status-suspended,.company-status-rejected{background:#fee2e2;color:#991b1b}.contract-status-active,.maintenance-status-active{background:#dcfce7;color:#166534}.contract-status-draft{background:#e0e7ff;color:#3730a3}.contract-status-suspended,.maintenance-status-paused{background:#fef3c7;color:#92400e}.contract-status-expired,.contract-status-cancelled,.maintenance-status-completed,.maintenance-status-cancelled{background:#e2e8f0;color:#475569}.corporate-priority-normal{background:#e2e8f0;color:#475569}.corporate-priority-high{background:#ffedd5;color:#9a3412}.corporate-priority-critical{background:#fee2e2;color:#991b1b;box-shadow:0 0 0 2px rgba(220,38,38,.08)}
.company-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.company-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.company-admin-grid h3{margin-bottom:10px}.company-mini-row{padding:11px 0;border-bottom:1px solid #e7edf4}.company-mini-row strong,.company-mini-row span{display:block}.company-mini-row span{color:#64748b;font-size:12px;margin-top:2px}
.message-bubble.company{margin-left:auto;background:#eaf3ff;border-color:#bcd7fb}.success-panel{text-align:center}.success-icon{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#dcfce7;color:#166534;font-size:31px;font-weight:900}.protocol-box{display:inline-flex;padding:12px 18px;margin:16px 0 22px;border-radius:12px;background:#0f172a;color:#fff;font-size:18px;font-weight:900;letter-spacing:.04em}
.header .menu{gap:16px}
@media(max-width:1300px){.company-metrics-grid{grid-template-columns:repeat(3,1fr)}.corporate-auth-layout{grid-template-columns:1fr}.corporate-auth-intro{position:static}.header .menu{gap:11px;font-size:13px}.nav-cta{padding-left:16px;padding-right:16px}}
@media(max-width:1000px){.company-dashboard-grid{grid-template-columns:1fr}.company-unit-grid,.company-contract-grid,.company-maintenance-grid{grid-template-columns:1fr}.company-admin-grid{grid-template-columns:1fr}.company-filter-bar{grid-template-columns:1fr}.corporate-auth-layout{display:block}.corporate-auth-intro{margin-bottom:24px}.company-app-sidebar{display:flex;flex-direction:column}}
@media(max-width:700px){.company-metrics-grid,.company-admin-stats{grid-template-columns:1fr 1fr}.company-call-row{align-items:flex-start;flex-direction:column}.company-call-row>div:last-child{flex-wrap:wrap}.corporate-auth-intro{padding:28px 22px}.corporate-auth-intro h1{font-size:38px}.corporate-register-card{padding:23px 16px}.company-unit-card,.company-contract-card,.company-maintenance-card{padding:17px}.company-app-main{padding-left:13px;padding-right:13px}}

/* =========================================================
   MÓDULO 9 — NOTIFICAÇÕES E COMUNICAÇÃO
   ========================================================= */
.notification-bell{position:relative;min-width:44px;height:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(148,163,184,.28);border-radius:13px;background:rgba(255,255,255,.08);color:inherit;font-weight:800;transition:.2s ease}.notification-bell:hover{transform:translateY(-1px);background:rgba(255,255,255,.14)}.notification-bell-icon{width:18px;height:18px;display:grid;place-items:center;font-size:11px;border:2px solid currentColor;border-radius:50%}.notification-bell b{position:absolute;top:-7px;right:-7px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;color:#fff;background:#e5484d;border:2px solid #fff;border-radius:999px;font-size:10px;line-height:1}.notification-bell-text{font-size:13px}.public-notification-bell{color:var(--ink-950);background:#fff;border-color:var(--line);box-shadow:0 8px 22px rgba(7,18,37,.08)}.sidebar-count{float:right;min-width:22px;padding:2px 7px;border-radius:999px;background:#e5484d;color:#fff;font-size:11px;text-align:center}.notification-public-section{min-height:70vh}.notification-page-heading{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.notification-page-heading h1{margin:4px 0 8px;font-size:clamp(30px,4vw,46px);letter-spacing:-1.4px}.notification-page-heading p{max-width:760px;color:var(--ink-500)}.notification-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.notification-center-card,.notification-preferences-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm)}.notification-center-card{overflow:hidden}.notification-filter-bar{display:flex;gap:8px;padding:16px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.notification-filter-bar a{flex:0 0 auto;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink-500);background:#fff;font-size:12px;font-weight:800}.notification-filter-bar a.active,.notification-filter-bar a:hover{color:var(--brand-700);background:var(--brand-50);border-color:#bed2f5}.notification-list{display:grid}.notification-item{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) 10px;gap:14px;padding:20px;border-bottom:1px solid var(--line);background:#fff;transition:.2s ease}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:#f8fbff}.notification-item.unread{background:#f4f8ff}.notification-item.priority-critical{box-shadow:inset 4px 0 #d92d20}.notification-item.priority-high{box-shadow:inset 4px 0 #f79009}.notification-category-mark{width:12px;height:12px;margin-top:5px;border-radius:4px;background:#64748b}.category-request{background:#2563eb}.category-message{background:#7c3aed}.category-status{background:#0f9f6e}.category-dispatch{background:#0891b2}.category-finance{background:#16a34a}.category-reputation{background:#d97706}.category-account{background:#4f46e5}.category-deadline{background:#dc2626}.category-system{background:#475569}.notification-item-body{min-width:0;display:grid;gap:7px}.notification-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.notification-item-top strong{color:var(--ink-950);font-size:15px}.notification-item-top small{flex:0 0 auto;color:var(--ink-500);font-size:11px}.notification-message{color:var(--ink-800);font-size:14px;line-height:1.5}.notification-meta{color:var(--ink-500);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.35px}.notification-unread-dot{width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--brand-600);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.notification-preferences-card{position:sticky;top:96px;padding:24px}.notification-preferences-card h2{margin:5px 0 10px;font-size:24px}.notification-preferences-card>p{margin-bottom:20px;color:var(--ink-500);font-size:14px}.notification-preferences-form{display:grid;gap:14px}.notification-switch{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.notification-switch input{margin-top:4px;accent-color:var(--brand-600)}.notification-switch span{display:grid;gap:3px}.notification-switch strong{font-size:14px}.notification-switch small{color:var(--ink-500);font-size:12px}.notification-preference-subgroup{display:grid;gap:9px;padding:4px 4px 10px 30px;color:var(--ink-800);font-size:13px}.notification-preference-subgroup input{accent-color:var(--brand-600)}.inline-form{display:inline-flex}.stat-card-link{transition:.2s ease}.stat-card-link:hover{transform:translateY(-2px);border-color:#bfd2f3;box-shadow:var(--shadow-sm)}
@media(max-width:1000px){.notification-layout{grid-template-columns:1fr}.notification-preferences-card{position:static}.notification-bell-text{display:none}.admin-top .notification-bell,.pro-app-topbar .notification-bell{margin-left:auto}.notification-page-heading{flex-direction:column}.notification-page-heading .hero-actions{width:100%}}
@media(max-width:700px){.notification-item{padding:17px 14px;grid-template-columns:12px minmax(0,1fr) 8px;gap:10px}.notification-item-top{display:grid;gap:4px}.notification-filter-bar{padding:12px}.notification-preferences-card{padding:20px}.public-notification-bell{min-width:42px;padding:0}.notification-page-heading .hero-actions{display:grid;grid-template-columns:1fr}.notification-page-heading .hero-actions .btn,.notification-page-heading .hero-actions form,.notification-page-heading .hero-actions button{width:100%}}

/* =========================================================
   MÓDULO 10 — AGENDA, ROTAS E OPERAÇÃO EM CAMPO
   ========================================================= */
.field-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px}
.field-stat-grid article{display:grid;gap:7px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.field-stat-grid span{color:var(--ink-500);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.field-stat-grid strong{color:var(--ink-950);font-size:24px;line-height:1.1}
.field-filter-tabs{display:flex;gap:8px;margin:0 0 20px;padding:7px;border:1px solid var(--line);border-radius:16px;background:#fff;overflow-x:auto}
.field-filter-tabs a{min-width:max-content;padding:11px 17px;border-radius:11px;color:var(--ink-600);font-size:14px;font-weight:800}
.field-filter-tabs a.active{color:#fff;background:var(--brand-700);box-shadow:0 8px 20px rgba(29,78,216,.2)}
.field-agenda-list,.field-admin-board{display:grid;gap:14px}
.field-agenda-card{display:grid;grid-template-columns:92px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.field-agenda-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:20px 10px;color:#fff;background:linear-gradient(150deg,var(--ink-950),#17366f);text-align:center}
.field-agenda-date strong{font-size:34px;line-height:1}.field-agenda-date span{font-size:11px;font-weight:900;letter-spacing:.08em}.field-agenda-date small{color:#cbd9f5;font-weight:800}
.field-agenda-content{display:grid;gap:11px;padding:20px}.field-agenda-content h3,.field-admin-job h3{margin:0;font-size:19px}.field-agenda-content p{margin:0;color:var(--ink-600);font-size:14px}.field-address{color:var(--ink-500)!important}
.field-agenda-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.field-stage-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid #d9e2ef;border-radius:999px;color:#334155;background:#f8fafc;font-size:12px;font-weight:900;white-space:nowrap}
.stage-en-route,.stage-arrived{color:#075985;background:#e0f2fe;border-color:#bae6fd}.stage-checked-in{color:#166534;background:#dcfce7;border-color:#bbf7d0}.stage-in-progress{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.stage-paused{color:#92400e;background:#fef3c7;border-color:#fde68a}.stage-completion-requested,.stage-completed,.stage-checked-out{color:#166534;background:#ecfdf5;border-color:#a7f3d0}.stage-cancelled{color:#991b1b;background:#fee2e2;border-color:#fecaca}
.field-progress-card{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:0 0 24px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}
.field-progress-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-400);text-align:center;font-size:12px}
.field-progress-step:not(:last-child)::after{position:absolute;top:15px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;content:"";background:#e2e8f0}
.field-progress-step span{position:relative;z-index:1;width:32px;height:32px;display:grid;place-items:center;border:2px solid #dbe3ee;border-radius:50%;background:#fff;font-weight:900}
.field-progress-step.done,.field-progress-step.current{color:var(--ink-900)}.field-progress-step.done span{color:#fff;border-color:#16a34a;background:#16a34a}.field-progress-step.current span{color:#fff;border-color:var(--brand-600);background:var(--brand-600);box-shadow:0 0 0 5px rgba(37,99,235,.13)}.field-progress-step.done:not(:last-child)::after{background:#86efac}
.field-operation-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:22px;align-items:start}
.field-action-panel{border-color:#bfd2f3;background:linear-gradient(180deg,#fff,#f8fbff)}
.field-location-status{margin:-4px 0 18px;padding:11px 13px;border-radius:12px;color:var(--ink-500);background:#f1f5f9;font-size:13px}.field-location-status.ready{color:#166534;background:#ecfdf5}
.field-main-action,.field-dual-actions{display:grid;gap:14px}.field-dual-actions{grid-template-columns:1fr 1fr}.field-dual-actions form{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff}
.field-quick-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.field-checklist-columns,.field-checklist-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.field-checklist-card,.field-checklist-summary article{display:grid;align-content:start;gap:12px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}
.field-checklist-head>div:first-child{display:flex;justify-content:space-between;gap:12px}.field-checklist-head span{color:var(--ink-500);font-size:12px;font-weight:800}
.field-progress-bar{height:7px;margin-top:9px;overflow:hidden;border-radius:99px;background:#e2e8f0}.field-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-600),#22c55e)}
.field-check-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #e7edf4;color:var(--ink-700);font-size:13px;line-height:1.35}.field-check-item input{margin-top:2px;accent-color:var(--brand-600)}
.field-checklist-summary ul{display:grid;gap:7px;margin:0;padding:0;list-style:none;color:var(--ink-500);font-size:12px}.field-checklist-summary li.done{color:#166534;font-weight:700}
.field-timeline{display:grid;gap:0}.field-timeline-item{display:grid;grid-template-columns:17px minmax(0,1fr);gap:12px;position:relative;padding:0 0 21px}.field-timeline-item:not(:last-child)::before{position:absolute;top:14px;bottom:-2px;left:5px;width:2px;content:"";background:#dbe4ef}.field-timeline-item>i{position:relative;z-index:1;width:12px;height:12px;margin-top:4px;border:3px solid #bfdbfe;border-radius:50%;background:var(--brand-600)}
.field-timeline-item>div{display:grid;gap:4px}.field-timeline-item strong{font-size:14px}.field-timeline-item span{color:var(--ink-500);font-size:11px}.field-timeline-item p{margin:3px 0 0;color:var(--ink-600);font-size:13px}.field-timeline-item a{color:var(--brand-700);font-size:12px;font-weight:800}
.field-timeline-wide{grid-template-columns:1fr}.field-filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end}.field-action-bottom{align-self:end}
.field-live-indicator{display:inline-flex;align-items:center;gap:7px;color:#166534;font-size:12px;font-weight:900}.field-live-indicator i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.13);animation:fieldPulse 1.8s infinite}
@keyframes fieldPulse{0%,100%{opacity:1}50%{opacity:.45}}
.field-admin-job{display:grid;grid-template-columns:90px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff}.field-admin-time{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:18px 10px;color:#fff;background:var(--ink-950)}.field-admin-time strong{font-size:25px}.field-admin-time span{color:#b9c8e4;font-size:10px;font-weight:800;text-align:center}.field-admin-job-main{display:grid;gap:12px;padding:18px}.field-admin-meta{display:flex;flex-wrap:wrap;gap:9px 20px;color:var(--ink-500);font-size:12px}.field-admin-meta strong{color:var(--ink-800)}
@media(max-width:1000px){.field-stat-grid{grid-template-columns:repeat(2,1fr)}.field-operation-grid{grid-template-columns:1fr}.field-checklist-columns,.field-checklist-summary{grid-template-columns:1fr}.field-filter-form{grid-template-columns:1fr 1fr}.field-action-bottom{grid-column:1/-1}.field-dual-actions{grid-template-columns:1fr}}
@media(max-width:700px){.field-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.field-stat-grid article{padding:16px}.field-stat-grid strong{font-size:19px}.field-progress-card{grid-template-columns:repeat(6,94px);overflow-x:auto;justify-content:start}.field-progress-step:not(:last-child)::after{right:-52px}.field-agenda-card,.field-admin-job{grid-template-columns:1fr}.field-agenda-date,.field-admin-time{min-height:74px;flex-direction:row;gap:10px}.field-agenda-date strong{font-size:27px}.field-agenda-top{display:grid}.field-stage-badge{justify-self:start}.field-filter-form{grid-template-columns:1fr}.field-quick-links,.field-quick-links .btn{width:100%}.field-admin-meta{display:grid;gap:6px}}

/* =========================================================
   MÓDULO 11 — DOCUMENTOS DIGITAIS
   ========================================================= */
.document-admin-layout,.document-view-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}
.digital-document{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-md);overflow:hidden;color:var(--ink-900)}
.digital-document-head{display:flex;justify-content:space-between;gap:24px;padding:28px 32px;background:linear-gradient(135deg,#0b1730,#17345f);color:#fff}
.digital-document-brand{display:flex;align-items:center;gap:13px}.digital-document-brand .brand-mark{background:#fff;color:#12325c}.digital-document-brand div{display:grid}.digital-document-brand strong{font-size:18px}.digital-document-brand small{color:#c8d6e8}
.digital-document-identity{text-align:right;display:grid}.digital-document-identity span{color:#8fc5ff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.digital-document-identity strong{font-size:19px}.digital-document-identity small{color:#c8d6e8}
.digital-document-title{display:flex;justify-content:space-between;gap:22px;align-items:start;padding:32px;border-bottom:1px solid var(--line)}.digital-document-title h1{font-size:clamp(28px,4vw,42px);line-height:1.08;margin:5px 0 9px}.digital-document-title p{color:var(--ink-500)}
.document-status{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.document-status-neutral{background:#eef2f7;color:#43536a}.document-status-warning{background:#fff1cf;color:#805b00}.document-status-success{background:#dff7ea;color:#17643b}.document-status-danger{background:#ffe5e5;color:#982f2f}
.digital-document-parties{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.digital-document-parties>div{padding:22px;background:#f8fafc;display:grid;gap:4px}.digital-document-parties span,.digital-document-section h2,.document-warranty-period span,.digital-document-footer span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-weight:800}.digital-document-parties strong{font-size:15px}.digital-document-parties small{color:var(--ink-500)}
.digital-document-section{padding:28px 32px;border-bottom:1px solid var(--line)}.digital-document-section h2{margin-bottom:16px;color:var(--brand-700);font-size:13px}.document-prose{line-height:1.75;color:var(--ink-700)}
.document-table-wrap{overflow-x:auto}.document-items-table{width:100%;border-collapse:collapse}.document-items-table th,.document-items-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.document-items-table th{background:#f7f9fc;color:var(--ink-600);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.document-items-table th:nth-child(n+2),.document-items-table td:nth-child(n+2){text-align:right}
.document-totals{width:min(390px,100%);margin:20px 0 0 auto;display:grid;gap:9px}.document-totals>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.document-totals .grand-total{border-top:2px solid var(--ink-900);font-size:20px;padding-top:15px}
.warranty-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.document-warranty-period{margin:24px 32px;padding:20px;border-radius:15px;background:var(--brand-50);display:grid;gap:5px}.document-warranty-period strong{font-size:18px}
.digital-signature-box{margin:24px 32px;padding:20px;border:1px solid #b5d9c5;background:#f1fbf5;border-radius:15px;display:flex;justify-content:space-between;gap:20px;align-items:center}.digital-signature-box>div{display:grid;gap:3px}.digital-signature-box span{color:#227247;font-size:12px;font-weight:800;text-transform:uppercase}.digital-signature-box code{background:#fff;padding:9px 12px;border-radius:9px;font-size:12px}
.digital-document-footer{display:flex;justify-content:space-between;gap:24px;padding:24px 32px;background:#f7f9fc}.digital-document-footer>div{display:grid;gap:3px}.digital-document-footer small{color:var(--ink-500)}
.document-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.document-library-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;gap:18px;transition:.2s ease}.document-library-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#bcd0ed}.document-library-card>div{display:grid;gap:5px}.document-library-card>div:last-child{text-align:right;justify-items:end}.document-library-card span:not(.document-status){font-size:12px;color:var(--brand-700);font-weight:800;text-transform:uppercase}.document-library-card p,.document-library-card small{color:var(--ink-500)}
.document-action-stack{display:grid;gap:10px}.verification-code{display:block;margin:16px 0;font-family:monospace;letter-spacing:.1em;font-size:18px;color:var(--brand-700)}
.document-request-banner{background:var(--brand-50);border:1px solid #cce0ff;border-radius:14px;padding:17px;display:grid;gap:4px}.document-request-banner a{color:var(--brand-700);font-weight:700}
.compact-grid{grid-template-columns:1.2fr 1fr .8fr}.document-items-editor{display:grid;gap:10px;margin-top:12px}.document-item-editor{display:grid;grid-template-columns:34px minmax(220px,1fr) 85px 85px 125px 115px 34px;gap:8px;align-items:center}.document-item-editor input{width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:10px}.document-item-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--brand-50);color:var(--brand-700);font-weight:800}.document-item-editor strong{text-align:right}.document-remove-item{width:32px;height:32px;border:0;border-radius:9px;background:#fee;color:#a33;font-size:21px;cursor:pointer}.document-editor-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:14px;font-size:20px}.document-editor-total strong{font-size:25px}.document-visibility-options{display:flex;flex-wrap:wrap;gap:10px}.document-visibility-options label{padding:11px 14px;background:#f7f9fc;border:1px solid var(--line);border-radius:11px}
.document-request-actions{justify-content:flex-start;margin:0 0 20px}.verification-page{max-width:850px}.verification-card{max-width:620px;margin:0 auto}.verification-result{margin:24px auto 0;max-width:760px}.verification-result.verified{display:grid;grid-template-columns:70px 1fr;gap:20px}.verification-result.verified .detail-grid,.verification-note{grid-column:1/-1}.verification-seal{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#dff7ea;color:#17643b;font-size:32px;font-weight:900}.verification-note{color:var(--ink-500);font-size:14px}
.document-print-body{background:#e9edf3;padding:30px}.document-print-toolbar{max-width:1000px;margin:0 auto 16px;display:flex;gap:10px;justify-content:flex-end}.document-print-toolbar button{border:0;border-radius:9px;padding:10px 15px;background:#0b1730;color:#fff;font-weight:700;cursor:pointer}.digital-document-print{max-width:1000px;margin:0 auto;border-radius:0;box-shadow:none}
@media print{.document-print-body{background:#fff;padding:0}.document-print-toolbar{display:none}.digital-document-print{border:0;max-width:none}.digital-document{box-shadow:none}.digital-document-section{break-inside:avoid}.digital-document-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media(max-width:1000px){.document-admin-layout,.document-view-layout{grid-template-columns:1fr}.document-library-grid{grid-template-columns:1fr}.document-item-editor{grid-template-columns:30px minmax(160px,1fr) 70px 70px 110px 100px 32px}}
@media(max-width:700px){.digital-document-head,.digital-document-title,.digital-document-footer{padding:22px;flex-direction:column}.digital-document-identity{text-align:left}.digital-document-parties{grid-template-columns:1fr}.digital-document-section{padding:22px}.warranty-grid{grid-template-columns:1fr}.digital-signature-box{margin:18px 20px;flex-direction:column;align-items:flex-start}.document-warranty-period{margin:18px 20px}.document-library-card{flex-direction:column}.document-library-card>div:last-child{text-align:left;justify-items:start}.compact-grid{grid-template-columns:1fr}.document-item-editor{grid-template-columns:30px 1fr 32px;background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:10px}.document-item-editor input:nth-of-type(1){grid-column:2}.document-item-editor input:nth-of-type(2),.document-item-editor input:nth-of-type(3),.document-item-editor input:nth-of-type(4),.document-item-editor strong{grid-column:2}.document-remove-item{grid-column:3;grid-row:1}.document-print-body{padding:0}.document-print-toolbar{padding:10px}}
/* =========================================================
   MÓDULO 12 — ACESSIBILIDADE E INDICADORES
   ========================================================= */

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 99999;
    padding: 12px 16px;
    color: #ffffff;
    background: #071225;
    border: 2px solid #ffffff;
    border-radius: 10px;
    font-weight: 800;
    box-shadow: 0 10px 30px rgba(7,18,37,.28);
    transform: translateY(-160%);
    transition: transform .18s ease;
}

.skip-link:focus {
    transform: translateY(0);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid #f5a623;
    outline-offset: 3px;
}

main[tabindex="-1"]:focus {
    outline: none;
}

.section-dark .eyebrow {
    color: #b9d4ff;
}

.footer .brand-wordmark b {
    color: #ffffff;
}

.footer a {
    color: #c2d0e2;
}

.footer .footer-heading {
    margin-bottom: 16px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.whatsapp {
    color: #ffffff;
    background: #0b6b36;
    box-shadow: 0 16px 36px rgba(7,82,40,.30);
}

.whatsapp:hover,
.whatsapp:focus-visible {
    color: #ffffff;
    background: #07532a;
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Indicadores */
.analytics-heading {
    align-items: flex-end;
}

.analytics-filter-card {
    margin-bottom: 28px;
}

.analytics-filter {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr auto;
    gap: 14px;
    align-items: end;
}

.analytics-filter label,
.analytics-goals-form label {
    display: grid;
    gap: 7px;
}

.analytics-filter label > span,
.analytics-goals-form label > span {
    color: var(--ink-600);
    font-size: 12px;
    font-weight: 800;
}

.analytics-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 32px 0 18px;
}

.analytics-section-head h2 {
    margin-top: 4px;
    font-size: clamp(25px,3vw,34px);
    letter-spacing: -.035em;
}

.analytics-period-chip {
    padding: 8px 12px;
    color: #17427f;
    background: #e7f0ff;
    border: 1px solid #bfd4f5;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.analytics-metric-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
}

.analytics-metric-card {
    min-width: 0;
    padding: 22px;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow-sm);
}

.analytics-metric-card > span {
    display: block;
    color: var(--ink-600);
    font-size: 12px;
    font-weight: 800;
}

.analytics-metric-card > strong {
    display: block;
    margin: 8px 0 5px;
    color: var(--brand-950);
    font-size: clamp(25px,2.8vw,35px);
    line-height: 1.08;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
}

.analytics-metric-card > small {
    color: var(--ink-500);
    font-size: 11px;
}

.analytics-delta.up { color: #08753b; }
.analytics-delta.down { color: #b42318; }
.analytics-delta.neutral { color: var(--ink-500); }

.analytics-two-columns {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
    gap: 20px;
    margin-top: 20px;
}

.analytics-chart {
    height: 280px;
    display: grid;
    grid-template-columns: repeat(6,minmax(45px,1fr));
    align-items: end;
    gap: 12px;
    padding: 20px 8px 0;
    border-bottom: 1px solid var(--line);
}

.analytics-chart-column {
    min-width: 0;
    display: grid;
    gap: 6px;
    text-align: center;
}

.analytics-chart-bars {
    height: 210px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 5px;
}

.analytics-bar {
    width: min(22px,42%);
    height: var(--bar-height);
    min-height: 4px;
    border-radius: 7px 7px 2px 2px;
}

.analytics-bar.requests,
.analytics-legend i.requests {
    background: #1f6feb;
}

.analytics-bar.completed,
.analytics-legend i.completed {
    background: #0b7a4b;
}

.analytics-chart-column strong {
    color: var(--ink-800);
    font-size: 11px;
}

.analytics-chart-column small {
    color: var(--ink-500);
    font-size: 10px;
}

.analytics-legend {
    display: flex;
    gap: 18px;
    margin-top: 16px;
    color: var(--ink-600);
    font-size: 11px;
    font-weight: 800;
}

.analytics-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.analytics-legend i {
    width: 10px;
    height: 10px;
    border-radius: 3px;
}

.analytics-revenue-list,
.analytics-status-list {
    display: grid;
    gap: 16px;
}

.analytics-revenue-row,
.analytics-status-list > div {
    display: grid;
    grid-template-columns: 58px minmax(80px,1fr) minmax(100px,auto);
    align-items: center;
    gap: 12px;
}

.analytics-revenue-row > span,
.analytics-status-list > div > span {
    color: var(--ink-600);
    font-size: 11px;
    font-weight: 800;
}

.analytics-revenue-row > strong,
.analytics-status-list > div > strong {
    color: var(--brand-950);
    font-size: 12px;
    text-align: right;
}

.analytics-progress-track {
    height: 10px;
    overflow: hidden;
    background: #e8edf5;
    border-radius: 999px;
}

.analytics-progress-track i {
    width: var(--progress-width);
    height: 100%;
    display: block;
    background: #1f6feb;
    border-radius: inherit;
}

.analytics-funnel {
    display: grid;
    gap: 9px;
    margin-bottom: 24px;
}

.analytics-funnel > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
}

.analytics-funnel dt {
    color: var(--ink-600);
    font-size: 12px;
    font-weight: 700;
}

.analytics-funnel dd {
    color: var(--brand-950);
    font-weight: 900;
}

.analytics-goal-row {
    display: grid;
    grid-template-columns: minmax(130px,1fr) minmax(130px,2fr) 65px;
    align-items: center;
    gap: 12px;
    margin-top: 13px;
}

.analytics-goal-row > span,
.analytics-goal-row > strong {
    color: var(--ink-700);
    font-size: 11px;
    font-weight: 800;
}

.analytics-goal-row > strong {
    text-align: right;
}

.analytics-goal-row progress {
    width: 100%;
    height: 12px;
    accent-color: #0b7a4b;
}

.analytics-goal-row progress.danger {
    accent-color: #b42318;
}

.analytics-health-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.analytics-health-grid article {
    padding: 16px;
    background: var(--surface-soft);
    border: 1px solid var(--line);
    border-radius: 14px;
}

.analytics-health-grid span {
    display: block;
    color: var(--ink-600);
    font-size: 11px;
    font-weight: 800;
}

.analytics-health-grid strong {
    display: block;
    margin-top: 6px;
    color: var(--brand-950);
    font-size: 26px;
}

.analytics-recommendations {
    display: grid;
    gap: 12px;
}

.analytics-recommendations article {
    padding: 16px;
    border: 1px solid var(--line);
    border-left-width: 5px;
    border-radius: 14px;
}

.analytics-recommendations article.success {
    background: #f0fdf4;
    border-left-color: #08753b;
}

.analytics-recommendations article.warning {
    background: #fffbeb;
    border-left-color: #b54708;
}

.analytics-recommendations article.danger {
    background: #fff1f0;
    border-left-color: #b42318;
}

.analytics-recommendations h3 {
    margin-bottom: 5px;
    color: var(--brand-950);
    font-size: 15px;
}

.analytics-recommendations p {
    color: var(--ink-600);
    font-size: 12px;
}

.analytics-goals-form {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
    align-items: end;
}

.analytics-goals-form .btn {
    min-height: 48px;
}

@media (max-width: 1180px) {
    .analytics-metric-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 850px) {
    .analytics-filter,
    .analytics-goals-form {
        grid-template-columns: 1fr 1fr;
    }

    .analytics-two-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .analytics-metric-grid,
    .analytics-filter,
    .analytics-goals-form,
    .analytics-health-grid {
        grid-template-columns: 1fr;
    }

    .analytics-section-head,
    .analytics-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .analytics-chart {
        height: 245px;
        gap: 5px;
        padding-inline: 0;
    }

    .analytics-chart-bars {
        height: 175px;
    }

    .analytics-bar {
        width: min(15px,45%);
    }

    .analytics-revenue-row,
    .analytics-status-list > div {
        grid-template-columns: 52px minmax(70px,1fr) 92px;
        gap: 8px;
    }

    .analytics-goal-row {
        grid-template-columns: 1fr 62px;
    }

    .analytics-goal-row progress {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   MÓDULO 13 — SEGURANÇA, AUDITORIA E PRIVACIDADE
   ========================================================= */
.security-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.security-metric-grid article{padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}.security-metric-grid span{display:block;color:var(--ink-600);font-size:12px;font-weight:800}.security-metric-grid strong{display:block;margin-top:8px;color:var(--brand-950);font-size:34px;line-height:1}.security-event-list{display:grid;gap:10px;max-height:620px;overflow:auto}.security-event-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid #8090a8;border-radius:13px}.security-event-list article.success{border-left-color:#08753b}.security-event-list article.warning{border-left-color:#b54708}.security-event-list article.danger,.security-event-list article.critical{border-left-color:#b42318}.security-event-list article>div{display:grid;gap:3px}.security-event-list strong{color:var(--brand-950);font-size:13px}.security-event-list span,.security-event-list small{color:var(--ink-600);font-size:11px}.inline-security-form{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(160px,1fr) auto;gap:8px;align-items:center;min-width:440px}.inline-security-form .btn{min-height:40px;padding:8px 12px}.security-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}.security-settings-grid label{display:grid;gap:7px}.security-settings-grid label span{color:var(--ink-600);font-size:12px;font-weight:800}.danger-link{color:#b42318!important}.privacy-center{width:min(1180px,92%);margin:0 auto;padding:56px 0 80px}.legal-page{max-width:900px}.legal-page>h1{margin:8px 0 4px;font-size:clamp(38px,6vw,64px);letter-spacing:-.05em}.legal-updated{margin-bottom:34px;color:var(--ink-500)}.legal-page section{padding:22px 0;border-top:1px solid var(--line)}.legal-page section h2{margin-bottom:9px;font-size:23px}.legal-page section p{color:var(--ink-650);line-height:1.75}.alert.info{color:#17427f;background:#eaf2ff;border-color:#bdd4f7}@media(max-width:1000px){.security-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.security-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.security-metric-grid,.security-settings-grid{grid-template-columns:1fr}.security-event-list article{align-items:flex-start;flex-direction:column}.privacy-center{padding-top:32px}.inline-security-form{grid-template-columns:1fr;min-width:260px}}
/* =========================================================
   MÓDULO 14 — CONFIGURAÇÕES E PERSONALIZAÇÃO
   ========================================================= */

.platform-maintenance-banner {
    position: relative;
    z-index: 999;
    padding: 10px 5%;
    color: #fff7d6;
    background: #7a4b00;
    border-bottom: 1px solid rgba(255,255,255,.22);
    text-align: center;
    font-size: 13px;
}

.platform-maintenance-banner strong {
    color: #ffffff;
}

.settings-page-heading {
    align-items: flex-end;
}

.settings-layout {
    display: grid;
    grid-template-columns: 310px minmax(0,1fr);
    gap: 22px;
    align-items: start;
}

.settings-nav {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 6px;
    padding: 12px;
}

.settings-nav > a {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    gap: 11px;
    align-items: start;
    padding: 13px;
    color: var(--ink-700);
    border: 1px solid transparent;
    border-radius: 13px;
    transition: .18s ease;
}

.settings-nav > a > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    color: var(--brand-700);
    background: var(--brand-50);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 900;
}

.settings-nav > a div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.settings-nav > a strong {
    color: var(--ink-900);
    font-size: 13px;
}

.settings-nav > a small {
    color: var(--ink-500);
    font-size: 10px;
    line-height: 1.35;
}

.settings-nav > a:hover,
.settings-nav > a.active {
    color: var(--brand-700);
    background: var(--brand-50);
    border-color: #bfd4f5;
}

.settings-main {
    min-width: 0;
    display: grid;
    gap: 20px;
}

.settings-form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
}

.settings-field {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.settings-field.wide,
.settings-switch.wide,
.settings-actions.wide {
    grid-column: 1 / -1;
}

.settings-field > span {
    color: var(--ink-700);
    font-size: 12px;
    font-weight: 800;
}

.settings-field > small {
    color: var(--ink-500);
    font-size: 10px;
}

.settings-switch {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 14px;
}

.settings-switch input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex: 0 0 auto;
}

.settings-switch > span {
    display: grid;
    gap: 3px;
}

.settings-switch strong {
    color: var(--ink-900);
    font-size: 13px;
}

.settings-switch small {
    color: var(--ink-500);
    font-size: 11px;
}

.settings-color-field {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr);
    gap: 10px;
    align-items: center;
}

.settings-color-field input[type="color"] {
    width: 72px;
    height: 48px;
    padding: 4px;
    border-radius: 11px;
    cursor: pointer;
}

.settings-color-field code {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    color: var(--ink-800);
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 11px;
}

.settings-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 4px;
}

.settings-history {
    display: grid;
}

.settings-history article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.settings-history article:last-child {
    border-bottom: 0;
}

.settings-history article > div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.settings-history strong {
    color: var(--ink-900);
    font-size: 13px;
}

.settings-history small {
    color: var(--ink-500);
    font-size: 10px;
}

.settings-history article > span {
    flex: 0 0 auto;
    padding: 6px 9px;
    color: #17427f;
    background: #e7f0ff;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

@media (max-width: 1050px) {
    .settings-layout {
        grid-template-columns: 1fr;
    }

    .settings-nav {
        position: static;
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 720px) {
    .settings-page-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .settings-nav {
        grid-template-columns: 1fr;
    }

    .settings-form {
        grid-template-columns: 1fr;
    }

    .settings-field.wide,
    .settings-switch.wide,
    .settings-actions.wide {
        grid-column: auto;
    }

    .settings-actions {
        display: grid;
    }

    .settings-actions .btn {
        width: 100%;
    }
}
/* =========================================================
   MÓDULO 15 — PREPARAÇÃO PARA LANÇAMENTO
   ========================================================= */

.launch-heading { align-items:flex-end; }

.launch-score-card {
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:28px;
    align-items:center;
    margin-bottom:30px;
    padding:30px;
    background:linear-gradient(135deg,#071225,#102a55);
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    box-shadow:0 22px 60px rgba(7,18,37,.22);
    color:#fff;
}

.launch-score-card .eyebrow { color:#b9d4ff; }
.launch-score-card h2 { margin:5px 0 9px;font-size:clamp(26px,3.6vw,40px);line-height:1.08;letter-spacing:-.04em; }
.launch-score-card p { max-width:780px;color:#cbd8e9; }

.launch-score-ring {
    --score:0;
    position:relative;
    width:132px;
    height:132px;
    display:grid;
    place-items:center;
    align-content:center;
    background:
        radial-gradient(circle at center,#0d2143 0 56%,transparent 57%),
        conic-gradient(#2f80ed calc(var(--score)*1%),rgba(255,255,255,.14) 0);
    border-radius:50%;
}

.launch-score-ring strong { font-size:42px;line-height:1;letter-spacing:-.06em; }
.launch-score-ring span { color:#b9c9dc;font-size:12px;font-weight:800; }
.launch-score-card.ready .launch-score-ring { background:radial-gradient(circle at center,#0d2143 0 56%,transparent 57%),conic-gradient(#16a36b calc(var(--score)*1%),rgba(255,255,255,.14) 0); }
.launch-score-card.attention .launch-score-ring { background:radial-gradient(circle at center,#0d2143 0 56%,transparent 57%),conic-gradient(#e6a700 calc(var(--score)*1%),rgba(255,255,255,.14) 0); }
.launch-score-card.blocked .launch-score-ring { background:radial-gradient(circle at center,#0d2143 0 56%,transparent 57%),conic-gradient(#dc3545 calc(var(--score)*1%),rgba(255,255,255,.14) 0); }

.launch-check-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.launch-check {
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:12px;
    padding:18px;
    background:#fff;
    border:1px solid var(--line);
    border-left:5px solid #94a3b8;
    border-radius:16px;
    box-shadow:var(--shadow-sm);
}

.launch-check.ok { border-left-color:#08753b; }
.launch-check.warning { border-left-color:#b76e00; }
.launch-check.error { border-left-color:#b42318; }

.launch-check-icon {
    width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef2f7;color:#344054;font-weight:900;
}
.launch-check.ok .launch-check-icon { background:#eaf8ef;color:#08753b; }
.launch-check.warning .launch-check-icon { background:#fff5df;color:#995800; }
.launch-check.error .launch-check-icon { background:#fff0ef;color:#b42318; }

.launch-check h3 { margin-bottom:4px;color:var(--brand-950);font-size:14px; }
.launch-check p { color:var(--ink-600);font-size:11px;line-height:1.45; }

.launch-definition-list { display:grid;gap:0;margin:18px 0; }
.launch-definition-list > div { display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line); }
.launch-definition-list dt { color:var(--ink-600);font-size:11px;font-weight:800; }
.launch-definition-list dd { max-width:65%;color:var(--ink-900);font-size:11px;font-weight:800;text-align:right;overflow-wrap:anywhere; }

.launch-mini-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0; }
.launch-mini-stats article { padding:14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:13px; }
.launch-mini-stats span { display:block;color:var(--ink-500);font-size:10px;font-weight:800; }
.launch-mini-stats strong { display:block;margin-top:5px;color:var(--brand-950);font-size:24px; }

.launch-action-stack { display:grid;gap:14px;margin-top:18px; }
.launch-inline-form { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end; }
.launch-inline-form label { display:grid;gap:6px; }
.launch-inline-form label span { color:var(--ink-600);font-size:11px;font-weight:800; }

.launch-backup-list { display:grid; }
.launch-backup-list article { display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line); }
.launch-backup-list article:last-child { border-bottom:0; }
.launch-backup-list article > div:first-child { min-width:0;display:grid;gap:4px; }
.launch-backup-list strong { color:var(--ink-900);font-size:12px;overflow-wrap:anywhere; }
.launch-backup-list small { color:var(--ink-500);font-size:10px; }
.launch-backup-list form { margin:0; }
.danger-link { color:#b42318!important;background:none;border:0;cursor:pointer;font:inherit; }

.launch-command { display:grid;gap:7px;margin-top:16px; }
.launch-command span { color:var(--ink-700);font-size:11px;font-weight:800; }
.launch-command textarea { font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;resize:none; }

.launch-cron-history { display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line); }
.launch-cron-history article { display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 11px;background:var(--surface-soft);border-radius:10px; }
.launch-cron-history strong,.launch-cron-history span,.launch-cron-history small { font-size:10px; }
.launch-cron-history span { color:var(--brand-700);font-weight:800; }

.launch-error-list { display:grid;gap:14px; }
.launch-error-list article { padding:18px;background:#fff;border:1px solid var(--line);border-left:5px solid #b42318;border-radius:15px; }
.launch-error-head { display:flex;justify-content:space-between;gap:16px;align-items:center; }
.launch-error-head > div { display:flex;gap:9px;align-items:center; }
.launch-error-list h2 { margin:13px 0;color:var(--brand-950);font-size:16px;line-height:1.35; }
.launch-error-list dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px; }
.launch-error-list dl > div { padding:10px;background:var(--surface-soft);border-radius:10px; }
.launch-error-list dt { color:var(--ink-500);font-size:9px;font-weight:800;text-transform:uppercase; }
.launch-error-list dd { margin-top:3px;color:var(--ink-700);font-size:10px;overflow-wrap:anywhere; }

@media(max-width:1100px){
    .launch-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:700px){
    .launch-heading{align-items:flex-start;flex-direction:column;}
    .launch-score-card{grid-template-columns:1fr;text-align:center;}
    .launch-score-ring{margin:auto;}
    .launch-check-grid{grid-template-columns:1fr;}
    .launch-inline-form{grid-template-columns:1fr;}
    .launch-backup-list article{align-items:flex-start;flex-direction:column;}
    .launch-error-list dl{grid-template-columns:1fr;}
    .launch-mini-stats{grid-template-columns:1fr;}
}
