:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1d2733;background:#f4f7fa;--primary: #156f72;--primary-dark: #0f5559;--line: #d8e0e7;--muted: #667789;--panel: #ffffff;--danger: #b42318;--warning: #9a6700;--success: #157347}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{border:0;border-radius:6px;background:var(--primary);color:#fff;padding:.68rem .9rem;cursor:pointer;font-weight:700}button:hover{background:var(--primary-dark)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#e9f1f2;color:#164c50}button.secondary:hover{background:#d7e7e9}button.danger{background:var(--danger)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:.68rem .75rem;background:#fff;color:#1d2733}textarea{min-height:88px;resize:vertical}label{display:grid;gap:.38rem;color:#334457;font-weight:700}small{display:block;color:var(--muted);font-weight:500;margin-top:.2rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:#102b3a;color:#eef6f8;padding:1.1rem;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:.7rem;margin-bottom:1.5rem}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#d9ece9;color:#0b5556;font-weight:900}.brand small{color:#a9c3cc}.nav-list{display:grid;gap:.28rem}.nav-link{display:flex;align-items:center;gap:.7rem;padding:.72rem .75rem;color:#d7e5ea;text-decoration:none;border-radius:6px}.nav-link.active,.nav-link:hover{background:#1c4657;color:#fff}.content-shell{min-width:0}.navbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 1.4rem;background:#fff;border-bottom:1px solid var(--line)}.navbar span{display:block;color:var(--muted);font-size:.88rem;margin-top:.14rem}.navbar-actions{display:flex;align-items:center;gap:.5rem}.page-shell{padding:1.5rem}.page-stack{display:grid;gap:1rem}.page-title h1{margin:0;font-size:1.55rem}.page-title p{margin:.25rem 0 0;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.section-heading h2{margin:0;font-size:1.1rem}.section-heading span{color:var(--muted);font-weight:700}.panel,.metric-card,.login-card,.report-card,.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:8px}.panel{padding:1rem}.alert{padding:.85rem 1rem;border:1px solid #b6d8dd;background:#edf8f8;color:#164c50;border-radius:8px}.danger-alert{border-color:#f0b7b2;background:#fff1f0;color:var(--danger)}.muted{color:var(--muted)}.toolbar{display:flex;gap:.75rem;align-items:center}.toolbar input{max-width:420px}.tabs{display:flex;gap:.5rem;flex-wrap:wrap}.filter-grid{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr)) auto;gap:.75rem;align-items:end}.history-filter-grid{grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr))}.form-section-title{display:grid;gap:.15rem}.form-section-title h2{margin:0;font-size:1rem}.form-section-title p{margin:0;color:var(--muted);font-weight:500}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.metric-card{padding:1rem;display:grid;gap:.4rem}.metric-card svg{color:var(--primary)}.metric-card span{color:var(--muted)}.metric-card strong{font-size:2rem}.metric-card.metric-danger{border-color:#f0b7b2;background:#fff8f7}.metric-card.metric-danger strong{color:var(--danger)}.metric-card.metric-warning{border-color:#ead08b;background:#fffaf0}.metric-card.metric-warning strong{color:var(--warning)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dashboard-filter-grid{grid-template-columns:minmax(180px,1fr) repeat(2,minmax(150px,1fr))}.chart-panel{min-height:340px;display:grid;gap:.75rem;align-content:start}.chart-panel h2,.panel h2{margin:0;font-size:1rem}.timeline-item{display:grid;gap:.2rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-item span{color:var(--muted)}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;min-width:840px}th,td{text-align:left;padding:.82rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#f0f4f7;font-size:.78rem;color:#526579;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}.actions-cell{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.qty-input{width:76px}.reservation-group-header{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(260px,2fr) auto;gap:1rem;align-items:center}.reservation-group-header h2{margin:0;font-size:1.05rem}.reservation-group-header p{margin:.2rem 0 0}.reservation-group-summary{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;color:var(--muted)}.reservation-group-summary span{padding:.32rem .55rem;border:1px solid var(--line);border-radius:6px;background:#f7fafb}.status-badge{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:capitalize;background:#eef2f6;color:#3d4d5f}.status-activo,.status-aprobada,.status-devuelto,.status-prestado{background:#eaf6ef;color:var(--success)}.status-pendiente,.status-mantenimiento,.status-devuelto_con_novedad{background:#fff6df;color:var(--warning)}.status-rechazada,.status-expirada,.status-vencido,.status-bloqueado,.status-dañado,.status-perdido,.status-dado_de_baja{background:#fff1f0;color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1 / -1}.check-row{display:flex;align-items:center;gap:.5rem;align-self:end}.check-row input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:.75rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(160deg,#eef6f7,#f8fbfc)}.login-card{width:min(430px,100%);padding:1.25rem;display:grid;gap:1.2rem;box-shadow:0 20px 60px #142a3a1f}.login-card form{display:grid;gap:.9rem}.login-brand{margin:0}.icon-button{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;padding:0;background:#edf3f5;color:#234657}.badge-dot{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;border-radius:999px;background:var(--danger);color:#fff;font-size:.72rem;display:grid;place-items:center}.notifications{position:relative}.notifications summary{list-style:none}.notifications-menu{position:absolute;right:0;top:48px;width:320px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px #0f202a29;z-index:10;padding:.8rem;display:grid;gap:.5rem}.notifications-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.notifications-header span{color:var(--muted);font-size:.82rem}.notifications-actions{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.notifications-actions button{padding:.5rem .55rem;font-size:.78rem}.notification-item{background:#f7fafb;color:#243447;text-align:left;display:grid;gap:.2rem}.notification-item.unread{border-left:4px solid var(--primary);background:#edf8f8}.notification-item.read{opacity:.68}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.report-card{color:#1d2733;background:#fff;text-align:left;display:grid;gap:.35rem;padding:1rem}.report-card:hover{background:#f7fbfb}.report-card span{color:var(--muted)}.empty-state,.screen-message{padding:2rem;text-align:center;color:var(--muted)}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid,.report-grid,.form-grid,.form-grid.compact,.dashboard-grid,.filter-grid,.reservation-group-header{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar input{max-width:none}.page-shell{padding:1rem}}
