:root{color-scheme:light;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:radial-gradient(circle at top left,rgba(22,163,74,.14),transparent 26%),linear-gradient(180deg,#f4f8f1,#eef3f9);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--panel: rgba(255, 255, 255, .86);--panel-border: rgba(148, 163, 184, .25);--primary: #14532d;--primary-strong: #166534;--primary-soft: #dcfce7;--text-muted: #475569;--alert: #b91c1c;--alert-soft: #fee2e2;--shadow: 0 24px 60px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:#0f172a}button,input,textarea,select{font:inherit}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{padding:32px 24px;border-right:1px solid rgba(148,163,184,.18);background:#ffffffad;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar h1,.page-header h2,.detail-header h3{margin:0;font-family:Georgia,Times New Roman,serif;letter-spacing:-.02em}.sidebar-copy,.page-copy,.muted{color:var(--text-muted)}.sidebar-nav{margin-top:32px}.sidebar-footer{margin-top:32px;display:grid;gap:12px}.nav-link{display:block;padding:12px 14px;border-radius:14px;text-decoration:none;color:#0f172a;transition:.18s ease}.nav-link:hover,.nav-link.active{background:var(--primary-soft);color:var(--primary)}.content{padding:32px}.sidebar-nav{display:grid;gap:8px}.page{display:grid;gap:20px}.page-header,.detail-header,.form-actions{display:flex;gap:16px;align-items:center;justify-content:space-between}.page-header{flex-wrap:wrap}.panel{border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;box-shadow:var(--shadow);padding:20px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.summary-card{padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(148,163,184,.12)}.summary-card.alert{background:linear-gradient(180deg,#fff9f9,#fff2f2)}.summary-card strong{display:block;margin-top:10px;font-size:1.55rem}.summary-label,.field-label,.eyebrow,.detail-grid dt{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.filters-panel{display:grid;grid-template-columns:2fr 1fr;gap:16px}.text-input,.text-area{width:100%;margin-top:8px;border:1px solid rgba(148,163,184,.35);border-radius:14px;padding:12px 14px;background:#fff}.text-area{resize:vertical}.button{border:none;border-radius:999px;padding:12px 18px;cursor:pointer;transition:.18s ease}.button.primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:#fff}.button.secondary{background:#eff6ff;color:#1e3a8a}.button.danger{background:#b91c1c;color:#fff}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.65;cursor:not-allowed;transform:none}.link-button{border:none;padding:0;background:transparent;color:#1d4ed8;cursor:pointer;text-decoration:underline}.danger-link{color:#b91c1c}.detail-actions,.table-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.message{padding:14px 16px;border-radius:16px}.message.error{background:var(--alert-soft);color:var(--alert)}.message.info{background:#eff6ff;color:#1d4ed8}.receivables-layout{display:flex;gap:20px;align-items:flex-start}.table-panel{flex:1.35}.detail-panel{flex:.95;position:sticky;top:24px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 12px;text-align:left;border-bottom:1px solid rgba(226,232,240,.9)}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover,.data-table tbody tr.is-selected{background:#dcfce78c}.empty-row{text-align:center;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:.85rem;font-weight:600}.badge-pendiente{background:#f1f5f9;color:#334155}.badge-por_vencer{background:#fef3c7;color:#92400e}.badge-vencido{background:#fee2e2;color:#b91c1c}.badge-pago_parcial{background:#dbeafe;color:#1d4ed8}.badge-cobrado,.badge-pagado{background:#dcfce7;color:#166534}.badge-anulado{background:#e5e7eb;color:#374151}.detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.detail-block+.detail-block{margin-top:24px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:12px 0 0}.detail-grid dd{margin:8px 0 0;font-weight:600}.stack-form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.timeline{display:grid;gap:16px;margin-top:12px}.timeline-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px}.timeline-line{width:12px;border-radius:999px;background:linear-gradient(180deg,#16a34a,#4ade80)}.timeline-line.secondary{background:linear-gradient(180deg,#0284c7,#7dd3fc)}.form-panel{max-width:880px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;box-shadow:var(--shadow);padding:28px;display:grid;gap:20px}.dashboard-grid,.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reports-wide{grid-column:1 / -1}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.mini-list,.mini-table{display:grid;gap:12px}.mini-list-item,.mini-table-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;border-bottom:1px solid rgba(226,232,240,.9)}.mini-table-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.mini-list-right{text-align:right}@media(max-width:1200px){.receivables-layout,.filters-panel,.summary-grid,.detail-stats,.detail-grid,.dashboard-grid,.reports-grid{grid-template-columns:1fr}.receivables-layout,.filters-panel{display:grid}.detail-panel{position:static}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid rgba(148,163,184,.18)}.content{padding:20px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.summary-grid,.form-grid,.detail-stats,.detail-grid,.mini-list-item,.mini-table-row{grid-template-columns:1fr}.page-header,.detail-header,.form-actions{align-items:stretch;flex-direction:column}.button{width:100%}}
