/*
 * AtendeCidadão — Monte Sião · página de cadastro (cidadão / empresa).
 * Página autônoma (fora do layout do GLPI). Mesma identidade da tela de login.
 */
:root{
    --ms-azul:#0048a8; --ms-azul-esc:#012a63; --ms-azul-prof:#001b45; --ms-ciano:#0090c0;
    --ms-verde:#00a848; --ms-ouro:#ffd800; --ms-tinta:#12293f; --ms-cinza:#5a6b7d;
    --ms-borda:#dbe5f0; --ms-erro:#c0392b; --ms-bg:#eef3f9;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.ms-reg{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--ms-tinta); background:var(--ms-bg); line-height:1.5;
    -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.ms-req{color:var(--ms-azul);font-weight:700}
.ms-accent{color:var(--ms-ouro)}

.ms-reg__grid{display:grid;grid-template-columns:minmax(340px,1fr) minmax(0,1.35fr);min-height:100vh}
@media (max-width:920px){ .ms-reg__grid{grid-template-columns:1fr} }

/* ---------------- HERO ---------------- */
.ms-reg__hero{
    position:relative;isolation:isolate;overflow:hidden;
    display:flex;flex-direction:column;gap:1.4rem;
    padding:2.6rem 2.4rem;color:#fff;
    background:linear-gradient(150deg,var(--ms-azul-prof) 0%,var(--ms-azul-esc) 42%,var(--ms-azul) 80%,var(--ms-ciano) 130%);
}
@media (min-width:921px){ .ms-reg__hero{position:sticky;top:0;height:100vh;justify-content:center} }
.ms-reg__hero::before{content:"";position:absolute;inset:0;z-index:-2;opacity:.10;
    background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.6) 0 2px,transparent 2px 9px),
        repeating-linear-gradient(-45deg,rgba(255,255,255,.6) 0 2px,transparent 2px 9px);
    background-size:13px 13px;mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 70%)}
.ms-reg__hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:120px;z-index:-1;
    background:no-repeat bottom / cover url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 130' preserveAspectRatio='none'%3E%3Cpath fill='%23ffffff' fill-opacity='0.06' d='M0 90 L70 55 L140 85 L210 40 L290 78 L360 44 L440 82 L520 52 L600 84 L600 130 L0 130 Z'/%3E%3Cpath fill='%23ffffff' fill-opacity='0.05' d='M0 108 L90 78 L170 100 L250 70 L340 98 L430 72 L520 96 L600 74 L600 130 L0 130 Z'/%3E%3C/svg%3E")}
.ms-reg__back{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.8);
    text-decoration:none;font-size:.9rem;font-weight:600;width:max-content}
