/* Teachers portal control theme — inputs, buttons, pagination, DataTables
   controls follow the authentication page palette (green #0f6a51 family).
   Scoped to .content-wrapper so the login page keeps its own styling. */

:root {
    --teacher-control-height: 42px;
    --teacher-control-padding-x: 14px;
    --teacher-control-radius: 12px;
}

/* inputs */
.content-wrapper .form-control {
    height: var(--teacher-control-height);
    min-height: var(--teacher-control-height);
    padding: 9px var(--teacher-control-padding-x);
    border: 1px solid #d8e8e0;
    border-radius: var(--teacher-control-radius);
    background: #fbfdfc;
    box-shadow: none;
    color: #183b31;
    line-height: 1.35;
}
.content-wrapper .form-control:focus {
    border-color: #1a7b5d;
    box-shadow: 0 0 0 3px rgba(26, 123, 93, 0.10);
}
.content-wrapper select.form-control {
    padding-top: 0;
    padding-bottom: 0;
}
.content-wrapper textarea.form-control,
.content-wrapper select[multiple].form-control {
    height: auto;
    min-height: 96px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.content-wrapper .input-group .form-control {
    height: var(--teacher-control-height);
    min-height: var(--teacher-control-height);
}
.content-wrapper .input-group:not(.date) .form-control:first-child,
.content-wrapper .input-group .form-control:first-child {
    border-radius: var(--teacher-control-radius) 0 0 var(--teacher-control-radius);
}
.content-wrapper .input-group .form-control:last-child {
    border-radius: 0 var(--teacher-control-radius) var(--teacher-control-radius) 0;
}
.content-wrapper .input-group-addon {
    min-width: var(--teacher-control-height);
    height: var(--teacher-control-height);
    padding: 0 14px;
    border: 1px solid #d8e8e0;
    background: #eef7f2;
    color: #0f6a51;
    border-radius: 0 var(--teacher-control-radius) var(--teacher-control-radius) 0;
    line-height: calc(var(--teacher-control-height) - 2px);
}
.content-wrapper .input-group-addon:first-child {
    border-radius: var(--teacher-control-radius) 0 0 var(--teacher-control-radius);
}
.content-wrapper .input-group-btn > .btn {
    height: var(--teacher-control-height);
    min-height: var(--teacher-control-height);
    padding-top: 0;
    padding-bottom: 0;
    border-radius: 0 var(--teacher-control-radius) var(--teacher-control-radius) 0;
    display: inline-flex;
    align-items: center;
}
.content-wrapper .input-group-btn:first-child > .btn {
    border-radius: var(--teacher-control-radius) 0 0 var(--teacher-control-radius);
}
.content-wrapper .input-group-btn + .form-control,
.content-wrapper .input-group-addon + .form-control {
    border-radius: 0 var(--teacher-control-radius) var(--teacher-control-radius) 0;
}
.content-wrapper .form-group .select2-container {
    width: 100% !important;
}
.content-wrapper .select2-container .select2-selection--single {
    height: var(--teacher-control-height) !important;
    border: 1px solid #d8e8e0 !important;
    border-radius: var(--teacher-control-radius) !important;
    background: #fbfdfc !important;
}
.content-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered,
.content-wrapper .select2-container--classic .select2-selection--single .select2-selection__rendered {
    height: var(--teacher-control-height) !important;
    line-height: var(--teacher-control-height) !important;
    padding-left: var(--teacher-control-padding-x) !important;
    padding-right: 38px !important;
    color: #183b31 !important;
}
.content-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow,
.content-wrapper .select2-container--classic .select2-selection--single .select2-selection__arrow {
    height: var(--teacher-control-height) !important;
    right: 8px !important;
}
.content-wrapper .select2-container--default .select2-selection--multiple,
.content-wrapper .select2-container--classic .select2-selection--multiple {
    min-height: var(--teacher-control-height) !important;
    border: 1px solid #d8e8e0 !important;
    border-radius: var(--teacher-control-radius) !important;
    background: #fbfdfc !important;
}
.content-wrapper .select2-container--default.select2-container--focus .select2-selection--multiple,
.content-wrapper .select2-container--classic.select2-container--focus .select2-selection--multiple,
.content-wrapper .select2-container--default.select2-container--open .select2-selection--single,
.content-wrapper .select2-container--classic.select2-container--open .select2-selection--single {
    border-color: #1a7b5d !important;
    box-shadow: 0 0 0 3px rgba(26, 123, 93, 0.10) !important;
}

/* buttons */
.content-wrapper .btn {
    border-radius: var(--teacher-control-radius);
    font-weight: 700;
}
.content-wrapper .btn-primary,
.content-wrapper .btn-info,
.content-wrapper .btn-success {
    background: linear-gradient(135deg, #0f6a51 0%, #16946e 100%);
    border: 0;
    color: #fff;
}
.content-wrapper .btn-primary:hover,
.content-wrapper .btn-primary:focus,
.content-wrapper .btn-primary:active,
.content-wrapper .btn-info:hover,
.content-wrapper .btn-info:focus,
.content-wrapper .btn-info:active,
.content-wrapper .btn-success:hover,
.content-wrapper .btn-success:focus,
.content-wrapper .btn-success:active {
    background: linear-gradient(135deg, #0c5d47 0%, #13855f 100%);
    color: #fff;
}
.content-wrapper .btn-danger {
    background: #d9534f;
    border: 0;
    color: #fff;
}
.content-wrapper .btn-danger:hover,
.content-wrapper .btn-danger:focus,
.content-wrapper .btn-danger:active {
    background: #c9302c;
    color: #fff;
}
.content-wrapper .btn-warning {
    background: #ec9f41;
    border: 0;
    color: #fff;
}
.content-wrapper .btn-warning:hover,
.content-wrapper .btn-warning:focus,
.content-wrapper .btn-warning:active {
    background: #db8f2f;
    color: #fff;
}
.content-wrapper .btn-default {
    background: #fff;
    border: 1px solid #cfe5d9;
    color: #0f6a51;
}
.content-wrapper .btn-default:hover,
.content-wrapper .btn-default:focus,
.content-wrapper .btn-default:active {
    background: #e8f4ee;
    color: #0c5d47;
}

/* pagination (Bootstrap markup used by DataTables) */
.content-wrapper .pagination > li > a,
.content-wrapper .pagination > li > span {
    background: #fff;
    border: 1px solid #dbe9e1;
    border-radius: 10px !important;
    color: #24483a;
    margin: 0 2px;
    padding: 5px 12px;
}
.content-wrapper .pagination > li.active > a,
.content-wrapper .pagination > li.active > a:hover,
.content-wrapper .pagination > li.active > a:focus,
.content-wrapper .pagination > li.active > span {
    background: linear-gradient(135deg, #0f6a51 0%, #16946e 100%);
    color: #fff;
    border-color: transparent;
}
.content-wrapper .pagination > li > a:hover,
.content-wrapper .pagination > li > a:focus {
    background: #e8f4ee;
    color: #0f6a51;
    border-color: #cfe5d9;
}
.content-wrapper .pagination > li.disabled > a,
.content-wrapper .pagination > li.disabled > a:hover,
.content-wrapper .pagination > li.disabled > a:focus {
    background: #f6faf8;
    color: #a9bfb4;
    border-color: #e6f0ea;
    cursor: default;
}

/* DataTables controls */
.content-wrapper .dataTables_wrapper input {
    height: var(--teacher-control-height);
    min-height: var(--teacher-control-height);
    padding: 9px 12px;
}
.content-wrapper .dataTables_wrapper select {
    height: var(--teacher-control-height);
    min-height: var(--teacher-control-height);
    padding: 0 10px;
}
.content-wrapper .dataTables_info,
.content-wrapper .dataTables_length,
.content-wrapper .dataTables_filter label {
    color: #5d7f70;
    font-size: 13px;
}

@media (max-width: 767.98px) {
    .content-wrapper .dataTables_wrapper > .row:first-child {
        display: flex;
        align-items: flex-end !important;
        flex-wrap: wrap !important;
        margin-left: -4px !important;
        margin-right: -4px !important;
    }
    .content-wrapper .dataTables_wrapper > .row:first-child > [class*="col-"] {
        width: 50% !important;
        float: none !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    .content-wrapper .dataTables_wrapper .dataTables_length,
    .content-wrapper .dataTables_wrapper .dataTables_filter {
        width: 50% !important;
        float: none !important;
        margin: 0 0 8px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    .content-wrapper .dataTables_wrapper .dataTables_length label,
    .content-wrapper .dataTables_wrapper .dataTables_filter label {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 0 !important;
        width: 100% !important;
    }
    .content-wrapper .dataTables_wrapper .dataTables_length label {
        justify-content: flex-start !important;
    }
    .content-wrapper .dataTables_wrapper .dataTables_filter {
        text-align: right !important;
    }
    .content-wrapper .dataTables_wrapper .dataTables_filter label {
        justify-content: flex-end !important;
    }
    .content-wrapper .dataTables_wrapper .dataTables_length select {
        flex: 0 0 70px !important;
        width: 70px !important;
        margin: 0 !important;
    }
    .content-wrapper .dataTables_wrapper .dataTables_filter input {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
    }
}
