.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--spacing-5)}.auth-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:40px;width:100%;max-width:400px}.auth-header{text-align:center;margin-bottom:var(--spacing-8)}.auth-header h1{font-size:28px;font-weight:700;color:var(--color-gray-900);margin:0 0 var(--spacing-2) 0}.auth-header p{color:var(--color-gray-600);font-size:var(--font-size-sm);margin:0}.auth-form h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900);margin:0 0 var(--spacing-6) 0;text-align:center}.auth-error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:var(--spacing-3);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--font-size-sm)}.auth-success{background:#d1fae5;border:1px solid #a7f3d0;color:#059669;padding:var(--spacing-3);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--spacing-4)}.form-group input{width:100%;padding:var(--spacing-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:border-color .15s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-group input:disabled{background:var(--color-gray-50);cursor:not-allowed}.auth-button{width:100%;padding:var(--spacing-3);background:#6366f1;color:var(--color-surface);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s;margin-top:var(--spacing-2)}.auth-button:hover:not(:disabled){background:#4f46e5}.auth-button:disabled{background:var(--color-gray-400);cursor:not-allowed}.auth-divider{text-align:center;margin:var(--spacing-6) 0;position:relative}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-gray-200)}.auth-divider span{background:var(--color-surface);padding:0 var(--spacing-3);position:relative;color:var(--color-gray-600);font-size:var(--font-size-xs)}.auth-button-google{width:100%;padding:var(--spacing-3);background:var(--color-surface);color:var(--color-gray-900);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.auth-button-google:hover:not(:disabled){background:var(--color-gray-50)}.auth-button-google:disabled{opacity:.5;cursor:not-allowed}.auth-footer{margin-top:var(--spacing-6);text-align:center}.auth-footer p{color:var(--color-gray-600);font-size:var(--font-size-sm);margin:0}.auth-footer a{color:#6366f1;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.invite-loading{text-align:center;padding:var(--spacing-6) 0}.invite-loading .spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:#6366f1;border-radius:50%;margin:0 auto var(--spacing-4);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.invite-loading p{color:var(--color-gray-600);font-size:var(--font-size-sm);margin:0}.invite-welcome{text-align:center;margin-bottom:var(--spacing-6)}.invite-welcome h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-gray-900);margin:0 0 var(--spacing-3) 0}.invite-welcome p{color:var(--color-gray-600);font-size:var(--font-size-sm);margin:0 0 var(--spacing-2) 0}.invite-welcome strong{color:#6366f1;font-weight:600}.invite-continue{display:block;text-align:center;text-decoration:none}.invite-error{text-align:center}.invite-error h2{font-size:var(--font-size-lg);font-weight:600;color:#dc2626;margin:0 0 var(--spacing-3) 0}.invite-error p{color:var(--color-gray-600);font-size:var(--font-size-sm);margin:0 0 var(--spacing-2) 0}.invite-context{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:var(--spacing-3);margin-bottom:var(--spacing-4);text-align:center}.invite-context p{color:#1e40af;font-size:var(--font-size-sm);margin:0}.invite-context strong{font-weight:600}.app-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--elevana-purple);border-bottom:none;box-shadow:var(--shadow-lg);height:64px}.header-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:100%;height:100%;padding:0 var(--spacing-6)}.header-left{display:flex;align-items:center;justify-self:start}.header-center{display:flex;align-items:center;justify-content:center;justify-self:center}.header-right{display:flex;align-items:center;justify-self:end}.header-title{color:#fff;font-size:var(--font-size-lg);font-weight:600;margin:0}.header-logo{display:flex;align-items:center;gap:var(--spacing-3)}.header-logo-image{height:32px;width:auto}.app-badge{background:#ffffff26;color:#fff;padding:4px 10px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.script-status{display:flex;align-items:center;gap:var(--spacing-3);background:#ffffff1a;padding:6px var(--spacing-3);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.2)}.status-badge{padding:2px 6px;border-radius:var(--radius-base);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.component-count{font-size:13px;font-weight:500;color:#ffffffe6}.last-saved{font-size:var(--font-size-xs);color:#ffffffb3;font-weight:400}.user-controls{display:flex;align-items:center;gap:var(--spacing-4)}.user-email{color:#ffffffe6;font-size:var(--font-size-sm);font-weight:500}.logout-button{background:var(--elevana-green);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .15s ease-in-out}.logout-button:hover{background:#3d8a42}.logout-button:focus{outline:none;box-shadow:0 0 0 2px #4db05366}@media(max-width:768px){.header-content{padding:0 var(--spacing-4);grid-template-columns:auto 1fr auto}.header-title{font-size:var(--font-size-lg)}.header-center{justify-content:end;margin-right:var(--spacing-3)}.script-status{gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2)}.last-saved{display:none}.component-count{font-size:var(--font-size-xs)}.status-badge{font-size:10px}.user-email{display:none}.logout-button{padding:6px var(--spacing-3);font-size:13px}}.desktop-required{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:var(--spacing-5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.desktop-required-container{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:48px var(--spacing-8);max-width:600px;width:100%;text-align:center}.desktop-required-icon{color:#667eea;margin-bottom:var(--spacing-6);display:flex;justify-content:center}.desktop-required-title{font-size:32px;font-weight:700;color:#1a202c;margin:0 0 var(--spacing-4) 0;line-height:1.2}.desktop-required-description{font-size:var(--font-size-lg);color:#4a5568;line-height:1.6;margin:0 0 var(--spacing-8) 0}.desktop-required-features{text-align:left;margin-bottom:var(--spacing-8)}.desktop-required-features h2{font-size:var(--font-size-lg);font-weight:600;color:#2d3748;margin:0 0 var(--spacing-4) 0;text-align:center}.desktop-required-features ul{list-style:none;padding:0;margin:0}.desktop-required-features li{padding:var(--spacing-2) 0;color:#4a5568;line-height:1.5}.desktop-required-features strong{color:#2d3748;font-weight:600}.desktop-required-instructions{margin-bottom:var(--spacing-8)}.desktop-required-instructions h2{font-size:var(--font-size-lg);font-weight:600;color:#2d3748;margin:0 0 var(--spacing-6) 0}.access-options{display:grid;gap:var(--spacing-4);margin-top:var(--spacing-4)}.access-option{background:#f7fafc;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--spacing-4);text-align:left}.access-option h3{font-size:var(--font-size-base);font-weight:600;color:#2d3748;margin:0 0 var(--spacing-2) 0}.access-option p{font-size:var(--font-size-sm);color:#4a5568;margin:0 0 var(--spacing-1) 0;line-height:1.4}.access-option small{font-size:var(--font-size-xs);color:#718096;font-style:italic}.desktop-required-footer{border-top:1px solid var(--color-gray-200);padding-top:var(--spacing-6);margin-top:var(--spacing-8)}.desktop-required-footer p{font-size:var(--font-size-sm);color:#718096;margin:0;line-height:1.5}@media(max-width:480px){.desktop-required{padding:var(--spacing-4)}.desktop-required-container{padding:var(--spacing-8) var(--spacing-6)}.desktop-required-title{font-size:28px}.desktop-required-description{font-size:var(--font-size-base)}.access-option h3{font-size:15px}.access-option p{font-size:13px}}.App{width:100%;min-height:100vh;background:#f5f5f5}.app-layout{display:flex;min-height:100vh;width:100%;padding-top:64px}.app-content{flex:1;margin-left:280px;min-height:calc(100vh - 64px);background:#f5f5f5;transition:margin-left .3s ease}.app-layout:has(.nav-sidebar--collapsed) .app-content{margin-left:60px}.App-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;padding:1rem 2rem;text-align:center}.App-header h1{margin:0;color:#333;font-size:1.5rem}.App-header p{margin:.5rem 0 0;color:#666;font-size:.9rem}.App-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.editor-container{background:#fff;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.editor-toolbar{background-color:#f8f9fa;border-bottom:1px solid #e5e5e5;padding:.75rem;display:flex;gap:.5rem}.editor-toolbar button{background:#fff;border:1px solid #ccc;border-radius:4px;padding:.5rem .75rem;cursor:pointer;font-size:.875rem}.editor-toolbar button:hover{background-color:#f1f3f4}.editor-toolbar button.is-active{background-color:#007bff;color:#fff;border-color:#007bff}.ProseMirror{padding:2rem;min-height:400px;outline:none}.ProseMirror h2{color:#007bff;border-bottom:2px solid #e5f3ff;padding-bottom:.25rem;margin-top:2rem;margin-bottom:1rem}.ProseMirror h2:first-child{margin-top:0}.ProseMirror p{margin-bottom:1rem;line-height:1.6}.ProseMirror .header-pattern{font-weight:700;color:#6b7280;font-size:1.1em;letter-spacing:.02em;-webkit-user-select:text;user-select:text}.component-info{background-color:#f8f9fa;border-top:1px solid #e5e5e5;padding:1rem;font-size:.875rem;color:#666}.component-info p{margin:.25rem 0}@media(max-width:768px){.app-layout{padding-top:64px}.app-content{margin-left:0;min-height:calc(100vh - 64px)}.app-layout:has(.nav-sidebar--collapsed) .app-content{margin-left:0}.App-main,.ProseMirror{padding:1rem}}:root{--elevana-purple: #241E4A;--elevana-green: #4DB053;--elevana-red: #D40E43;--elevana-magenta: #62187C;--color-primary: var(--elevana-purple);--color-primary-hover: #1a1636;--color-primary-light: #3d3568;--color-primary-dark: #120f25;--color-success: var(--elevana-green);--color-success-hover: #3d8a42;--color-success-light: #6bc770;--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-light: #fbbf24;--color-error: var(--elevana-red);--color-error-hover: #b00c38;--color-error-light: #e83f68;--color-info: var(--elevana-purple);--color-info-hover: #1a1636;--color-info-light: #3d3568;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-background: #ffffff;--color-background-alt: var(--color-gray-50);--color-surface: #ffffff;--color-surface-hover: var(--color-gray-50);--color-border: var(--color-gray-200);--color-border-light: var(--color-gray-100);--color-border-dark: var(--color-gray-300);--color-text: var(--color-gray-900);--color-text-secondary: var(--color-gray-500);--color-text-tertiary: var(--color-gray-400);--color-text-disabled: var(--color-gray-300);--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--font-sans: "Poppins", "Calibri", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", sans-serif;--font-mono: "Courier New", Courier, monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-none: 0;--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--transition-slower: .5s;--transition-timing: cubic-bezier(.4, 0, .2, 1);--transition-colors: color var(--transition-base) var(--transition-timing), background-color var(--transition-base) var(--transition-timing), border-color var(--transition-base) var(--transition-timing);--transition-all: all var(--transition-base) var(--transition-timing);--transition-transform: transform var(--transition-base) var(--transition-timing);--transition-opacity: opacity var(--transition-base) var(--transition-timing)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
