/* Overrides e customizações que o Bootstrap não cobre */

/* Login */
.cal-login-logo {
    font-size: 2rem;
    color: #0d6efd;
}

.cal-login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1a1a1a;
    padding: 1.5rem;
}


.cal-login-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: .25rem;
}

.cal-login-back {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: .875rem;
    color: #0d6efd;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    margin-top: .75rem;
}

.cal-login-back:hover {
    text-decoration: underline;
}

/* Classes legadas mantidas durante a migração — removidas passo a passo */

/* Wrapper principal */
div.master {
    padding: 1rem;
}

div.master .subtitle {
    font-size: 1.1rem;
    font-weight: 600;
    padding: .75rem 0;
    border-top: 1px solid #dee2e6;
    margin-bottom: .5rem;
}

div.master .subtitle span {
    font-size: .875rem;
    font-weight: 400;
    color: #6c757d;
}

/* Formulários legados */
div.master .form {
    padding: 1rem;
    border: 1px solid #dee2e6;
    background: #fff;
    margin-bottom: 1rem;
    border-radius: .375rem;
}

div.master .form .label {
    font-weight: 600;
    text-align: right;
    padding-right: .5rem;
    vertical-align: middle;
    white-space: nowrap;
}

div.master .form .right {
    text-align: right;
}

div.master .form .sample {
    color: #6c757d;
    font-style: italic;
    font-size: .875rem;
}

div.master .form textarea,
div.master .form select {
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    padding: .5rem .75rem;
    font-size: 1rem;
    background: #fff;
}

div.master .form input[type='text'],
div.master .form input[type='password'],
div.master .form input[type='file'] {
    border: 1px solid #ced4da;
    border-radius: .375rem;
    padding: .5rem .75rem;
    font-size: 1rem;
    background: #fff;
}

div.master .form input[type='checkbox'] {
    width: 1.25rem;
    height: 1.25rem;
    cursor: pointer;
    vertical-align: middle;
}

/* Botões legados */
div.master .form .button {
    display: inline-block;
    padding: .5rem 1.25rem;
    background-color: #0d6efd;
    color: #fff;
    border: 1px solid #0d6efd;
    border-radius: .375rem;
    cursor: pointer;
    font-size: .875rem;
    text-transform: uppercase;
    text-decoration: none;
}

div.master .form .button_gray {
    display: inline-block;
    padding: .5rem 1.25rem;
    background-color: #6c757d;
    color: #fff;
    border: 1px solid #6c757d;
    border-radius: .375rem;
    cursor: pointer;
    font-size: .875rem;
    text-transform: uppercase;
    text-decoration: none;
}

/* Ferramentas de paginação */
div.master .tools {
    padding: .5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}

div.master .tools .page {
    display: flex;
    gap: .5rem;
    align-items: center;
    flex-wrap: wrap;
}

div.master .tools .count {
    color: #6c757d;
    font-size: .875rem;
}

/* Tabelas legadas */
div.master .table {
    overflow-x: auto;
    padding: .5rem 0;
}

div.master .table table {
    width: 100%;
    border-collapse: collapse;
}

div.master .table table,
div.master .table td,
div.master .table th {
    border: 1px solid #dee2e6;
    text-align: center;
}

div.master .table th {
    background: #f8f9fa;
    font-weight: 600;
    padding: .5rem;
}

div.master .table td {
    padding: .4rem .6rem;
    font-size: .875rem;
}

div.master .table td.align-left {
    text-align: left;
}

/* Submenus legados */
div.submenu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: .75rem;
    flex-wrap: wrap;
    gap: .5rem;
}

div.submenu .a {
    display: flex;
    align-items: center;
    gap: .5rem;
}

div.submenu .b {
    text-align: right;
}

/* Mensagens legadas */
div.message .content {
    padding: .75rem 0;
}

div.message .alert {
    background-color: #fff3cd;
    border: 1px solid #ffc107;
    padding: .75rem 1rem;
    border-radius: .375rem;
    text-align: center;
    margin-bottom: .5rem;
}

div.message .error {
    background-color: #f8d7da;
    border: 1px solid #f5c2c7;
    padding: .75rem 1rem;
    border-radius: .375rem;
    text-align: center;
    margin-bottom: .5rem;
}
