:root{--app-primary:#0d6efd;--app-bg:#f4f6f9}
body{font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--app-bg)}
.app-main{min-height:calc(100vh - 105px);background:linear-gradient(135deg,#f4f7fb 0%,#eef3f8 100%)}
.app-main>.app-content>.container-fluid{max-width:1600px}
.app-header{border-bottom:1px solid #dee2e6;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.app-sidebar .sidebar-brand{height:58px;display:flex;align-items:center;padding-left:1rem}
.app-sidebar .brand-link{width:100%;color:#fff;text-decoration:none}
.sidebar-menu .nav-link{margin:.12rem .5rem;border-radius:.375rem}
.sidebar-menu .nav-link.active{background:#0d6efd;color:#fff;box-shadow:0 .125rem .25rem rgba(13,110,253,.25)}
.card{border:0;box-shadow:0 .125rem .5rem rgba(0,0,0,.08);border-radius:.6rem}
.card-header{background:#fff;border-bottom:1px solid #edf0f3}
.card-title{font-weight:600}
.table{--bs-table-bg:transparent}
.table thead th{background:#f1f5f9;color:#42526b;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.table tbody tr:hover{background:#f8fbff}
.form-control,.form-select{border-color:#ced4da;border-radius:.4rem}
.form-control:focus,.form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 .2rem rgba(13,110,253,.15)}
.btn{border-radius:.4rem}
.alert{border-radius:.5rem}
.app-footer{border-top:1px solid #dee2e6;background:#fff}
.login-page{min-height:100vh;background:linear-gradient(135deg,#0d47a1,#1976d2 48%,#42a5f5)}
.login-page .card{width:100%;max-width:430px;border-top:4px solid #0d6efd}
.login-page .login-logo{font-size:1.8rem;font-weight:600;color:#fff}
.login-page .login-box-msg{color:#6c757d}
@media(max-width:575.98px){.app-main>.app-content>.container-fluid{padding-left:.75rem;padding-right:.75rem}.card-body{padding:1rem}.table{font-size:.9rem}.app-header .nav-link{padding-left:.5rem;padding-right:.5rem}}
.page-header,.dashboard-header{margin-bottom:1.25rem}.page-header h1,.dashboard-header h1{font-size:2rem;font-weight:600;color:#212529;margin:0 0 .35rem}.page-header p,.dashboard-header p{color:#6c757d}
.section-block{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 .125rem .5rem rgba(0,0,0,.08);padding:1.25rem;margin-bottom:1.25rem;overflow-x:auto}.section-block h3{font-size:1.15rem;font-weight:600;margin:0 0 1rem;color:#343a40}
.horizontal-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-weight:600;font-size:.9rem;color:#495057}.form-group input,.form-group select,.form-group textarea{width:100%;min-height:38px;padding:.375rem .75rem;border:1px solid #ced4da;border-radius:.375rem;background:#fff}
.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:.75rem;border-bottom:1px solid #dee2e6;text-align:left;vertical-align:middle}.data-table th{background:#f1f3f5;color:#495057;font-weight:600;font-size:.82rem;text-transform:uppercase}.data-table tbody tr:hover{background:#f8f9fa}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.25rem}.stat-card{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:.5rem;border:1px solid #dee2e6;padding:1.25rem;box-shadow:0 .125rem .5rem rgba(0,0,0,.08)}.stat-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e7f1ff;color:#0d6efd;font-weight:700;font-size:1.25rem}.stat-info h3{font-size:.75rem;text-transform:uppercase;color:#6c757d;letter-spacing:.05em;margin:0}.stat-info p{margin:.25rem 0 0;font-size:1.35rem;font-weight:600}.status-badge{display:inline-block;padding:.3rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.status-badge.odendi{background:#d1e7dd;color:#0f5132}.status-badge.odenmedi{background:#f8d7da;color:#842029}
