body {
    background: #f5f5f5;
    font-family: 'Roboto', Arial, sans-serif;
    color: #222;
}
.navbar-brand {
    font-size: 1.22em;
}
.card {
    border-radius: 12px;
}
.card-header {
    font-size: 1.08em;
    font-weight: 500;
}
.table th, .table td {
    vertical-align: middle !important;
    font-size: 0.98em;
}
.table th {
    font-weight: 500;
}
.paused-row {
    background: #fff6e2 !important;
}
.table td, .table th {
    padding: 0.35rem 0.3rem !important;
}
.table th, .table td {
    white-space: nowrap;
}
.table td:first-child, .table th:first-child {
    white-space: normal;
}
.badge-outline-info {
    color: #17a2b8;
    border: 1px solid #17a2b8;
    background: #e5f8fa;
    font-weight: 500;
    border-radius: 0.35rem;
    padding: 2px 8px 2px 8px;
    font-size: 0.95em;
    display: inline-block;
}
.badge-outline-danger {
    color: #dc3545;
    border: 1px solid #dc3545;
    background: #ffe7ea;
    font-weight: 500;
    border-radius: 0.35rem;
    padding: 2px 8px 2px 8px;
    font-size: 0.95em;
    display: inline-block;
}
.med-date-label {
    font-size: 0.93em;
    color: #888;
    font-weight: 400;
}
.med-date-sub {
    font-size: 0.9em;
    color: #888;
    font-weight: 400;
    margin-top: 2px;
}
.med-date-small {
    font-size: 0.78em !important;
    color: #888 !important;
    font-weight: 400 !important;
}
.med-date-bold {
    font-size: 0.98em !important;
    color: #222 !important;
    font-weight: 500 !important;
    margin-top: 2px;
}
@media (max-width:600px) {
    .table th, .table td {
        font-size: 0.95em;
        padding: 0.23rem 0.18rem !important;
    }
    .card {
        margin-bottom: 10px;
    }
    .container {
        padding-left: 0.4rem !important;
        padding-right: 0.4rem !important;
    }
}
.btn-link {
    padding: 0 !important;
}
input[type="date"]::-webkit-input-placeholder { color: #ccc; }
input[type="date"]::-moz-placeholder { color: #ccc; }
input[type="date"]:-ms-input-placeholder { color: #ccc; }
input[type="date"]::placeholder { color: #ccc; }