:root{--bs-body-color:#233444;--bs-body-bg:#f3f6f9;--bs-link-color:#155e75}
body{min-height:100vh;display:flex;flex-direction:column}.app-navbar{background:#122d3d;padding-block:1rem}.navbar-brand{font-weight:700}.app-main{flex:1;padding-top:1.5rem;padding-bottom:3rem}.app-footer{color:#5e6f7c;font-size:.8rem;padding-bottom:1.5rem}.skip-link{position:absolute;z-index:1100;background:white;padding:1rem}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#487080}.welcome-panel{background:#153e51;color:white;border-radius:1rem;padding:1.5rem;overflow-wrap:anywhere}.welcome-panel .eyebrow{color:#82e4d4}.card{border:1px solid #dce5ec;border-radius:1rem;overflow:hidden}.card-body{padding:1.5rem}.shortcut-card{text-decoration:none;color:inherit}.shortcut-card:hover{border-color:#155e75;box-shadow:0 6px 20px #122d3d12}.shortcut-card p{color:#5e6f7c}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:.5rem}.btn-primary{--bs-btn-bg:#155e75;--bs-btn-border-color:#155e75;--bs-btn-hover-bg:#10495b;--bs-btn-hover-border-color:#10495b;--bs-btn-active-bg:#10495b;--bs-btn-active-border-color:#10495b}.form-control,.form-select{min-height:46px;background-color:white}.form-label{font-weight:600}.form-panel{max-width:760px;padding:1.25rem}.form-actions{display:flex;flex-direction:column;gap:.75rem;border-top:1px solid #dce5ec;padding-top:1.25rem}.form-check{padding-block:.5rem}.form-check-input{width:1.2em;height:1.2em}.page-heading{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.page-heading h1{margin:0}.table-panel{background:white;border:1px solid #dce5ec;border-radius:1rem;overflow:hidden}.data-table{margin:0}.data-table thead th{background:#eaf0f5;color:#41596b;font-size:.8rem;padding:1rem}.data-table td{padding:1rem;overflow-wrap:anywhere}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.row-actions form{display:inline-flex}.empty-state{text-align:center;padding:2.5rem!important;color:#5e6f7c}.navbar-text{overflow-wrap:anywhere}
@media(max-width:991.98px){.navbar-collapse{padding-top:1rem}.navbar-collapse>.btn,.navbar-collapse>form{display:flex;width:100%;margin-top:.75rem}.navbar-collapse>form>.btn{width:100%}.navbar-text{display:block;margin-top:.5rem}}
@media(min-width:576px){.page-heading{flex-direction:row;justify-content:space-between;align-items:center}.form-actions{flex-direction:row}.form-panel{padding:2rem}.welcome-panel{padding:2rem}.login-section{padding-top:2rem}}
@media(max-width:767.98px){.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.data-table tr{padding:1rem;border-bottom:1px solid #dce5ec}.data-table tr:last-child{border-bottom:0}.data-table td{border:0;padding:.4rem 0;text-align:left!important}.data-table td[data-label]::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;color:#5e6f7c;margin-bottom:.15rem}.row-actions{justify-content:flex-start;padding-top:.5rem}.data-table .empty-state{padding:1rem!important}}
/* Solicitudes y catálogos: misma base visual, con espacio para trabajar en tablet. */
.filter-panel{padding:1rem;background:#fff;border:1px solid #dce5ec;border-radius:1rem}
.request-form{max-width:960px}.item-row{background:#f8fafc}.item-row .form-label,.homologar .form-label,.rejection-form .form-label{display:block;width:100%;margin-bottom:0}.item-row .form-label input,.homologar .form-label input,.homologar .form-label select{margin-top:.5rem}
.section-heading{margin-top:1.75rem;margin-bottom:1rem}.request-summary,.request-card,.management-item,.request-history{overflow-wrap:anywhere}.request-summary strong{display:inline-block;color:#5e6f7c;font-size:.8rem;margin-bottom:.25rem}.request-card{border-width:1px;border-top-width:4px}.request-card h2{font-weight:700}.request-card .badge,.item-status{white-space:normal;line-height:1.4;align-self:flex-start}.item-photo{width:72px;height:72px;object-fit:cover;border-radius:.5rem;border:1px solid #dce5ec}.homologar{padding-top:.5rem}.rejection-form{padding-top:1rem;border-top:1px solid #dce5ec}.request-totals strong{font-size:1.25rem;overflow-wrap:anywhere}.request-totals>div:last-child strong{color:#155e75}.request-history .list-group-item{padding:1rem;line-height:1.6}.management-item .card-body{padding:1.25rem}.catalog-form{max-width:760px}
@media(min-width:768px){.management-item .card-body{padding:1.5rem}.supplier-table{table-layout:fixed}.supplier-table th:last-child{width:180px}}
@media(min-width:768px) and (max-width:1199.98px){.supplier-table,.supplier-table tbody,.supplier-table tr,.supplier-table td{display:block;width:100%}.supplier-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.supplier-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.25rem;padding:1.25rem;border-bottom:1px solid #dce5ec}.supplier-table td{border:0;padding:.25rem 0}.supplier-table td[data-label]::before{content:attr(data-label);display:block;font-size:.75rem;font-weight:700;color:#5e6f7c}.supplier-table td:last-child,.supplier-table .empty-state{grid-column:1/-1}}
@media(max-width:1199.98px){.navbar-expand-xl .navbar-collapse{padding-top:1rem}.navbar-expand-xl .navbar-collapse>.btn,.navbar-expand-xl .navbar-collapse>form{display:flex;width:100%;margin-top:.75rem}.navbar-expand-xl .navbar-collapse>form>.btn{width:100%}.navbar-expand-xl .navbar-text{display:block;margin-top:.5rem}}
@media(min-width:1200px){.app-navbar .navbar-brand{font-size:1rem;margin-right:1rem}.app-navbar .nav-link{font-size:.85rem}.app-navbar .navbar-text{max-width:130px;font-size:.85rem}.app-navbar .btn{white-space:nowrap}}
.management-item .form-label.small,.request-form .form-label.small{display:block;width:100%}.management-item .form-label.small>.form-control,.management-item .form-label.small>.form-select{margin-top:.5rem}
/* Indicadores y avisos */
.kpi-card .card-body { display: flex; flex-direction: column; }
.kpi-value { color: #155e75; font-size: 2rem; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.kpi-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: auto; }
.kpi-links a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-size: .875rem; font-weight: 600; }
.notification-list { border-radius: 1rem; overflow: hidden; }
.notification-item { display: flex; flex-direction: column; align-items: stretch; gap: 1rem; padding: 1.25rem; border-color: #dce5ec; }
.notification-content { min-width: 0; overflow-wrap: anywhere; }
.notification-item form { flex-shrink: 0; }
.notification-item .btn { width: 100%; }
.notification-unread { background: #edf7fa; border-left: 4px solid #155e75; }
.notification-unread p { font-weight: 600; }
.notification-read { background: #fff; }
.notification-status { color: #10495b; background: #d1edf4; }
@media (min-width: 576px) {
  .notification-item { flex-direction: row; justify-content: space-between; align-items: center; padding: 1.5rem; }
  .notification-item .btn { width: auto; }
}
/* El menú completo puede ocupar dos líneas en escritorio. */
@media (min-width: 1200px) {
  .app-navbar .navbar-collapse { flex-wrap: wrap; gap: .75rem 0; }
  .app-navbar .navbar-nav { flex-wrap: wrap; }
}
