:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f6fb}body{margin:0}.container{max-width:1180px;margin:0 auto;padding:40px 20px 64px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.eyebrow{margin:0 0 6px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}h1{font-size:44px;margin:0}h2{margin:0 0 14px;font-size:24px}.subtitle{margin:8px 0 0;color:#64748b}.today-card,.card,.details-card,.table-card,.record-card,.form-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0f172a0f}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}input,select,textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;color:#172033;background:#fff}textarea{min-height:86px;resize:vertical}label{display:grid;gap:7px;color:#475569;font-size:13px;font-weight:700}.primary-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:8px;padding:9px 13px;font-weight:800;white-space:nowrap}.primary-button{background:#2563eb;color:#fff}.ghost-button{background:#eef2ff;color:#3730a3}.danger-button{background:#fee2e2;color:#991b1b}.today-card{padding:16px 18px;min-width:150px}.hero-actions{display:flex;align-items:stretch;gap:12px}.today-card span,.card-label{display:block;color:#64748b;font-size:13px;margin-bottom:4px}.today-card strong{font-size:18px}.grid{display:grid;gap:16px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:32px}.card{padding:20px}.card strong{display:block;font-size:32px;margin-bottom:4px}.card small{color:#64748b}.section{margin-top:32px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-header h2{margin:0}.details-card{padding:20px;display:grid;gap:8px}.form-card{padding:18px;display:grid;gap:14px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.alert{border-radius:8px;padding:12px 14px;margin-bottom:18px;font-weight:700}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px;border-bottom:1px solid #e5e7eb;padding-bottom:10px}.tabs button{border-radius:8px;padding:10px 14px;background:#e2e8f0;color:#334155;font-weight:800}.tabs button.active{background:#172033;color:#fff}.details-card p,.record-card p{margin:0}.table-card{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #e5e7eb;vertical-align:top}.row-actions{display:flex;flex-wrap:wrap;gap:8px}th{color:#475569;font-size:13px;background:#f8fafc}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}.badge.ok{background:#dcfce7;color:#166534}.badge.vencida{background:#fee2e2;color:#991b1b}.badge.proxima_a_vencer{background:#fef3c7;color:#92400e}.badge.sin_vencimiento{background:#e0f2fe;color:#075985}.records-list{display:grid;gap:14px}.record-card{padding:18px;display:grid;gap:8px}.record-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px}.record-header span{display:block;margin-top:4px;color:#64748b}@media(max-width:760px){.hero{flex-direction:column}.hero-actions{width:100%;flex-direction:column}h1{font-size:36px}.summary-grid{grid-template-columns:1fr}.today-card{width:100%;box-sizing:border-box}.section-header,.record-header{flex-direction:column}.form-grid{grid-template-columns:1fr}.row-actions,.primary-button,.ghost-button,.danger-button{width:100%}}
