:root{--bg: #061a2b;--panel: #0c2539;--panel-2: #102c44;--text: #e7f4f8;--muted: #8bb8c9;--primary: #93c01f;--primary-600: #7aa114;--success: #00b7d3;--warning: #ffb020;--danger: #ff5d5d;--info: #113e65;--border: #183448;--chip: #112c3d;--radius: 12px;--shadow: 0 10px 30px rgba(0,0,0,.35)}@media (prefers-color-scheme: light){:root{--bg: #f3fbff;--panel: #ffffff;--panel-2: #f8fdff;--text: #113e65;--muted: #4b7185;--primary: #93c01f;--primary-600: #7aa114;--success: #00b7d3;--warning: #d97706;--danger: #dc2626;--info: #113e65;--border: #d6e6ee;--chip: #e7f4f8;--shadow: 0 10px 25px rgba(17, 62, 101, .08)}}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:24px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:var(--panel-2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toolbar .title{font-size:20px;font-weight:600;letter-spacing:.2px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.card-header h2{margin:0;font-size:18px;font-weight:600}.card-body{padding:16px 20px}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:720px;max-width:calc(100% - 24px)}.modal header,.modal footer{padding:12px 16px;border-bottom:1px solid var(--border)}.modal footer{border-top:1px solid var(--border);border-bottom:none;display:flex;gap:8px;justify-content:flex-end}.modal main{padding:12px 16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .full{grid-column:1 / -1}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--text)}.form-grid input.ng-invalid.ng-touched,.form-grid select.ng-invalid.ng-touched,.form-grid textarea.ng-invalid.ng-touched{border-color:var(--danger);box-shadow:0 0 0 3px #dc262626}.field-error{color:var(--danger);font-size:11px}.form-grid input:disabled,.form-grid select:disabled,.form-grid textarea:disabled{opacity:.7;cursor:not-allowed}.table-wrap{overflow:auto}table.data-table{width:100%;border-collapse:collapse;font-size:14px}table.data-table thead th{position:sticky;top:0;background:linear-gradient(180deg,#ffffff05,#fff0);text-align:left;font-weight:600;color:var(--muted);padding:12px 10px;border-bottom:1px solid var(--border);white-space:nowrap}table.data-table tbody td{padding:12px 10px;border-bottom:1px solid var(--border)}table.data-table tbody tr:hover{background:#00b7d31a}.badge{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;font-weight:600;font-size:12px;letter-spacing:.2px}.badge.estado--sin{background:#374151;color:#e5e7eb}.badge.estado--abierto{background:#1f9cf026;color:#60a5fa}.badge.estado--vendido{background:#2ecc7126;color:#34d399}.badge.estado--no_vendido{background:#ff5d5d26;color:#ff7a7a}.badge.estado--motivo_no_vendido{background:#ffb02026;color:#ffb020}.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--chip);color:var(--text);font-size:12px;font-weight:600}.chip.success{color:var(--success);background:#2ecc711f}.chip.muted,.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
