/* Minhas Raizes - entrada publica clean v1.1 */
:root{color-scheme:light dark}
body{
    --mr-orange:#f28c28;
    --mr-orange-soft:#fff5e9;
    --mr-teal:#278b82;
    --mr-teal-dark:#1f706a;
    --mr-teal-soft:#edf7f5;
    --mr-ink:#183540;
    --mr-muted:#70838a;
    --mr-border:#dfe7e3;
    --mr-paper:#ffffff;
    --mr-bg:#f7f9f7;
}
html[data-theme="dark"] body{
    --mr-orange-soft:#36291c;
    --mr-teal-soft:#1b302e;
    --mr-ink:#edf5f3;
    --mr-muted:#a6b7b4;
    --mr-border:#31413f;
    --mr-paper:#172221;
    --mr-bg:#101817;
}

.brand-mark.brand-mark-logo{
    width:56px;height:56px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;
}
.brand-mark.brand-mark-logo img{width:56px;height:56px;object-fit:contain;display:block}
.public-topbar .brand strong{font-size:16px;letter-spacing:-.015em}
.public-topbar .brand small{font-size:11px}
.public-topbar{box-shadow:0 1px 0 rgba(20,48,52,.03)}
.topbar-inner{height:76px}

/* Botões mais leves e menos grosseiros */
.btn,.link-button,.theme-button{
    height:40px;
    min-height:40px;
    border-radius:10px;
    font-size:13px;
    font-weight:650;
    padding:0 15px;
    letter-spacing:0;
    box-shadow:none!important;
}
.btn.primary{
    background:var(--mr-teal);
    color:#fff;
    border:1px solid var(--mr-teal);
}
.btn.primary:hover{background:var(--mr-teal-dark);border-color:var(--mr-teal-dark);transform:translateY(-1px)}
.btn.ghost,.link-button,.theme-button{
    background:color-mix(in srgb,var(--mr-paper) 94%,transparent);
    border:1px solid var(--mr-border);
    color:var(--mr-ink);
}
.btn.ghost:hover,.link-button:hover,.theme-button:hover{background:var(--mr-teal-soft);border-color:color-mix(in srgb,var(--mr-teal) 28%,var(--mr-border));transform:none}
.theme-button{width:40px;padding:0}
.btn:focus-visible,.link-button:focus-visible,.theme-button:focus-visible{outline:3px solid color-mix(in srgb,var(--mr-teal) 22%,transparent);outline-offset:2px}

.request-entry-page{max-width:1040px;padding-top:42px}
.request-heading-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.62fr);gap:34px;align-items:end;margin-bottom:24px}
.request-entry-page .form-intro{margin:0}
.request-entry-page .form-intro h1{font-size:clamp(38px,5vw,54px);line-height:1.02;margin:9px 0 12px;letter-spacing:-.045em}
.request-entry-page .form-intro p{max-width:720px;font-size:16px;line-height:1.6;margin:0;color:var(--mr-muted)}
.request-help{padding:17px 18px;border:1px solid #f0d5b0;border-radius:16px;background:var(--mr-orange-soft);color:var(--mr-ink)}
.request-help strong{font-size:14px;display:block;margin-bottom:5px}
.request-help p{font-size:12.5px;line-height:1.5;margin:0;color:color-mix(in srgb,var(--mr-ink) 72%,var(--mr-muted))}

.request-stepper{margin:0 0 12px;gap:7px}
.request-stepper span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 10px;border-radius:12px;font-size:12px;background:var(--mr-paper);border-color:var(--mr-border)}
.request-stepper span b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;font-size:10px;background:var(--surface-2);color:var(--muted)}
.request-stepper span.active{background:var(--mr-teal-soft);color:var(--mr-teal);border-color:color-mix(in srgb,var(--mr-teal) 30%,var(--mr-border))}
.request-stepper span.active b{background:var(--mr-teal);color:#fff}

.clean-wizard{border-radius:20px;padding:28px 30px;box-shadow:0 12px 38px rgba(25,55,62,.06)}
.clean-wizard .section-heading.compact{margin-bottom:20px}
.clean-wizard .section-heading.compact>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mr-teal);font-weight:750}
.clean-wizard .section-heading.compact h2{font-size:27px;margin-top:5px;letter-spacing:-.03em}
.clean-wizard input,.clean-wizard textarea,.clean-wizard select{border-radius:11px;background:color-mix(in srgb,var(--mr-paper) 56%,var(--surface-2));min-height:44px;border-color:var(--mr-border)}
.clean-wizard input:focus,.clean-wizard textarea:focus,.clean-wizard select:focus{background:var(--mr-paper);border-color:color-mix(in srgb,var(--mr-teal) 55%,var(--mr-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--mr-teal) 9%,transparent)}
.clean-wizard .radio-grid label{border-radius:14px;padding:16px;background:color-mix(in srgb,var(--mr-paper) 44%,var(--surface-2));box-shadow:none}
.clean-wizard .radio-grid label:has(input:checked){background:var(--mr-teal-soft);border-color:color-mix(in srgb,var(--mr-teal) 34%,var(--mr-border));box-shadow:none}
.clean-wizard .upload-box,.clean-wizard .review-box{border-radius:14px}
.clean-actions{justify-content:space-between;padding-top:18px;margin-top:24px}
.clean-actions .wizard-actions-end{display:flex;gap:9px;margin-left:auto}
.clean-actions [data-prev][disabled]{visibility:hidden}
.clean-actions [hidden]{display:none!important}
.privacy-note{text-align:center;color:var(--mr-muted);font-size:11.5px;line-height:1.5;margin:18px auto 0;max-width:680px}
.compact-footer{padding:25px 0;margin-top:12px}
.compact-footer .footer-grid{font-size:12px}

