.container{

    width:min(1200px,92%);

    margin:auto;

}

.topbar{

    background:var(--surface);

    box-shadow:var(--shadow);

    border-bottom:1px solid var(--border);

    margin-bottom:40px;

}

.topbar .container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:18px 0;

}

.logo{

    color:var(--primary);

    font-size:1.4rem;

    font-weight:700;

}

nav{

    display:flex;

    gap:24px;

}

nav a{

    color:var(--text-light);

    transition:.25s;

}

nav a:hover{

    color:var(--primary);

}

main{

    padding-bottom:60px;

}

/* ==================================
   FOOTER
================================== */

.footer{

    margin-top:60px;

    padding:20px 0;

    text-align:center;

    color:var(--text-light);

    border-top:1px solid var(--border);

}

/* ==================================
   FORMULÁRIOS
================================== */

.form-card{

    padding:30px;

}

.form-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:8px;

    font-weight:600;

    color:var(--text);

}

.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    padding:12px 14px;

    border:1px solid var(--border);

    border-radius:10px;

    background:var(--surface);

    color:var(--text);

    font-size:.95rem;

    transition:
        border-color .25s,
        box-shadow .25s;

}

.form-group textarea{

    resize:vertical;

    min-height:140px;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(103,80,164,.15);

}

.form-group select{

    cursor:pointer;

}

.form-actions{

    display:flex;

    justify-content:flex-end;

    gap:16px;

    margin-top:30px;

}

.form-divider{

    margin:30px 0;

    border:none;

    border-top:1px solid var(--border);

}

.required{

    color:#dc2626;

}

@media(max-width:900px){

    .form-grid{

        grid-template-columns:1fr;

    }

    .form-actions{

        flex-direction:column;

        align-items:stretch;

    }

}