.sidebar[data-v-b752a10b]{width:250px;height:100dvh;background:var(--c-surface);border-right:1px solid var(--c-border);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;transition:width .2s cubic-bezier(.16,1,.3,1)}.sidebar.collapsed[data-v-b752a10b]{width:64px}.sidebar-brand[data-v-b752a10b]{display:flex;align-items:center;gap:12px;padding:18px 16px 12px;overflow:hidden}.brand-logo[data-v-b752a10b]{height:40px;width:40px;object-fit:contain;display:block;border-radius:8px}.brand-mark-ico[data-v-b752a10b]{width:34px;height:34px;min-width:34px;border-radius:8px;object-fit:contain;display:block}.collapse-btn[data-v-b752a10b]{background:none;border:none;color:var(--c-text-muted);padding:6px;margin:0 12px 4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition);align-self:flex-end}.collapsed .collapse-btn[data-v-b752a10b]{align-self:center;margin:0 0 4px}.collapse-btn[data-v-b752a10b]:hover{color:var(--c-text);background:var(--c-bg)}.sidebar-nav[data-v-b752a10b]{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 10px}.collapsed .sidebar-nav[data-v-b752a10b]{padding:4px 8px}.nav-item[data-v-b752a10b]{display:flex;align-items:center;gap:10px;padding:7px 10px;color:var(--c-text-secondary);font-size:13px;font-weight:500;border-radius:6px;transition:all var(--transition);text-decoration:none;margin:1px 0;white-space:nowrap;overflow:hidden;position:relative}.collapsed .nav-item[data-v-b752a10b]{justify-content:center;padding:8px}.nav-item[data-v-b752a10b]:hover{color:var(--c-text);background:var(--c-surface-hover);transform:translate(2px)}.nav-item[data-v-b752a10b]:active{transform:scale(.98)}.nav-item.active[data-v-b752a10b]{color:var(--c-primary);background:var(--c-primary-50)}.nav-item.active[data-v-b752a10b]:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--c-primary);border-radius:0 3px 3px 0}.nav-item.active .nav-icon[data-v-b752a10b]{color:var(--c-primary)}.nav-item.sub[data-v-b752a10b]{padding-left:36px;font-size:12.5px}.nav-item.sub .nav-icon[data-v-b752a10b]{opacity:.7}.nav-item.sub.active[data-v-b752a10b]{color:var(--group-color, var(--c-primary))}.nav-item.sub.active[data-v-b752a10b]:before{background:var(--group-color, var(--c-primary))}.nav-item.sub.active .nav-icon[data-v-b752a10b]{color:var(--group-color, var(--c-primary))}.nav-icon[data-v-b752a10b]{flex-shrink:0}.nav-group[data-v-b752a10b]{margin:2px 0;position:relative}.group-header[data-v-b752a10b]{display:flex;align-items:center;gap:10px;padding:8px 10px;width:100%;background:none;border:none;color:var(--c-text-secondary);font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all var(--transition);text-align:left;white-space:nowrap;overflow:hidden}.collapsed .group-header[data-v-b752a10b]{justify-content:center;padding:8px}.group-header[data-v-b752a10b]:hover{color:var(--c-text);background:var(--c-surface-hover)}.group-header.open[data-v-b752a10b]{color:var(--c-text)}.group-dot[data-v-b752a10b]{width:4px;height:4px;border-radius:50%;flex-shrink:0;opacity:.7}.collapsed .group-dot[data-v-b752a10b]{display:none}.group-label[data-v-b752a10b]{flex:1}.group-chevron[data-v-b752a10b]{transition:transform .2s ease;opacity:.5;flex-shrink:0}.group-chevron.rotated[data-v-b752a10b]{transform:rotate(180deg)}.group-items[data-v-b752a10b]{padding:2px 0 4px}.submenu-enter-active[data-v-b752a10b]{transition:all .2s ease;overflow:hidden}.submenu-leave-active[data-v-b752a10b]{transition:all .15s ease;overflow:hidden;pointer-events:none}.submenu-enter-from[data-v-b752a10b]{opacity:0;max-height:0}.submenu-enter-to[data-v-b752a10b],.submenu-leave-from[data-v-b752a10b]{opacity:1;max-height:500px}.submenu-leave-to[data-v-b752a10b]{opacity:0;max-height:0}.flyout[data-v-b752a10b]{position:fixed;min-width:190px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:4px;z-index:9999;animation:flyout-in-b752a10b .15s ease}@keyframes flyout-in-b752a10b{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.flyout-header[data-v-b752a10b]{padding:6px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted);border-left:2px solid;margin-bottom:2px}.flyout-item[data-v-b752a10b]{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:500;color:var(--c-text-secondary);text-decoration:none;border-radius:5px;transition:all var(--transition)}.flyout-item[data-v-b752a10b]:hover{background:var(--c-surface-hover);color:var(--c-text)}.flyout-active[data-v-b752a10b]{color:var(--c-primary)!important;background:var(--c-primary-50)!important}.sidebar-footer[data-v-b752a10b]{padding:12px 14px;border-top:1px solid var(--c-divider);padding-bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;overflow:hidden}.user-pill[data-v-b752a10b]{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:inherit;border-radius:6px;padding:4px 6px;margin:-4px -6px;transition:background var(--transition)}a.user-pill[data-v-b752a10b]:hover{background:var(--c-surface-hover)}.user-avatar[data-v-b752a10b]{width:30px;height:30px;min-width:30px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}.user-details[data-v-b752a10b]{display:flex;flex-direction:column;min-width:0}.user-name[data-v-b752a10b]{font-size:12px;font-weight:500;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role[data-v-b752a10b]{font-size:11px;color:var(--c-text-muted);text-transform:capitalize}.btn-logout[data-v-b752a10b]{background:none;border:none;color:var(--c-text-muted);padding:6px;border-radius:6px;transition:all var(--transition);flex-shrink:0}.btn-logout[data-v-b752a10b]:hover{color:var(--c-error);background:var(--c-error-bg)}.ft-enter-active[data-v-b752a10b]{transition:opacity .15s ease .05s}.ft-leave-active[data-v-b752a10b]{transition:opacity .1s ease}.ft-enter-from[data-v-b752a10b],.ft-leave-to[data-v-b752a10b]{opacity:0}.admin-divider[data-v-b752a10b]{padding:10px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);border-top:1px solid var(--c-divider);margin-top:6px;overflow:hidden;min-height:24px}.collapsed .admin-divider[data-v-b752a10b]{padding:10px 0 4px;border-top:1px solid var(--c-divider);margin-top:6px}@media(max-width:768px){.group-header[data-v-b752a10b],.sidebar-brand[data-v-b752a10b],.sidebar-footer[data-v-b752a10b]{flex-wrap:wrap}.group-header[data-v-b752a10b]>*,.sidebar-brand[data-v-b752a10b]>*,.sidebar-footer[data-v-b752a10b]>*{min-width:0;max-width:100%}}.alert-bell-wrap[data-v-ac5940a8]{position:relative}.alert-bell[data-v-ac5940a8]{background:none;border:none;color:var(--c-text-muted);padding:8px;border-radius:8px;position:relative;transition:all var(--transition)}.alert-bell[data-v-ac5940a8]:hover{color:var(--c-text);background:var(--c-bg)}.alert-bell.has-alerts[data-v-ac5940a8]{color:var(--c-accent-dark)}.alert-count[data-v-ac5940a8]{position:absolute;top:2px;right:2px;width:16px;height:16px;background:var(--c-error);color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:bounce-in .3s cubic-bezier(.34,1.56,.64,1)}.alert-dropdown[data-v-ac5940a8]{position:absolute;top:100%;right:0;width:min(380px,calc(100vw - 24px));max-height:420px;overflow-y:auto;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;margin-top:4px}.alert-header[data-v-ac5940a8]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--c-divider);font-weight:600;font-size:14px}.alert-close[data-v-ac5940a8]{background:none;border:none;color:var(--c-text-muted);padding:4px;border-radius:4px;cursor:pointer}.alert-close[data-v-ac5940a8]:hover{background:var(--c-bg)}.alert-empty[data-v-ac5940a8]{padding:32px;text-align:center;color:var(--c-text-muted);font-size:13px}.alert-list[data-v-ac5940a8]{padding:4px}.alert-item-wrap[data-v-ac5940a8]{position:relative;border-radius:6px;overflow:hidden}.alert-swipe-bg[data-v-ac5940a8]{position:absolute;inset:0;background:#ef4444;display:flex;align-items:center;justify-content:flex-end;padding-right:16px;color:#fff;opacity:0;transition:opacity .1s}.alert-item-wrap.swiping .alert-swipe-bg[data-v-ac5940a8]{opacity:1}.alert-item[data-v-ac5940a8]{display:flex;gap:10px;padding:10px 12px;border-radius:6px;cursor:default;transition:background var(--transition);position:relative;background:var(--c-surface)}.alert-item[data-v-ac5940a8]:hover{background:var(--c-surface-hover)}.alert-icon[data-v-ac5940a8]{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert--warning .alert-icon[data-v-ac5940a8]{background:#fffbeb;color:#d97706}.alert--danger .alert-icon[data-v-ac5940a8]{background:#fef2f2;color:#dc2626}.alert--info .alert-icon[data-v-ac5940a8]{background:#eff6ff;color:#2563eb}.alert-body[data-v-ac5940a8]{display:flex;flex-direction:column;min-width:0;flex:1}.alert-title[data-v-ac5940a8]{font-size:13px;font-weight:500}.alert-msg[data-v-ac5940a8]{font-size:11px;color:var(--c-text-muted);margin-top:1px}.alert-header-actions[data-v-ac5940a8]{display:flex;align-items:center;gap:6px}.alert-dismiss-all[data-v-ac5940a8]{font-size:11px;padding:2px 8px;border-radius:4px;background:none;border:1px solid var(--c-border);color:var(--c-text-muted);cursor:pointer}.alert-dismiss-all[data-v-ac5940a8]:hover{background:var(--c-bg);color:var(--c-text)}.alert-dismiss[data-v-ac5940a8]{background:none;border:none;color:var(--c-text-muted);padding:3px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s;flex-shrink:0;align-self:flex-start}.alert-item:hover .alert-dismiss[data-v-ac5940a8]{opacity:1}.alert-dismiss[data-v-ac5940a8]:hover{background:var(--c-bg);color:var(--c-text)}.alert-backdrop[data-v-ac5940a8]{position:fixed;inset:0;z-index:-1}.dropdown-enter-active[data-v-ac5940a8]{transition:all .2s cubic-bezier(.34,1.56,.64,1)}.dropdown-leave-active[data-v-ac5940a8]{transition:all .15s ease}.dropdown-enter-from[data-v-ac5940a8]{transform:translateY(-8px) scale(.95);opacity:0}.dropdown-leave-to[data-v-ac5940a8]{transform:translateY(-4px);opacity:0}@media(max-width:768px){.alert-dropdown[data-v-ac5940a8]{width:calc(100vw - 16px);right:0;max-width:420px}.alert-dismiss[data-v-ac5940a8]{opacity:1}}@media(max-width:768px){.alert-header[data-v-ac5940a8],.alert-header-actions[data-v-ac5940a8]{flex-wrap:wrap}.alert-header[data-v-ac5940a8]>*,.alert-header-actions[data-v-ac5940a8]>*{min-width:0;max-width:100%}}.toast-container[data-v-48222168]{position:fixed;bottom:24px;right:24px;z-index:1100;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast[data-v-48222168]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow-lg);pointer-events:auto;min-width:280px;max-width:420px;animation:bounce-in .35s cubic-bezier(.34,1.56,.64,1)}.toast--success[data-v-48222168]{border-left:3px solid var(--c-success)}.toast--error[data-v-48222168]{border-left:3px solid var(--c-error)}.toast--info[data-v-48222168]{border-left:3px solid var(--c-info)}.toast--warning[data-v-48222168]{border-left:3px solid #f59e0b}.toast-icon[data-v-48222168]{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.toast--success .toast-icon[data-v-48222168]{background:var(--c-success-bg);color:var(--c-success)}.toast--error .toast-icon[data-v-48222168]{background:var(--c-error-bg);color:var(--c-error)}.toast--info .toast-icon[data-v-48222168]{background:#eff6ff;color:var(--c-info)}.toast--warning .toast-icon[data-v-48222168]{background:#fef3c7;color:#f59e0b}.toast-text[data-v-48222168]{font-size:13px;font-weight:500;color:var(--c-text);flex:1}.toast-close[data-v-48222168]{background:none;border:none;color:var(--c-text-muted);padding:4px;border-radius:4px;cursor:pointer;flex-shrink:0}.toast-close[data-v-48222168]:hover{background:var(--c-bg)}.toast-enter-active[data-v-48222168]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active[data-v-48222168]{transition:all .2s ease}.toast-enter-from[data-v-48222168]{transform:translate(100px) scale(.9);opacity:0}.toast-leave-to[data-v-48222168]{transform:translate(60px);opacity:0}@media(max-width:768px){.toast-container[data-v-48222168]{left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom))}.toast[data-v-48222168]{min-width:0;max-width:100%}.toast-enter-from[data-v-48222168]{transform:translateY(20px) scale(.95);opacity:0}.toast-leave-to[data-v-48222168]{transform:translateY(10px);opacity:0}}.di-wrap[data-v-ef0cdf87]{display:inline-flex;align-items:center;position:relative;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface);transition:border-color .15s}.di-wrap[data-v-ef0cdf87]:focus-within{border-color:var(--c-primary)}.di-invalid[data-v-ef0cdf87]{border-color:var(--c-error)}.di-disabled[data-v-ef0cdf87]{opacity:.6}.di-text[data-v-ef0cdf87]{width:96px;min-width:0;padding:5px 2px 5px 8px;border:0;background:transparent;color:var(--c-text);font:inherit;outline:none}.di-btn[data-v-ef0cdf87]{display:inline-flex;align-items:center;flex:none;padding:4px 6px 4px 2px;border:0;background:transparent;color:var(--c-text-muted);cursor:pointer}.di-btn[data-v-ef0cdf87]:hover:not(:disabled),.di-btn--open[data-v-ef0cdf87]{color:var(--c-primary)}.di-btn[data-v-ef0cdf87]:disabled{cursor:not-allowed}.di-pop[data-v-ef0cdf87]{width:252px;padding:10px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg, 10px);box-shadow:var(--shadow-lg, 0 10px 30px rgba(0, 0, 0, .15));font-size:12px;color:var(--c-text)}.di-pop-head[data-v-ef0cdf87]{display:flex;align-items:center;gap:2px;margin-bottom:8px}.di-pop-title[data-v-ef0cdf87]{flex:1;text-align:center;font-weight:700;font-size:13px}.di-nav[data-v-ef0cdf87]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--c-text-muted);cursor:pointer}.di-nav[data-v-ef0cdf87]:hover{background:var(--c-primary-50);color:var(--c-primary)}.di-dow[data-v-ef0cdf87],.di-grid[data-v-ef0cdf87]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.di-dow[data-v-ef0cdf87]{margin-bottom:4px;color:var(--c-text-muted);font-size:10px;font-weight:700;text-align:center}.di-day[data-v-ef0cdf87]{height:28px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--c-text);font-size:12px;cursor:pointer}.di-day[data-v-ef0cdf87]:hover:not(:disabled){background:var(--c-primary-50);color:var(--c-primary)}.di-day--other[data-v-ef0cdf87]{color:var(--c-text-muted);opacity:.55}.di-day--today[data-v-ef0cdf87]{border-color:var(--c-primary)}.di-day--sel[data-v-ef0cdf87],.di-day--sel[data-v-ef0cdf87]:hover:not(:disabled){background:var(--c-primary);color:#fff;font-weight:700}.di-day[data-v-ef0cdf87]:disabled{opacity:.28;cursor:not-allowed}.di-pop-foot[data-v-ef0cdf87]{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--c-border)}.di-foot-btn[data-v-ef0cdf87]{padding:4px 10px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);color:var(--c-text-secondary);font-size:11px;font-weight:600;cursor:pointer}.di-foot-btn[data-v-ef0cdf87]:hover:not(:disabled){border-color:var(--c-primary);color:var(--c-primary)}.di-foot-btn[data-v-ef0cdf87]:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.di-pop-head[data-v-ef0cdf87]{flex-wrap:wrap}.di-pop-head[data-v-ef0cdf87]>*{min-width:0;max-width:100%}}.modal-overlay[data-v-f31e0867]{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box[data-v-f31e0867]{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;max-width:400px;width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-icon[data-v-f31e0867]{width:40px;height:40px;border-radius:50%;background:var(--c-error-bg, #fef2f2);color:var(--c-error, #dc2626);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-content[data-v-f31e0867]{flex:1}.modal-title[data-v-f31e0867]{font-size:15px;font-weight:600;color:var(--c-text);margin-bottom:6px}.modal-message[data-v-f31e0867]{font-size:13px;color:var(--c-text-secondary);line-height:1.5;white-space:pre-line}.modal-actions[data-v-f31e0867]{display:flex;justify-content:flex-end;gap:8px}.btn-cancel[data-v-f31e0867]{padding:8px 16px;border:1px solid var(--c-border);border-radius:6px;background:none;font-size:13px;font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:all var(--transition)}.btn-cancel[data-v-f31e0867]:hover{background:var(--c-bg);color:var(--c-text)}.btn-confirm[data-v-f31e0867]{padding:8px 16px;border:none;border-radius:6px;background:var(--c-primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-confirm[data-v-f31e0867]:hover{opacity:.9}.btn-confirm[data-v-f31e0867]:disabled{opacity:.5;cursor:not-allowed}.btn-confirm.btn-danger[data-v-f31e0867]{background:var(--c-error, #dc2626)}.btn-confirm.btn-danger[data-v-f31e0867]:hover{background:#b91c1c}.modal-input[data-v-f31e0867]{margin-top:10px;width:100%;padding:8px 10px;border:1px solid var(--c-border);border-radius:6px;font-size:13px;color:var(--c-text);background:var(--c-surface);outline:none;transition:border-color var(--transition);font-family:inherit}.modal-input[data-v-f31e0867]:focus{border-color:var(--c-primary)}.modal-input--textarea[data-v-f31e0867]{resize:vertical;min-height:64px}.modal-input--date[data-v-f31e0867]{padding:0}.modal-input--date[data-v-f31e0867] .di-text{flex:1}.modal-input-hint[data-v-f31e0867]{margin-top:4px;font-size:11px;color:var(--c-text-secondary)}.modal-input-hint--error[data-v-f31e0867]{color:var(--c-error, #dc2626)}.modal-enter-active[data-v-f31e0867]{transition:all .15s ease}.modal-leave-active[data-v-f31e0867]{transition:all .1s ease;pointer-events:none}.modal-enter-from[data-v-f31e0867],.modal-leave-to[data-v-f31e0867]{opacity:0}.modal-enter-from .modal-box[data-v-f31e0867]{transform:scale(.95) translateY(8px)}.modal-enter-to .modal-box[data-v-f31e0867]{transform:scale(1) translateY(0)}@media(max-width:768px){.modal-overlay[data-v-f31e0867]{align-items:stretch;padding:0}.modal-box[data-v-f31e0867]{max-width:100%;width:100%;border-radius:0;border:0;padding:20px 18px;gap:14px;justify-content:flex-start}.modal-title[data-v-f31e0867]{font-size:18px;margin-bottom:8px}.modal-message[data-v-f31e0867]{font-size:15px;line-height:1.5}.modal-input[data-v-f31e0867]{padding:12px 14px;font-size:16px;min-height:var(--touch-target)}.modal-input--date[data-v-f31e0867]{padding:0}.modal-input--textarea[data-v-f31e0867]{min-height:96px}.modal-actions[data-v-f31e0867]{margin-top:auto;padding-top:16px;border-top:1px solid var(--c-divider);flex-direction:column-reverse;gap:10px}.modal-actions>button[data-v-f31e0867]{width:100%;padding:14px 16px;font-size:15px;min-height:var(--touch-target)}.modal-enter-from .modal-box[data-v-f31e0867],.modal-leave-to .modal-box[data-v-f31e0867]{transform:translateY(20px)}}@media(max-width:768px){.modal-actions[data-v-f31e0867]{flex-wrap:wrap}.modal-actions[data-v-f31e0867]>*{min-width:0;max-width:100%}}.rel-select-wrap[data-v-87a3c079]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.rel-label[data-v-87a3c079]{font-size:13px;font-weight:500;color:var(--c-text-secondary)}.rel-select[data-v-87a3c079]{position:relative;min-height:38px}.rel-select.disabled .rel-display[data-v-87a3c079]{opacity:.6;cursor:not-allowed;pointer-events:none}.rel-display[data-v-87a3c079]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);cursor:pointer;min-height:38px;transition:all var(--transition)}.rel-display[data-v-87a3c079]:hover{border-color:var(--c-primary)}.rel-value[data-v-87a3c079]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text)}.rel-value-sub[data-v-87a3c079]{font-size:11px;color:var(--c-text-muted);font-weight:500}.rel-placeholder[data-v-87a3c079]{font-size:13px;color:var(--c-text-muted)}.rel-clear[data-v-87a3c079]{background:none;border:none;color:var(--c-text-muted);padding:2px;border-radius:3px;display:flex}.rel-clear[data-v-87a3c079]:hover{color:var(--c-error)}.rel-dropdown[data-v-87a3c079]{background:var(--c-surface);border:1px solid var(--c-primary);border-radius:6px;box-shadow:var(--shadow-lg);overflow:hidden}.rel-search-wrap[data-v-87a3c079]{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--c-divider)}.rel-search-icon[data-v-87a3c079]{position:absolute;left:10px;color:var(--c-text-muted);pointer-events:none;z-index:1}.rel-search[data-v-87a3c079]{width:100%;padding:10px 12px 10px 30px;border:none;outline:none;font-size:13px;background:transparent}.rel-options[data-v-87a3c079]{max-height:200px;overflow-y:auto}.rel-option[data-v-87a3c079]{padding:8px 12px;font-size:13px;cursor:pointer;transition:background var(--transition)}.rel-option[data-v-87a3c079]:hover,.rel-option.highlighted[data-v-87a3c079]{background:var(--c-primary-50);color:var(--c-primary)}.rel-option--has-sub[data-v-87a3c079]{display:flex;flex-direction:column;gap:1px}.rel-option-name[data-v-87a3c079]{display:inline-flex;align-items:center;gap:6px}.rel-option-sub[data-v-87a3c079]{font-size:10px;color:var(--c-text-muted);line-height:1.2}.rel-badge[data-v-87a3c079]{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.4;background:var(--c-warning-bg);color:var(--c-warning);border:1px solid var(--c-warning);white-space:nowrap}.rel-loading[data-v-87a3c079],.rel-empty[data-v-87a3c079]{padding:12px;text-align:center;font-size:12px;color:var(--c-text-muted)}.rel-create-btn[data-v-87a3c079]{display:flex;align-items:center;gap:6px;width:100%;padding:10px 12px;border:none;border-top:1px solid var(--c-divider);background:var(--c-bg);color:var(--c-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition)}.rel-create-btn[data-v-87a3c079]:hover{background:var(--c-primary-50)}.rel-create-disabled[data-v-87a3c079]{padding:10px 12px;border-top:1px solid var(--c-divider);font-size:12px;color:var(--c-text-muted)}.rel-create-form[data-v-87a3c079]{padding:12px}.rel-create-field[data-v-87a3c079]{margin-bottom:8px}.rel-create-input[data-v-87a3c079]{width:100%;padding:8px 10px;border:1px solid var(--c-border);border-radius:5px;font-size:13px;outline:none;transition:all var(--transition)}.rel-create-input[data-v-87a3c079]:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-50)}.rel-create-actions[data-v-87a3c079]{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.rel-btn-cancel[data-v-87a3c079]{padding:6px 12px;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface);font-size:12px;color:var(--c-text-secondary)}.rel-btn-cancel[data-v-87a3c079]:hover{background:var(--c-bg)}.rel-btn-save[data-v-87a3c079]{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;border-radius:5px;background:var(--c-primary);color:#fff;font-size:12px;font-weight:500}.rel-btn-save[data-v-87a3c079]:hover{background:var(--c-primary-light)}.rel-btn-save[data-v-87a3c079]:disabled{opacity:.5}.rel-btn-warn[data-v-87a3c079]{background:#b45309}.rel-btn-warn[data-v-87a3c079]:hover{background:#92400e}.rel-dup-matches[data-v-87a3c079]{margin-top:8px;display:flex;flex-direction:column;gap:4px}.rel-dup-hint[data-v-87a3c079]{font-size:11px;color:var(--c-text-secondary);margin-bottom:2px}.rel-dup-match[data-v-87a3c079]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;padding:6px 8px;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface);cursor:pointer}.rel-dup-match[data-v-87a3c079]:hover{background:var(--c-bg);border-color:var(--c-primary)}.rel-dup-warn[data-v-87a3c079]{margin-top:8px;padding:8px 10px;border-radius:5px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:500}.rel-backdrop[data-v-87a3c079]{position:fixed;inset:0;z-index:9998}@media(max-width:768px){.rel-select-wrap[data-v-87a3c079],.rel-select[data-v-87a3c079],.rel-display[data-v-87a3c079],.rel-value[data-v-87a3c079]{min-width:0}.rel-value[data-v-87a3c079]{overflow:hidden}.rel-value[data-v-87a3c079]>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rel-create-actions[data-v-87a3c079]{flex-wrap:wrap}.rel-create-actions[data-v-87a3c079]>*{min-width:0;max-width:100%}}.field[data-v-af9e302b]{margin-bottom:18px}.field-label[data-v-af9e302b]{display:block;font-size:13px;font-weight:500;color:var(--c-text-secondary);margin-bottom:6px}.required[data-v-af9e302b]{color:var(--c-error)}.field-tooltip[data-v-af9e302b]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--c-border);color:var(--c-text-muted);font-size:9px;font-weight:700;cursor:help;margin-left:4px;vertical-align:middle}.field-input[data-v-af9e302b] input,.field-input[data-v-af9e302b] select,.field-input[data-v-af9e302b] textarea,.field-input input[data-v-af9e302b],.field-input select[data-v-af9e302b],.field-input textarea[data-v-af9e302b]{width:100%;padding:9px 12px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);color:var(--c-text);font-size:13px;outline:none;transition:all var(--transition);box-sizing:border-box}.field-input[data-v-af9e302b] input:focus,.field-input[data-v-af9e302b] select:focus,.field-input[data-v-af9e302b] textarea:focus,.field-input input[data-v-af9e302b]:focus,.field-input select[data-v-af9e302b]:focus,.field-input textarea[data-v-af9e302b]:focus{border-color:var(--c-primary);background:var(--c-surface);box-shadow:0 0 0 3px var(--c-primary-50)}.field-input[data-v-af9e302b] .di-wrap{width:100%;box-sizing:border-box;background:var(--c-bg)}.field-input[data-v-af9e302b] .di-wrap input{border:none;background:transparent;box-shadow:none;padding:9px 2px 9px 12px}.field-input[data-v-af9e302b] .di-wrap:focus-within{border-color:var(--c-primary);background:var(--c-surface);box-shadow:0 0 0 3px var(--c-primary-50)}.has-error .field-input input[data-v-af9e302b],.has-error .field-input[data-v-af9e302b] input,.has-error .field-input[data-v-af9e302b] select{border-color:var(--c-error)}.field-error[data-v-af9e302b]{font-size:12px;color:var(--c-error);margin-top:4px}@media(max-width:768px){.field[data-v-af9e302b]{margin-bottom:16px}.field-label[data-v-af9e302b]{font-size:14px;font-weight:600;color:var(--c-text);margin-bottom:8px}.field-input[data-v-af9e302b] input,.field-input[data-v-af9e302b] select,.field-input[data-v-af9e302b] textarea,.field-input input[data-v-af9e302b],.field-input select[data-v-af9e302b],.field-input textarea[data-v-af9e302b]{padding:12px 14px;font-size:16px;min-height:var(--touch-target);border-radius:var(--radius)}.field-input[data-v-af9e302b] textarea,.field-input textarea[data-v-af9e302b]{min-height:96px}.field-error[data-v-af9e302b]{font-size:13px}}.dfm-backdrop[data-v-4a99e9ce]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.dfm-box[data-v-4a99e9ce]{background:var(--c-surface, #fff);border-radius:10px;box-shadow:0 12px 40px #00000040;width:min(520px,95vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.dfm-header[data-v-4a99e9ce]{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:#fef3c7;color:#92400e;border-bottom:1px solid var(--c-border)}.dfm-header>div[data-v-4a99e9ce]:nth-child(2){flex:1}.dfm-title[data-v-4a99e9ce]{font-weight:700;font-size:14px;margin-bottom:4px}.dfm-subtitle[data-v-4a99e9ce]{font-size:12px;line-height:1.5;color:#78350f}.dfm-close[data-v-4a99e9ce]{background:transparent;border:none;cursor:pointer;padding:4px;color:#92400e}.dfm-close[data-v-4a99e9ce]:hover{color:#1f2937}.dfm-body[data-v-4a99e9ce]{padding:16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.dfm-help[data-v-4a99e9ce]{font-size:12px;color:var(--c-text-muted);line-height:1.4;margin-top:4px}.dfm-footer[data-v-4a99e9ce]{padding:12px 18px;border-top:1px solid var(--c-border);display:flex;justify-content:flex-end;gap:10px;background:var(--c-surface-alt, #f8fafc)}@media(max-width:768px){.dfm-header[data-v-4a99e9ce]{flex-wrap:wrap}.dfm-header[data-v-4a99e9ce]>*{min-width:0;max-width:100%}}.fv-overlay[data-v-57a1242d]{position:fixed;inset:0;z-index:1000;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:24px}.fv-box[data-v-57a1242d]{background:#fff;border-radius:10px;overflow:hidden;width:min(1000px,95vw);height:min(90vh,1000px);display:flex;flex-direction:column;box-shadow:0 20px 60px #00000059}.fv-header[data-v-57a1242d]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc;flex-shrink:0}.fv-btn--back[data-v-57a1242d]{display:inline-flex}.fv-title[data-v-57a1242d]{font-weight:700;font-size:14px;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-actions[data-v-57a1242d]{display:flex;align-items:center;gap:6px;flex-shrink:0}.fv-btn[data-v-57a1242d]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#334155;text-decoration:none}.fv-btn[data-v-57a1242d]:hover{background:#f1f5f9}.fv-btn--close[data-v-57a1242d]{border-color:transparent}.fv-body[data-v-57a1242d]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#334155}.fv-img[data-v-57a1242d]{max-width:100%;max-height:100%;object-fit:contain}.fv-frame[data-v-57a1242d]{width:100%;height:100%;border:0;background:#fff}.fv-fallback[data-v-57a1242d]{color:#e2e8f0;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}.fv-dl-link[data-v-57a1242d]{display:inline-flex;align-items:center;gap:6px;color:#fff;background:#2563eb;padding:8px 14px;border-radius:6px;text-decoration:none;font-weight:600}@media(max-width:640px){.fv-overlay[data-v-57a1242d]{padding:0}.fv-box[data-v-57a1242d]{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.fv-header[data-v-57a1242d]{padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top))}.fv-btn--back[data-v-57a1242d]{display:inline-flex}.fv-btn--close[data-v-57a1242d]{display:none}.fv-btn[data-v-57a1242d]{width:40px;height:40px}.fv-title[data-v-57a1242d]{font-size:13px}}@media(max-width:768px){.fv-actions[data-v-57a1242d],.fv-header[data-v-57a1242d]{flex-wrap:wrap}.fv-actions[data-v-57a1242d]>*,.fv-header[data-v-57a1242d]>*{min-width:0;max-width:100%}}.app.has-sidebar .main{margin-left:250px;min-height:100vh;min-height:100dvh;transition:margin-left .2s cubic-bezier(.16,1,.3,1)}.app.has-sidebar:has(.sidebar.collapsed) .main{margin-left:64px}.topbar{position:fixed;top:0;right:0;left:250px;height:calc(48px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:var(--c-surface);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;padding-left:20px;padding-right:16px;z-index:50;transition:left .2s cubic-bezier(.16,1,.3,1)}.app:has(.sidebar.collapsed) .topbar{left:64px}.topbar-left{display:flex;align-items:center}.topbar-right{display:flex;align-items:center;gap:8px}.app.has-sidebar .main{padding-top:calc(48px + env(safe-area-inset-top))}.app.is-fullscreen .main{margin:0;padding:0;min-height:100vh;min-height:100dvh}.mobile-menu-btn{display:none;background:none;border:none;border-radius:6px;padding:6px;color:var(--c-text);cursor:pointer}.mobile-menu-btn:hover{background:var(--c-surface-hover)}.mobile-overlay{position:fixed;inset:0;background:#0006;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-loading{position:fixed;inset:0;background:var(--c-bg);display:flex;align-items:center;justify-content:center;z-index:9999}.app-loading-ring{width:36px;height:36px;border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-fade-leave-active{transition:opacity .25s ease}.app-fade-leave-to{opacity:0}.no-access-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.no-access-card{text-align:center;max-width:380px;padding:48px 40px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.no-access-card h2{font-size:18px;font-weight:700;color:var(--c-text);margin-bottom:12px}.no-access-card p{font-size:13px;color:var(--c-text-muted);margin-bottom:8px;line-height:1.5}.no-access-email{margin:16px 0;font-size:12px;font-weight:500;color:var(--c-primary);background:var(--c-primary-50);padding:6px 14px;border-radius:20px;display:inline-block}.no-access-logout{margin-top:8px;padding:8px 24px;background:none;border:1px solid var(--c-border);border-radius:6px;font-size:13px;color:var(--c-text-muted);cursor:pointer}.no-access-logout:hover{border-color:var(--c-error);color:var(--c-error)}.page-enter-active{transition:opacity .12s ease,transform .12s ease}.page-leave-active{transition:opacity .08s ease;pointer-events:none}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0}@media(max-width:768px){.mobile-menu-btn{display:flex}.app.has-sidebar .main{margin-left:0!important;padding-bottom:max(20px,env(safe-area-inset-bottom))}.topbar{left:0!important;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.app .sidebar{transform:translate(-100%);transition:transform .25s cubic-bezier(.16,1,.3,1);z-index:101}.app .sidebar.mobile-open{transform:translate(0)}.app .sidebar.collapsed{width:250px}}@media(max-width:768px){.topbar,.topbar-right{flex-wrap:wrap}.topbar>*,.topbar-right>*{min-width:0;max-width:100%}}:root{--c-primary: #09514d;--c-primary-light: #0b6963;--c-primary-dark: #063b38;--c-primary-50: #e8f5f4;--c-primary-100: #c5e8e6;--c-accent: #f4b117;--c-accent-light: #f7c94a;--c-accent-dark: #d99a0e;--c-accent-50: #fef8e7;--c-bg: #f4f6f8;--c-bg-white: #ffffff;--c-surface: #ffffff;--c-surface-hover: #f8fafa;--c-text: #111827;--c-text-secondary: #64748b;--c-text-muted: #94a3b8;--c-border: #e2e8f0;--c-border-light: #f1f5f9;--c-divider: #eef2f6;--c-success: #10b981;--c-success-bg: #ecfdf5;--c-error: #ef4444;--c-error-bg: #fef2f2;--c-warning: #f59e0b;--c-warning-bg: #fffbeb;--c-info: #3b82f6;--radius-sm: 3px;--radius: 6px;--radius-lg: 8px;--radius-xl: 10px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -2px rgba(0,0,0,.05);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition: .15s ease}@keyframes bounce-in{0%{transform:scale(.95);opacity:0}60%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes slide-up{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel{border-radius:4px;background:linear-gradient(90deg,var(--c-border) 25%,var(--c-surface-hover) 50%,var(--c-border) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite linear}.info-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted);padding:0 12px}.panel-footer{display:flex;gap:10px;justify-content:flex-end}.btn-cancel{display:flex;align-items:center;gap:6px;padding:9px 18px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface);color:var(--c-text-secondary);font-size:13px;font-weight:500;cursor:pointer}.btn-cancel:hover{background:var(--c-bg)}.btn-save{display:flex;align-items:center;gap:6px;padding:9px 20px;border:none;border-radius:6px;background:var(--c-primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.btn-save:hover{background:var(--c-primary-light)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.btn-wizard{display:flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--c-primary);border-radius:6px;background:transparent;color:var(--c-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition)}.btn-wizard:hover{background:var(--c-primary);color:#fff}.neg-utility-banner{padding:10px 14px;margin-bottom:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:13px;font-weight:600;color:#991b1b}.neg-utility-justificacion{display:block;margin-top:4px;font-size:12px;font-weight:400;color:#7f1d1d;font-style:italic}.cancelled-banner{padding:10px 14px;margin-bottom:12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:600;color:#374151}.btn-cancel-orden{padding:6px 14px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;border:1px solid #fca5a5;background:#fef2f2;color:#b91c1c;transition:all var(--transition)}.btn-cancel-orden:hover:not(:disabled){background:#fee2e2}.btn-cancel-orden:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:0;max-width:520px;width:92%;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;max-height:80vh;overflow:hidden}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--c-border);flex-shrink:0}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-overlay{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:0;max-width:520px;width:92%;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;max-height:80vh;overflow:hidden}.modal-box:not(:has(>.modal-body)),.modal-card:not(:has(>.modal-body)){overflow-y:auto}.modal-title{font-size:15px;font-weight:700;color:var(--c-text);margin:0 0 4px}.modal-desc{font-size:13px;color:var(--c-text-muted);margin:0 0 16px}.modal-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);margin-bottom:5px}.modal-field{margin-bottom:14px}.btn-modal-cancel{padding:8px 16px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface);font-size:13px;font-weight:500;color:var(--c-text-secondary);cursor:pointer;transition:background var(--transition, .1s)}.btn-modal-cancel:hover{background:var(--c-bg);color:var(--c-text)}.btn-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-modal-confirm{padding:8px 18px;border:none;border-radius:6px;background:var(--c-primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--transition, .1s)}.btn-modal-confirm:hover{opacity:.9}.btn-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.status-select{padding:2px 18px 2px 6px;border-radius:4px;font-size:11.5px;font-weight:600;border:1px solid transparent;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.estado-select{padding:6px 28px 6px 10px;border-radius:6px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.ss--green{background-color:#ecfdf5;color:#059669;border-color:#a7f3d0}.ss--red{background-color:#fef2f2;color:#dc2626;border-color:#fecaca}.ss--blue{background-color:#eff6ff;color:#2563eb;border-color:#bfdbfe}.ss--amber{background-color:#fffbeb;color:#d97706;border-color:#fde68a}.ss--purple{background-color:#f5f3ff;color:#7c3aed;border-color:#ddd6fe}.ss--gray{background-color:#f3f4f6;color:#6b7280;border-color:#e5e7eb}.status-select:hover,.estado-select:hover{filter:brightness(.95)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;font-size:13px;color:var(--c-text-secondary)}.pagination button{padding:5px 10px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface);cursor:pointer;display:flex;align-items:center}.pagination button:disabled{opacity:.4;cursor:not-allowed}.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);margin-bottom:12px}.subsection-label{font-size:11px;font-weight:600;color:var(--c-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.doc-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.doc-row-group{display:flex;flex-direction:column;gap:4px}.doc-row-label{font-size:11px;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.file-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;text-decoration:none;transition:all var(--transition)}.file-btn:hover{background:var(--c-bg)}.file-btn:disabled{opacity:.6;cursor:not-allowed}.file-btn.upload{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.file-btn.upload:hover{background:var(--c-primary-light);border-color:var(--c-primary-light)}.file-btn--danger{border-color:#fecaca;color:#dc2626}.file-btn--danger:hover{background:#fef2f2;border-color:#fca5a5}.file-btn--sm{padding:4px 10px;font-size:12px;gap:4px}.doc-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:10px 0 14px}.doc-card{position:relative;background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:90px}.doc-card--present{border-color:#a7f3d0;background:#f0fdf4}.doc-card-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);line-height:1.3}.doc-card-trash{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;background:none;border-radius:4px;color:var(--c-text-muted);cursor:pointer;transition:all var(--transition)}.doc-card-trash:hover{background:#fef2f2;color:#dc2626}.doc-card-file-btns{display:flex;gap:8px;justify-content:center;align-items:center;flex:1;margin-top:4px}.doc-file-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:5px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-muted);text-decoration:none;cursor:pointer;transition:all var(--transition);padding:0;font:inherit;box-sizing:border-box}.doc-file-icon-btn:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-50)}.fac-file-cols{display:flex;gap:6px;margin-top:8px;flex:1}.fac-file-col{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border:1px solid var(--c-border);border-radius:6px;color:var(--c-text-muted)}.fac-col-trash{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;border-radius:3px;color:var(--c-text-muted);cursor:pointer;transition:all var(--transition)}.fac-col-trash:hover{background:#fef2f2;color:#dc2626}.fac-file-label{font-size:11px;font-weight:700;color:var(--c-text)}.fac-file-actions{display:flex;gap:4px;margin-top:2px}.tz-panel-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-bottom:12px}.tz-date{font-size:11px;color:var(--c-text-muted);margin-top:8px}.tz-empty{font-size:13px;color:var(--c-text-muted);margin-top:8px}.tz-file-row{display:flex;align-items:center;gap:10px}.tz-file-name{font-size:12px;color:var(--c-text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-input{width:100%;padding:8px 10px;border:1px solid var(--c-border);border-radius:6px;font-size:13px}.doc-file-icon-btn--labeled{flex-direction:column;width:auto;height:auto;padding:8px 14px;gap:4px;font-size:11px;font-weight:600;color:var(--c-text)}.doc-card-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:8px}.doc-card-upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;flex:1;padding:10px 6px;border:1.5px dashed var(--c-border);border-radius:6px;background:var(--c-surface);color:var(--c-text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;margin-top:auto}.doc-card-upload-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.doc-card-upload-btn:disabled{opacity:.5;cursor:not-allowed}.doc-card-empty{font-size:11px;color:var(--c-text-muted);margin-top:auto}.doc-card-pending{font-size:11px;color:var(--c-text-muted);margin-top:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fac-cards-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.fac-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.fac-cards-wrap .fac-card{width:200px;min-height:90px;margin-bottom:0;flex-shrink:0}.fac-card--cancelled{opacity:.6}.fac-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.fac-card-folio{font-weight:600;font-size:13px;color:var(--c-text)}.fac-card-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;background:#dcfce7;color:#15803d}.fac-card-badge--recibida{background:#e0f2fe;color:#0369a1}.fac-card-badge--cancelada{background:#f1f5f9;color:#64748b}.fac-card-badge--pendiente{background:#fef9c3;color:#a16207}.fac-card-meta{font-size:12px;color:var(--c-text-muted)}.fac-card-sub-meta{font-size:11px;color:var(--c-accent);margin-top:1px}.fac-card-emision{font-size:11px;color:var(--c-text-muted);margin-top:1px}.fac-card-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.doc-card--upload{cursor:pointer;align-items:center;justify-content:center;border-style:dashed;color:var(--c-text-muted);transition:all var(--transition)}.doc-card--upload:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-50)}.doc-card--upload span{font-size:13px;font-weight:500}.fac-upload-zone{border:1.5px dashed var(--c-border);border-radius:var(--radius);padding:10px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--c-bg);margin-bottom:8px}.report-filters{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:var(--shadow-xs);align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label,.filter-group>span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted)}.filter-group select,.filter-group>input{padding:8px 12px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);font-size:13px;outline:none;transition:all var(--transition)}.filter-group select:focus,.filter-group>input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-50)}.report-filters .filter-group .rel-select-wrap{margin-bottom:0;gap:4px}.report-filters .filter-group .rel-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted)}.report-filters .filter-group .rel-select{min-height:0}.report-filters .filter-group .rel-display{min-height:0;padding:5px 8px 5px 10px;background:var(--c-surface)}.btn-buscar{padding:8px 20px;background:var(--c-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition)}.btn-buscar:hover:not(:disabled){background:var(--c-primary-light)}.btn-buscar:disabled{opacity:.6;cursor:not-allowed}.report-table-wrap{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:var(--shadow-xs)}.report-table{width:100%;border-collapse:collapse}.report-table th{text-align:left;padding:12px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted);background:linear-gradient(180deg,var(--c-bg) 0%,#eef1f5 100%);border-bottom:1px solid var(--c-border);white-space:nowrap}.report-table th.num,.report-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-table td{padding:10px 14px;font-size:13px;border-bottom:1px solid var(--c-divider);vertical-align:middle}.report-table tbody tr:hover{background:var(--c-surface-hover)}.report-table tbody tr:last-child td{border-bottom:none}.loading-cell,.empty-cell{text-align:center;padding:40px!important;color:var(--c-text-muted);font-size:13px}.num{text-align:right;font-variant-numeric:tabular-nums}.money{font-weight:600}.date-range{font-size:12px;color:var(--c-text-secondary);white-space:nowrap}.name-cell{font-weight:500}.sev-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle}.sev-baja{background:#dcfce7;color:#15803d}.sev-media{background:#fef9c3;color:#854d0e}.sev-alta{background:#ffedd5;color:#9a3412}.sev-critica{background:#fee2e2;color:#991b1b}.sev-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:block}.sev-dot.sev-baja{background:#22c55e}.sev-dot.sev-media{background:#eab308}.sev-dot.sev-alta{background:#f97316}.sev-dot.sev-critica{background:#ef4444}.tipo-toggle{display:flex;height:36px;border:1px solid var(--c-border);border-radius:6px;overflow:hidden}.tipo-btn{flex:1;border:none;background:var(--c-surface);color:var(--c-text-muted);font-size:11.5px;font-weight:500;cursor:pointer;transition:all var(--transition);padding:0 4px}.tipo-btn+.tipo-btn{border-left:1px solid var(--c-border)}.tipo-btn--recoger.tipo-btn--active{background:#eff6ff;color:#2563eb;font-weight:600}.tipo-btn--entregar.tipo-btn--active{background:#f0fdf4;color:#16a34a;font-weight:600}.status-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.status-tab{padding:5px 14px;border-radius:20px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition);white-space:nowrap}.status-tab:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-50)}.status-tab.active{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600}.empresa-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid transparent}.empresa-pill:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.empresa-pill[data-empresa-fallback]{background:#f3f4f6;color:#374151;border-color:#d1d5db}.empresa-card[data-empresa] .card-header{border-bottom:none}.fbar{display:flex;align-items:flex-end;gap:8px 12px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:8px}.fbar-group{display:flex;flex-direction:column;gap:3px;min-width:0}.fbar-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);line-height:1}.fbar-body{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.fbar-sep{width:1px;align-self:stretch;background:var(--c-border);flex-shrink:0}.fbar-push{margin-left:auto}.fbar-select{height:26px;max-width:170px;padding:0 4px;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface);color:var(--c-text);font-size:11px;cursor:pointer}.fbar-select:hover{border-color:var(--c-primary)}.fbar-select.active{border-color:var(--c-primary);color:var(--c-primary);font-weight:600}.fbar-chip{height:26px;padding:0 9px;white-space:nowrap;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface);color:var(--c-text-muted);font-size:11px;font-weight:500;cursor:pointer}.fbar-chip:hover{background:var(--c-bg)}.fbar-chip.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.fbar-dates{display:flex;align-items:center;gap:3px;height:26px;padding:0 4px;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface)}.fbar-date-sep{color:var(--c-text-muted);font-size:11px}.fbar .fbar-body .fbar-date{border:none;background:transparent;font-variant-numeric:tabular-nums}.fbar .fbar-body .fbar-date .di-text{width:72px;padding:0 0 0 4px;font-size:11px}.fbar .fbar-body .fbar-date .di-btn{padding:0 2px 0 0}.fbar .fbar-body .fbar-rel{min-width:140px;max-width:190px;margin-bottom:0}.fbar .fbar-body .fbar-rel .rel-select{min-height:0}.fbar .fbar-body .fbar-rel .rel-display{height:26px;min-height:26px;padding:0 4px 0 6px;border-radius:5px;background:var(--c-surface)}.fbar .fbar-body .fbar-rel .rel-value,.fbar .fbar-body .fbar-rel .rel-placeholder{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fbar .fbar-body .fbar-rel .rel-placeholder{color:var(--c-text)}.fbar .fbar-body .chk-pill,.fbar .fbar-body .vmf button,.fbar .fbar-body .empresa-tab{height:26px;padding:0 10px;font-size:11px}.fbar .fbar-body .empresa-tabs{margin-bottom:0}.fbar-clear{height:26px;padding:0 9px;border:1px solid var(--c-border);border-radius:5px;background:var(--c-surface);color:var(--c-primary);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.fbar-clear:hover{background:var(--c-bg)}@media(max-width:768px){.fbar-sep{display:none}.fbar-push{margin-left:0}}.tab-pane-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px}@media(max-width:768px){.modal-backdrop,.modal-overlay{align-items:stretch;padding:0}.modal-box,.modal-card{width:100%!important;min-width:0!important;max-width:100%!important;max-height:100dvh;border:none;border-radius:0}.modal-box:not(:has(>.modal-body)),.modal-card:not(:has(>.modal-body)){padding:calc(18px + env(safe-area-inset-top)) 16px 16px}.modal-box:has(>.modal-body),.modal-card:has(>.modal-body){padding-top:env(safe-area-inset-top)}.modal-actions{flex-direction:column-reverse;margin-top:auto;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal-actions>button{width:100%;min-height:var(--touch-target)}.report-filters{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.filter-group{width:100%}.filter-group select,.filter-group>input,.report-filters .btn-buscar{width:100%}.empresa-tabs,.vmf,.chk-pill,.fbar,.report-filters>*,.filter-group{min-width:0;max-width:100%}.panel-footer{flex-direction:column-reverse}.panel-footer>button{width:100%}.status-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -12px 12px;padding:0 12px 2px}.status-tabs::-webkit-scrollbar{display:none}.status-tab{flex-shrink:0}.doc-cards-grid,.tz-panel-grid{grid-template-columns:1fr}.fac-cards-wrap .fac-card{width:100%}.tab-pane-card{padding:14px 12px}.pagination{flex-wrap:wrap;gap:8px}table[data-mobile-cards],table[data-mobile-cards] tbody,table[data-mobile-cards] tfoot,table[data-mobile-cards] tr,table[data-mobile-cards] td,table[data-mobile-cards] tbody th,table[data-mobile-cards] tfoot th{display:block!important;width:auto!important;min-width:0!important}table[data-mobile-cards] thead{display:none!important}table[data-mobile-cards] tr{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:4px 12px;margin-bottom:8px}table[data-mobile-cards] tr:last-child{margin-bottom:0}table[data-mobile-cards] td,table[data-mobile-cards] tbody th,table[data-mobile-cards] tfoot th{display:flex!important;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;text-align:right;border-bottom:1px solid var(--c-divider);white-space:normal!important;min-width:0!important;max-width:none!important}table[data-mobile-cards] tr>:last-child{border-bottom:none}table[data-mobile-cards] tbody th,table[data-mobile-cards] tfoot th{justify-content:flex-start;text-align:left;font-weight:700;color:var(--c-text)}table[data-mobile-cards] td[data-label]:not([data-label=""]):before{content:attr(data-label);flex:0 0 auto;max-width:45%;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted)}table[data-mobile-cards] td[data-label=""]{justify-content:center;text-align:center}table[data-mobile-cards] tfoot tr{background:var(--c-primary-50);border-color:var(--c-primary-100);font-weight:600}.report-table-wrap:has(table[data-mobile-cards]){overflow-x:visible;background:transparent;border:none;box-shadow:none}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;overflow-x:hidden}body{font-family:var(--font);background:var(--c-bg);color:var(--c-text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--c-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--c-primary-light)}input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}select:disabled,input:disabled{opacity:.55;cursor:default}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--c-text-muted)}::selection{background:var(--c-primary-100);color:var(--c-primary-dark)}:root{--touch-target: 44px}@media(max-width:768px){html{font-size:15px}body{line-height:1.55}input,select,textarea{font-size:16px;min-height:var(--touch-target)}button{min-height:var(--touch-target)}button.dt-icon-btn,button.tab-btn,button.back-btn,button.acc-header,.topbar button,.sidebar button,table button{min-height:0}}.form-actions-mobile-sticky{display:flex;gap:8px;justify-content:flex-end}@media(max-width:768px){.form-actions-mobile-sticky{position:sticky;bottom:0;left:0;right:0;padding:12px 16px;margin:16px -16px -16px;background:var(--c-surface);border-top:1px solid var(--c-border);box-shadow:0 -2px 8px #0000000a;z-index:10}.form-actions-mobile-sticky>button{flex:1}}@media print{.sidebar,.mobile-menu-btn,.dt-toolbar,.dt-pagination,.btn-primary,.btn-export,.btn-row-delete,.delete-confirm,.filter-row,.toast-container{display:none!important}.app.has-sidebar .main{margin-left:0!important}.page{padding:0!important}body{background:#fff;font-size:11px}.dt{border:none;box-shadow:none}table{font-size:10px}th{background:#f3f4f6!important}}
