:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-border: #e2e5ea;--color-text: #1c2430;--color-text-muted: #667085;--color-primary: #2b4c7e;--color-primary-dark: #1e3a63;--color-accent: #e8a33d;--color-danger: #c1443a;--color-success: #2f7d5e;--font-display: "Sora", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius-sm: 6px;--radius-md: 10px;--shadow-card: 0 1px 3px rgba(28, 36, 48, .08), 0 1px 2px rgba(28, 36, 48, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0 0 .5rem}button{font-family:var(--font-body);cursor:pointer}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.85rem;font-weight:600;transition:opacity .15s ease}.btn:hover{opacity:.88}.btn-primary{background:var(--color-primary);color:#fff}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.25rem}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid var(--color-border)}th{color:var(--color-text-muted);font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}input,select,textarea{font-family:var(--font-body);font-size:.85rem;padding:.5rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;background:#fff;color:var(--color-text)}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600}.badge-ok{background:#2f7d5e1f;color:var(--color-success)}.badge-danger{background:#c1443a1f;color:var(--color-danger)}.badge-warning{background:#e8a33d2e;color:#8a5a12}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}@media print{.shell{display:block!important}.sidebar,.no-imprimir{display:none!important}.contenido{padding:0!important;margin:0!important}}.req{color:var(--color-danger);margin-left:2px}.campo{display:flex;flex-direction:column;gap:.25rem}.campo label{font-size:.8rem;font-weight:600;margin:0}
