.svg-icon[data-v-89a59eee]{display:inline-block;vertical-align:middle;flex-shrink:0}.home-view[data-v-3082ed94]{max-width:1200px;margin:0 auto;padding:40px 20px}.hero[data-v-3082ed94]{text-align:center;margin-bottom:48px}.hero-title[data-v-3082ed94]{display:flex;align-items:center;justify-content:center;gap:20px}.hero-logo[data-v-3082ed94]{height:120px;width:auto;object-fit:contain;mix-blend-mode:multiply}:root[data-theme=dark] .hero-logo[data-v-3082ed94]{mix-blend-mode:lighten}.hero h1[data-v-3082ed94]{font-size:56px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}.tagline[data-v-3082ed94]{font-size:22px;color:var(--color-text-tertiary);font-weight:400}.quick-actions[data-v-3082ed94]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:64px}.action-card[data-v-3082ed94]{background:var(--color-bg-surface);border:2px solid var(--color-border-light);border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all var(--transition-normal)}.action-card[data-v-3082ed94]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border-medium)}.action-card.primary[data-v-3082ed94]{background:var(--gradient-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.action-card.primary[data-v-3082ed94]:hover{box-shadow:var(--shadow-primary-lg)}.action-card.primary h3[data-v-3082ed94],.action-card.primary p[data-v-3082ed94]{color:var(--color-text-inverse)}.action-icon[data-v-3082ed94]{font-size:48px;display:block;margin-bottom:16px}.action-card h3[data-v-3082ed94]{font-size:24px;margin-bottom:8px;color:var(--color-text-primary);font-weight:700}.action-card p[data-v-3082ed94]{color:var(--color-text-tertiary);font-size:15px;margin:0}.how-it-works[data-v-3082ed94]{margin-bottom:64px;padding:40px;background:var(--color-bg-surface);border-radius:12px;border:2px solid var(--color-border-light);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.how-it-works h2[data-v-3082ed94]{text-align:center;font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:40px}.steps[data-v-3082ed94]{display:flex;align-items:center;justify-content:center;gap:24px}.step[data-v-3082ed94]{flex:1;max-width:250px;text-align:center}.step-number[data-v-3082ed94]{width:48px;height:48px;background:var(--gradient-primary);color:var(--color-text-inverse);font-size:24px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.step h3[data-v-3082ed94]{font-size:18px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.step p[data-v-3082ed94]{font-size:14px;color:var(--color-text-tertiary);line-height:1.5}.step-arrow[data-v-3082ed94]{font-size:32px;color:var(--color-border-medium);flex-shrink:0}@media (max-width: 768px){.hero-title[data-v-3082ed94]{gap:12px}.hero-logo[data-v-3082ed94]{height:80px}.hero h1[data-v-3082ed94]{font-size:36px}.tagline[data-v-3082ed94]{font-size:18px}.quick-actions[data-v-3082ed94]{grid-template-columns:1fr}.steps[data-v-3082ed94]{flex-direction:column}.step-arrow[data-v-3082ed94]{transform:rotate(90deg)}}.modal-overlay[data-v-7ab7c597]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-7ab7c597 .15s ease-out}@keyframes fadeIn-7ab7c597{0%{opacity:0}to{opacity:1}}.modal-content[data-v-7ab7c597]{background:var(--color-bg-surface);border-radius:12px;box-shadow:var(--shadow-lg);max-width:480px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp-7ab7c597 .2s ease-out}@keyframes slideUp-7ab7c597{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-7ab7c597]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border-light)}.modal-header h2[data-v-7ab7c597]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.close-button[data-v-7ab7c597]{background:none;border:none;font-size:1.5rem;color:var(--color-text-tertiary);cursor:pointer;padding:0;line-height:1}.close-button[data-v-7ab7c597]:hover{color:var(--color-text-secondary)}.modal-body[data-v-7ab7c597]{padding:1.5rem}.quota-overview[data-v-7ab7c597]{margin-bottom:0}.quota-stat[data-v-7ab7c597]{margin-bottom:1rem}.stat-label[data-v-7ab7c597]{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:.5rem}.stat-value[data-v-7ab7c597]{display:flex;align-items:baseline;gap:4px;margin-bottom:.5rem}.stat-current[data-v-7ab7c597]{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.stat-separator[data-v-7ab7c597]{color:var(--color-text-tertiary)}.stat-max[data-v-7ab7c597]{font-size:1rem;color:var(--color-text-secondary)}.stat-bar[data-v-7ab7c597]{width:100%;height:8px;background:var(--color-border-light);border-radius:4px;overflow:hidden;margin-bottom:.375rem}.stat-bar-fill[data-v-7ab7c597]{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s ease}.stat-bar-fill.warning[data-v-7ab7c597]{background:var(--color-warning)}.stat-bar-fill.danger[data-v-7ab7c597]{background:var(--color-error)}.stat-percent[data-v-7ab7c597]{font-size:.8125rem;color:var(--color-text-secondary)}.quota-details[data-v-7ab7c597]{background:var(--color-bg-hover);border-radius:8px;padding:.75rem 1rem}.detail-row[data-v-7ab7c597]{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0}.detail-row[data-v-7ab7c597]:not(:last-child){border-bottom:1px solid var(--color-border-light)}.detail-label[data-v-7ab7c597]{font-size:.875rem;color:var(--color-text-secondary)}.detail-value[data-v-7ab7c597]{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.exempt-notice[data-v-7ab7c597]{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.625rem .875rem;background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:6px;font-size:.8125rem;color:var(--color-success)}.exempt-icon[data-v-7ab7c597]{width:16px;height:16px;flex-shrink:0}.divider[data-v-7ab7c597]{height:1px;background:var(--color-border-light);margin:1.5rem 0}.request-section h3[data-v-7ab7c597]{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.section-description[data-v-7ab7c597]{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-tertiary)}.quota-form[data-v-7ab7c597]{display:flex;flex-direction:column;gap:.75rem}.form-group[data-v-7ab7c597]{display:flex;flex-direction:column;gap:.375rem}.form-group label[data-v-7ab7c597]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-group textarea[data-v-7ab7c597]{padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s;background:var(--color-bg-surface);color:var(--color-text-primary)}.form-group textarea[data-v-7ab7c597]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-info-bg)}.form-group textarea[data-v-7ab7c597]:disabled{background:var(--color-bg-hover);cursor:not-allowed}.form-group textarea[data-v-7ab7c597]::placeholder{color:var(--color-text-tertiary)}.char-count[data-v-7ab7c597]{font-size:.75rem;color:var(--color-text-tertiary);text-align:right}.error-message[data-v-7ab7c597]{padding:.75rem;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:.875rem}.success-message[data-v-7ab7c597]{padding:.75rem;background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:6px;color:var(--color-success);font-size:.875rem}.form-actions[data-v-7ab7c597]{display:flex;justify-content:flex-end}.btn-submit[data-v-7ab7c597]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:6px;background:var(--gradient-primary);color:var(--color-text-inverse);font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-submit[data-v-7ab7c597]:hover:not(:disabled){opacity:.95}.btn-submit[data-v-7ab7c597]:disabled{opacity:.5;cursor:not-allowed}.spinner[data-v-7ab7c597]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-7ab7c597 .8s linear infinite}@keyframes spin-7ab7c597{to{transform:rotate(360deg)}}.quota-display[data-v-9b794643]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-bg-hover);border-radius:6px;cursor:pointer}.quota-display[data-v-9b794643]:hover{background:var(--color-border-light)}.quota-icon[data-v-9b794643]{width:18px;height:18px;color:var(--color-text-tertiary);flex-shrink:0}.quota-icon svg[data-v-9b794643]{width:100%;height:100%}.quota-content[data-v-9b794643]{display:flex;flex-direction:column;gap:3px;min-width:90px}.quota-text[data-v-9b794643]{display:flex;align-items:baseline;gap:3px;font-size:12px;font-weight:500}.quota-used[data-v-9b794643]{color:var(--color-text-primary)}.quota-separator[data-v-9b794643]{color:var(--color-text-tertiary)}.quota-total[data-v-9b794643]{color:var(--color-text-secondary)}.quota-bar[data-v-9b794643]{width:100%;height:3px;background:var(--color-border-light);border-radius:2px;overflow:hidden}.quota-bar-fill[data-v-9b794643]{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.quota-bar-fill.warning[data-v-9b794643]{background:var(--color-warning)}.quota-bar-fill.danger[data-v-9b794643]{background:var(--color-error)}.quota-display.loading[data-v-9b794643]{padding:10px 12px}.quota-skeleton[data-v-9b794643]{width:90px;height:16px;background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-bg-hover) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:skeleton-loading-9b794643 1.5s infinite;border-radius:4px}@keyframes skeleton-loading-9b794643{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-overlay[data-v-a27eb6af]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-a27eb6af .15s ease-out}@keyframes fadeIn-a27eb6af{0%{opacity:0}to{opacity:1}}.modal-content[data-v-a27eb6af]{background:var(--color-bg-surface);border-radius:12px;max-width:420px;width:90%;box-shadow:var(--shadow-lg);animation:slideUp-a27eb6af .2s ease-out}@keyframes slideUp-a27eb6af{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-a27eb6af]{display:flex;align-items:center;gap:12px;padding:20px 24px 0}.modal-icon[data-v-a27eb6af]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.modal-icon.danger[data-v-a27eb6af]{background:var(--color-error-bg);color:var(--color-error)}.modal-icon.warning[data-v-a27eb6af]{background:var(--color-warning-bg);color:var(--color-warning)}.modal-icon.info[data-v-a27eb6af]{background:var(--color-info-bg);color:var(--color-info)}.modal-icon.success[data-v-a27eb6af]{background:var(--color-success-bg);color:var(--color-success)}.modal-header h3[data-v-a27eb6af]{margin:0;font-size:18px;font-weight:700;color:var(--color-text-primary)}.modal-body[data-v-a27eb6af]{padding:16px 24px 24px}.modal-body p[data-v-a27eb6af]{margin:0 0 8px;font-size:14px;color:var(--color-text-tertiary);line-height:1.6}.modal-body p[data-v-a27eb6af]:last-child{margin-bottom:0}.modal-footer[data-v-a27eb6af]{padding:16px 24px;border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end}.btn-confirm[data-v-a27eb6af]{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;border:none;color:var(--color-text-inverse)}.btn-confirm.danger[data-v-a27eb6af]{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-confirm.danger[data-v-a27eb6af]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #dc26264d}.btn-confirm.warning[data-v-a27eb6af]{background:linear-gradient(135deg,#f59e0b,#d97706)}.btn-confirm.warning[data-v-a27eb6af]:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #d977064d}.btn-confirm.info[data-v-a27eb6af]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-confirm.info[data-v-a27eb6af]:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d}.btn-confirm.success[data-v-a27eb6af]{background:linear-gradient(135deg,#22c55e,#16a34a)}.btn-confirm.success[data-v-a27eb6af]:hover{background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 12px #16a34a4d}.btn-confirm[data-v-a27eb6af]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.modal-overlay[data-v-4c13e637]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-4c13e637 .15s ease-out}@keyframes fadeIn-4c13e637{0%{opacity:0}to{opacity:1}}.modal-content[data-v-4c13e637]{background:var(--color-bg-surface);border-radius:12px;max-width:420px;width:90%;box-shadow:var(--shadow-lg);animation:slideUp-4c13e637 .2s ease-out}@keyframes slideUp-4c13e637{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-4c13e637]{display:flex;align-items:center;gap:12px;padding:20px 24px 0}.modal-icon[data-v-4c13e637]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.modal-icon.danger[data-v-4c13e637]{background:var(--color-error-bg);color:var(--color-error)}.modal-icon.warning[data-v-4c13e637]{background:var(--color-warning-bg);color:var(--color-warning)}.modal-icon.info[data-v-4c13e637]{background:var(--color-info-bg);color:var(--color-info)}.modal-header h3[data-v-4c13e637]{margin:0;font-size:18px;font-weight:700;color:var(--color-text-primary)}.modal-body[data-v-4c13e637]{padding:16px 24px 24px}.modal-body p[data-v-4c13e637]{margin:0 0 8px;font-size:14px;color:var(--color-text-tertiary);line-height:1.6}.modal-body p[data-v-4c13e637]:last-child{margin-bottom:0}.modal-footer[data-v-4c13e637]{padding:16px 24px;border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;gap:12px}.btn-cancel[data-v-4c13e637],.btn-confirm[data-v-4c13e637]{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-cancel[data-v-4c13e637]{background:var(--color-bg-surface);border:2px solid var(--color-border-light);color:var(--color-text-tertiary)}.btn-cancel[data-v-4c13e637]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border)}.btn-confirm[data-v-4c13e637]{border:none;color:var(--color-text-inverse)}.btn-confirm.danger[data-v-4c13e637]{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-confirm.danger[data-v-4c13e637]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #dc26264d}.btn-confirm.warning[data-v-4c13e637]{background:linear-gradient(135deg,#f59e0b,#d97706)}.btn-confirm.warning[data-v-4c13e637]:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #d977064d}.btn-confirm.info[data-v-4c13e637]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-confirm.info[data-v-4c13e637]:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d}.btn-cancel[data-v-4c13e637]:disabled,.btn-confirm[data-v-4c13e637]:disabled{opacity:.6;cursor:not-allowed}.spinner-small[data-v-4c13e637]{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-4c13e637 .8s linear infinite}@keyframes spin-4c13e637{to{transform:rotate(360deg)}}.toast-container[data-v-76876639]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:520px;width:calc(100% - 40px)}.toast[data-v-76876639]{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:10px;box-shadow:var(--shadow-lg),0 0 0 1px #0000000d}.toast--info[data-v-76876639]{background:var(--color-info-bg);border:1px solid var(--color-info-border)}.toast--info .toast-title[data-v-76876639]{color:var(--color-info-dark)}.toast--info .toast-message[data-v-76876639],.toast--info .toast-dismiss[data-v-76876639]{color:var(--color-info)}.toast--success[data-v-76876639]{background:var(--color-success-bg);border:1px solid var(--color-success-border)}.toast--success .toast-title[data-v-76876639]{color:var(--color-success-dark)}.toast--success .toast-message[data-v-76876639],.toast--success .toast-dismiss[data-v-76876639]{color:var(--color-success)}.toast--warning[data-v-76876639]{background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.toast--warning .toast-title[data-v-76876639]{color:var(--color-warning-dark)}.toast--warning .toast-message[data-v-76876639],.toast--warning .toast-dismiss[data-v-76876639]{color:var(--color-warning)}.toast--danger[data-v-76876639]{background:var(--color-error-bg);border:1px solid var(--color-error-border)}.toast--danger .toast-title[data-v-76876639]{color:var(--color-error-dark)}.toast--danger .toast-message[data-v-76876639],.toast--danger .toast-dismiss[data-v-76876639]{color:var(--color-error)}.toast-content[data-v-76876639]{flex:1;display:flex;flex-direction:column;gap:6px}.toast-title[data-v-76876639]{font-weight:700;font-size:16px;line-height:1.3}.toast-message[data-v-76876639]{font-size:15px;line-height:1.5}.toast-dismiss[data-v-76876639]{flex-shrink:0;background:none;border:none;cursor:pointer;padding:4px;font-size:18px;font-weight:500;line-height:1;opacity:.7;transition:opacity .15s,transform .15s;margin:-4px -4px -4px 0}.toast-dismiss[data-v-76876639]:hover{opacity:1;transform:scale(1.1)}.toast-enter-active[data-v-76876639]{transition:all .3s ease-out}.toast-leave-active[data-v-76876639]{transition:all .2s ease-in}.toast-enter-from[data-v-76876639]{opacity:0;transform:translateY(-20px)}.toast-leave-to[data-v-76876639]{opacity:0;transform:translate(100px)}.toast-move[data-v-76876639]{transition:transform .3s ease}.version-toggle[data-v-10bdc694]{display:flex;align-items:center;gap:0;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);overflow:hidden}.version-btn[data-v-10bdc694]{padding:6px 12px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.version-btn[data-v-10bdc694]:first-child{border-right:1px solid var(--color-border-medium)}.version-btn[data-v-10bdc694]:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text-secondary)}.version-btn.active[data-v-10bdc694]{background:var(--color-primary);color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--color-bg-page);color:var(--color-text-primary);transition:background-color var(--transition-normal),color var(--transition-normal)}#app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);padding:16px 0;box-shadow:var(--shadow-sm);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.container{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.app-logo{height:40px;width:auto;object-fit:contain}:root[data-theme=dark] .app-logo{mix-blend-mode:lighten}.app-title{font-size:24px;font-weight:700;color:var(--color-primary)}.app-nav{display:flex;gap:24px;flex:1}.app-nav a{text-decoration:none;color:var(--color-text-secondary);font-weight:500;padding:8px 16px;border-radius:var(--radius-sm);transition:all var(--transition-normal)}.app-nav a:hover{background:var(--color-bg-hover);color:var(--color-primary)}.app-nav a.router-link-active{color:var(--color-primary);background:var(--color-bg-active)}.app-nav .admin-link{color:var(--color-admin)}.app-nav .admin-link.router-link-active{color:var(--color-admin);background:var(--color-admin-light)}.header-right{display:flex;align-items:center;gap:16px}.active-users-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-admin-light);border:1px solid var(--color-admin);border-radius:var(--radius-md);color:var(--color-admin);font-size:13px;font-weight:600;cursor:default}.active-users-badge svg{width:16px;height:16px}.active-users-badge .active-count{min-width:18px;text-align:center}.btn-theme-toggle{position:relative;background:transparent;border:1px solid var(--color-border-medium);color:var(--color-text-secondary);width:36px;height:36px;padding:0;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.btn-theme-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-border-focus);color:var(--color-primary)}.btn-theme-toggle svg{width:20px;height:20px}.theme-mode-indicator{position:absolute;bottom:2px;right:2px;font-size:8px;font-weight:700;color:var(--color-primary);line-height:1}.user-menu{position:relative}.user-icon-button{width:36px;height:36px;border-radius:50%;background:var(--color-bg-hover);border:1px solid var(--color-border-medium);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-normal)}.user-icon-button:hover,.user-icon-button.active{background:var(--color-bg-active);border-color:var(--color-border-focus);color:var(--color-primary)}.user-icon-button svg{width:18px;height:18px}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-normal)}.dropdown-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.dropdown-item svg{width:16px;height:16px;flex-shrink:0}.dropdown-user-name{padding:10px 14px;font-size:14px;font-weight:600;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.app-main{flex:1;padding:20px;background:var(--color-bg-page);transition:background-color var(--transition-normal)}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:var(--color-text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);border:none;padding:12px 24px;border-radius:var(--radius-md);font-size:16px;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-bg-surface);color:var(--color-primary);border:2px solid var(--color-primary);padding:10px 22px;border-radius:var(--radius-md);font-size:16px;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-secondary:hover{background:var(--color-bg-active)}.form-control{width:100%;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;background:var(--color-bg-input);color:var(--color-text-primary);transition:all var(--transition-normal)}.form-control:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:var(--color-text-secondary)}.help-text{display:block;margin-top:4px;font-size:12px;color:var(--color-text-muted)}.error-text{color:var(--color-error);font-size:13px;margin-top:4px}.verification-banner{background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning);padding:12px 20px}.verification-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.verification-icon{width:20px;height:20px;color:var(--color-warning-dark);flex-shrink:0}.verification-message{color:var(--color-warning-dark);font-size:14px;font-weight:500}.btn-resend{background:var(--color-warning);color:var(--color-text-inverse);border:none;padding:6px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-resend:hover:not(:disabled){background:var(--color-warning-dark)}.btn-resend:disabled{opacity:.6;cursor:not-allowed}.resend-status{font-size:13px;font-weight:500}.resend-status.success{color:var(--color-success)}.resend-status.error{color:var(--color-error)}@media (max-width: 768px){.container{flex-wrap:wrap;gap:12px;padding:0 16px}.app-logo{height:28px}.app-title{font-size:20px}.app-nav{order:3;width:100%;gap:8px;flex-wrap:wrap}.app-nav a{padding:8px 12px;font-size:13px}.header-right{gap:8px}.verification-content{flex-direction:column;text-align:center;gap:8px}}@media (max-width: 480px){.app-header{padding:12px 0}.app-logo{height:24px}.container{gap:8px}.app-nav{justify-content:center}.app-nav a{padding:8px 10px;font-size:12px}.btn-theme-toggle{width:32px;height:32px}.btn-theme-toggle svg{width:16px;height:16px}.app-main{padding:12px}}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px}.vue-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}:root{--color-primary: #667eea;--color-primary-hover: #5a6fd6;--color-primary-light: rgba(102, 126, 234, .1);--color-secondary: #764ba2;--color-admin: #9333ea;--color-admin-light: rgba(147, 51, 234, .1);--color-text-primary: #333;--color-text-secondary: #666;--color-text-tertiary: #94a3b8;--color-text-muted: #888;--color-text-inverse: #fff;--color-text-link: #667eea;--color-text-link-hover: #5a6fd6;--color-bg-page: #f5f5f5;--color-bg-surface: #fff;--color-bg-elevated: #fff;--color-bg-hover: #f3f4f6;--color-bg-active: #e0e7ff;--color-bg-input: #fff;--color-bg-disabled: #f9fafb;--color-bg-dark: #1e293b;--color-bg-dark-elevated: #334155;--color-border: #ddd;--color-border-light: #e2e8f0;--color-border-medium: #d1d5db;--color-border-focus: #667eea;--color-border-input: #d1d5db;--color-success: #22c55e;--color-success-dark: #16a34a;--color-success-light: #86efac;--color-success-bg: #f0fdf4;--color-success-border: #22c55e;--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-light: #fde68a;--color-warning-bg: #fffbeb;--color-warning-border: #f59e0b;--color-error: #dc2626;--color-error-dark: #b91c1c;--color-error-light: #fca5a5;--color-error-bg: #fef2f2;--color-error-border: #dc2626;--color-info: #3b82f6;--color-info-dark: #2563eb;--color-info-light: #93c5fd;--color-info-bg: #eff6ff;--color-info-border: #3b82f6;--color-field-string: #3b82f6;--color-field-number: #22c55e;--color-field-boolean: #ef4444;--color-field-date: #f59e0b;--color-field-reference: #8b5cf6;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--shadow-primary: 0 4px 12px rgba(102, 126, 234, .3);--shadow-primary-lg: 0 8px 20px rgba(102, 126, 234, .4);--color-overlay: rgba(0, 0, 0, .5);--color-overlay-light: rgba(0, 0, 0, .1);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px}[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-light: rgba(129, 140, 248, .15);--color-secondary: #a78bfa;--color-admin: #c084fc;--color-admin-light: rgba(192, 132, 252, .15);--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-text-link: #818cf8;--color-text-link-hover: #a5b4fc;--color-bg-page: #0f172a;--color-bg-surface: #1e293b;--color-bg-elevated: #334155;--color-bg-hover: #334155;--color-bg-active: #3730a3;--color-bg-input: #1e293b;--color-bg-disabled: #1e293b;--color-bg-dark: #020617;--color-bg-dark-elevated: #0f172a;--color-border: #334155;--color-border-light: #475569;--color-border-medium: #475569;--color-border-focus: #818cf8;--color-border-input: #475569;--color-success: #4ade80;--color-success-dark: #22c55e;--color-success-light: #166534;--color-success-bg: #14532d;--color-success-border: #4ade80;--color-warning: #fbbf24;--color-warning-dark: #f59e0b;--color-warning-light: #92400e;--color-warning-bg: #78350f;--color-warning-border: #fbbf24;--color-error: #f87171;--color-error-dark: #ef4444;--color-error-light: #991b1b;--color-error-bg: #7f1d1d;--color-error-border: #f87171;--color-info: #60a5fa;--color-info-dark: #3b82f6;--color-info-light: #1e40af;--color-info-bg: #1e3a5f;--color-info-border: #60a5fa;--color-field-string: #60a5fa;--color-field-number: #4ade80;--color-field-boolean: #f87171;--color-field-date: #fbbf24;--color-field-reference: #a78bfa;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .6);--shadow-primary: 0 4px 12px rgba(129, 140, 248, .3);--shadow-primary-lg: 0 8px 20px rgba(129, 140, 248, .4);--color-overlay: rgba(0, 0, 0, .7);--color-overlay-light: rgba(0, 0, 0, .3);--gradient-primary: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%)}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{background-color:var(--color-bg-page);color:var(--color-text-primary);transition:background-color var(--transition-normal),color var(--transition-normal)}@media (max-width: 768px){:root{--touch-target-min: 44px}button,.btn-primary,.btn-secondary{min-height:44px}body{font-size:16px;-webkit-text-size-adjust:100%}}@media (max-width: 480px){:root{--radius-sm: 6px;--radius-md: 8px}}
