:root{--rojo:#c0392b;--rojo-dark:#96281b;--navy:#003e7e;--bg:#f0f2f5;--radius:12px;--shadow:0 2px 12px rgba(0,0,0,.08)}
*{box-sizing:border-box}
body{font-family:'Nunito',sans-serif;background:var(--bg);min-height:100vh}
.navbar{background:linear-gradient(135deg,var(--rojo-dark),var(--rojo));box-shadow:0 2px 16px rgba(192,57,43,.3);padding:10px 0}
.nav-link{color:rgba(255,255,255,.85)!important;font-weight:600;font-size:.9rem;border-radius:8px;padding:6px 14px!important;transition:all .2s}
.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.18)!important;color:#fff!important}
.card{background:#fff;border:none;border-radius:var(--radius);box-shadow:var(--shadow)}
.card-header{background:transparent;border-bottom:1px solid #e0e0e0;font-weight:700;padding:14px 20px;font-size:.95rem}
.stat-card{border-radius:var(--radius);padding:22px;color:#fff;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.15);transition:transform .2s}
.stat-card:hover{transform:translateY(-3px)}
.stat-val{font-size:2rem;font-weight:800;line-height:1}
.stat-lbl{font-size:.8rem;opacity:.85;margin-top:3px}
.stat-ico{font-size:2.8rem;opacity:.2;position:absolute;right:14px;bottom:6px}
.s-red{background:linear-gradient(135deg,#96281b,#e74c3c)}
.s-navy{background:linear-gradient(135deg,#003e7e,#0066cc)}
.s-green{background:linear-gradient(135deg,#1e8449,#27ae60)}
.s-orange{background:linear-gradient(135deg,#d35400,#f39c12)}
.btn-primary{background:var(--rojo);border-color:var(--rojo);font-weight:700;border-radius:8px}
.btn-primary:hover{background:var(--rojo-dark);border-color:var(--rojo-dark)}
.btn-outline-primary{color:var(--rojo);border-color:var(--rojo);font-weight:600;border-radius:8px}
.btn-outline-primary:hover{background:var(--rojo);border-color:var(--rojo)}
.table th{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:#7f8c8d;border-bottom:2px solid #e0e0e0;padding:11px 16px}
.table td{padding:11px 16px;vertical-align:middle;border-color:#e0e0e0}
.table tbody tr:hover{background:#fafafa}
.badge{font-weight:600;font-size:.73rem;border-radius:6px;padding:4px 9px}
.form-control,.form-select{border-radius:8px;border:1.5px solid #e0e0e0;font-size:.9rem;padding:9px 13px;transition:all .2s}
.form-control:focus,.form-select:focus{border-color:var(--rojo);box-shadow:0 0 0 3px rgba(192,57,43,.15)}
.form-label{font-weight:700;font-size:.83rem}
.page-header{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.page-header h1{font-size:1.4rem;font-weight:800;color:#1a1a2e;margin:0}
.modal-header{background:var(--rojo);color:#fff;border-radius:var(--radius) var(--radius) 0 0}
.modal-header .btn-close{filter:brightness(0) invert(1)}
.puede-donar{color:#27ae60;font-weight:700}
.search-box{position:relative}
.search-box input{padding-left:38px}
.search-box .bi-search{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#aaa}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--rojo-dark),var(--navy));padding:20px}
.login-box{background:#fff;border-radius:20px;padding:44px 36px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.sg{font-weight:700;font-size:.75rem;border-radius:5px;padding:2px 7px;display:inline-block}
.sg-ap{background:#fde8e8;color:#8b0000}.sg-an{background:#e8eeff;color:#00008b}
.sg-bp{background:#e8ffe8;color:#006400}.sg-bn{background:#fff8e8;color:#8b6914}
.sg-abp{background:#f0e8ff;color:#4b0082}.sg-abn{background:#e8f8ff;color:#005580}
.sg-op{background:#ffe8f0;color:#8b0045}.sg-on{background:#f5f5f5;color:#555}
