@property --glow-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}:root{--header-height: 100px;--nav-tabs-height: 56px;--page-header-height: 80px;--footer-height: 40px;--layout-offset-top: 236px;--layout-content-padding: 20px;--z-header: 1000;--z-navigation: 900;--z-page-header: 850;--z-footer: 800;--z-modal-backdrop: 1100;--z-modal: 1200;--z-tooltip: 1300;--z-toast: 1400;--font-family-primary: "Segoe UI", -apple-system, BlinkMacSystemFont, "Roboto", "Oxygen", "Ubuntu", sans-serif;--font-family-mono: "Consolas", "Monaco", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--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;--genapps-primary: #008066;--genapps-primary-hover: #006652;--genapps-primary-light: #e6f7f5;--genapps-primary-lighter: #f0faf7;--genapps-primary-dark: #005c47;--genapps-secondary: #64748b;--genapps-secondary-hover: #475569;--genapps-gradient: linear-gradient(135deg, #3db932 0%, var(--genapps-primary) 100%);--color-gold: #ccac00;--color-gold-light: #f5ecd0;--color-draft: #3D85C6;--color-draft-light: #e8f0f8;--success: #22c55e;--success-hover: #16a34a;--success-light: #dcfce7;--error: #ef4444;--error-hover: #dc2626;--error-light: #fee2e2;--warning: #f59e0b;--warning-hover: #d97706;--warning-light: #fef3c7;--info: #3b82f6;--info-hover: #2563eb;--info-light: #dbeafe;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f5f5f5;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-disabled: #9ca3af;--text-inverse: #ffffff;--border-light: #e5e7eb;--border-medium: #d1d5db;--border-dark: #9ca3af;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.2rem;--spacing-6: 1.5rem;--spacing-xl: 2rem;--spacing-10: 2.5rem;--spacing-2xl: 3rem;--spacing-16: 4rem;--radius-xs: 10px;--radius-sm: .25rem;--radius-base: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px 0 rgb(0 0 0 / .06);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-focus: 0 0 0 3px color-mix(in srgb, var(--genapps-primary) 50%, transparent);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--modal-overlay-bg: rgba(0, 0, 0, .6);--modal-border-radius: 12px;--modal-shadow: 0 10px 40px rgba(0, 0, 0, .25);--modal-header-gradient: linear-gradient(135deg, var(--genapps-primary) 0%, var(--genapps-primary-hover) 100%);--modal-close-size: 36px;--modal-close-bg: rgba(255, 255, 255, .15);--modal-close-bg-hover: rgba(255, 255, 255, .25);--design-width: 1920;--design-height: 1080;--viewport-zoom: clamp(.6, min(calc(100vw / var(--design-width)), calc(100vh / var(--design-height))), 1);--salmon-light: #FA8072;--color-primary: var(--genapps-primary);--color-primary-hover: var(--genapps-primary-hover);--color-primary-light: var(--genapps-primary-light);--color-primary-lighter: var(--genapps-primary-lighter);--color-primary-dark: var(--genapps-primary-dark);--color-success: var(--success);--color-success-hover: var(--success-hover);--color-success-light: var(--success-light);--color-error: var(--error);--color-error-hover: var(--error-hover);--color-error-light: var(--error-light);--color-warning: var(--warning);--color-warning-hover: var(--warning-hover);--color-warning-light: var(--warning-light);--color-info: var(--info);--color-info-hover: var(--info-hover);--color-info-light: var(--info-light);--color-bg-primary: var(--bg-primary);--color-bg-secondary: var(--bg-secondary);--color-bg-tertiary: var(--bg-tertiary);--color-bg-overlay: var(--bg-overlay);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-tertiary: var(--text-tertiary);--color-text-inverse: var(--text-inverse);--color-border-light: var(--border-light);--color-border-medium: var(--border-medium);--color-border-dark: var(--border-dark);--color-gray-50: var(--gray-50);--color-gray-100: var(--gray-100);--color-gray-200: var(--gray-200);--color-gray-300: var(--gray-300);--color-gray-400: var(--gray-400);--color-gray-500: var(--gray-500);--color-gray-600: var(--gray-600);--color-gray-700: var(--gray-700);--color-gray-800: var(--gray-800);--color-gray-900: var(--gray-900);--color-white: #FFFFFF;--layout-header-height: var(--header-height);--layout-nav-height: var(--nav-tabs-height);--layout-footer-height: var(--footer-height);--spacing-0: 0;--spacing-1: var(--spacing-xs);--spacing-2: var(--spacing-sm);--spacing-3: .75rem;--spacing-4: var(--spacing-md);--spacing-5: 1.25rem;--spacing-8: var(--spacing-xl);--spacing-12: var(--spacing-2xl);--spacing-20: 5rem;--spacing-24: 6rem;--transition-base: var(--transition-fast);--scrollbar-thumb: var(--gray-400);--scrollbar-thumb-hover: var(--gray-500);--primary-color: var(--genapps-primary);--primary-color-light: var(--genapps-primary-light);--primary-hover: var(--genapps-primary-hover);--backg-color: var(--bg-secondary);--secondary-color: var(--text-secondary);--secondary-hover: var(--gray-600);--accent-color: var(--genapps-primary);--success-color: var(--success);--warning-color: var(--warning);--danger-color: var(--error);--danger-hover: var(--error-hover);--text-color: var(--text-primary);--text-muted: var(--text-secondary);--bg-color: #eef9f7;--border-color: var(--border-light);--font-family: var(--font-family-primary);--font-family-segoe: var(--font-family-primary)}@supports (zoom: 1){html{zoom:var(--viewport-zoom)}}@supports not (zoom: 1){#root{transform:scale(var(--viewport-zoom));transform-origin:top left;width:calc(100vw / var(--viewport-zoom));min-height:calc(100vh / var(--viewport-zoom))}}body{margin:0;font-family:var(--font-family-primary);background-color:var(--bg-secondary);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;width:100vw;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{display:flex;flex-direction:column;flex-grow:1;width:100%;overflow:hidden;max-height:100vh}.genplay_app{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-secondary);font-family:var(--font-family-primary)}.genplay_app__page-header{position:fixed;top:calc(var(--header-height) + var(--nav-tabs-height));left:0;right:0;height:var(--page-header-height);z-index:var(--z-page-header);background:var(--bg-primary);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;padding:0 var(--layout-content-padding)}.genplay_app__main{margin-top:var(--layout-offset-top);margin-bottom:var(--footer-height);height:calc(100vh - var(--layout-offset-top) - var(--footer-height));padding:0}.genplay_app__main--with-nav{margin-top:calc(var(--header-height) + var(--nav-tabs-height));height:calc(100vh - var(--header-height) - var(--nav-tabs-height) - var(--footer-height));background-color:var(--bg-color)}.genplay_app__view{display:flex;flex-direction:column;height:100%;width:100%}.genplay_app__content{height:calc(100vh - var(--layout-offset-top) - var(--footer-height) - 40px);padding:var(--layout-content-padding);overflow-y:hidden;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.app-container{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-main-content{flex:1;flex-grow:1;display:flex;flex-direction:column;padding:5px 15px;overflow-y:hidden;max-height:100%}.btn-primary,.btn-secondary,.btn-danger,.btn-icon,.btn-icon-sm,.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:4px;cursor:pointer;font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);transition:all .2s ease-in-out;white-space:nowrap}.btn-primary{padding:0 15px;height:38px;min-width:100px;font-size:14px;background-color:var(--genapps-primary);color:var(--text-inverse)}.btn-primary:hover{background-color:var(--genapps-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--genapps-primary) 25%,transparent)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--genapps-primary) 15%,transparent)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{padding:0 15px;height:38px;min-width:100px;font-size:14px;background-color:var(--gray-500);color:var(--text-inverse)}.btn-secondary:hover{background-color:var(--gray-600);transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--gray-500) 25%,transparent)}.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--gray-500) 15%,transparent)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-danger{padding:0 15px;height:38px;min-width:100px;font-size:14px;background-color:var(--error);color:var(--text-inverse)}.btn-danger:hover{background-color:var(--error-hover);transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--error) 25%,transparent)}.btn-danger:active{transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--error) 15%,transparent)}.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-icon{width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-tertiary);color:var(--genapps-primary);border-color:var(--genapps-primary);transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--genapps-primary) 25%,transparent)}.btn-icon:active{transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--genapps-primary) 15%,transparent)}.btn-icon-sm{width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--text-tertiary);border-radius:var(--radius-sm)}.btn-icon-sm:hover{background:var(--bg-tertiary);color:var(--genapps-primary);transform:translateY(-1px);box-shadow:0 1px 4px color-mix(in srgb,var(--genapps-primary) 20%,transparent)}.btn-icon-sm.btn-danger:hover{background:var(--error-light);color:var(--error);box-shadow:0 1px 4px color-mix(in srgb,var(--error) 20%,transparent)}.btn-sm{padding:2px 6px;font-size:var(--font-size-xs);border-radius:var(--radius-sm);gap:2px}.animated-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;height:38px;min-width:100px;font-size:14px;font-weight:var(--font-weight-medium);background-color:var(--genapps-primary);color:var(--text-inverse);border:none;border-radius:4px;cursor:pointer;transition:all .2s ease-in-out;white-space:nowrap;position:relative;overflow:hidden}.animated-button:hover:not(:disabled){background-color:var(--genapps-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--genapps-primary) 25%,transparent)}.animated-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--genapps-primary) 15%,transparent)}.animated-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.cell-difference{background-color:var(--salmon-light)!important}.access-denied{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:20px}.access-denied-content{text-align:center;max-width:500px;padding:40px;background:var(--bg-primary);border-radius:12px;box-shadow:0 4px 12px #0000001a;border:1px solid #e2e8f0}.access-denied-content h2{color:#e53e3e;margin:0 0 16px;font-size:1.5rem}.access-denied-content p{color:#4a5568;margin:0 0 12px;line-height:1.5}.access-denied-content code{background:#f7fafc;padding:2px 6px;border-radius:4px;font-family:var(--font-family-mono);color:#2d3748}.access-denied-content button{margin-top:20px;padding:10px 20px;background:var(--genapps-primary);color:var(--text-inverse);border:none;border-radius:8px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.access-denied-content button:hover{background:var(--genapps-primary-hover);transform:translateY(-1px)}@media(max-width:768px){.access-denied-content{margin:20px;padding:30px 20px}.access-denied-content h2{font-size:1.25rem}}h2{color:var(--text-primary, #333);margin-bottom:20px;border-bottom:2px solid var(--genapps-primary, var(--genapps-primary));padding-bottom:10px}select,input[type=checkbox],input[type=radio]{accent-color:var(--genapps-primary, var(--genapps-primary))}button svg,.btn svg,.btn-primary svg,.btn-secondary svg,.btn-ghost svg,.btn-icon svg,.btn-icon-sm svg,.btn-sm svg,.btn-lg svg,.animated-button svg,.genplay_app__navigation-button svg,.genplay_app__navigation-submenu-item svg,.genplay_app__notifications-bell svg,.ai-assistant-btn svg,.view-toggle__button svg,.playbook-card__actions svg,.playbook-card__footer svg,.playbook-card__stats svg,.vuln-card-button svg,.computer-card__action-button svg,.server-card__action-button svg,.device-controls svg,.genplay_stocks__view-toggle svg,.genplay_stocks__month-navigation svg,.genplay_stocks__tabs svg,.genplay_view__header-actions svg,.genplay_sync__actions svg{stroke-width:2;fill:none;display:block;flex-shrink:0}.btn-primary svg,.btn-primary:hover svg,.btn-animated-border svg,.view-toggle__button--active svg,.view-toggle__button--refresh svg,.genplay_stocks__view-toggle__btn--active svg,.genplay_app__navigation-button--active svg,.playbook-card__header svg,.vuln-card-button svg,.ai-assistant-btn svg{stroke:#fff!important}.btn-secondary svg,.btn-ghost svg,.genplay_app__navigation-button svg,.genplay_app__notifications-bell svg,.device-controls svg,.genplay_stocks__tabs svg,.genplay_stocks__month-navigation svg{stroke:var(--genapps-primary)!important}.genplay_view__container{display:flex;flex-direction:column;padding:0 15px;height:100%;box-sizing:border-box;max-height:100%;overflow:hidden}.genplay_view__container--scroll{overflow-y:auto;overflow-x:hidden}.genplay_view__header{display:flex;justify-content:space-between;align-items:center;background-color:#fff;padding:16px 20px;border-radius:4px;box-shadow:0 2px 8px #00000026;margin-bottom:20px;flex-shrink:0}.genplay_view__header-title{display:flex;flex-direction:column}.genplay_view__header-title h2{margin:0;color:var(--genapps-primary);font-size:1.8rem;font-weight:700;display:flex;align-items:center;gap:12px;line-height:1.25;border-bottom:none;padding-bottom:0}.genplay_view__header-title p{margin:4px 0 0;color:#6b7280;font-size:.875rem}.genplay_view__header-actions{display:flex;gap:var(--spacing-2, .5rem);flex-shrink:0;position:relative;z-index:1;align-items:center}.genplay_view__header-actions .btn-primary svg,.genplay_sync__actions .btn-primary svg,.genplay_view__header-actions .btn-secondary svg,.genplay_sync__actions .btn-secondary svg,.genplay_view__header-actions .animated-button svg,.genplay_sync__actions .animated-button svg{width:24px;height:24px;flex-shrink:0;stroke:currentColor;fill:none;display:block}.genplay_view__header-info{display:flex;align-items:center;gap:30px;flex:1;min-width:0;justify-content:flex-end}.genplay_view__content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.genplay_view__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin:1rem;align-items:start}.genplay_view__loading-container,.genplay_view__error-container,.genplay_view__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.genplay_view__loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--genapps-primary);border-radius:50%;animation:genplay_view_spin 1s linear infinite;margin-bottom:20px}.genplay_view__loading-spinner--small{width:20px;height:20px;border-width:2px;margin-bottom:0}@keyframes genplay_view_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.genplay_view__error-icon{font-size:48px;margin-bottom:20px}.genplay_view__empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.genplay_view__retry-button{background:var(--genapps-primary);color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.genplay_view__retry-button:hover{background:var(--genapps-primary-hover)}.genplay_view__loading-overlay{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:10px;padding:10px 15px;background:color-mix(in srgb,var(--genapps-primary) 90%,transparent);color:#fff;border-radius:20px;font-size:14px;z-index:1000;box-shadow:0 4px 12px color-mix(in srgb,var(--genapps-primary) 30%,transparent);transition:opacity .3s ease}.genplay_view__summary-stats{display:flex;gap:20px}.genplay_view__stat{display:flex;flex-direction:column;align-items:center;padding:10px 15px;background:#fafaa8;border:1px solid rgb(248,205,111);border-radius:8px;min-width:60px}.genplay_view__stat--online{background:#d4edda;border:1px solid rgb(10,80,10);color:#155724}.genplay_view__stat--offline{background:#f8d7da;color:#721c24;border:1px solid rgb(134,8,8)}.genplay_view__stat-value{font-size:24px;font-weight:700;line-height:1}.genplay_view__stat-label{font-size:12px;text-transform:uppercase;margin-top:4px;opacity:.8}.genplay_view__connection-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:20px;font-size:14px}.genplay_view__status-indicator{width:8px;height:8px;border-radius:50%;background-color:#28a745;animation:genplay_view_pulse 2s infinite}.genplay_view__status-indicator--connected{background:#28a745}.genplay_view__status-indicator--connecting{background:#ffc107}@keyframes genplay_view_pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.genplay_view__status-text{font-weight:500;color:#6c757d}@media(max-width:768px){.genplay_view__container{padding:0 10px}.genplay_view__header{flex-direction:column;align-items:flex-start;gap:1rem;padding:12px 15px}.genplay_view__header-actions{width:100%;justify-content:flex-start}.genplay_view__header-info{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}.genplay_view__header-title h2{font-size:1.5rem}}@media(max-width:480px){.genplay_view__container{padding:0 5px}.genplay_view__summary-stats{gap:10px}.genplay_view__stat{padding:8px 12px;min-width:50px}.genplay_view__stat-value{font-size:20px}}.genplay_view__dropdown{position:relative}.genplay_view__dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s ease-in-out;z-index:100;padding:4px 0}.genplay_view__dropdown:hover .genplay_view__dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.genplay_view__dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;text-align:left;font-size:.875rem;font-weight:500;color:#374151;background:#fff;border:none;cursor:pointer;transition:background-color .15s}.genplay_view__dropdown-menu button:hover{background-color:#f3f4f6;color:#111827}.genplay_view__content::-webkit-scrollbar-thumb:hover,.genplay_view__container--scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #a8a8a8)}.genplay_view__table{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;font-size:.9rem}.genplay_view__table th,.genplay_view__table td{border:none;padding:8px 10px;text-align:left;box-shadow:inset 0 -.5px #e5e7eb,inset -.5px 0 #e5e7eb}.genplay_view__table thead{position:sticky;top:0;z-index:2}.genplay_view__table thead th{background-color:var(--genapps-primary);font-weight:600;color:#fff;border-bottom:2px solid var(--genapps-primary-hover);box-shadow:none}.genplay_view__table td{color:var(--text-secondary)}.genplay_view__table tbody tr{transition:background-color .15s ease}.genplay_view__table tbody tr:nth-child(2n){background-color:#fdfdfd}.genplay_view__table tbody tr:hover td{background-color:var(--genapps-primary-light)}.genplay_view__table thead tr.filter-row th{padding:4px 6px!important;background-color:#f5f5f5;color:#374151;font-weight:400;border-top:none;box-shadow:inset 0 -.5px #e5e7eb,inset -.5px 0 #e5e7eb}.genplay_view__table thead tr.filter-row th:hover{color:#374151}.genplay_view__table tbody tr.selected td{background-color:var(--genapps-primary-light)}.genplay_view__table .sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.genplay_view__table .sortable-header:hover{background-color:#ffffff26}.genplay_view__table .sortable-header.active{background-color:#fff3}.genplay_view__table .sort-indicator{margin-left:4px;font-size:.75em;opacity:.5}.genplay_view__table .sortable-header.active .sort-indicator{opacity:1}.genplay_view__table .non-sortable{cursor:default}.column-filter-container{position:relative;width:100%}.column-filter-btn{width:100%;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.75rem;background-color:#fff;color:#374151;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:4px;box-sizing:border-box}.column-filter-btn:hover{border-color:var(--genapps-primary);background-color:#fafafa}.column-filter-btn.active{border-color:var(--genapps-primary);background-color:var(--genapps-primary-light)}.filter-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-clear{color:#999;font-size:.7rem;padding:0 2px;border-radius:50%}.filter-clear:hover{color:#dc3545;background-color:#fee}.column-filter-dropdown{position:absolute;top:100%;left:0;min-width:180px;background:#fff;border:1px solid #d1d5db;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:100;padding:4px 0;margin-top:2px}.filter-option{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:.8rem;transition:background-color .15s ease}.filter-option:hover{background-color:var(--genapps-primary-light)}.filter-option span:first-child{width:16px;color:var(--genapps-primary);font-weight:700;opacity:0}.filter-option span.selected{opacity:1}.filter-divider{height:1px;background-color:#e5e7eb;margin:4px 0}.filter-search{display:flex;gap:4px;padding:6px 8px}.filter-search input{flex:1;padding:4px 8px;border:1px solid #d1d5db;border-radius:3px;font-size:.75rem;outline:none}.filter-search input:focus{border-color:var(--genapps-primary)}.filter-search button{padding:4px 10px;border:1px solid #d1d5db;border-radius:3px;background:var(--genapps-primary);color:#fff;font-size:.75rem;cursor:pointer}.filter-search button:hover{background:var(--genapps-primary-hover)}.genplay-view{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%}.genplay-toolbar{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;background:var(--bg-primary);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.genplay-input,.genplay-select,.genplay-textarea{width:100%;padding:12px 16px;border:2px solid var(--border-medium);border-radius:var(--radius-md);font-family:var(--font-family-primary);font-size:var(--font-size-sm);background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.genplay-input:focus,.genplay-select:focus,.genplay-textarea:focus{outline:none;border-color:var(--genapps-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--genapps-primary) 10%,transparent)}.genplay-textarea{font-family:var(--font-family-mono);font-size:var(--font-size-xs);resize:vertical;min-height:240px;line-height:var(--line-height-normal)}.genplay-field-label{display:block;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.genplay-field-label--required:after{content:" *";color:var(--error)}.genplay-field-help{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-sm)}.genplay-field-help code{background:var(--gray-100);padding:1px 6px;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:.7rem}.genplay-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4}.genplay-badge--primary{background:var(--genapps-primary-light);color:var(--genapps-primary)}.genplay-badge--success{background:var(--success-light);color:var(--success)}.genplay-badge--warning{background:var(--warning-light);color:var(--warning-hover)}.genplay-badge--error{background:var(--error-light);color:var(--error)}.genplay-badge--muted{background:var(--gray-100);color:var(--gray-600)}.genplay-card{background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.genplay-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.genplay-card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight)}.genplay-card-help{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal);margin:0 0 var(--spacing-md) 0}.genplay-card-help strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.genplay-card-help em{color:var(--genapps-primary);font-style:italic}.genplay-type-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.genplay-type-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-family:var(--font-family-primary);color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast)}.genplay-type-chip:hover{border-color:var(--genapps-primary);color:var(--genapps-primary);background:var(--genapps-primary-lighter)}.genplay-type-chip--active{background:var(--genapps-primary);border-color:var(--genapps-primary);color:var(--text-inverse);font-weight:var(--font-weight-semibold)}.genplay-type-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:color-mix(in srgb,currentColor 12%,transparent);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-bold)}.genplay-row-link{background:transparent;border:none;color:var(--genapps-primary);cursor:pointer;font:inherit;text-align:left;text-decoration:underline;padding:0}.genplay-row-link:hover{color:var(--genapps-primary-hover)}.genplay-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);text-align:center;color:var(--text-tertiary);background:var(--bg-primary);border:1px dashed var(--gray-300);border-radius:var(--radius-lg)}.genplay-empty svg{color:var(--gray-400);margin-bottom:var(--spacing-sm)}.genplay-empty h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.genplay-empty p{margin:0;font-size:var(--font-size-sm);color:var(--text-tertiary)}.genplay-empty strong{color:var(--text-secondary)}.genplay_app__loading-block{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--text-tertiary);font-size:var(--font-size-sm)}.genplay-spinner{color:var(--genapps-primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.genplay-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);align-items:stretch}@media(max-width:1280px){.genplay-editor-grid{grid-template-columns:1fr}}.genplay-editor-pane{display:flex;flex-direction:column;gap:var(--spacing-xs);background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--spacing-md)}.genplay-editor-textarea{flex:1;min-height:380px}.genplay-editor-preview{flex:1;min-height:380px;max-height:calc(100vh - 380px);overflow-y:auto;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.genplay-editor-preview--info{display:flex;align-items:center;justify-content:center;font-family:var(--font-family-primary);white-space:normal}.genplay-preview-toggle{display:inline-flex;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-xs);align-self:flex-start}.genplay-preview-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border:none;color:var(--gray-600);font:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.genplay-preview-tab:hover{background:var(--gray-50);color:var(--gray-900)}.genplay-preview-tab--active{background:var(--genapps-primary);color:var(--text-inverse)}.genplay-preview-tab:not(:last-child){border-right:1px solid var(--gray-200)}.genplay-validation{display:flex;align-items:center;gap:6px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.genplay-validation--ok{background:var(--success-light);color:var(--success)}.genplay-validation--err{background:var(--error-light);color:var(--error)}.genplay-key-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.genplay-key-form{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.genplay-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-sm)}.genplay-status-item{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm) var(--spacing-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.genplay-status-item span{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-medium)}.genplay-status-item strong{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.genapps-table-container{background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:auto;max-height:calc(100vh - 430px);min-height:200px}.genapps-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.genapps-table thead{background:var(--genapps-primary);position:sticky;top:0;z-index:10}.genapps-table th{padding:12px 16px;text-align:left;color:var(--text-inverse);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.genapps-table td{padding:10px 16px;border-bottom:1px solid var(--gray-100);color:var(--gray-600);vertical-align:middle}.genapps-table tbody tr{transition:background var(--transition-fast)}.genapps-table tbody tr:hover{background:var(--genapps-primary-lighter)}.genapps-table tbody tr:last-child td{border-bottom:none}@media(max-width:768px){.genplay-toolbar{flex-direction:column;align-items:stretch}.genplay-toolbar>*{max-width:none!important}}@property --border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.btn-animated-border{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;background-color:var(--genapps-primary, var(--genapps-primary));color:#fff;border:none;border-radius:var(--radius-base, 4px);font-size:var(--font-size-base, 14px);font-weight:var(--font-weight-medium, 500);font-family:var(--font-family-primary, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);cursor:pointer;outline:none;z-index:0;overflow:visible;transition:all .2s ease;text-decoration:none;white-space:nowrap}.btn-animated-border>*{position:relative;z-index:2}.btn-animated-border .lucide,.btn-animated-border svg{flex-shrink:0}.btn-animated-border:not([data-active=true]):before,.btn-animated-border:not([data-active=true]):after{content:none}.btn-animated-border[data-active=true]:before{content:"";position:absolute;inset:-3px;border-radius:inherit;z-index:-2;background:conic-gradient(from var(--border-angle),transparent 0deg,#ffffff 0deg,#ccac00 45deg,transparent 60deg,transparent 360deg);animation:spin-border 4s linear infinite}.btn-animated-border[data-active=true]:after{content:"";position:absolute;inset:2px;border-radius:inherit;background-color:var(--genapps-primary, var(--genapps-primary));z-index:-1}@keyframes spin-border{0%{--border-angle: 0deg}to{--border-angle: 360deg}}.btn-animated-border.btn-sm{padding:8px 16px;font-size:12px;gap:4px}.btn-animated-border.btn-sm .lucide{width:14px;height:14px}.btn-animated-border.btn-lg{padding:16px 32px;font-size:16px;gap:8px}.btn-animated-border.btn-lg .lucide{width:20px;height:20px}.btn-animated-border.btn-icon{padding:10px;width:40px;height:40px}.btn-animated-border.btn-icon.btn-sm{padding:6px;width:32px;height:32px}.btn-animated-border.btn-secondary{background-color:var(--gray-100, #f1f5f9);color:var(--text-primary, #1e293b);border:1px solid var(--gray-300, #cbd5e1)}.btn-animated-border.btn-secondary:hover:not([data-active=true]){background-color:var(--gray-200, #e2e8f0);color:var(--text-primary, #1e293b)}.btn-animated-border.btn-secondary[data-active=true]:after{background-color:var(--gray-100, #f1f5f9)}.btn-animated-border.btn-ghost{background-color:transparent;color:var(--text-primary, #1e293b)}.btn-animated-border.btn-ghost:hover:not([data-active=true]){background-color:#0000000d;color:var(--text-primary, #1e293b)}.btn-animated-border.btn-ghost[data-active=true]:after{background-color:transparent}.btn-animated-border.btn-danger{background-color:var(--error, #ef4444)}.btn-animated-border.btn-danger:hover:not([data-active=true]){background-color:#dc2626}.btn-animated-border.btn-danger[data-active=true]:after{background-color:var(--error, #ef4444)}.btn-animated-border.btn-warning{background-color:var(--color-gold, #f59e0b);color:var(--text-primary, #1e293b)}.btn-animated-border.btn-warning:hover:not([data-active=true]){background-color:#d97706;color:#fff}.btn-animated-border.btn-warning[data-active=true]:after{background-color:var(--color-gold, #f59e0b)}.btn-animated-border:hover:not([data-active=true]){background-color:var(--genapps-primary-hover, var(--genapps-primary-hover));color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-animated-border:focus-visible{outline:2px solid var(--genapps-primary, var(--genapps-primary));outline-offset:2px}.btn-animated-border:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-animated-border:disabled:before,.btn-animated-border:disabled:after{content:none}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.Toastify__toast-container{z-index:9999!important;max-width:400px;width:90%}.Toastify__toast{background-color:var(--bg-primary)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-lg)!important;border-radius:var(--radius-md, 8px)!important;padding:var(--spacing-md, 16px)!important;margin-bottom:var(--spacing-sm, 8px)!important;min-height:64px!important;font-family:var(--font-family-primary)!important;transition:all .3s ease}.Toastify__toast:hover{box-shadow:0 6px 16px #0003;transform:translateY(-1px)}.Toastify__toast--success{background-color:var(--bg-primary)!important;border-left:4px solid var(--success)!important}.Toastify__toast--success .Toastify__toast-icon{color:var(--success)!important}.Toastify__toast--error{background-color:var(--bg-primary)!important;border-left:4px solid var(--error)!important}.Toastify__toast--error .Toastify__toast-icon{color:var(--error)!important}.Toastify__toast--info{background-color:var(--bg-primary)!important;border-left:4px solid var(--info)!important}.Toastify__toast--info .Toastify__toast-icon{color:var(--info)!important}.Toastify__toast--warning{background-color:var(--bg-primary)!important;border-left:4px solid var(--warning)!important}.Toastify__toast--warning .Toastify__toast-icon{color:var(--warning)!important}.Toastify__toast--default{background-color:var(--bg-primary)!important;border-left:4px solid var(--genapps-primary)!important}.Toastify__toast--default .Toastify__toast-icon{color:var(--genapps-primary)!important}.Toastify__toast-body{color:var(--text-primary)!important;font-size:var(--font-size-sm, 14px)!important;line-height:var(--line-height-normal, 1.5)!important}.Toastify__toast-icon{margin-right:var(--spacing-sm, 12px)!important;width:20px!important;height:20px!important;flex-shrink:0!important}.Toastify__close-button{color:var(--text-secondary)!important;opacity:.7!important;margin-left:var(--spacing-sm, 12px)!important;transition:opacity .2s ease}.Toastify__close-button:hover{opacity:1!important}.Toastify__progress-bar{height:3px!important;border-radius:0 0 var(--radius-sm, 4px) var(--radius-sm, 4px)!important}.Toastify__progress-bar--success{background:var(--success)!important}.Toastify__progress-bar--error{background:var(--error)!important}.Toastify__progress-bar--info{background:var(--info)!important}.Toastify__progress-bar--warning{background:var(--warning)!important}.Toastify__progress-bar--default{background:var(--genapps-primary)!important}@media(prefers-color-scheme:dark){.Toastify__toast{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}.Toastify__toast-body{color:var(--text-primary)!important}.Toastify__close-button{color:var(--text-secondary)!important}}@media(max-width:640px){.Toastify__toast-container{width:95%;max-width:none}.Toastify__toast{padding:var(--spacing-sm, 12px)!important;font-size:var(--font-size-xs, 13px)!important}.Toastify__toast-icon{width:18px!important;height:18px!important;margin-right:var(--spacing-xs, 10px)!important}}.genplay_app__header{position:fixed;top:0;left:0;right:0;height:var(--layout-header-height);z-index:var(--z-header);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-6);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.genplay_app__header-logo{display:flex;align-items:center;gap:var(--spacing-3)}.genplay_app__header-logo img{height:75px;width:auto;object-fit:contain}.genplay_app__header-logo:hover{filter:drop-shadow(0 0 2rem var(--genapps-primary))}.genplay_app__header-title{display:flex;flex-direction:column;align-items:flex-start}.genplay_app__header-title h1{margin:0;font-size:1.8rem;font-weight:700;color:var(--genapps-primary)}.genplay_app__header-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin-top:2px;margin-bottom:0}.genplay_app__header-subtitle strong{color:var(--genapps-primary-color, var(--genapps-primary));font-weight:700;font-style:italic}.genplay_app__header-version{font-size:.65rem;color:var(--color-text-tertiary);font-weight:var(--font-weight-semibold);text-align:left;margin-top:0}.genplay_app__header-actions{display:flex;align-items:center;gap:var(--spacing-4)}.genplay_app__header-user{position:relative;display:flex;align-items:center;gap:var(--spacing-3)}.genplay_app__header-user-container{position:relative;display:flex;align-items:center;gap:12px}.genplay_app__header-user-button{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:8px 12px;border-radius:var(--radius-lg);transition:all var(--transition-base);color:inherit}.genplay_app__header-user-button:hover{background:color-mix(in srgb,var(--genapps-primary) 10%,transparent);transform:translateY(-1px)}.genplay_app__header-user-button:active{transform:translateY(0)}.genplay_app__header-user-avatar{width:44px;height:44px;border-radius:var(--radius-full);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.genplay_app__header-user-photo{width:100%;height:100%;object-fit:cover;border:2px solid var(--genapps-primary);border-radius:var(--radius-full)}.genplay_app__header-user-initials{width:100%;height:100%;background:linear-gradient(135deg,#3db932 0%,var(--genapps-primary) 100%);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.genplay_app__header-user-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.genplay_app__header-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.genplay_app__header-user-department{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.genplay_app__header-user-arrow{display:flex;align-items:center;transition:transform var(--transition-base);color:var(--color-text-secondary)}.genplay_app__header-user-arrow.rotated{transform:rotate(180deg)}.genplay_app__header-user-loading{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.loading-spinner-small{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--genapps-primary) 20%,transparent);border-top:2px solid var(--genapps-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.genplay_app__header-user-guest{display:flex;align-items:center}.genplay_app__header-login-button{padding:var(--spacing-2) var(--spacing-4);background:linear-gradient(135deg,#3db932 0%,var(--genapps-primary) 100%);color:var(--color-white);border:none;border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.genplay_app__header-login-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.genplay_app__header-user-menu{position:absolute;top:100%;right:0;margin-top:8px;background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:0 10px 25px #0000001a,0 0 0 1px #0000000d;border:1px solid var(--color-border-light);min-width:280px;z-index:var(--z-modal);animation:menuSlideIn var(--transition-base);overflow:hidden}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-menu-header{display:flex;align-items:center;gap:12px;padding:var(--spacing-4);background:linear-gradient(135deg,#3db932 0%,var(--genapps-primary) 100%);color:var(--color-white)}.user-menu-avatar{width:48px;height:48px;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.2)}.user-menu-avatar img{width:100%;height:100%;object-fit:cover}.user-menu-initials{width:100%;height:100%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.user-menu-info{flex:1;min-width:0}.user-menu-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-title{font-size:var(--font-size-sm);opacity:.9;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-department{font-size:var(--font-size-xs);opacity:.8;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:#fff3;border:1px solid rgba(255,255,255,.3)}.badge-admin{background:#f5656533;border-color:#f565654d;color:var(--color-white)}.user-menu-divider{height:1px;background:var(--color-border-light);margin:0}.user-menu-items{padding:8px 0}.user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;transition:all var(--transition-base);color:var(--color-gray-700);font-size:var(--font-size-sm)}.user-menu-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.user-menu-item:active{background:var(--color-gray-100)}.menu-item-icon{font-size:var(--font-size-base);width:20px;text-align:center;flex-shrink:0}.logout-item{color:var(--color-error)}.logout-item:hover{background:#ef44441a;color:var(--color-error-hover)}@media(max-width:768px){.genplay_app__header{height:80px;padding:0 var(--spacing-4)}.genplay_app__header-title h1{font-size:var(--font-size-lg)}.genplay_app__header-subtitle,.genplay_app__header-user-info{display:none}.genplay_app__header-user-menu{min-width:260px;right:-10px}.user-menu-header{padding:12px}.user-menu-avatar{width:40px;height:40px}}@media(max-width:480px){.genplay_app__header{height:70px;padding:0 var(--spacing-3)}.genplay_app__header-logo img{max-height:50px}.genplay_app__header-title h1{font-size:var(--font-size-base)}.genplay_app__header-user-menu{min-width:240px;right:-15px}}@media(prefers-reduced-motion:reduce){.genplay_app__header-user-menu{animation:none}.genplay_app__header-user-arrow{transition:none}.loading-spinner-small{animation:none}.loading-spinner-small:after{content:"⏳";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.genplay_app__navigation{background:var(--bg-primary);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);height:var(--layout-nav-height, 56px);flex-shrink:0;position:fixed;top:var(--layout-header-height, 100px);left:0;right:0;z-index:900}.genplay_app__navigation-container{display:flex;align-items:center;justify-content:space-between;padding:0;height:100%;width:100%}.genplay_app__navigation-main{display:flex;align-items:center;gap:4px;height:100%}.genplay_app__navigation-item{position:relative;height:100%;display:flex;align-items:center}.genplay_app__navigation-button{display:flex;align-items:center;gap:8px;padding:0 16px;height:100%;background:none;border:none;color:var(--gray-600);text-decoration:none;font-size:.875rem;font-weight:500;font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-fast);position:relative;white-space:nowrap}.genplay_app__navigation-button:hover{background-color:var(--gray-50);color:var(--gray-900)}.genplay_app__navigation-button:focus-visible{outline:2px solid var(--genapps-primary);outline-offset:2px}.genplay_app__navigation-button--active{color:var(--genapps-primary);background-color:var(--genapps-primary-light);border-radius:6px 6px 0 0}.genplay_app__navigation-button--active:before,.genplay_app__navigation-button--active:after{margin:0;padding:0;box-sizing:border-box}.genplay_app__navigation-button--active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:var(--genapps-primary)}.genplay_app__navigation-button--dropdown{padding-right:16px}.genplay_app__navigation-icon{flex-shrink:0}.genplay_app__navigation-label{font-weight:500}.genplay_app__navigation-arrow{flex-shrink:0;margin-left:4px;transition:transform .15s ease}.genplay_app__navigation-arrow--open{transform:rotate(180deg)}.genplay_app__navigation-dropdown{position:relative;height:100%;display:flex;align-items:center}.genplay_app__navigation-submenu{position:absolute;top:calc(100% + 4px);left:0;background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:200px;z-index:1001;animation:slideDown .2s ease-out;padding:4px 0}.genplay_app__navigation-submenu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--gray-700);text-decoration:none;font-size:.875rem;font-family:var(--font-family-primary);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;background:none;border:none;width:100%;text-align:left}.genplay_app__navigation-submenu-item:hover{background-color:var(--gray-50);color:var(--gray-900)}.genplay_app__navigation-submenu-item--active{background-color:var(--genapps-primary-light);color:var(--genapps-primary);font-weight:500}.genplay_app__navigation-submenu-icon{flex-shrink:0;opacity:.7}.genplay_app__navigation-submenu-item:hover .genplay_app__navigation-submenu-icon{opacity:1}.genplay_app__navigation-submenu-item:focus-visible{outline:2px solid var(--genapps-primary);outline-offset:-2px}.genplay_app__navigation-submenu-divider{height:1px;background-color:var(--gray-200);margin:4px 16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.genplay_app__navigation-container{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.genplay_app__navigation-container::-webkit-scrollbar{height:4px}.genplay_app__navigation-container::-webkit-scrollbar-track{background:transparent}.genplay_app__navigation-container::-webkit-scrollbar-thumb{background-color:var(--gray-300);border-radius:4px}.genplay_app__navigation-button{padding:10px 12px}}@media(max-width:768px){.genplay_app__navigation{padding:0 12px}.genplay_app__navigation-button{padding:8px 10px;font-size:.8125rem}.genplay_app__navigation-label{display:none}.genplay_app__navigation-submenu{left:50%;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.genplay_app__navigation-button,.genplay_app__navigation-submenu-item,.genplay_app__navigation-arrow{transition:none}.genplay_app__navigation-submenu{animation:none}}@media(prefers-contrast:high){.genplay_app__navigation{border-bottom-width:2px}.genplay_app__navigation-button--active:after{height:3px}.genplay_app__navigation-submenu{border-width:2px}}.genplay_app__navigation-button[aria-expanded=true]{background-color:var(--genapps-primary-light)}.genplay_app__footer{position:fixed;bottom:0;left:0;right:0;height:var(--layout-footer-height);z-index:var(--z-footer);display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-6);background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-light);box-shadow:0 -1px 3px #0000000d;flex-shrink:0}.genplay_app__footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-family-segoe)}.genplay_app__footer-poweredby{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-xs);color:var(--genapps-primary);font-weight:var(--font-weight-semibold);font-style:italic;font-family:var(--font-family-segoe)}.genplay_app__footer-logo{width:28px;height:28px;object-fit:contain;opacity:.9;transition:opacity var(--transition-base)}.genplay_app__footer-logo:hover{opacity:1}@media(max-width:768px){.genplay_app__footer{height:50px;padding:0 var(--spacing-4)}.genplay_app__footer-copyright,.genplay_app__footer-poweredby{font-size:.7rem}.genplay_app__footer-logo{width:24px;height:24px}}@media(max-width:480px){.genplay_app__footer{height:45px;padding:0 var(--spacing-3)}.genplay_app__footer-copyright{font-size:.65rem}.genplay_app__footer-poweredby{font-size:.65rem;gap:var(--spacing-2)}.genplay_app__footer-logo{width:20px;height:20px}}.genplay_app__page-header-left{display:flex;flex-direction:column;gap:2px;min-width:0}.genplay_app__page-header-title{display:flex;align-items:center;gap:var(--spacing-sm)}.genplay_app__page-header-icon{color:var(--genapps-primary);flex-shrink:0}.genplay_app__page-header-title h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.genplay_app__page-header-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.genplay_app__page-header-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.genplay_app__page-header-stats{display:flex;align-items:center}.genplay_app__page-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.genplay_app__page-header-breadcrumb{font-size:var(--font-size-xs);color:var(--text-tertiary)}.genplay_app__page-header-breadcrumb strong{color:var(--text-primary);font-weight:var(--font-weight-medium)}@media(max-width:768px){.genplay_app__page-header-title h2{font-size:var(--font-size-lg)}.genplay_app__page-header-subtitle{font-size:var(--font-size-xs)}}:root{--pt-border: var(--border-light, #e5e7eb);--pt-gap: var(--spacing-md, 1rem);--pt-radius: var(--radius-lg, 12px);--pt-bg: var(--bg-primary, #ffffff)}.genapps-pt{display:flex;flex-direction:column;width:100%;box-sizing:border-box;gap:var(--pt-gap, var(--spacing-md))}.genapps-pt--fill{flex:1;min-height:0}.genapps-pt--stacked{display:flex;flex-direction:column;gap:var(--pt-gap, var(--spacing-md));height:100%}.genapps-pt--single{display:flex;flex-direction:column;gap:var(--pt-gap, var(--spacing-md))}.genapps-pt--single-full{display:flex;flex-direction:column;height:100%;gap:var(--pt-gap, var(--spacing-md))}.genapps-pt--dashboard{display:grid;grid-template-rows:auto auto 1fr;gap:var(--pt-gap, var(--spacing-md));height:100%}.genapps-pt--2col-equal{display:grid;grid-template-columns:1fr 1fr;gap:var(--pt-gap, var(--spacing-md));align-items:start}.genapps-pt--2col-side{display:grid;gap:var(--pt-gap, var(--spacing-md));align-items:start}.genapps-pt--sidebar-main{display:grid;gap:var(--pt-gap, var(--spacing-md));height:100%}.genapps-pt--split-pane{display:grid;grid-template-columns:var(--pt-split-left, 50%) 6px 1fr;gap:0;height:100%;position:relative}.genapps-pt--split-pane .genapps-pt__slot--left{grid-column:1;min-width:0;overflow:hidden}.genapps-pt--split-pane .genapps-pt__slot--right{grid-column:3;min-width:0;overflow:hidden}.genapps-pt__resize-handle{grid-column:2;width:6px;height:100%;cursor:col-resize;background:transparent;transition:background .15s ease;-webkit-user-select:none;user-select:none;touch-action:none}.genapps-pt__resize-handle:hover,.genapps-pt__resize-handle:active{background:var(--color-gold, #ccac00)}.genapps-pt--tabs{display:grid;grid-template-rows:auto auto 1fr;gap:var(--pt-gap, var(--spacing-md));height:100%}.genapps-pt--tabs .genapps-pt__header{grid-row:1}.genapps-pt__tabs{grid-row:2;display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--pt-border);height:var(--nav-tabs-height, 48px);align-items:stretch;overflow-x:auto}.genapps-pt__tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-md);background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary, #6b7280);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-medium, 500);font-family:var(--font-family-primary);cursor:pointer;transition:all var(--transition-normal, .25s ease-in-out);white-space:nowrap}.genapps-pt__tab:hover:not(:disabled){color:var(--text-primary, #111827);background-color:var(--bg-secondary, #f9fafb)}.genapps-pt__tab--active{color:var(--genapps-primary, #008066);border-bottom-color:var(--genapps-primary, #008066)}.genapps-pt__tab--active:hover{background-color:var(--genapps-primary-light, #e6f7f5)}.genapps-pt__tab:disabled{opacity:.5;cursor:not-allowed}.genapps-pt__tab-icon{display:flex;align-items:center}.genapps-pt--tabs [data-slot=panel]{grid-row:3}.genapps-pt--wizard{display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--pt-gap, var(--spacing-md));height:100%}.genapps-pt__wizard-progress{grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.genapps-pt__wizard-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;background:none;border:none;cursor:default;padding:0;font-family:var(--font-family-primary)}.genapps-pt__wizard-step:not(:disabled){cursor:pointer}.genapps-pt__wizard-step-circle{width:32px;height:32px;border-radius:50%;background:var(--gray-200, #e2e8f0);color:var(--gray-500, #64748b);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm, .875rem);position:relative;z-index:1;transition:all var(--transition-normal, .25s ease-in-out)}.genapps-pt__wizard-step--completed .genapps-pt__wizard-step-circle{background:var(--genapps-primary, #008066);color:#fff}.genapps-pt__wizard-step--active .genapps-pt__wizard-step-circle{background:#fff;color:var(--genapps-primary, #008066);border:2px solid var(--genapps-primary, #008066)}.genapps-pt__wizard-step-label{margin-top:var(--spacing-sm);font-size:var(--font-size-xs, .75rem);color:var(--gray-500, #64748b)}.genapps-pt__wizard-step--active .genapps-pt__wizard-step-label{color:var(--genapps-primary, #008066);font-weight:var(--font-weight-semibold, 600)}.genapps-pt__wizard-step:not(:last-child):after{content:"";position:absolute;top:16px;left:50%;right:-50%;height:2px;background:var(--gray-200, #e2e8f0);z-index:0}.genapps-pt__wizard-step--completed:not(:last-child):after{background:var(--genapps-primary, #008066)}.genapps-pt--wizard [data-slot=step-content]{grid-row:3}.genapps-pt--console-3col{display:grid;grid-template-columns:370px 1fr 370px;gap:var(--pt-gap, var(--spacing-md));height:100%}.genapps-pt--builder-3pane{display:grid;grid-template-columns:260px 1fr 300px;gap:var(--pt-gap, var(--spacing-md));height:100%}.genapps-pt--canvas{position:relative;width:100%;height:100%;overflow:hidden}.genapps-pt--welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 140px);padding:var(--spacing-2xl, 3rem);gap:var(--spacing-xl, 2rem);text-align:center}.genapps-pt--welcome [data-slot=logo]{display:flex;align-items:center;justify-content:center}.genapps-pt--welcome [data-slot=title]{margin:0;font-size:var(--font-size-3xl, 1.875rem);font-weight:var(--font-weight-bold, 700);color:var(--genapps-primary, #008066)}.genapps-pt--welcome [data-slot=description]{margin:0;font-size:var(--font-size-base, 1rem);color:var(--text-secondary, #6b7280);max-width:600px}.genapps-pt--welcome [data-slot=features]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);max-width:900px;width:100%}.genapps-pt--welcome [data-slot=action]{margin-top:var(--spacing-md)}.genapps-pt__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) 0;flex-shrink:0}.genapps-pt__header-left{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.genapps-pt__header-icon{width:44px;height:44px;border-radius:var(--radius-lg, 12px);background:var(--genapps-primary-light, #e6f7f5);color:var(--genapps-primary, #008066);display:flex;align-items:center;justify-content:center;flex-shrink:0}.genapps-pt__header-text{display:flex;flex-direction:column;min-width:0}.genapps-pt__header-breadcrumbs{font-size:var(--font-size-xs, .75rem);color:var(--text-tertiary, #9ca3af);margin-bottom:var(--spacing-xs, 4px)}.genapps-pt__header-title{margin:0;font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-bold, 700);color:var(--text-primary, #111827);line-height:1.2;font-family:var(--font-family-primary)}.genapps-pt__header-subtitle{margin:0;font-size:var(--font-size-sm, .875rem);color:var(--text-secondary, #6b7280);font-weight:var(--font-weight-normal, 400)}.genapps-pt__header-actions{display:flex;gap:var(--spacing-sm);align-items:center;flex-shrink:0}.genapps-pt__footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-top:1px solid var(--pt-border);background:var(--bg-primary, #ffffff);flex-shrink:0}.genapps-pt--wizard .genapps-pt__footer{grid-row:4}.genapps-pt__slot{display:flex;flex-direction:column;min-width:0;min-height:0;box-sizing:border-box}.genapps-pt__slot--fill{flex:1;min-height:0}.genapps-pt__slot--sticky{position:sticky;top:0;align-self:start;z-index:5}.genapps-pt__slot--scroll-auto{overflow-y:auto;overflow-x:hidden}.genapps-pt__slot--scroll-auto::-webkit-scrollbar{width:8px}.genapps-pt__slot--scroll-auto::-webkit-scrollbar-track{background:var(--bg-secondary, #f9fafb);border-radius:var(--radius-full, 9999px)}.genapps-pt__slot--scroll-auto::-webkit-scrollbar-thumb{background:var(--gray-400, #94a3b8);border-radius:var(--radius-full, 9999px)}.genapps-pt__slot--scroll-auto::-webkit-scrollbar-thumb:hover{background:var(--gray-500, #64748b)}.genapps-pt__slot--scroll-hidden{overflow:hidden}.genapps-pt__slot-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border-bottom:1px solid var(--pt-border);background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;flex-shrink:0}.genapps-pt__slot-title{display:flex;align-items:center;gap:var(--spacing-sm, 8px);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-semibold, 600);color:var(--text-primary, #111827);margin:0}.genapps-pt__slot-icon{color:var(--genapps-primary, #008066);display:flex;align-items:center}.genapps-pt__slot-title-text{font-family:var(--font-family-primary)}.genapps-pt__slot-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.genapps-pt__slot-toggle{width:28px;height:28px;border-radius:var(--radius-md, 8px);border:1px solid var(--pt-border);background:var(--bg-primary, #ffffff);color:var(--text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg, 1.125rem);line-height:1;transition:all var(--transition-fast, .15s ease-in-out)}.genapps-pt__slot-toggle:hover{border-color:var(--genapps-primary, #008066);color:var(--genapps-primary, #008066)}.genapps-pt__slot-body{flex:1;min-height:0;padding:var(--spacing-md, 16px);box-sizing:border-box}.genapps-pt__slot:not(.genapps-pt__slot--has-header) .genapps-pt__slot-body{padding:0}.genapps-pt__slot--card{background:var(--bg-primary, #ffffff);border:1px solid var(--pt-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / .05))}@media(max-width:1023px){.genapps-pt--2col-equal,.genapps-pt--2col-side,.genapps-pt--sidebar-main{grid-template-columns:1fr!important}.genapps-pt--console-3col,.genapps-pt--builder-3pane{grid-template-columns:1fr!important;grid-template-rows:auto 1fr auto}.genapps-pt--split-pane{grid-template-columns:1fr!important;grid-template-rows:var(--pt-split-left, 50%) 6px 1fr}.genapps-pt--split-pane .genapps-pt__slot--left{grid-column:1;grid-row:1}.genapps-pt__resize-handle{grid-column:1;grid-row:2;width:100%;height:6px;cursor:row-resize}.genapps-pt--split-pane .genapps-pt__slot--right{grid-column:1;grid-row:3}}@media(max-width:768px){.genapps-pt__header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.genapps-pt__header-actions{justify-content:flex-end}.genapps-pt--welcome{padding:var(--spacing-md)}.genapps-pt--welcome [data-slot=features]{grid-template-columns:1fr}}body[class*=-dark] .genapps-pt__header-icon{background:#00806633}body[class*=-dark] .genapps-pt__slot-header,body[class*=-dark] .genapps-pt__footer{background:var(--bg-secondary, #16213e);border-bottom-color:var(--gray-700, #334155)}body[class*=-dark] .genapps-pt__slot--card{background:var(--bg-secondary, #16213e);border-color:var(--gray-700, #334155)}@media(prefers-reduced-motion:reduce){.genapps-pt__tab,.genapps-pt__slot-toggle,.genapps-pt__wizard-step-circle,.genapps-pt__resize-handle{transition:none}}.genapps-headerstats{display:flex;gap:var(--spacing-sm, .5rem);flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:0}.genapps-headerstats__card{display:flex;align-items:center;gap:8px;background:var(--bg-primary, #fff);border:1px solid var(--gray-200, #e2e8f0);border-left:3px solid var(--gray-300, #cbd5e1);border-radius:var(--radius-md, 8px);padding:8px 12px;width:var(--headerstats-card-width, 160px);font-family:inherit;text-align:left;cursor:default;transition:transform .15s ease,box-shadow .15s ease;min-width:0;box-sizing:border-box}.genapps-headerstats__card--clickable{cursor:pointer}.genapps-headerstats__card--clickable:hover,.genapps-headerstats__card--clickable:focus-visible{transform:translateY(-1px);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1));outline:none}.genapps-headerstats__card--primary{border-left-color:var(--genapps-primary, #008066)}.genapps-headerstats__card--success{border-left-color:var(--success, #22c55e)}.genapps-headerstats__card--info{border-left-color:var(--info, #3b82f6)}.genapps-headerstats__card--warning{border-left-color:var(--warning, #f59e0b)}.genapps-headerstats__card--error{border-left-color:var(--error, #ef4444)}.genapps-headerstats__card--primary .genapps-headerstats__icon{color:var(--genapps-primary, #008066)}.genapps-headerstats__card--success .genapps-headerstats__icon{color:var(--success, #22c55e)}.genapps-headerstats__card--info .genapps-headerstats__icon{color:var(--info, #3b82f6)}.genapps-headerstats__card--warning .genapps-headerstats__icon{color:var(--warning, #f59e0b)}.genapps-headerstats__card--error .genapps-headerstats__icon{color:var(--error, #ef4444)}.genapps-headerstats__icon{display:flex;align-items:center;flex-shrink:0;color:var(--gray-500, #6b7280)}.genapps-headerstats__info{display:flex;flex-direction:column;line-height:1.1;min-width:0}.genapps-headerstats__value{font-size:1.25rem;font-weight:var(--font-weight-bold, 700);color:var(--text-primary, #111827);white-space:nowrap}.genapps-headerstats__title{font-size:.6875rem;color:var(--text-secondary, #6b7280);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.genapps-headerstats__title{display:none}}.genplay-dashboard{display:flex;flex-direction:column;gap:var(--spacing-lg)}.genplay-dashboard__col{display:flex;flex-direction:column;gap:var(--spacing-md)}.genplay-dashboard__kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md)}.genplay-dashboard__kpi{background:var(--bg-primary);border:1px solid var(--pt-border, var(--gray-300));padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;font:inherit;text-align:left;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.genplay-dashboard__kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.genplay-dashboard__kpi:focus-visible{outline:2px solid var(--genapps-primary);outline-offset:2px}.genplay-dashboard__kpi--success{border-left:4px solid var(--success)}.genplay-dashboard__kpi--warning{border-left:4px solid var(--warning)}.genplay-dashboard__kpi--danger{border-left:4px solid var(--error);background:var(--error-light)}.genplay-dashboard__kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-10);height:var(--spacing-10);border-radius:var(--radius-md);background:var(--genapps-primary-light);color:var(--genapps-primary);flex-shrink:0}.genplay-dashboard__kpi--danger .genplay-dashboard__kpi-icon{background:var(--error-light);color:var(--error)}.genplay-dashboard__kpi--success .genplay-dashboard__kpi-icon{background:var(--success-light);color:var(--success)}.genplay-dashboard__kpi-body{display:flex;flex-direction:column;gap:2px;min-width:0}.genplay-dashboard__kpi-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.genplay-dashboard__kpi-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.genplay-dashboard__kpi-sub{font-size:var(--font-size-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.genplay-dashboard__section{background:var(--bg-primary);border:1px solid var(--pt-border, var(--gray-300));padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.genplay-dashboard__section-title{margin:0 0 var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.genplay-dashboard__section-hint{margin:var(--spacing-md) 0 0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.genplay-dashboard__type-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.genplay-dashboard__type-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.genplay-dashboard__type-row:hover{background:var(--genapps-primary-lighter);border-color:var(--genapps-primary)}.genplay-dashboard__type-row:focus-visible{outline:2px solid var(--genapps-primary);outline-offset:2px}.genplay-dashboard__type-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--genapps-primary-light);color:var(--genapps-primary);flex-shrink:0}.genplay-dashboard__type-label{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.genplay-dashboard__type-count{min-width:32px;padding:2px var(--spacing-sm);background:var(--gray-100);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-secondary);text-align:center}.genplay-dashboard__type-row:hover .genplay-dashboard__type-count{background:var(--genapps-primary);color:var(--text-inverse)}.genplay-dashboard__type-arrow{color:var(--text-tertiary);flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}.genplay-dashboard__type-row:hover .genplay-dashboard__type-arrow{color:var(--genapps-primary);transform:translate(2px)}.genplay-dashboard__apps{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.genplay-dashboard__app-chip{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);background:var(--genapps-primary-light);color:var(--genapps-primary);border:1px solid transparent;border-radius:var(--radius-full);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.genplay-dashboard__app-chip:hover{background:var(--genapps-primary);color:var(--text-inverse)}.genplay-dashboard__app-chip:focus-visible{outline:2px solid var(--genapps-primary);outline-offset:2px}.genplay-dashboard__actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.genplay-dashboard__action{width:100%}.genplay-dashboard__plans{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.genplay-dashboard__plan{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-md);font:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.genplay-dashboard__plan:hover{background:var(--genapps-primary-lighter);border-color:var(--genapps-primary)}.genplay-dashboard__plan:focus-visible{outline:2px solid var(--genapps-primary);outline-offset:2px}.genplay-dashboard__plan--ok{border-left:3px solid var(--success)}.genplay-dashboard__plan--error{border-left:3px solid var(--error)}.genplay-dashboard__plan-head{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary)}.genplay-dashboard__plan--ok .genplay-dashboard__plan-head{color:var(--success)}.genplay-dashboard__plan--error .genplay-dashboard__plan-head{color:var(--error)}.genplay-dashboard__plan-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);flex:1}.genplay-dashboard__plan-badge{padding:1px var(--spacing-sm);background:var(--gray-100);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.genplay-dashboard__plan-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.genplay-dashboard__refresh{margin-top:var(--spacing-md);width:100%}@media(max-width:1024px){.genplay-dashboard__actions{grid-template-columns:1fr}}.gp-preview{display:flex;flex-direction:column;gap:var(--spacing-sm);height:100%}.gp-preview-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.gp-preview-meta-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--genapps-primary-light);color:var(--genapps-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.gp-preview-meta-chip strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.gp-preview-meta-chip--muted{background:var(--gray-100);color:var(--gray-600)}.gp-preview-app{flex:1;background:var(--bg-color);border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;min-height:480px;max-height:calc(100vh - 360px);box-shadow:var(--shadow-sm)}.gp-preview-app__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-primary);border-bottom:1px solid var(--gray-200);flex-shrink:0}.gp-preview-app__header-brand{display:flex;align-items:center;gap:8px}.gp-preview-app__header-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--genapps-gradient);color:var(--text-inverse);border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-weight-bold)}.gp-preview-app__header-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.1}.gp-preview-app__header-sub{font-size:9px;color:var(--text-tertiary);line-height:1.1}.gp-preview-app__header-user{display:flex;align-items:center}.gp-preview-app__header-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--genapps-primary) 0%,var(--genapps-primary-hover) 100%);color:var(--text-inverse);font-size:10px;font-weight:var(--font-weight-semibold)}.gp-preview-app__nav{display:flex;align-items:stretch;gap:2px;padding:0 12px;background:var(--bg-primary);border-bottom:1px solid var(--gray-200);flex-shrink:0}.gp-preview-app__nav-tab{display:inline-flex;align-items:center;padding:6px 10px;font-size:10px;color:var(--gray-600);font-weight:var(--font-weight-medium);border-bottom:2px solid transparent}.gp-preview-app__nav-tab--active{color:var(--genapps-primary);border-bottom-color:var(--genapps-primary);font-weight:var(--font-weight-semibold);background:var(--genapps-primary-light)}.gp-preview-app__page-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-primary);border-bottom:1px solid var(--gray-200);flex-shrink:0}.gp-preview-app__page-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.1}.gp-preview-app__page-sub{font-size:9px;color:var(--text-tertiary);line-height:1.2;margin-top:2px}.gp-preview-app__main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.gp-preview-app__content{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.gp-preview-app__footer{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:var(--bg-primary);border-top:1px solid var(--gray-200);font-size:9px;color:var(--text-tertiary);flex-shrink:0}.gp-preview-app__footer-powered{color:var(--genapps-primary);font-weight:var(--font-weight-bold);font-style:italic}.gp-preview-section{background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.gp-preview-section__header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--genapps-primary-lighter);border-bottom:1px solid var(--gray-200);color:var(--genapps-primary);font-size:10px;font-weight:var(--font-weight-semibold)}.gp-preview-section__type{margin-left:auto;font-family:var(--font-family-mono);font-size:9px;color:var(--text-tertiary);font-weight:400;background:var(--bg-primary);padding:1px 6px;border-radius:var(--radius-sm);border:1px solid var(--gray-200)}.gp-preview-section__body{padding:10px}.gp-preview-table{display:flex;flex-direction:column;border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.gp-preview-table-el{width:100%;border-collapse:collapse;font-size:10px;table-layout:fixed}.gp-preview-table-el thead{background:var(--genapps-primary)}.gp-preview-table-el thead th{padding:5px 8px;color:var(--text-inverse);font-weight:var(--font-weight-semibold);text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.4px;border-right:1px solid color-mix(in srgb,var(--genapps-primary) 70%,white 0%)}.gp-preview-table-el thead th:last-child{border-right:none}.gp-preview-th{display:flex;align-items:center;justify-content:space-between;gap:4px}.gp-preview-sort{opacity:.7;flex-shrink:0}.gp-preview-table-filters th{background:var(--gray-50);padding:3px 8px;border-top:1px solid var(--gray-200);border-right:1px solid var(--gray-100)}.gp-preview-filter-cell{display:flex;align-items:center;gap:3px;padding:2px 4px;background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:2px;font-size:8px;color:var(--gray-500);font-weight:400;text-transform:none;letter-spacing:0}.gp-preview-table-el tbody td{padding:5px 8px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-preview-table-el tbody tr:nth-child(2n) td{background:var(--gray-50)}.gp-preview-table-el tbody tr:hover td{background:var(--genapps-primary-lighter)}.gp-preview-muted{color:var(--gray-300)}.gp-preview-table-footer{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;background:var(--gray-50);border-top:1px solid var(--gray-200);font-size:9px;color:var(--gray-500)}.gp-preview-pagination{display:flex;align-items:center;gap:4px}.gp-preview-pagination button{min-width:18px;height:18px;border:1px solid var(--gray-200);background:var(--bg-primary);color:var(--gray-700);font-size:10px;cursor:pointer;border-radius:2px}.gp-preview-pagination button:hover:not(:disabled){background:var(--genapps-primary-light);border-color:var(--genapps-primary);color:var(--genapps-primary)}.gp-preview-pagination button:disabled{opacity:.4;cursor:not-allowed}.gp-preview-pagination span{font-weight:var(--font-weight-semibold);color:var(--genapps-primary)}.gp-preview-datasources{padding:4px 8px;font-size:9px;color:var(--text-tertiary);font-family:var(--font-family-mono);background:var(--gray-50);border-top:1px dashed var(--gray-200)}.gp-preview-form{display:flex;flex-direction:column;gap:10px}.gp-preview-field{display:flex;flex-direction:column;gap:4px}.gp-preview-label{font-size:10px;color:var(--text-primary);font-weight:var(--font-weight-medium)}.gp-preview-required{color:var(--error);margin-left:2px}.gp-preview-input,.gp-preview-textarea{padding:6px 8px;border:2px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-primary);font-size:10px;color:var(--gray-500);min-height:22px;display:flex;align-items:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.gp-preview-input:hover,.gp-preview-textarea:hover{border-color:var(--genapps-primary)}.gp-preview-input--select{justify-content:space-between;color:var(--gray-400)}.gp-preview-textarea{min-height:50px;align-items:flex-start}.gp-preview-placeholder{color:var(--gray-400)}.gp-preview-form-actions{display:flex;gap:6px;margin-top:6px}.gp-preview-toolbar{display:flex;flex-wrap:wrap;gap:6px}.gp-preview-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;border:none;border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-weight-medium);cursor:pointer;font-family:var(--font-family-primary);transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.gp-preview-btn--sm{padding:4px 8px;font-size:9px}.gp-preview-btn--primary{background:var(--genapps-primary);color:var(--text-inverse)}.gp-preview-btn--primary:hover{background:var(--genapps-primary-hover);transform:translateY(-1px);box-shadow:0 2px 6px color-mix(in srgb,var(--genapps-primary) 25%,transparent)}.gp-preview-btn--secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.gp-preview-btn--secondary:hover{background:var(--gray-50);border-color:var(--genapps-primary);color:var(--genapps-primary)}.gp-preview-btn--ghost{background:transparent;color:var(--gray-600)}.gp-preview-btn--ghost:hover{background:var(--gray-100);color:var(--gray-900)}.gp-preview-page-header{padding:8px 0;border-bottom:1px solid var(--gray-200)}.gp-preview-page-header-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.gp-preview-page-header-sub{font-size:10px;color:var(--text-secondary);margin-top:2px}.gp-preview-filters-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.gp-preview-input--filter{flex:1;min-width:100px}.gp-preview-chart{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-sm)}.gp-preview-chart-bars{display:flex;align-items:flex-end;gap:4px;height:80px}.gp-preview-chart-bar{flex:1;background:var(--genapps-gradient);border-radius:2px 2px 0 0;min-height:6px}.gp-preview-chart-axis{font-size:9px;color:var(--text-tertiary);text-align:center;font-style:italic}.gp-preview-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.gp-preview-kpi{padding:10px;background:var(--bg-primary);border:1px solid var(--gray-200);border-left:4px solid var(--genapps-primary);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:2px}.gp-preview-kpi-label{font-size:9px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-weight:var(--font-weight-medium)}.gp-preview-kpi-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1.1}.gp-preview-list{display:flex;flex-direction:column;gap:4px}.gp-preview-list-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.gp-preview-list-item:hover{background:var(--genapps-primary-lighter);border-color:var(--genapps-primary)}.gp-preview-list-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--genapps-primary) 0%,var(--genapps-primary-hover) 100%);color:var(--text-inverse);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-weight-semibold);flex-shrink:0}.gp-preview-list-body{flex:1;display:flex;flex-direction:column}.gp-preview-list-name{font-size:10px;font-weight:var(--font-weight-medium);color:var(--text-primary)}.gp-preview-list-meta{font-size:9px;color:var(--text-tertiary)}.gp-preview-calendar{background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.gp-preview-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--genapps-primary-light);color:var(--genapps-primary);font-weight:var(--font-weight-semibold);font-size:11px}.gp-preview-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:4px}.gp-preview-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--gray-600);background:var(--bg-primary);border-radius:2px}.gp-preview-cal-cell--weekend{background:var(--genapps-primary-lighter);color:var(--genapps-primary);font-weight:var(--font-weight-medium)}.gp-preview-map,.gp-preview-canvas{display:flex;align-items:center;justify-content:center;min-height:80px;background:var(--gray-50);border:1px dashed var(--gray-300);border-radius:var(--radius-sm);font-size:10px;color:var(--gray-500)}.gp-preview-logo{display:flex;justify-content:center;padding:16px}.gp-preview-logo-mark{width:60px;height:60px;background:var(--genapps-gradient);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;color:var(--text-inverse);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.gp-preview-generic{padding:8px;background:var(--gray-50);border-radius:var(--radius-sm);font-size:9px;color:var(--gray-500);word-break:break-all}.gp-preview-generic code{font-family:var(--font-family-mono)}.gp-preview-fallback{padding:12px;text-align:center;color:var(--text-tertiary);font-size:10px;background:var(--gray-50);border-radius:var(--radius-sm);border:1px dashed var(--gray-300)}.gp-preview-fallback code{font-family:var(--font-family-mono);background:var(--bg-primary);padding:1px 4px;border-radius:2px;font-size:9px;border:1px solid var(--gray-200)}.gp-preview-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic}.gp-preview-empty-state{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-tertiary);font-size:var(--font-size-sm);text-align:center}.genplay_live{display:flex;flex-direction:column;gap:16px}.genplay_live__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.genplay_live__presets{display:flex;gap:8px;flex-wrap:wrap}.genplay_live__preset{padding:8px 16px;font-size:12px;line-height:1.4;font-family:inherit;border:1px solid var(--genapps-border, #d0d5dd);border-radius:8px;background:var(--genapps-surface, #fff);color:var(--genapps-text-secondary, #475467);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s ease,color .15s ease,background .15s ease}.genplay_live__preset:hover{border-color:var(--genapps-primary);color:var(--genapps-primary)}.genplay_live__preset--active{border-color:var(--genapps-primary);background:var(--genapps-primary-light, #e6f7f5);color:var(--genapps-primary);font-weight:600}.genplay_live__meta{display:flex;align-items:center;gap:10px}.genplay_live__route{font-family:var(--genapps-font-family-mono, monospace);font-size:11px;color:var(--genapps-text-tertiary, #98a2b3)}.genplay_live__badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.genplay_live__badge--cache{background:#fef0c7;color:#b54708}.genplay_live__reload{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-family:inherit;border:none;border-radius:8px;background:var(--genapps-primary);color:#fff;cursor:pointer;transition:background .15s ease}.genplay_live__reload:hover{background:var(--genapps-primary-hover, #006652)}.genplay_live__error{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border:1px solid #fda29b;border-left:4px solid #d92d20;border-radius:8px;background:#fef3f2;color:#b42318}.genplay_live__error p{margin:4px 0 0;font-size:13px}.genplay_live__stats{display:flex;gap:12px;flex-wrap:wrap}.genplay_live__stat{width:var(--headerstats-card-width, 160px);display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--genapps-surface, #fff);border:1px solid var(--genapps-border, #e4e7ec);border-left:3px solid var(--genapps-text-tertiary, #98a2b3);border-radius:8px}.genplay_live__stat-icon{color:var(--genapps-text-tertiary, #98a2b3);margin-bottom:4px}.genplay_live__stat-value{font-size:1.25rem;font-weight:700;color:var(--genapps-text-primary, #101828);line-height:1.2}.genplay_live__stat-title{font-size:.6875rem;color:var(--genapps-text-secondary, #475467);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.genplay_live__stat--primary{border-left-color:var(--genapps-primary, #008066)}.genplay_live__stat--primary .genplay_live__stat-icon{color:var(--genapps-primary, #008066)}.genplay_live__stat--success{border-left-color:#22c55e}.genplay_live__stat--success .genplay_live__stat-icon{color:#22c55e}.genplay_live__stat--info{border-left-color:#2e90fa}.genplay_live__stat--info .genplay_live__stat-icon{color:#2e90fa}.genplay_live__stat--warning{border-left-color:#f79009}.genplay_live__stat--warning .genplay_live__stat-icon{color:#f79009}.genplay_live__stat--error{border-left-color:#d92d20}.genplay_live__stat--error .genplay_live__stat-icon{color:#d92d20}.genplay_live__sections{display:flex;flex-direction:column;gap:16px}.genplay_live__section{background:var(--genapps-surface, #fff);border:1px solid var(--genapps-border, #e4e7ec);border-radius:12px;overflow:hidden}.genplay_live__section-header{display:flex;align-items:baseline;gap:10px;padding:12px 20px;border-bottom:1px solid var(--genapps-border, #e4e7ec);background:var(--genapps-primary-lighter, #f0faf7)}.genplay_live__section-index{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--genapps-text-tertiary, #98a2b3)}.genplay_live__section-title{margin:0;font-size:15px;font-weight:700;color:var(--genapps-text-primary, #101828)}.genplay_live__section-layout{margin-left:auto;font-size:11px;color:var(--genapps-text-tertiary, #98a2b3)}.genplay_live__slots{display:grid;gap:12px;padding:16px 20px}.genplay_live__slot{display:flex;flex-direction:column;gap:8px;min-width:0}.genplay_live__slot-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--genapps-primary, #008066)}.genplay_live__placeholder{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px dashed var(--genapps-border, #d0d5dd);border-radius:8px;background:var(--genapps-bg, #fafafa)}.genplay_live__placeholder strong{font-size:13px;color:var(--genapps-text-primary, #101828)}.genplay_live__placeholder-version,.genplay_live__placeholder em{font-size:11px;color:var(--genapps-text-tertiary, #98a2b3)}@media(max-width:768px){.genplay_live__slots{grid-template-columns:1fr!important}}
