:root{
    --azul:#07579a;
    --azul-oscuro:#073b6b;
    --amarillo:#f5df82;
    --gris:#f4f7fb;
}
body{background:var(--gris);color:#243447;}
.biblioteca-nav{
    background:linear-gradient(105deg,#064f91 0%,#1976b8 52%,#f0d878 100%);
    box-shadow:0 3px 14px rgba(0,0,0,.15);
}
.navbar-brand{font-size:1rem;}
.hero{
    background:linear-gradient(135deg,rgba(5,77,139,.98),rgba(25,118,184,.92),rgba(245,223,130,.85));
    color:#fff;border-radius:0 0 28px 28px;padding:70px 0;
}
.hero-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(5px);}
.card-biblioteca{border:0;border-radius:18px;box-shadow:0 8px 25px rgba(22,48,76,.08);}
.book-card{height:100%;transition:.2s;}
.book-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(22,48,76,.13);}
.footer-biblioteca{background:#073b6b;color:#fff;}
.filter-box{background:#fff;border-radius:18px;padding:22px;box-shadow:0 6px 20px rgba(0,0,0,.06);}
.table thead{background:#07579a;color:#fff;}
.admin-title{background:linear-gradient(105deg,#07579a,#1976b8,#f5df82);color:#fff;border-radius:18px;padding:25px;}
.stat-card{border:0;border-left:5px solid #07579a;border-radius:14px;}
.login-wrap{min-height:72vh;display:flex;align-items:center;}
.login-card{max-width:460px;width:100%;margin:auto;border:0;border-radius:22px;box-shadow:0 12px 35px rgba(0,0,0,.12);}
.viewer-frame{width:100%;height:72vh;border:0;border-radius:14px;background:#eef2f7;}
.badge-tipo{font-size:.78rem;}
