/* Global UI scale + login responsiveness tuning */

/* --- Global scale ---------------------------------------------------- */
/* The admin theme sizes almost everything in rem, so scaling the root
   font-size shrinks text and rem-based spacing uniformly. */
html {
    font-size: 15px;
}

body {
    font-size: 0.95rem;
}

/* Tables: tighter rows */
table {
    font-size: 0.9rem !important;
}

table thead th {
    padding: 6px 12px !important;
}

table tbody td {
    padding: 6px 12px !important;
}

table thead th,
table tbody td {
    line-height: 1.35 !important;
}

/* Sidebar: tighter items */
.sidebar-menu ul li a {
    padding: 7px 15px !important;
}

.sidebar-menu ul li a span,
.sidebar-menu ul li a {
    font-size: 0.92rem !important;
}

/* Page chrome: less dead space */
.page-header {
    padding: 6px 14px 10px !important;
}

.breadcrumb,
.breadcrumb-item {
    line-height: 1.4 !important;
    font-size: 0.95rem !important;
}

.card {
    margin-bottom: 16px !important;
}

.card-header {
    padding: 10px 14px !important;
}

.card-body {
    padding: 12px 14px !important;
}

.btn {
    padding: 6px 14px !important;
    font-size: 0.9rem !important;
}

.form-control,
.form-select {
    font-size: 0.9rem !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    font-size: 0.9rem !important;
}

h1 { font-size: 1.5rem !important; }
h2 { font-size: 1.35rem !important; }
h3 { font-size: 1.2rem !important; }
h4 { font-size: 1.1rem !important; }
h5 { font-size: 1rem !important; }

/* --- Login page ------------------------------------------------------ */
/* Replaces the old fixed percentage widths with a fluid, capped card so
   the form works from small phones up to wide desktops. */
.login-form-section .row {
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
}

section.login-form-section {
    padding: 10px 12px 32px !important;
}

.book-logo h2 {
    font-size: 1.6rem !important;
    margin-bottom: 0 !important;
}

.login-div {
    padding: 28px 20px !important;
}

.login-div h3.title {
    font-size: 1.75rem !important;
    margin-bottom: 6px !important;
}

.login-div p {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    margin-bottom: 18px !important;
}

.login-div .form-group {
    margin-bottom: 1.1rem !important;
}

.login-div .form-control {
    padding: 10px 16px !important;
    font-size: 0.95rem !important;
}

/* The old rules targeted input IDs that no longer exist in the markup. */
.login-div #email,
.login-div #password {
    border-radius: 40px;
}

.login-div .floating-label {
    font-size: 0.9rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: 18px !important;
}

.login-div .form-control:focus ~ .floating-label,
.login-div .form-control:not(:placeholder-shown) ~ .floating-label {
    top: -2px !important;
    left: 14px !important;
    font-size: 0.78rem !important;
    transform: translateY(-50%) !important;
}

.submit-btn button.btn.btn-primary {
    width: auto !important;
    min-width: 160px !important;
    padding: 9px 26px !important;
}

.forgot-pass {
    margin-top: 16px !important;
}

.forgot-pass a {
    font-size: 0.9rem !important;
}

@media (max-width: 575.98px) {
    .login-div {
        padding: 22px 16px !important;
    }

    .login-div h3.title {
        font-size: 1.5rem !important;
    }

    .submit-btn button.btn.btn-primary {
        width: 100% !important;
    }
}
