@charset "UTF-8";.btn[data-v-424dd911]{--btn-gap: var(--space-xs);--btn-padding: var(--space-xs) var(--space-md);--btn-height: var(--button-height-md);--btn-font-size: var(--font-sm);--btn-font-weight: var(--font-weight-semibold);--btn-radius: var(--radius-md);--btn-border: none;--btn-bg: transparent;--btn-color: inherit;--btn-shadow: none;--btn-hover-shadow: var(--shadow-md);--btn-disabled-opacity: var(--opacity-disabled);display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);padding:var(--btn-padding);height:var(--btn-height);border-radius:var(--btn-radius);font-weight:var(--btn-font-weight);font-size:var(--btn-font-size);border:var(--btn-border);cursor:pointer;transition:box-shadow var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;line-height:var(--line-height-normal);vertical-align:middle;-webkit-user-select:none;user-select:none;background:var(--btn-bg);color:var(--btn-color);box-shadow:var(--btn-shadow)}.btn[data-v-424dd911]:hover{box-shadow:var(--btn-hover-shadow)}.btn[data-v-424dd911]:focus-visible{outline:var(--border-width-medium) solid var(--color-primary);outline-offset:2px}.btn[data-v-424dd911]:disabled{opacity:var(--btn-disabled-opacity);cursor:not-allowed;pointer-events:none}.btn-sm[data-v-424dd911]{--btn-padding: var(--space-xs) var(--space-sm);--btn-height: var(--button-height-sm);--btn-font-size: var(--font-xs)}.btn-md[data-v-424dd911]{--btn-padding: var(--space-xs) var(--space-md);--btn-height: var(--button-height-md);--btn-font-size: var(--font-sm)}.btn-lg[data-v-424dd911]{--btn-padding: var(--space-sm) var(--space-lg);--btn-height: var(--button-height-lg);--btn-font-size: var(--font-base)}.btn-icon-sm[data-v-424dd911]{--btn-padding: 0;width:var(--button-height-sm);height:var(--button-height-sm);--btn-radius: var(--radius-sm)}.btn-icon-md[data-v-424dd911]{--btn-padding: 0;width:var(--button-height-md);height:var(--button-height-md);--btn-radius: var(--radius-sm)}.btn-icon-lg[data-v-424dd911]{--btn-padding: 0;width:var(--button-height-lg);height:var(--button-height-lg);--btn-radius: var(--radius-sm)}.btn-primary[data-v-424dd911]{--btn-bg: var(--gradient-primary);--btn-color: var(--text-inverse);--btn-hover-shadow: var(--shadow-glow-info)}.btn-success[data-v-424dd911]{--btn-bg: var(--gradient-success);--btn-color: var(--text-inverse);--btn-hover-shadow: var(--shadow-glow-success)}.btn-danger[data-v-424dd911]{--btn-bg: var(--gradient-danger);--btn-color: var(--text-inverse);--btn-hover-shadow: var(--shadow-glow-danger)}.btn-secondary[data-v-424dd911]{--btn-bg: var(--bg-tertiary);--btn-color: var(--text-primary);--btn-border: var(--border-width) solid var(--border-color);--btn-hover-shadow: var(--shadow-md)}.btn-secondary[data-v-424dd911]:hover{--btn-bg: var(--bg-secondary);--btn-color: var(--text-primary)}.btn-outline[data-v-424dd911]{--btn-bg: transparent;--btn-color: var(--text-secondary);--btn-border: var(--border-width) solid var(--border-color-medium);--btn-hover-shadow: none}.btn-outline[data-v-424dd911]:hover{--btn-bg: var(--bg-hover);--btn-color: var(--color-primary);--btn-border: var(--border-width) solid var(--color-primary)}.btn-ghost[data-v-424dd911]{--btn-bg: transparent;--btn-color: var(--text-tertiary);--btn-border: none;--btn-hover-shadow: none}.btn-ghost[data-v-424dd911]:hover{--btn-bg: var(--bg-hover);--btn-color: var(--text-primary)}.btn-icon-sm.btn-primary[data-v-424dd911],.btn-icon-md.btn-primary[data-v-424dd911],.btn-icon-lg.btn-primary[data-v-424dd911]{--btn-bg: transparent;--btn-color: var(--color-primary)}.btn-icon-sm.btn-primary[data-v-424dd911]:hover,.btn-icon-md.btn-primary[data-v-424dd911]:hover,.btn-icon-lg.btn-primary[data-v-424dd911]:hover{--btn-bg: var(--color-primary-light);--btn-color: var(--text-inverse)}.btn-icon-sm.btn-success[data-v-424dd911],.btn-icon-md.btn-success[data-v-424dd911],.btn-icon-lg.btn-success[data-v-424dd911]{--btn-bg: transparent;--btn-color: var(--color-success)}.btn-icon-sm.btn-success[data-v-424dd911]:hover,.btn-icon-md.btn-success[data-v-424dd911]:hover,.btn-icon-lg.btn-success[data-v-424dd911]:hover{--btn-bg: var(--color-success-light);--btn-color: var(--text-inverse)}.btn-icon-sm.btn-danger[data-v-424dd911],.btn-icon-md.btn-danger[data-v-424dd911],.btn-icon-lg.btn-danger[data-v-424dd911]{--btn-bg: transparent;--btn-color: var(--color-danger)}.btn-icon-sm.btn-danger[data-v-424dd911]:hover,.btn-icon-md.btn-danger[data-v-424dd911]:hover,.btn-icon-lg.btn-danger[data-v-424dd911]:hover{--btn-bg: var(--color-danger-light);--btn-color: var(--text-inverse)}.btn-icon-sm.btn-secondary[data-v-424dd911],.btn-icon-md.btn-secondary[data-v-424dd911],.btn-icon-lg.btn-secondary[data-v-424dd911]{--btn-bg: transparent;--btn-color: var(--color-secondary)}.btn-icon-sm.btn-secondary[data-v-424dd911]:hover,.btn-icon-md.btn-secondary[data-v-424dd911]:hover,.btn-icon-lg.btn-secondary[data-v-424dd911]:hover{--btn-bg: var(--bg-secondary);--btn-color: var(--text-primary)}.btn-ghost.btn-danger-action[data-v-424dd911]{--btn-color: var(--color-danger)}.btn-ghost.btn-danger-action[data-v-424dd911]:hover{--btn-bg: rgba(var(--color-danger-rgb), .1);--btn-color: var(--color-danger)}.btn-text[data-v-424dd911]{color:inherit}.file-selector-sidebar[data-v-fc71242c]{position:relative;width:100%}.file-selector-btn[data-v-fc71242c]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-sm);color:var(--text-primary);transition:all var(--transition-fast);width:100%}.file-selector-btn[data-v-fc71242c]:hover{background:var(--bg-hover);border-color:var(--color-primary)}.file-selector-btn i[data-v-fc71242c]:first-child{color:var(--color-primary)}.file-selector-name[data-v-fc71242c]{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-medium)}.file-selector-badge[data-v-fc71242c]{background:var(--color-primary);color:var(--text-inverse);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-xs);border-radius:var(--radius-full);min-width:1.25rem;text-align:center}.file-selector-arrow[data-v-fc71242c]{font-size:var(--font-xs);opacity:var(--opacity-subtle);transition:transform var(--transition-fast)}.file-selector-spinner[data-v-fc71242c]{color:var(--color-primary);animation:spin-fc71242c .7s linear infinite}@keyframes spin-fc71242c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-selector-btn.loading[data-v-fc71242c]{opacity:.8;cursor:default;border-color:var(--color-primary)}.file-selector-menu[data-v-fc71242c]{position:absolute;top:calc(100% + var(--space-xs));left:0;right:0;background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast);z-index:var(--z-dropdown);overflow:hidden;display:flex;flex-direction:column;max-height:25rem}.file-selector-menu.open[data-v-fc71242c]{opacity:1;visibility:visible;transform:translateY(0)}.file-selector-header[data-v-fc71242c]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border-bottom:var(--border-width) solid var(--border-color);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.file-selector-header-actions[data-v-fc71242c]{display:flex;align-items:center;gap:var(--space-xs)}.file-selector-list[data-v-fc71242c]{overflow-y:auto;padding:var(--space-xs);flex:1}.file-selector-empty[data-v-fc71242c]{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg);color:var(--text-muted)}.file-selector-empty i[data-v-fc71242c]{font-size:var(--font-3xl);opacity:var(--opacity-subtle)}.file-item-wrapper[data-v-fc71242c]{margin-bottom:var(--space-xs)}.file-item[data-v-fc71242c]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:var(--border-width) solid transparent}.file-item[data-v-fc71242c]:hover{background:var(--bg-hover)}.file-item.active[data-v-fc71242c]{background:var(--bg-active);border-color:var(--color-primary)}.file-item:hover .file-item-actions[data-v-fc71242c]{opacity:1}[data-v-fc71242c] .file-item-action-btn{--btn-hover-shadow: none}[data-v-fc71242c] .file-item-action-btn.is-pinned,[data-v-fc71242c] .file-item-action-btn.is-pinned:hover{--btn-color: var(--color-warning-dark);--btn-bg: color-mix(in srgb, var(--color-warning) 12%, transparent)}.file-item-main[data-v-fc71242c]{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.file-item-main i[data-v-fc71242c]{font-size:var(--icon-size-md);color:var(--color-primary)}.file-item-info[data-v-fc71242c]{display:flex;flex-direction:column;min-width:0}.file-item-name[data-v-fc71242c]{font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-sm)}.file-item-meta[data-v-fc71242c]{display:flex;align-items:center;gap:3px;font-size:var(--font-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-meta i[data-v-fc71242c]{font-size:11px;opacity:.75}.file-item-sep[data-v-fc71242c]{margin:0 2px;opacity:.5}.file-item-variants[data-v-fc71242c]{flex-shrink:0;margin-left:2px;padding:0 4px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:9px}.file-item-actions[data-v-fc71242c]{display:flex;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast)}.file-item-actions.has-pin[data-v-fc71242c]{opacity:1}.file-selector-footer[data-v-fc71242c]{display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border-top:var(--border-width) solid var(--border-color);flex-shrink:0}.file-action-btn[data-v-fc71242c]{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:var(--border-width) solid var(--border-color);background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-xs);font-weight:var(--font-weight-medium);color:var(--text-primary);transition:all var(--transition-fast)}.file-action-btn[data-v-fc71242c]:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-inverse)}.select-control[data-v-6197c31b]{display:inline-flex;align-items:center;gap:var(--space-xs)}.select-control--block[data-v-6197c31b]{display:flex;width:100%}.select-control--block .select-control__select[data-v-6197c31b]{flex:1;width:100%}.select-control__icon[data-v-6197c31b]{color:var(--text-tertiary);font-size:var(--icon-size-md);flex-shrink:0}.select-control__select[data-v-6197c31b]{padding:var(--space-xs) var(--space-sm);border:var(--border-width) solid var(--border-color-medium);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);cursor:pointer;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select-control__select[data-v-6197c31b]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.15)}.select-control__select[data-v-6197c31b]:disabled{opacity:.45;cursor:not-allowed;background:var(--bg-secondary)}.select-control__select optgroup[data-v-6197c31b]{font-weight:var(--font-weight-semibold);color:var(--text-tertiary);background:var(--bg-secondary)}.select-control__select option[data-v-6197c31b]{background:var(--bg-primary);color:var(--text-primary)}.modal-backdrop[data-v-b8430c0b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);background:var(--bg-overlay);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);display:flex;align-items:center;justify-content:center;padding:var(--space-md);overflow-y:auto}.modal-container[data-v-b8430c0b]{z-index:var(--z-modal);background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:var(--border-width) solid var(--border-color-light);width:100%;max-height:calc(100vh - 2 * var(--space-md));display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-b8430c0b]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-md);border-bottom:var(--border-width) solid var(--border-color-light);background:var(--bg-secondary);flex-shrink:0}.modal-header__info[data-v-b8430c0b]{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.modal-header__icon[data-v-b8430c0b]{font-size:var(--font-xl);color:var(--color-primary);flex-shrink:0}.modal-title[data-v-b8430c0b]{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close[data-v-b8430c0b]{display:flex;align-items:center;justify-content:center;width:var(--button-height-sm);height:var(--button-height-sm);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font-size:var(--font-base);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.modal-close[data-v-b8430c0b]:hover{background:var(--bg-hover);color:var(--color-danger)}.modal-body[data-v-b8430c0b]{position:relative;flex:1;overflow-y:auto;padding:var(--space-md)}.modal-footer[data-v-b8430c0b]{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-top:var(--border-width) solid var(--border-color-light);background:var(--bg-secondary);flex-shrink:0}.btn[data-v-b8430c0b]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);height:var(--button-height-md);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-sm);border:none;cursor:pointer;transition:box-shadow var(--transition-fast),background-color var(--transition-fast);white-space:nowrap;line-height:var(--line-height-normal);vertical-align:middle;-webkit-user-select:none;user-select:none}.btn[data-v-b8430c0b]:focus-visible{outline:var(--border-width-medium) solid var(--color-primary);outline-offset:2px}.btn[data-v-b8430c0b]:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.btn-primary[data-v-b8430c0b]{background:var(--gradient-primary);color:var(--text-inverse)}.btn-primary[data-v-b8430c0b]:hover{box-shadow:var(--shadow-glow-info)}.btn-secondary[data-v-b8430c0b]{background:var(--bg-tertiary);color:var(--text-primary);border:var(--border-width) solid var(--border-color)}.btn-secondary[data-v-b8430c0b]:hover{box-shadow:var(--shadow-md)}.modal-enter-active[data-v-b8430c0b],.modal-leave-active[data-v-b8430c0b]{transition:opacity var(--transition-normal)}.modal-enter-active .modal-container[data-v-b8430c0b],.modal-leave-active .modal-container[data-v-b8430c0b]{transition:transform var(--transition-normal),opacity var(--transition-normal)}.modal-enter-from[data-v-b8430c0b],.modal-leave-to[data-v-b8430c0b]{opacity:0}.modal-enter-from .modal-container[data-v-b8430c0b],.modal-leave-to .modal-container[data-v-b8430c0b]{transform:translateY(20px) scale(.97);opacity:0}@media (max-width: 768px){.modal-backdrop[data-v-b8430c0b]{padding:var(--space-xs);align-items:flex-end}.modal-container[data-v-b8430c0b]{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh}}.exp-intro[data-v-4bd5a964]{margin:0 0 var(--space-md);font-size:var(--font-sm);color:var(--text-secondary);line-height:1.5}.exp-fields[data-v-4bd5a964]{display:flex;flex-direction:column;gap:var(--space-md)}.exp-field-row[data-v-4bd5a964]{display:flex;gap:var(--space-sm)}.exp-field-row .exp-field[data-v-4bd5a964]{flex:1;min-width:0}.exp-field[data-v-4bd5a964]{display:flex;flex-direction:column;gap:4px}.exp-label[data-v-4bd5a964]{font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.exp-label--inline[data-v-4bd5a964]{text-transform:none;font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);letter-spacing:normal}.exp-input[data-v-4bd5a964]{height:var(--button-height-md);padding:0 var(--space-sm);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-sm);font-family:inherit;outline:none;width:100%;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.exp-input[data-v-4bd5a964]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.12)}.exp-toggle-row[data-v-4bd5a964]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--border-color-light);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer}.exp-toggle[data-v-4bd5a964]{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.exp-toggle input[type=checkbox][data-v-4bd5a964]{position:absolute;opacity:0;width:0;height:0}.exp-toggle__track[data-v-4bd5a964]{position:relative;width:36px;height:20px;border-radius:var(--radius-full);background:var(--border-color-medium);transition:background var(--transition-fast);flex-shrink:0}.exp-toggle__track[data-v-4bd5a964]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-xs);transition:transform var(--transition-fast)}.exp-toggle input:checked~.exp-toggle__track[data-v-4bd5a964]{background:var(--color-primary)}.exp-toggle input:checked~.exp-toggle__track[data-v-4bd5a964]:after{transform:translate(16px)}.contact-modal-overlay[data-v-774792e5]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:calc(var(--z-sidebar) + 1);opacity:0;visibility:hidden;transition:all var(--transition-fast);-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm)}.contact-modal-overlay.active[data-v-774792e5]{opacity:1;visibility:visible}.contact-modal[data-v-774792e5]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);z-index:calc(var(--z-sidebar) + 2);background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;width:90vw;opacity:0;visibility:hidden;transition:all var(--transition-fast)}.contact-modal.open[data-v-774792e5]{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.contact-modal-header[data-v-774792e5]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:var(--border-width) solid var(--border-color)}.contact-modal-header h3[data-v-774792e5]{margin:0;font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.modal-close-btn[data-v-774792e5]{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast)}.modal-close-btn[data-v-774792e5]:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.modal-close-btn[data-v-774792e5]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-close-btn i[data-v-774792e5]{font-size:var(--font-base)}.contact-modal-content[data-v-774792e5]{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.contact-item[data-v-774792e5]{display:flex;align-items:flex-start;gap:var(--space-md)}.contact-item i[data-v-774792e5]{font-size:var(--font-lg);color:var(--color-primary);margin-top:2px;flex-shrink:0}.contact-label[data-v-774792e5]{margin:0 0 4px;font-size:var(--font-xs);font-weight:var(--font-weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.contact-value[data-v-774792e5]{margin:0;font-size:var(--font-base);color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.contact-value[data-v-774792e5]:hover{text-decoration:underline}.sidebar[data-v-96ef760d]{position:fixed;top:0;left:calc(-1 * var(--sidebar-width));width:var(--sidebar-width);height:100dvh;background:var(--bg-glass);border-right:var(--border-width) solid var(--border-color);z-index:var(--z-sidebar);transition:left var(--transition-fast);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur)}.sidebar.open[data-v-96ef760d]{left:0}@media (max-width: 768px){.sidebar[data-v-96ef760d]{width:85vw;left:-85vw}}@media (max-width: 480px){.sidebar[data-v-96ef760d]{width:100vw;left:-100vw}}.sidebar-header[data-v-96ef760d]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width) solid var(--border-color);flex-shrink:0}.sidebar-logo[data-v-96ef760d]{font-size:var(--font-base);font-weight:var(--font-weight-bold);color:var(--color-primary);letter-spacing:1px}.sidebar-close[data-v-96ef760d]{position:relative;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast)}.sidebar-close[data-v-96ef760d]:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.sidebar-close[data-v-96ef760d]:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-close i[data-v-96ef760d]{font-size:var(--font-base)}.sidebar-content[data-v-96ef760d]{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.sidebar-section[data-v-96ef760d]{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar-section--disabled[data-v-96ef760d]{opacity:var(--opacity-disabled);cursor:not-allowed;-webkit-user-select:none;user-select:none}.sidebar-section--disabled[data-v-96ef760d] *{pointer-events:none}.sidebar-section__title[data-v-96ef760d]{font-size:10px;font-weight:var(--font-weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:0 2px}.sidebar-dirty[data-v-96ef760d]{display:flex;align-items:center;gap:4px;margin:0;padding:0 2px;font-size:var(--font-xs);font-weight:var(--font-weight-medium);color:var(--color-warning)}.sidebar-dirty i[data-v-96ef760d]{font-size:var(--font-sm)}.view-toggle[data-v-96ef760d]{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:3px;gap:2px}.view-option[data-v-96ef760d]{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-xs) 0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--font-xs);cursor:pointer;transition:all var(--transition-fast)}.view-option i[data-v-96ef760d]{font-size:var(--font-md)}.view-option[data-v-96ef760d]:hover:not(.active){color:var(--text-primary)}.view-option.active[data-v-96ef760d]{background:var(--bg-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.source-tabs[data-v-96ef760d]{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:3px;gap:2px}.source-tab[data-v-96ef760d]{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) 0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:var(--font-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.source-tab i[data-v-96ef760d]{font-size:var(--font-sm)}.source-tab[data-v-96ef760d]:hover:not(.active){color:var(--text-primary)}.source-tab.active[data-v-96ef760d]{background:var(--bg-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.sidebar-btn[data-v-96ef760d]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);width:100%}.sidebar-btn[data-v-96ef760d]:hover:not(:disabled){background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.sidebar-btn[data-v-96ef760d]:disabled{opacity:.5;cursor:not-allowed}.sidebar-btn i[data-v-96ef760d]{font-size:var(--font-lg)}.sidebar-error[data-v-96ef760d]{display:flex;align-items:center;gap:var(--space-xs);margin:0;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--color-danger-surface);color:var(--color-danger);font-size:var(--font-xs)}.sidebar-footer[data-v-96ef760d]{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-top:var(--border-width) solid var(--border-color);flex-shrink:0}.sidebar-version[data-v-96ef760d]{margin-left:auto}.sidebar-tour-btn[data-v-96ef760d]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.sidebar-tour-btn i[data-v-96ef760d]{font-size:var(--font-sm)}.sidebar-tour-btn[data-v-96ef760d]:hover{background:var(--bg-hover);color:var(--color-primary)}.sidebar-contact-btn[data-v-96ef760d]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.sidebar-contact-btn i[data-v-96ef760d]{font-size:var(--font-sm)}.sidebar-contact-btn[data-v-96ef760d]:hover{background:var(--bg-hover);color:var(--color-primary)}.sidebar-version[data-v-96ef760d]{font-size:var(--font-xs);color:var(--text-muted)}.active-source[data-v-96ef760d]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border:var(--border-width) solid var(--border-color-light);border-radius:var(--radius-md);font-size:var(--font-xs)}.active-source i[data-v-96ef760d]{font-size:var(--font-sm);flex-shrink:0}.active-source__name[data-v-96ef760d]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:var(--font-weight-medium)}.active-source__badge[data-v-96ef760d]{flex-shrink:0;padding:1px 6px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.4px;text-transform:uppercase}.active-source__badge--api[data-v-96ef760d]{background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary);border:1px solid rgba(var(--color-primary-rgb),.25)}.active-source__badge--local[data-v-96ef760d]{background:rgba(var(--color-success-rgb, 34 197 94),.12);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb, 34 197 94),.25)}.sidebar-overlay[data-v-96ef760d]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:var(--z-sidebar-overlay);opacity:0;visibility:hidden;transition:all var(--transition-fast);-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm)}.sidebar-overlay.active[data-v-96ef760d]{opacity:1;visibility:visible}.notification-container[data-v-3fe52d45]{position:fixed;top:calc(var(--header-height) + var(--space-sm));right:var(--space-lg);z-index:var(--z-notification);pointer-events:none;max-width:28rem;width:100%}@media (max-width: 768px){.notification-container[data-v-3fe52d45]{right:var(--space-md);left:var(--space-md);width:auto;max-width:none}}@media (max-width: 480px){.notification-container[data-v-3fe52d45]{top:calc(var(--header-height) + var(--space-xs));right:var(--space-sm);left:var(--space-sm)}}.notification-list[data-v-3fe52d45]{display:flex;flex-direction:column;gap:var(--space-sm)}.toast[data-v-3fe52d45]{position:relative;display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-primary);border-radius:var(--radius-lg);border-left:var(--border-width-thick) solid var(--color-info);box-shadow:var(--shadow-xl);cursor:pointer;pointer-events:all;overflow:hidden;-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);transition:all var(--transition-normal)}.toast[data-v-3fe52d45]:hover{transform:translate(-4px);box-shadow:var(--shadow-xl)}.toast:hover .toast-close[data-v-3fe52d45]{opacity:1;transform:scale(1)}.toast:hover .toast-progress[data-v-3fe52d45]{animation-play-state:paused}.toast:focus-within .toast-progress[data-v-3fe52d45]{animation-play-state:paused}.toast[data-v-3fe52d45]:active{transform:scale(.98)}.toast.toast--accion[data-v-3fe52d45]{cursor:default}.toast.toast--accion[data-v-3fe52d45]:active{transform:none}@media (max-width: 768px){.toast[data-v-3fe52d45]{padding:var(--space-sm);gap:var(--space-xs)}}.toast-success[data-v-3fe52d45]{border-left-color:var(--color-success);background:linear-gradient(135deg,rgba(var(--color-success-rgb),.05) 0%,var(--bg-primary) 100%)}.toast-success .toast-icon[data-v-3fe52d45]{background:var(--gradient-success);color:var(--text-inverse)}.toast-success .toast-progress[data-v-3fe52d45]{background:var(--gradient-success)}.toast-error[data-v-3fe52d45]{border-left-color:var(--color-danger);background:linear-gradient(135deg,rgba(var(--color-danger-rgb),.05) 0%,var(--bg-primary) 100%)}.toast-error .toast-icon[data-v-3fe52d45]{background:var(--gradient-danger);color:var(--text-inverse)}.toast-error .toast-progress[data-v-3fe52d45]{background:var(--gradient-danger)}.toast-warning[data-v-3fe52d45]{border-left-color:var(--color-warning);background:linear-gradient(135deg,rgba(var(--color-warning-rgb),.05) 0%,var(--bg-primary) 100%)}.toast-warning .toast-icon[data-v-3fe52d45]{background:var(--gradient-warning);color:var(--text-inverse)}.toast-warning .toast-progress[data-v-3fe52d45]{background:var(--gradient-warning)}.toast-info[data-v-3fe52d45]{border-left-color:var(--color-info);background:linear-gradient(135deg,rgba(var(--color-info-rgb),.05) 0%,var(--bg-primary) 100%)}.toast-info .toast-icon[data-v-3fe52d45]{background:var(--gradient-info);color:var(--text-inverse)}.toast-info .toast-progress[data-v-3fe52d45]{background:var(--gradient-info)}.toast-icon[data-v-3fe52d45]{width:var(--icon-size-xl);height:var(--icon-size-xl);min-width:var(--icon-size-xl);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--gradient-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toast-icon i[data-v-3fe52d45]{font-size:var(--font-lg);animation:icon-pop-3fe52d45 var(--transition-fast) cubic-bezier(.68,-.55,.265,1.55)}@media (max-width: 768px){.toast-icon[data-v-3fe52d45]{width:var(--icon-size-lg);height:var(--icon-size-lg);min-width:var(--icon-size-lg)}.toast-icon i[data-v-3fe52d45]{font-size:var(--font-base)}}.toast-content[data-v-3fe52d45]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.toast-message[data-v-3fe52d45]{margin:0;font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:var(--line-height-normal);word-wrap:break-word}@media (max-width: 768px){.toast-message[data-v-3fe52d45]{font-size:var(--font-xs)}}.toast-action[data-v-3fe52d45]{align-self:center;flex-shrink:0;padding:var(--space-xs) var(--space-sm);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);font-size:var(--font-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.toast-action[data-v-3fe52d45]:hover{background:var(--color-primary);color:var(--text-inverse)}@media (max-width: 768px){.toast-action[data-v-3fe52d45]{font-size:var(--font-xs)}}.toast-close[data-v-3fe52d45]{width:var(--button-height-sm);height:var(--button-height-sm);min-width:var(--button-height-sm);display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;opacity:var(--opacity-subtle);transform:scale(.9);transition:all var(--transition-fast)}.toast-close[data-v-3fe52d45]:hover{background:var(--bg-hover);color:var(--color-danger);opacity:1;transform:scale(1.1) rotate(90deg)}.toast-close[data-v-3fe52d45]:active{transform:scale(.9) rotate(90deg)}.toast-close i[data-v-3fe52d45]{font-size:var(--font-sm)}@media (max-width: 768px){.toast-close[data-v-3fe52d45]{width:var(--icon-size-lg);height:var(--icon-size-lg);min-width:var(--icon-size-lg)}.toast-close i[data-v-3fe52d45]{font-size:var(--font-xs)}}.toast-progress[data-v-3fe52d45]{position:absolute;bottom:0;left:0;height:var(--border-width-thick);background:var(--gradient-primary);border-radius:0 0 0 var(--radius-lg);animation:toast-progress-3fe52d45 3s linear forwards;transform-origin:left}.toast-enter-active[data-v-3fe52d45],.toast-leave-active[data-v-3fe52d45]{transition:all var(--transition-normal) cubic-bezier(.68,-.55,.265,1.55)}.toast-enter-from[data-v-3fe52d45],.toast-leave-to[data-v-3fe52d45]{opacity:0;transform:translate(100%) scale(.8)}.toast-move[data-v-3fe52d45]{transition:transform var(--transition-normal)}@keyframes toast-progress-3fe52d45{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes icon-pop-3fe52d45{0%{transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}@media (prefers-reduced-motion: reduce){.toast[data-v-3fe52d45],.toast-enter-active[data-v-3fe52d45],.toast-leave-active[data-v-3fe52d45],.toast-close[data-v-3fe52d45],.toast-icon i[data-v-3fe52d45]{animation:none;transition:none}.toast[data-v-3fe52d45]:hover{transform:none}}.disclaimer-btn[data-v-da5f3272]{display:flex;align-items:center;justify-content:center;width:var(--button-height-md);height:var(--button-height-md);padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-xl);cursor:pointer;transition:all var(--transition-fast)}.disclaimer-btn[data-v-da5f3272]:hover{background:var(--bg-hover);color:var(--color-primary)}.disclaimer-btn[data-v-da5f3272]:active{background:var(--bg-active);transform:scale(.95)}.ab-backdrop[data-v-da5f3272]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ab-modal[data-v-da5f3272]{background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-xl);width:100%;max-width:520px;max-height:calc(100dvh - 32px);overflow:hidden;display:flex;flex-direction:column}.ab-modal__top-bar[data-v-da5f3272]{height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%)}.ab-modal__top-bar--loading[data-v-da5f3272]{background-size:200% 100%;background-image:linear-gradient(90deg,var(--color-primary-light) 0%,var(--color-primary) 40%,var(--color-primary-light) 100%);animation:ab-progress-slide-da5f3272 1.4s ease-in-out infinite}.ab-modal__header[data-v-da5f3272]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 0}.ab-modal__header-left[data-v-da5f3272]{display:flex;align-items:flex-start;gap:14px}.ab-modal__icon[data-v-da5f3272]{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary);border-radius:10px}.ab-modal__icon i[data-v-da5f3272]{font-size:20px}.ab-modal__label[data-v-da5f3272]{margin:0 0 3px;font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.8px;text-transform:uppercase;color:var(--color-primary)}.ab-modal__title[data-v-da5f3272]{margin:0;font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.3}.ab-modal__close[data-v-da5f3272]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.ab-modal__close[data-v-da5f3272]:hover{background:var(--bg-hover);color:var(--text-primary)}.ab-modal__close i[data-v-da5f3272]{font-size:var(--font-base)}.ab-modal__body[data-v-da5f3272]{padding:18px 20px 20px;overflow-y:auto;flex:1;min-height:0}.ab-modal__lead[data-v-da5f3272]{margin:0 0 18px;font-size:var(--font-sm);color:var(--text-secondary);line-height:1.65;padding:12px 14px;background:var(--bg-secondary);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.ab-modal__items[data-v-da5f3272]{display:flex;flex-direction:column;gap:16px}.ab-modal__item[data-v-da5f3272]{display:flex;gap:14px}.ab-modal__item-num[data-v-da5f3272]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.06);color:var(--color-primary);border-radius:6px;font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin-top:1px}.ab-modal__item-content[data-v-da5f3272]{flex:1}.ab-modal__item-content strong[data-v-da5f3272]{display:block;margin-bottom:4px;font-size:var(--font-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ab-modal__item-content p[data-v-da5f3272]{margin:0;font-size:var(--font-sm);color:var(--text-secondary);line-height:1.6}.ab-modal__item-content a[data-v-da5f3272]{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:3px}.ab-modal__item-content a[data-v-da5f3272]:hover{text-decoration:underline}.ab-modal__item-content a i[data-v-da5f3272]{font-size:11px}.ab-modal__footer[data-v-da5f3272]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:var(--border-width) solid var(--border-color);background:var(--bg-secondary)}.ab-modal__footer-note[data-v-da5f3272]{display:flex;align-items:center;gap:5px;min-width:0;font-size:11px;color:var(--text-muted)}.ab-modal__footer-note i[data-v-da5f3272]{font-size:13px;flex-shrink:0}.ab-modal__footer-note-text[data-v-da5f3272]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ab-btn[data-v-da5f3272]{display:inline-flex;align-items:center;padding:8px 20px;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:none;background:var(--color-primary);color:var(--text-inverse);transition:all var(--transition-fast);white-space:nowrap}.ab-btn[data-v-da5f3272]:hover{opacity:.88;transform:translateY(-1px)}.ab-btn[data-v-da5f3272]:active{transform:translateY(0)}.ab-footer-info[data-v-da5f3272]{position:relative;flex:1;height:20px}.ab-loading-status[data-v-da5f3272],.ab-modal__footer-note[data-v-da5f3272]{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .25s ease;white-space:nowrap}.ab-loading-status.ab-footer-item--visible[data-v-da5f3272],.ab-modal__footer-note.ab-footer-item--visible[data-v-da5f3272]{opacity:1;pointer-events:auto}.ab-loading-status[data-v-da5f3272]{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.ab-loading-status__spinner[data-v-da5f3272]{display:inline-block;width:13px;height:13px;border:1.5px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:ab-spin-da5f3272 .7s linear infinite;flex-shrink:0}@keyframes ab-spin-da5f3272{to{transform:rotate(360deg)}}@keyframes ab-progress-slide-da5f3272{0%{background-position:100% 0}to{background-position:-100% 0}}.ab-modal-enter-active[data-v-da5f3272]{transition:opacity .2s ease}.ab-modal-leave-active[data-v-da5f3272]{transition:opacity .15s ease}.ab-modal-enter-from[data-v-da5f3272],.ab-modal-leave-to[data-v-da5f3272]{opacity:0}.ab-modal-enter-active .ab-modal[data-v-da5f3272]{animation:ab-card-in-da5f3272 .22s ease}@keyframes ab-card-in-da5f3272{0%{transform:scale(.96) translateY(10px);opacity:0}to{transform:none;opacity:1}}.loading-state[data-v-f3992a42]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);min-height:12rem}.loading-state--overlay[data-v-f3992a42]{position:fixed;top:0;right:0;bottom:0;left:0;min-height:unset;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150}.loading-state__msg[data-v-f3992a42]{font-size:var(--font-sm);color:var(--text-tertiary)}.theme-toggle[data-v-05a5eca6]{display:flex;align-items:center;justify-content:center;width:var(--button-height-md);height:var(--button-height-md);padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-xl);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle[data-v-05a5eca6]:hover{background:var(--bg-hover);color:var(--color-primary)}.theme-toggle[data-v-05a5eca6]:active{background:var(--bg-active);transform:scale(.95)}.theme-toggle[data-v-05a5eca6]:focus-visible{outline:var(--border-width-medium) solid var(--color-primary);outline-offset:2px}.tour-backdrop[data-v-7c830726]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:9990;pointer-events:none}.tour-spotlight[data-v-7c830726]{position:fixed;border-radius:var(--radius-md);box-shadow:0 0 0 9999px var(--bg-overlay-strong);outline:2px solid var(--border-on-accent);z-index:9990;pointer-events:none;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease}.tour-positioner[data-v-7c830726]{position:fixed;z-index:10000;width:340px}.tour-card[data-v-7c830726]{background:var(--bg-primary);border:var(--border-width) solid var(--border-color);border-radius:16px;box-shadow:var(--shadow-xl);overflow:hidden}.tour-card__header[data-v-7c830726]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px}.tour-card__counter[data-v-7c830726]{font-size:var(--font-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);letter-spacing:.4px;text-transform:uppercase}.tour-card__close[data-v-7c830726]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.tour-card__close[data-v-7c830726]:hover{background:var(--bg-hover);color:var(--text-primary)}.tour-card__close i[data-v-7c830726]{font-size:var(--font-sm)}.tour-card__progress[data-v-7c830726]{height:3px;background:var(--bg-secondary);margin:0 16px;border-radius:99px;overflow:hidden}.tour-card__progress-fill[data-v-7c830726]{height:100%;background:var(--color-primary);border-radius:99px;transition:width .4s ease}.tour-card__body[data-v-7c830726]{padding:16px}.tour-card__icon[data-v-7c830726]{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);border-radius:10px;margin-bottom:12px}.tour-card__icon i[data-v-7c830726]{font-size:20px}.tour-card__title[data-v-7c830726]{margin:0 0 8px;font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.3}.tour-card__text[data-v-7c830726]{margin:0;font-size:var(--font-sm);color:var(--text-secondary);line-height:1.55}.tour-card__footer[data-v-7c830726]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:var(--border-width) solid var(--border-color);background:var(--bg-secondary)}.tour-btn[data-v-7c830726]{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:all var(--transition-fast)}.tour-btn i[data-v-7c830726]{font-size:var(--font-base)}.tour-btn--ghost[data-v-7c830726]{background:transparent;color:var(--text-secondary)}.tour-btn--ghost[data-v-7c830726]:hover{background:var(--bg-hover);color:var(--text-primary)}.tour-btn--primary[data-v-7c830726]{background:var(--color-primary);color:var(--text-inverse)}.tour-btn--primary[data-v-7c830726]:hover{opacity:.88;transform:translateY(-1px)}.tour-btn--primary[data-v-7c830726]:active{transform:translateY(0)}.tour-step-enter-active[data-v-7c830726]{transition:opacity .22s ease,transform .22s ease}.tour-step-leave-active[data-v-7c830726]{transition:opacity .15s ease;position:absolute;width:100%}.tour-step-enter-from[data-v-7c830726]{opacity:0;transform:translateY(8px) scale(.97)}.tour-step-leave-to[data-v-7c830726]{opacity:0}.app[data-v-b6b9faf8]{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--bg-primary)}.main-tabs[data-v-b6b9faf8]{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg-secondary);border-bottom:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-sm)}.main-tabs .container[data-v-b6b9faf8]{display:flex;align-items:center;gap:var(--space-xs);max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.tabs-actions[data-v-b6b9faf8]{display:flex;align-items:center;gap:var(--space-xs);margin-left:auto}.menu-toggle[data-v-b6b9faf8]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--button-height-md);height:var(--button-height-md);padding:0;margin-right:var(--space-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--font-xl);cursor:pointer;transition:all var(--transition-fast)}.menu-toggle[data-v-b6b9faf8]:hover{background:var(--bg-hover);color:var(--color-primary)}.menu-toggle[data-v-b6b9faf8]:active{background:var(--bg-active);transform:scale(.95)}.main-tab[data-v-b6b9faf8]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:none;border-bottom:var(--border-width-thick) solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--font-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.main-tab i[data-v-b6b9faf8]{font-size:var(--font-lg);transition:transform var(--transition-fast)}.main-tab[data-v-b6b9faf8]:hover{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--bg-hover)}.main-tab:hover i[data-v-b6b9faf8]{transform:translateY(-2px)}.main-tab.active[data-v-b6b9faf8]{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.tab-content-main[data-v-b6b9faf8]{flex:1;min-height:0;overflow-y:auto;background:var(--bg-gradient);animation:fade-in var(--transition-normal)}@media (max-width: 768px){.main-tabs .container[data-v-b6b9faf8]{padding:0 var(--space-sm);gap:0}.menu-toggle[data-v-b6b9faf8]{margin-right:var(--space-xs)}.main-tab[data-v-b6b9faf8]{padding:var(--space-sm);font-size:var(--font-sm)}.main-tab span[data-v-b6b9faf8]{display:none}.main-tab i[data-v-b6b9faf8]{font-size:var(--font-lg)}}@media (max-width: 480px){.main-tabs .container[data-v-b6b9faf8]{gap:0}.main-tab[data-v-b6b9faf8]{padding:var(--space-xs)}}:root{--border-width: 1px;--border-width-medium: 2px;--border-width-thick: 4px;--radius-xxs: 2px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 2.5rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 5rem;--font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono: "Cascadia Code", "Fira Code", Consolas, monospace;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--font-4xl: 2.5rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-instant: .1s ease;--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--sidebar-width: 22rem;--sidebar-collapsed-width: 4rem;--header-height: 4rem;--footer-height: 3rem;--max-width: 4200px;--container-padding: var(--space-lg);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-sidebar-overlay: 1050;--z-sidebar: 1100;--z-notification: 9999;--animation-spin: spin 1s linear infinite;--animation-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animation-bounce: bounce 1s infinite;--opacity-disabled: .5;--opacity-hover: .8;--opacity-subtle: .6;--button-height-sm: 2rem;--button-height-md: 2.5rem;--button-height-lg: 3rem;--input-height-sm: 2rem;--input-height-md: 2.5rem;--input-height-lg: 3rem;--icon-size-sm: 1rem;--icon-size-md: 1.25rem;--icon-size-lg: 1.5rem;--icon-size-xl: 2rem;--blur-sm: blur(4px);--blur-md: blur(8px);--blur-lg: blur(16px);--backdrop-blur: blur(10px);--backdrop-opacity: .5}:root{color-scheme:light;--color-primary: #0a66c2;--color-primary-dark: #106ebe;--color-primary-light: #4b8fd8;--color-primary-rgb: 10, 102, 194;--color-success: #107c10;--color-success-dark: #0e6b0e;--color-success-light: #3ca03c;--color-success-rgb: 16, 124, 16;--color-danger: #c42b1c;--color-danger-dark: #a72315;--color-danger-light: #e55a4a;--color-danger-rgb: 196, 43, 28;--color-warning: #f7b500;--color-warning-dark: #d39d00;--color-warning-light: #ffd93d;--color-warning-rgb: 247, 181, 0;--color-forecast: #9c5806;--color-forecast-solid: #f7931a;--color-info: #0078d4;--color-info-dark: #005a9e;--color-info-light: #50a0e6;--color-info-rgb: 0, 120, 212;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-quaternary: #f3f4f6;--bg-glass: rgba(255, 255, 255, .8);--bg-elevated: #ffffff;--bg-sunken: #f1f3f5;--bg-overlay: rgba(15, 23, 42, .35);--bg-overlay-strong: rgba(0, 0, 0, .62);--bg-hover: rgba(var(--color-primary-rgb), .05);--bg-active: rgba(var(--color-primary-rgb), .1);--text-primary: #1e293b;--text-secondary: #475569;--text-tertiary: #64748b;--text-muted: #8a8886;--text-disabled: #cbd5e1;--text-inverse: #ffffff;--border-color: rgba(0, 0, 0, .08);--border-color-light: #e2e8f0;--border-color-medium: #cbd5e1;--border-color-dark: #94a3b8;--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);--gradient-success: linear-gradient(135deg, var(--color-success) 0%, var(--color-success-light) 100%);--gradient-danger: linear-gradient(135deg, var(--color-danger) 0%, var(--color-danger-light) 100%);--gradient-warning: linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-light) 100%);--gradient-info: linear-gradient(135deg, var(--color-info) 0%, var(--color-info-light) 100%);--gradient-subtle: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);--bg-gradient: var(--gradient-subtle);--shadow-rgb: 0, 0, 0;--shadow-strength: 1;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--shadow-glow: 0 0 20px rgba(var(--color-primary-rgb), .15);--shadow-glow-success: 0 4px 16px rgba(var(--color-success-rgb), .4);--shadow-glow-danger: 0 4px 16px rgba(var(--color-danger-rgb), .4);--shadow-glow-info: 0 4px 16px rgba(var(--color-info-rgb), .4)}:root[data-theme=dark]{color-scheme:dark;--color-primary: #7db3fb;--color-primary-dark: #5b9cf8;--color-primary-light: #a5cbfd;--color-primary-rgb: 125, 179, 251;--color-success: #5fd68f;--color-success-dark: #3fc477;--color-success-light: #8ce5b1;--color-success-rgb: 95, 214, 143;--color-danger: #fb8c8c;--color-danger-dark: #f76d6d;--color-danger-light: #fdb3b3;--color-danger-rgb: 251, 140, 140;--color-warning: #fbbf24;--color-warning-dark: #f0a91b;--color-warning-light: #fcd34d;--color-warning-rgb: 251, 191, 36;--color-forecast: #fbbf24;--color-forecast-solid: #f0a91b;--color-info: #56c8fa;--color-info-dark: #2eb4f2;--color-info-light: #8eddfc;--color-info-rgb: 86, 200, 250;--bg-primary: #0f172a;--bg-secondary: #1a2436;--bg-tertiary: #253248;--bg-quaternary: #172032;--bg-glass: rgba(15, 23, 42, .8);--bg-elevated: #1e2a40;--bg-sunken: #0b1120;--bg-overlay: rgba(0, 0, 0, .6);--bg-overlay-strong: rgba(0, 0, 0, .72);--bg-hover: rgba(var(--color-primary-rgb), .12);--bg-active: rgba(var(--color-primary-rgb), .2);--text-primary: #e8eef7;--text-secondary: #ccd6e4;--text-tertiary: #a3b2c7;--text-muted: #8d9db5;--text-disabled: #55637a;--text-inverse: #0f172a;--border-color: rgba(255, 255, 255, .1);--border-color-light: #29344a;--border-color-medium: #3a4a63;--border-color-dark: #6b7b93;--gradient-subtle: linear-gradient(135deg, #0f172a 0%, #151f33 100%);--shadow-rgb: 0, 0, 0;--shadow-strength: 4;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .55);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .65);--shadow-glow: 0 0 20px rgba(var(--color-primary-rgb), .25)}:root{--border-subtle: color-mix(in srgb, var(--text-primary) 8%, transparent);--border-medium: color-mix(in srgb, var(--text-primary) 14%, transparent);--border-strong: color-mix(in srgb, var(--text-primary) 20%, transparent);--surface-subtle: color-mix(in srgb, var(--text-primary) 2.5%, transparent);--surface-hover: color-mix(in srgb, var(--text-primary) 4%, transparent);--surface-active: color-mix(in srgb, var(--text-primary) 8%, transparent);--surface-selected: color-mix(in srgb, var(--color-primary) 12%, transparent);--border-on-accent: color-mix(in srgb, var(--text-inverse) 18%, transparent);--border-on-accent-strong: color-mix(in srgb, var(--text-inverse) 35%, transparent);--surface-on-accent: color-mix(in srgb, var(--text-inverse) 18%, transparent);--color-primary-surface: color-mix(in srgb, var(--color-primary) 12%, var(--bg-primary));--color-success-surface: color-mix(in srgb, var(--color-success) 12%, var(--bg-primary));--color-danger-surface: color-mix(in srgb, var(--color-danger) 12%, var(--bg-primary));--color-warning-surface: color-mix(in srgb, var(--color-warning) 12%, var(--bg-primary));--color-info-surface: color-mix(in srgb, var(--color-info) 12%, var(--bg-primary))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-in-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary)}body{font-family:var(--font-family);font-size:var(--font-base);line-height:var(--line-height-normal);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}button,input,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}button:not(:disabled),[role=button]{cursor:pointer}button:focus:not(:focus-visible){outline:0}textarea{resize:vertical}label{display:inline-block}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}th{text-align:inherit;text-align:-webkit-match-parent}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:background-color .32s var(--ease-in-out),background-image .32s var(--ease-in-out),border-color .32s var(--ease-in-out),outline-color .32s var(--ease-in-out),color .32s var(--ease-in-out),fill .32s var(--ease-in-out),stroke .32s var(--ease-in-out),box-shadow .32s var(--ease-in-out),opacity .32s var(--ease-in-out)!important;transition-delay:0s!important}.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition-property:background-color,background-image,border-color,outline-color,color,fill,stroke,box-shadow,opacity!important}@media (prefers-reduced-motion: reduce){.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}*::-webkit-scrollbar-thumb{background:var(--border-color-medium);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--border-color-dark)}.spinner-xs{width:12px;height:12px;border:2px solid var(--border-color-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:20px;height:20px;border:2px solid var(--border-color-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.spinner-md{width:36px;height:36px;border:3px solid var(--border-color-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.loading-badge{display:flex;align-items:center;gap:var(--space-xs);padding:4px 10px;border:var(--border-width) solid var(--border-color-light);border-radius:var(--radius-full);background:var(--bg-secondary);font-size:var(--font-xs);color:var(--text-tertiary)}.grid-controls .period-pager,.grid-controls .item-pager,.grid-controls .sort-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.grid-controls .pager-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:var(--border-width) solid var(--border-color-medium);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.grid-controls .pager-btn:hover:not(:disabled){background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.grid-controls .pager-btn:disabled{opacity:.4;cursor:default}.grid-controls .pager-info{font-size:var(--font-xs);color:var(--text-secondary);min-width:40px;text-align:center;white-space:nowrap}.grid-controls .pager-size,.grid-controls .pager-date,.grid-controls .sort-select{height:26px;border:var(--border-width) solid var(--border-color-medium);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-xs);outline:none}.grid-controls .pager-size:focus,.grid-controls .pager-date:focus,.grid-controls .sort-select:focus{border-color:var(--color-primary)}.grid-controls .pager-size{padding:0 var(--space-xs);cursor:pointer}.grid-controls .pager-date{padding:0 6px}.grid-controls .pager-date:hover{border-color:var(--color-primary)}.grid-controls .sort-select{padding:0 8px;cursor:pointer;max-width:150px;transition:border-color var(--transition-fast)}.grid-controls .sort-select:hover{border-color:var(--color-primary)}.grid-controls .sort-dir-btn{display:flex;align-items:center;justify-content:center;height:26px;width:26px;padding:0;border:var(--border-width) solid var(--border-color-medium);border-radius:var(--radius-md);background:var(--color-primary);color:var(--text-inverse);cursor:pointer;flex-shrink:0;transition:opacity var(--transition-fast)}.grid-controls .sort-dir-btn i{font-size:13px}.grid-controls .sort-dir-btn:hover{opacity:.85}.grid-controls .pager-label{font-size:var(--font-xs);color:var(--text-tertiary);margin-right:2px;white-space:nowrap}.grid-controls .pager-divider{width:1px;height:18px;background:var(--border-color-medium);margin:0 var(--space-xs);flex-shrink:0}@media (max-width: 768px){.grid-controls .pager-btn{width:36px;height:36px;font-size:15px}.grid-controls .pager-size{height:36px;font-size:var(--font-sm)}}