/* Area interna: logo e comandos visuais mais consistentes */
.sidebar .brand-mark.brand-mark-logo{width:48px;height:48px}
.sidebar .brand-mark.brand-mark-logo img{width:48px;height:48px}
.sidebar .brand-copy strong{font-size:14px}
.sidebar .brand-copy small{font-size:10px}
.admin-body .btn{height:38px;border-radius:9px;padding:0 13px;font-size:12.5px}
.admin-body button:not(.theme-button):not(.mobile-menu):not(.task-toggle){border-radius:9px}

.clean-login-card{border-radius:20px;box-shadow:0 16px 45px rgba(25,55,62,.08)}
.clean-login-card .brand-mark.brand-mark-logo{width:64px;height:64px}
.clean-login-card .brand-mark.brand-mark-logo img{width:64px;height:64px}

@media(max-width:820px){
    .request-heading-grid{grid-template-columns:1fr;gap:16px;align-items:start}
    .request-help{max-width:none}
    .request-entry-page{padding-top:30px}
    .clean-wizard{padding:22px}
    .request-stepper{display:flex;overflow:auto;padding-bottom:3px}
    .request-stepper span{min-width:132px;flex:none}
}
@media(max-width:520px){
    .brand-mark.brand-mark-logo,.brand-mark.brand-mark-logo img{width:48px;height:48px}
    .topbar-inner{height:68px}
    .request-entry-page .form-intro h1{font-size:38px}
    .clean-wizard{padding:18px;border-radius:16px}
    .clean-wizard .section-heading.compact h2{font-size:23px}
    .clean-actions{align-items:stretch}
    .clean-actions .wizard-actions-end{width:100%;margin-left:0}
    .clean-actions .wizard-actions-end .btn{flex:1}
}


/* =========================================================
   MINHAS RAIZES — TIPOGRAFIA GRANDE v3
   Aplicado no CSS efetivamente carregado pela pagina publica
   ========================================================= */

/* CABECALHO */

.public-topbar .brand strong{
    font-size:20px !important;
}

.public-topbar .brand small{
    font-size:14px !important;
}

.brand-mark.brand-mark-logo{
    width:64px !important;
    height:64px !important;
}

.brand-mark.brand-mark-logo img{
    width:64px !important;
    height:64px !important;
}

.topbar-inner{
    height:88px !important;
}


/* CABECALHO DO REQUERIMENTO */

.request-entry-page{
    max-width:1100px !important;
}

.request-entry-page .form-intro .eyebrow{
    font-size:15px !important;
    line-height:1.4 !important;
}

.request-entry-page .form-intro h1{
    font-size:62px !important;
    line-height:1.04 !important;
    margin:12px 0 16px !important;
}

.request-entry-page .form-intro p{
    font-size:21px !important;
    line-height:1.65 !important;
}


/* CAIXA DE AJUDA */

.request-help{
    padding:22px 22px !important;
}

.request-help strong{
    font-size:19px !important;
    line-height:1.4 !important;
}

.request-help p{
    font-size:17px !important;
    line-height:1.6 !important;
}


/* ETAPAS SUPERIORES */

.request-stepper span{
    min-height:54px !important;
    padding:12px 14px !important;
    font-size:17px !important;
}

.request-stepper span b{
    width:27px !important;
    height:27px !important;
    font-size:13px !important;
}


