:root{--navbar-height: 56px;--sidebar-collapsed: 72px;--bg-page: #F8FAFC;--bg-card: #FFFFFF;--bg-hover: #F1F5F9;--bg-th: #F8FAFC;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--border: #E2E8F0;--border-focus: #1B4332;--blue-main: #1B4332;--blue-light: #F0FDF4;--blue-dark: #14352A;--blue-text: var(--info-main);--success: #22C55E;--success-bg: #F0FDF4;--success-text: #16A34A;--warning: #F59E0B;--warning-bg: #FFFBEB;--warning-text: #D97706;--danger: #EF4444;--danger-bg: #FEF2F2;--danger-text: #DC2626;--green-bg: #F0FDF4;--green-text: #16A34A;--gray-bg: #F1F5F9;--gray-text: #475569;--red-main: #EF4444;--red-bg: #FEF2F2;--red-text: #DC2626;--red-border: #FECACA;--info-main: #4A3F73;--info-dark: #3A3159;--info-bg: #EFEDF6;--btn-info: #A23A22;--btn-info-hover: #7E2C19;--btn-info-bg: #F8EAE6;--btn-import: #2E5C82;--btn-import-hover: #234868;--btn-import-bg: #EAF1F6;--btn-export: #2A7A6F;--btn-export-hover: #1F5F56;--btn-export-bg: #E9F5F2;--estado-pendiente-bg: #FFFBEB;--estado-pendiente-text: #B45309;--estado-pendiente-border: #d89f50;--estado-pendiente-accent: #D97706;--estado-pendiente-dot-bg: #FEF3C7;--estado-pendiente-chip-bg: #FEF3C7;--estado-en-proceso-bg: #BFDBFE;--estado-en-proceso-text: #1E3A8A;--estado-en-proceso-border: #93C5FD;--estado-en-proceso-accent: #2563EB;--estado-en-proceso-chip-bg: #BFDBFE;--estado-reservado-bg: #D1FAE5;--estado-reservado-text: #065F46;--estado-reservado-border: #A7F3D0;--estado-reservado-accent: #10B981;--estado-reservado-chip-bg: #D1FAE5;--estado-finalizado-bg: #FECACA;--estado-finalizado-text: #7F1D1D;--estado-finalizado-border: #FCA5A5;--estado-finalizado-accent: #DC2626;--estado-finalizado-chip-bg: #FECACA;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Mono", "Courier New", monospace;--shadow-resting: 0 1px 2px rgba(15,23,42,.05), 0 0 0 .5px rgba(15,23,42,.05);--shadow-raised: 0 6px 16px rgba(15,23,42,.1), 0 0 0 .5px rgba(15,23,42,.05);--shadow-overlay: 0 16px 40px rgba(15,23,42,.16), 0 0 0 .5px rgba(15,23,42,.06);--shadow-card: var(--shadow-resting);--focus-ring: rgba(27,67,50,.16)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);font-size:14px;line-height:1.5;min-height:100vh}.page{max-width:1200px;margin:0 auto;padding:2rem 1.75rem}.topbar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.page-title{font-size:22px;font-weight:600;color:var(--text-primary);letter-spacing:-.3px}.page-sub{font-size:12px;color:var(--text-muted);margin-top:3px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.25rem}.stat{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:.875rem 1.125rem}.stat-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.stat-val{font-size:26px;font-weight:600;line-height:1;color:var(--text-primary)}.stat-val.blue{color:var(--blue-main)}.stat-val.muted{color:var(--text-secondary)}.card{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card);outline:.5px solid rgba(0,0,0,.07);position:relative}.card-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.25rem .875rem;border-bottom:.5px solid var(--border);background:var(--bg-th)}.card-toolbar{display:flex;justify-content:flex-end;padding:.75rem 1.25rem;border-bottom:.5px solid var(--border);background:var(--bg-card)}.toolbar{display:flex;justify-content:flex-end;margin-bottom:.875rem}.search-wrap{position:relative;width:210px}.search-wrap .icon-search{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--text-muted);pointer-events:none}.search-wrap input{width:100%;height:34px;padding:0 10px 0 28px;border:.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg-page);color:var(--text-primary);font-size:12.5px;font-family:var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.search-wrap input::placeholder{color:var(--text-muted)}.search-wrap input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #1b43321f;background:var(--bg-card)}.empty-state{padding:2.5rem 2rem;text-align:center}.empty-icon-wrap{width:44px;height:44px;border-radius:50%;background:var(--bg-page);border:.5px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;box-shadow:0 2px 6px #0000000f}.empty-icon-wrap svg{width:18px;height:18px;color:var(--text-muted)}.empty-title{font-size:13.5px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.empty-sub{font-size:12px;color:var(--text-muted);line-height:1.6;margin:0}.btn-create{display:inline-flex;align-items:center;gap:7px;padding:0 14px;height:34px;background:var(--blue-main);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow-resting)}.btn-create:hover{background:var(--blue-dark);box-shadow:var(--shadow-raised)}.btn-create:active{transform:translateY(1px);box-shadow:var(--shadow-resting)}.btn-create:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-create .icon-plus{width:14px;height:14px;flex-shrink:0}.btn-cancel{height:36px;padding:0 16px;background:#fff;border:.5px solid var(--border);border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap;box-shadow:var(--shadow-resting)}.btn-cancel:hover{background:var(--bg-page);border-color:#ccc}.btn-cancel:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-cancel:disabled{opacity:.45;cursor:default}.btn-save{height:36px;padding:0 18px;background:var(--blue-main);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap;box-shadow:var(--shadow-resting)}.btn-save:hover{background:var(--blue-dark);box-shadow:var(--shadow-raised)}.btn-save:active{transform:translateY(1px);box-shadow:var(--shadow-resting)}.btn-save:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-save:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.btn-save-another{height:36px;padding:0 16px;background:none;border:.5px solid var(--blue-main);border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);color:var(--blue-main);cursor:pointer;transition:background .12s;white-space:nowrap}.btn-save-another:hover{background:#dcfce7}.btn-save-another:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-primary{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 18px;background:var(--blue-main);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap;box-shadow:var(--shadow-resting)}.btn-primary:hover{background:var(--blue-dark);box-shadow:var(--shadow-raised)}.btn-primary:active{transform:translateY(1px);box-shadow:var(--shadow-resting)}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-primary:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.btn-danger{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 18px;background:var(--red-main);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:var(--shadow-resting)}.btn-danger:hover{background:#a32d2d;box-shadow:var(--shadow-raised)}.btn-danger:active{transform:translateY(1px);box-shadow:var(--shadow-resting)}.btn-danger:focus-visible{outline:none;box-shadow:0 0 0 3px #dc26262e}.btn-danger:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.btn-close{width:28px;height:28px;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .12s,color .12s;flex-shrink:0}.btn-close:hover{background:var(--bg-page);color:var(--text-primary)}.btn-close:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-close svg{width:14px;height:14px}.btn-outline-info{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#fff;color:var(--btn-info);border:1.5px solid var(--btn-info);border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background .15s;white-space:nowrap}.btn-outline-info:hover{background:var(--info-bg)}.btn-outline-info:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-fill-info{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:var(--btn-info);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:background .15s,box-shadow .15s;white-space:nowrap;box-shadow:var(--shadow-resting)}.btn-fill-info:hover{background:var(--btn-info-hover);box-shadow:var(--shadow-raised)}.btn-fill-info:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.actions,.actions-cell{display:flex;align-items:center;gap:5px}.btn-icon{width:28px;height:28px;border-radius:var(--radius-sm);border:.5px solid var(--border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .14s,color .14s,transform .1s,box-shadow .14s;box-shadow:var(--shadow-resting);flex-shrink:0}.btn-icon svg{width:13px;height:13px;pointer-events:none}.btn-icon:active{transform:translateY(1px);box-shadow:none}.btn-icon:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn-icon.view{background:#1b4332;color:#fff;border:none}.btn-icon.edit{background:#d97706;color:#fff;border:none}.btn-icon.duplicate{background:#1d325f;color:#fff;border:none}.btn-icon.guests,.btn-icon.timing,.btn-icon.planificacion,.btn-icon.organizacion,.btn-icon.seguimiento,.btn-icon.galeria{background:#0f2c1b;color:#fff;border:none}.btn-icon.delete,.btn-icon.del{background:#dc2626;color:#fff;border:none}.btn-icon.view:hover{background:#14352a;transform:translateY(-1px);box-shadow:var(--shadow-raised)}.btn-icon.edit:hover{background:#b45309;transform:translateY(-1px);box-shadow:var(--shadow-raised)}.btn-icon.duplicate:hover{background:#1a398e;transform:translateY(-1px);box-shadow:var(--shadow-raised)}.btn-icon.guests:hover,.btn-icon.timing:hover,.btn-icon.planificacion:hover,.btn-icon.organizacion:hover,.btn-icon.seguimiento:hover,.btn-icon.galeria:hover{background:#134723;transform:translateY(-1px);box-shadow:var(--shadow-raised)}.btn-icon.delete:hover,.btn-icon.del:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:var(--shadow-raised)}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}thead th{padding:8px 14px;text-align:left;font-size:10.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;background:var(--bg-th);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}thead th.sortable{cursor:pointer}thead th.sortable:hover{color:var(--text-primary);background:var(--bg-hover)}.sort-arrows{display:inline-flex;flex-direction:column;gap:1px;margin-left:4px;vertical-align:middle;opacity:.35}.sort-arrows svg{width:7px;height:7px;display:block}thead th.sort-asc .sort-arrows,thead th.sort-desc .sort-arrows{opacity:1}tbody tr{border-top:.5px solid var(--border);transition:background .08s}tbody tr:hover{background:var(--bg-hover)}tbody tr:hover td:first-child{border-left:3px solid var(--blue-main);padding-left:11px}tbody td{padding:9px 14px;vertical-align:middle;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody td:last-child{overflow:visible}.name-cell{display:flex;align-items:center;gap:9px}.cell-main{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.3;margin:0}.cell-sub{font-size:11px;color:var(--text-muted);margin:2px 0 0;line-height:1.3}.cell-mono{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.cell-email{font-size:12px;color:var(--blue-text)}.cell-desc{font-size:12px;color:var(--text-secondary)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--blue-light);color:var(--blue-dark);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;letter-spacing:.02em;box-shadow:0 1px 3px #0000001f}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.badge-active{background:var(--green-bg);color:var(--green-text)}.badge-inactive{background:#f1efe8;color:#5f5e5a}.badge-price{background:var(--blue-light);color:var(--blue-dark)}.badge-free{background:var(--green-bg);color:var(--green-text)}.badge-estado-borrador{background:#f1efe8;color:#5f5e5a}.badge-estado-enviada{background:var(--blue-light);color:var(--blue-dark)}.badge-estado-aprobada{background:var(--green-bg);color:var(--green-text)}.badge-estado-rechazada{background:var(--red-bg);color:var(--red-text)}.cell-tag{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;background:#eff6ff;color:var(--blue-dark)}.role-preview{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}.role-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:600;cursor:pointer;border:.5px solid transparent;transition:all .12s;text-transform:uppercase;letter-spacing:.04em;opacity:.45}.role-pill.active{opacity:1;border-color:currentColor}.role-pill.admin{background:#eeedfe;color:#3c3489}.role-pill.usuario{background:var(--blue-light);color:var(--blue-dark)}.role-pill.visor{background:var(--green-bg);color:var(--green-text)}.select-wrap-inline{position:relative}.estado-select{appearance:none;-webkit-appearance:none;padding:4px 22px 4px 8px;border-radius:14px;font-size:12px;font-weight:600;font-family:var(--font-sans);border:1px solid transparent;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.estado-select option{background-color:#fff;color:#374151;font-weight:500}.estado-pendiente{background-color:var(--estado-pendiente-bg);color:var(--estado-pendiente-text);border-color:var(--estado-pendiente-border)}.estado-en_proceso{background-color:var(--estado-en-proceso-bg);color:var(--estado-en-proceso-text);border-color:var(--estado-en-proceso-border)}.estado-reservado{background-color:var(--estado-reservado-bg);color:var(--estado-reservado-text);border-color:var(--estado-reservado-border)}.estado-finalizado{background-color:var(--estado-finalizado-bg);color:var(--estado-finalizado-text);border-color:var(--estado-finalizado-border)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-top:.5px solid var(--border);background:var(--bg-th);flex-wrap:wrap;gap:8px}.pg-info{font-size:11.5px;color:var(--text-muted)}.pg-controls{display:flex;align-items:center;gap:3px}.pg-btn{height:28px;min-width:28px;padding:0 5px;border:.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:12.5px;font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.pg-btn:hover:not(:disabled){background:var(--bg-hover);border-color:#ccc}.pg-btn:disabled{opacity:.35;cursor:default}.pg-btn.active{background:var(--blue-main);color:#fff;border-color:var(--blue-main);font-weight:600;box-shadow:0 1px 0 var(--blue-dark)}.pg-size{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-muted)}.pg-size select{height:28px;padding:0 22px 0 8px;border:.5px solid var(--border);border-radius:var(--radius-sm);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;appearance:none;-webkit-appearance:none;font-size:11.5px;font-family:var(--font-sans);color:var(--text-primary);font-weight:500;cursor:pointer;transition:border-color .12s}.pg-size select:hover{border-color:#aaa}.pg-size select:focus{outline:none;border-color:var(--blue-main)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-overlay{display:none;position:fixed;inset:0;background:#00000047;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease}.modal-overlay.open{display:flex}.modal-overlay-shown{position:fixed;inset:0;background:#00000047;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease}.modal-overlay-shown .modal-overlay-shown{z-index:400}.modal-box{background:var(--bg-card);border-radius:var(--radius-xl);border:.5px solid var(--border);width:100%;max-width:380px;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100dvh - 2rem);animation:modal-in .18s ease;box-shadow:0 1px #ffffffe6 inset,0 25px 50px #0000002e,0 0 0 .5px #00000014}.modal-box--lg{max-width:680px}.modal{max-width:640px}.modal,.modal-box{background:var(--bg-card);border-radius:var(--radius-xl);border:.5px solid var(--border);width:100%;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100dvh - 2rem);animation:modal-in .18s ease;box-shadow:0 1px #ffffffe6 inset,0 25px 50px #0000002e,0 0 0 .5px #00000014}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.5rem;border-bottom:.5px solid var(--border);background:var(--bg-th);flex-shrink:0}.modal-header--danger{background:var(--red-bg);border-bottom-color:#f5cece}.modal-header-left{display:flex;align-items:center;gap:10px}.modal-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--blue-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px #1b433226}.modal-icon svg{width:15px;height:15px;color:var(--blue-main)}.modal-icon--danger{background:var(--red-bg);box-shadow:0 2px 4px #c0392b26}.modal-icon--danger svg{color:var(--red-main)}.modal-icon--view{background:#e6f5f2;box-shadow:0 2px 4px #2a7a6f26}.modal-icon--view svg{color:#2a7a6f}.modal-title{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.2;margin:0}.modal-subtitle{font-size:11px;color:var(--text-muted);margin:1px 0 0}.modal-body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1;min-height:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:1rem 1.5rem;border-top:.5px solid var(--border);background:var(--bg-th);flex-shrink:0}.confirm-body{padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.confirm-icon-wrap{width:48px;height:48px;border-radius:50%;background:var(--red-bg);border:1px solid var(--red-border);display:flex;align-items:center;justify-content:center;margin-bottom:4px;box-shadow:0 2px 8px #c0392b1f}.confirm-icon-wrap svg{width:20px;height:20px;color:var(--red-main)}.confirm-icon-wrap--neutral{background:var(--blue-light);border-color:#a7f3d0;box-shadow:0 2px 8px #1b43321f}.confirm-icon-wrap--neutral svg{color:var(--blue-main)}.confirm-text{font-size:13.5px;color:var(--text-primary);line-height:1.55;margin:0}.confirm-text strong{color:var(--red-main)}.confirm-text--neutral strong{color:var(--blue-main)}.confirm-sub{font-size:11.5px;color:var(--text-muted);margin:0}.confirm-overlay{display:none;position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center;padding:1rem}.confirm-overlay.open{display:flex}.confirm-box{background:var(--bg-card);border-radius:var(--radius-xl);border:.5px solid var(--border);width:100%;max-width:360px;padding:1.5rem;text-align:center;animation:modal-in .18s ease;box-shadow:0 25px 50px #0003,0 0 0 .5px #0000000f}.confirm-icon{width:44px;height:44px;border-radius:50%;background:var(--danger-bg);border:1px solid var(--red-border);display:flex;align-items:center;justify-content:center;margin:0 auto .875rem}.confirm-icon svg{width:20px;height:20px;color:var(--danger)}.confirm-title{font-size:15px;font-weight:600;margin-bottom:6px}.confirm-actions{display:flex;gap:8px;justify-content:center}.modal-body-bulk{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:14px}.bulk-form-group{display:flex;flex-direction:column;gap:6px}.bulk-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.bulk-error{font-size:11.5px;font-weight:500;color:#dc2626}.form-section{margin-bottom:1.125rem}.form-section-title{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:1rem 0 .625rem;display:flex;align-items:center;gap:8px}.form-section-title:first-child{margin-top:0}.form-section-title:after{content:"";flex:1;height:.5px;background:var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.full{grid-column:1 / -1}.form-group.col-3{grid-column:span 1}.form-group label{font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.req{color:#e24b4a;margin-left:2px}.opt{font-weight:400;color:var(--text-muted)}.form-group input,.form-group select,.form-group textarea{height:36px;padding:0 11px;border:.5px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s;appearance:none;width:100%;min-width:0;box-sizing:border-box;box-shadow:0 1px 2px #0000000d inset}.form-group textarea{height:68px;padding:9px 11px;resize:none;line-height:1.5}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #1b43321f}.form-group input.input-error,.form-group select.input-error{border-color:#e24b4a;box-shadow:0 0 0 3px #e24b4a1f}.error{color:#e24b4a;font-size:11px;font-weight:500;line-height:1.3}.field-hint{font-size:11px;color:var(--text-muted);margin:2px 0 0;line-height:1.4}.form-error{display:none;margin-top:10px;padding:8px 11px;background:var(--red-bg);border:.5px solid var(--red-border);border-radius:var(--radius-md);font-size:12px;color:var(--red-text);line-height:1.5}.select-wrap{position:relative}.select-wrap select{width:100%;padding-right:30px;cursor:pointer}.select-wrap .chevron{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);width:12px;height:12px}.input-prefix-wrap{position:relative}.input-prefix{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none}.with-prefix{padding-left:22px!important}.input-suffix-wrap{position:relative}.input-suffix-wrap input{padding-right:96px!important}.input-suffix{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:500}.view-mode{display:flex;flex-direction:column;gap:10px}.view-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.view-card{background:var(--bg-page);border:.5px solid var(--border);border-radius:var(--radius-lg);padding:11px 14px;display:flex;flex-direction:column;gap:4px}.view-label{font-size:9.5px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;margin:0}.view-value{font-size:14px;font-weight:500;color:var(--text-primary);margin:0;line-height:1.35}.view-value.mono{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.drop-zone-c{position:relative;border:2px dashed var(--border);border-radius:var(--radius-md);background:#fafafa;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;transition:border-color .15s,background .15s;cursor:pointer}.drop-zone-c:hover,.drop-zone-c.drag-over{border-color:#60a5fa;background:#eff6ff}.drop-zone-c.has-file{border-style:solid;border-color:#1b4332;background:#f0fdf4}.drop-icon-c{color:var(--text-muted)}.drop-text-c{font-size:13px;color:var(--text-secondary);margin:0;text-align:center}.drop-link-c{color:var(--blue-main);font-weight:500;cursor:pointer;text-decoration:underline}.drop-filename-c{font-size:13px;font-weight:500;color:#1b4332;margin:0}.drop-remove-c{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:#dc2626;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.drop-remove-c:hover{background:#b91c1c}.file-input-c{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.has-file .file-input-c{pointer-events:none}@media(max-width:768px){.page{padding:1rem}.stat-row{grid-template-columns:repeat(2,1fr)}.col-id,.col-fecha{display:none}.search-wrap{width:100%}.card-header{flex-direction:column;align-items:stretch;gap:10px}.btn-create{justify-content:center}}@media(max-width:640px){.page{padding:1rem .75rem}.modal-overlay,.modal-overlay-shown{padding:0;align-items:flex-end}.modal-box{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92dvh}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:1}.view-row{grid-template-columns:1fr}.modal-body{padding:1rem}.modal-footer{flex-direction:column-reverse;gap:6px;padding:.875rem 1rem}.modal-footer button{width:100%}}