.ms-reg__back:hover{color:#fff}
.ms-reg__back svg{width:18px;height:18px}
.ms-reg__logo{width:min(300px,72%);height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}
.ms-reg__htitle{margin:0;font-size:1.85rem;font-weight:800;line-height:1.14;letter-spacing:-.01em;text-wrap:balance}
.ms-reg__hsub{margin:0;color:rgba(255,255,255,.85);font-size:1.02rem;max-width:38ch}
.ms-reg__switch{margin-top:.4rem;font-size:.92rem;color:rgba(255,255,255,.8)}
.ms-reg__switch a{color:#fff;font-weight:700;text-decoration:none;margin-left:.4rem}
.ms-reg__switch a:hover{text-decoration:underline}

/* ---------------- PAINEL / FORM ---------------- */
.ms-reg__panel{padding:2.6rem clamp(1.4rem,4vw,3rem);max-width:820px;width:100%}
.ms-reg__head h2{margin:0 0 .2rem;font-size:1.55rem;font-weight:800;color:var(--ms-tinta)}
.ms-reg__head p{margin:0 0 1.4rem;color:var(--ms-cinza);font-size:.92rem}

.ms-fs{border:1px solid var(--ms-borda);border-radius:14px;padding:1.2rem 1.3rem 1.35rem;margin:0 0 1.3rem;background:#fff}
.ms-fs legend{padding:0 .5rem;margin-left:-.3rem;font-weight:700;font-size:.86rem;letter-spacing:.04em;
    text-transform:uppercase;color:var(--ms-azul)}

.ms-field{display:flex;flex-direction:column;margin-bottom:.9rem}
.ms-field:last-child{margin-bottom:0}
.ms-field label{font-weight:600;font-size:.85rem;color:var(--ms-tinta);margin-bottom:.35rem}
.ms-field input{
    border:1.5px solid var(--ms-borda);border-radius:10px;padding:.65rem .8rem;font-size:.98rem;
    background:#fbfcfe;transition:border-color .15s,box-shadow .15s,background .15s;font-family:inherit;color:var(--ms-tinta)}
.ms-field input:hover{border-color:#c3d1e2}
.ms-field input:focus{border-color:var(--ms-azul);background:#fff;box-shadow:0 0 0 4px rgba(0,72,168,.13);outline:none}
.ms-field input[readonly]{background:#eef3f9;color:var(--ms-cinza)}
.ms-field input.ms-invalid{border-color:var(--ms-erro);box-shadow:0 0 0 4px rgba(192,57,43,.12)}
.ms-field input.ms-valid{border-color:var(--ms-verde)}
.ms-hint{margin:.35rem 0 0;font-size:.8rem;color:var(--ms-cinza)}
.ms-hint.ms-hint--erro{color:var(--ms-erro)}
.ms-hint.ms-hint--ok{color:var(--ms-verde)}

.ms-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ms-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.9rem}
.ms-grid-cep{display:grid;grid-template-columns:180px 1fr;gap:.9rem}
.ms-grid-mun{display:grid;grid-template-columns:1fr 90px;gap:.9rem}
@media (max-width:560px){
    .ms-grid2,.ms-grid3,.ms-grid-cep,.ms-grid-mun{grid-template-columns:1fr}
}
.ms-inline{display:flex;gap:.6rem}
.ms-inline input{flex:1}

.ms-check{display:flex;gap:.7rem;align-items:flex-start;margin:0 0 1.4rem;font-size:.9rem;color:var(--ms-tinta);cursor:pointer}
.ms-check input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--ms-azul);flex:none}

.ms-actions{display:flex;justify-content:flex-end;gap:.8rem;flex-wrap:wrap}
.ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
    padding:.72rem 1.4rem;border-radius:11px;font-weight:700;font-size:.98rem;font-family:inherit;
    text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .15s,box-shadow .2s,filter .2s,background .2s}
.ms-btn--primary{background:linear-gradient(135deg,var(--ms-azul),var(--ms-ciano));color:#fff;
    box-shadow:0 12px 22px -12px rgba(0,72,168,.7)}
.ms-btn--primary:hover{transform:translateY(-2px);filter:brightness(1.05)}
.ms-btn--ghost{background:#fff;border-color:var(--ms-borda);color:var(--ms-tinta)}
.ms-btn--ghost:hover{border-color:var(--ms-azul);color:var(--ms-azul)}
.ms-btn:focus-visible{outline:3px solid var(--ms-ouro);outline-offset:2px}

.ms-alert{background:#fdecea;border:1px solid #f5b7b1;color:#922b21;border-radius:12px;padding:.9rem 1.1rem;margin:0 0 1.3rem}
.ms-alert ul{margin:.4rem 0 0;padding-left:1.1rem}
.ms-alert li{margin:.15rem 0}

.ms-reg__foot{margin-top:1.6rem;color:#9aa8b6;font-size:.8rem;text-align:center}

/* sucesso */
.ms-ok{max-width:460px;margin:3rem auto;text-align:center;background:#fff;border:1px solid var(--ms-borda);
    border-radius:18px;padding:2.4rem 2rem;box-shadow:0 24px 50px -30px rgba(2,26,64,.4)}
.ms-ok__icon{width:64px;height:64px;border-radius:50%;margin:0 auto 1.1rem;display:grid;place-items:center;
    background:color-mix(in srgb,var(--ms-verde) 16%,#fff);color:var(--ms-verde)}
.ms-ok__icon svg{width:32px;height:32px}
.ms-ok h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--ms-tinta)}
.ms-ok p{margin:0 0 1.5rem;color:var(--ms-cinza)}

@media (prefers-reduced-motion:reduce){ *{transition:none!important} }