/* CARD PRINCIPAL */

.clean-wizard{
    padding:36px 36px !important;
}


/* ETAPA X DE 5 */

.clean-wizard .section-heading.compact > span{
    font-size:14px !important;
    line-height:1.4 !important;
}


/* TITULO DA PERGUNTA */

.clean-wizard .section-heading.compact h2{
    font-size:38px !important;
    line-height:1.18 !important;
    margin-top:8px !important;
}


/* CARDS DE ESCOLHA */

.clean-wizard .radio-grid{
    gap:16px !important;
}

.clean-wizard .radio-grid label{
    padding:22px 20px !important;
    min-height:178px !important;
}

.clean-wizard .radio-grid input{
    width:20px !important;
    height:20px !important;
    margin-bottom:20px !important;
}

.clean-wizard .radio-grid strong{
    font-size:20px !important;
    line-height:1.4 !important;
}

.clean-wizard .radio-grid small{
    font-size:16px !important;
    line-height:1.6 !important;
    margin-top:8px !important;
}


/* LABELS DOS CAMPOS */

.clean-wizard .form-grid label{
    font-size:18px !important;
    line-height:1.45 !important;
}


/* CAMPOS */

.clean-wizard input:not([type="radio"]):not([type="checkbox"]),
.clean-wizard textarea,
.clean-wizard select{
    font-size:19px !important;
    min-height:56px !important;
    padding:15px 16px !important;
}


/* TEXTAREAS */

.clean-wizard textarea{
    line-height:1.55 !important;
}


/* DOCUMENTOS */

.clean-wizard .upload-box strong{
    font-size:21px !important;
}

.clean-wizard .upload-box p{
    font-size:17px !important;
    line-height:1.6 !important;
}

.clean-wizard .helper{
    font-size:16px !important;
    line-height:1.6 !important;
}


/* REVISAO */

.clean-wizard .review-box p{
    font-size:17px !important;
    line-height:1.65 !important;
}

.clean-wizard .check-row{
    font-size:17px !important;
    line-height:1.6 !important;
}


/* BOTOES */

.clean-actions .btn{
    font-size:16px !important;
    height:46px !important;
    min-height:46px !important;
    padding:0 20px !important;
}


/* TEXTO DE PRIVACIDADE */

.privacy-note{
    font-size:15px !important;
    line-height:1.6 !important;
    max-width:760px !important;
}


/* RODAPE */

.compact-footer .footer-grid{
    font-size:15px !important;
}

.compact-footer strong{
    font-size:16px !important;
}

.footer-right{
    font-size:14px !important;
}


/* TABLET */

@media(max-width:820px){

    .request-entry-page .form-intro h1{
        font-size:48px !important;
    }

    .request-entry-page .form-intro p{
        font-size:19px !important;
    }

    .request-help strong{
        font-size:18px !important;
    }

    .request-help p{
        font-size:16px !important;
    }

    .clean-wizard .section-heading.compact h2{
        font-size:33px !important;
    }

    .request-stepper span{
        font-size:15px !important;
    }
}


/* CELULAR */

@media(max-width:520px){

    .request-entry-page .form-intro h1{
        font-size:40px !important;
    }

    .request-entry-page .form-intro p{
        font-size:18px !important;
    }

    .clean-wizard .section-heading.compact h2{
        font-size:30px !important;
    }

    .clean-wizard .radio-grid label{
        min-height:auto !important;
    }

    .clean-wizard .radio-grid strong{
        font-size:19px !important;
    }

    .clean-wizard .radio-grid small{
        font-size:16px !important;
    }

    .clean-wizard .form-grid label{
        font-size:17px !important;
    }

    .clean-wizard input:not([type="radio"]):not([type="checkbox"]),
    .clean-wizard textarea,
    .clean-wizard select{
        font-size:17px !important;
    }
}



/* =========================================================
   MINHAS RAIZES
   TIPOGRAFIA GRANDE + LEVE v4
   ========================================================= */

/*
 * Mantém o tamanho maior já aprovado,
 * mas reduz o peso visual.
 */

.request-entry-page,
.request-entry-page input,
.request-entry-page textarea,
.request-entry-page select,
.request-entry-page button{
    font-family:
        "Segoe UI Variable",
        "Segoe UI",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        Arial,
        sans-serif !important;
}


/* ---------------------------------------------------------
   CABECALHO
   --------------------------------------------------------- */

.public-topbar .brand strong{
    font-weight:600 !important;
    letter-spacing:-.015em !important;
}

.public-topbar .brand small{
    font-weight:400 !important;
}


/* ---------------------------------------------------------
   TITULO PRINCIPAL
   Mantemos grande, mas tiramos o aspecto "bold pesado"
   --------------------------------------------------------- */

.request-entry-page .form-intro .eyebrow{
    font-weight:650 !important;
}

.request-entry-page .form-intro h1{
    font-size:62px !important;
    font-weight:600 !important;
    letter-spacing:-.045em !important;
    line-height:1.04 !important;
}

.request-entry-page .form-intro p{
    font-size:21px !important;
    font-weight:400 !important;
    line-height:1.65 !important;
    letter-spacing:-.005em !important;
}


/* ---------------------------------------------------------
   CAIXA DE ORIENTACAO
   --------------------------------------------------------- */

.request-help strong{
    font-size:19px !important;
    font-weight:600 !important;
    letter-spacing:-.01em !important;
}

.request-help p{
    font-size:17px !important;
    font-weight:400 !important;
    line-height:1.62 !important;
}


/* ---------------------------------------------------------
   ETAPAS
   --------------------------------------------------------- */

.request-stepper span{
    font-size:17px !important;
    font-weight:400 !important;
}

.request-stepper span.active{
    font-weight:550 !important;
}

.request-stepper span b{
    font-weight:600 !important;
}


/* ---------------------------------------------------------
   "ETAPA 1 DE 5"
   --------------------------------------------------------- */

.clean-wizard .section-heading.compact > span{
    font-weight:650 !important;
}


/* ---------------------------------------------------------
   PERGUNTA PRINCIPAL
   --------------------------------------------------------- */

.clean-wizard .section-heading.compact h2{
    font-size:38px !important;
    font-weight:600 !important;
    letter-spacing:-.035em !important;
    line-height:1.15 !important;
}


/* ---------------------------------------------------------
   OPCOES
   --------------------------------------------------------- */

.clean-wizard .radio-grid strong{
    font-size:20px !important;
    font-weight:600 !important;
    letter-spacing:-.015em !important;
    line-height:1.42 !important;
}

.clean-wizard .radio-grid small{
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.62 !important;
}


/* ---------------------------------------------------------
   LABELS
   --------------------------------------------------------- */

.clean-wizard .form-grid label{
    font-size:18px !important;
    font-weight:600 !important;
    letter-spacing:-.01em !important;
}


/* ---------------------------------------------------------
   CAMPOS
   --------------------------------------------------------- */

.clean-wizard input:not([type="radio"]):not([type="checkbox"]),
.clean-wizard textarea,
.clean-wizard select{
    font-size:19px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}


/* ---------------------------------------------------------
   UPLOAD
   --------------------------------------------------------- */

.clean-wizard .upload-box strong{
    font-size:21px !important;
    font-weight:600 !important;
}

.clean-wizard .upload-box p,
.clean-wizard .helper{
    font-weight:400 !important;
}


/* ---------------------------------------------------------
   REVISAO
   --------------------------------------------------------- */

.clean-wizard .review-box p{
    font-weight:400 !important;
}

.clean-wizard .check-row{
    font-weight:400 !important;
}


/* ---------------------------------------------------------
   BOTAO
   --------------------------------------------------------- */

.clean-actions .btn{
    font-size:16px !important;
    font-weight:600 !important;
    letter-spacing:-.005em !important;
}


/* ---------------------------------------------------------
   PRIVACIDADE
   --------------------------------------------------------- */

.privacy-note{
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.65 !important;
}


/* ---------------------------------------------------------
   RODAPE
   --------------------------------------------------------- */

.compact-footer{
    font-weight:400 !important;
}

.compact-footer strong{
    font-weight:600 !important;
}

.footer-right{
    font-weight:400 !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media(max-width:820px){

    .request-entry-page .form-intro h1{
        font-size:48px !important;
        font-weight:600 !important;
    }

    .clean-wizard .section-heading.compact h2{
        font-size:33px !important;
        font-weight:600 !important;
    }
}


/* ---------------------------------------------------------
   CELULAR
   --------------------------------------------------------- */

@media(max-width:520px){

    .request-entry-page .form-intro h1{
        font-size:40px !important;
        font-weight:600 !important;
    }

    .clean-wizard .section-heading.compact h2{
        font-size:30px !important;
        font-weight:600 !important;
    }

    .clean-wizard .radio-grid strong{
        font-weight:600 !important;
    }

    .clean-wizard .form-grid label{
        font-weight:600 !important;
    }
}

