@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s ease-out forwards;opacity:0}.animate-fade-in-delay-1{animation:fadeIn .6s ease-out .2s forwards;opacity:0}.animate-fade-in-delay-2{animation:fadeIn .6s ease-out .4s forwards;opacity:0}.animate-fade-in-delay-3{animation:fadeIn .6s ease-out .6s forwards;opacity:0}.landing-page{min-height:100vh;overflow-x:hidden}.hero-section{position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.feature-card{backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05)}.feature-card:hover{border-color:#3b82f64d}.pricing-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.pricing-card:hover{transform:translateY(-4px)}.popular-plan{position:relative;z-index:10}.popular-plan:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:1rem;z-index:-1;opacity:.5;filter:blur(20px)}@media(max-width:768px){.hero-section h1{font-size:3rem}.hero-section p{font-size:1.25rem}.features-section h2,.pricing-section h2{font-size:2.5rem}.popular-plan{transform:scale(1)}}button[data-action=login],a[href^="#"]{position:relative;overflow:hidden}button[data-action=login]:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}button[data-action=login]:hover:before{width:300px;height:300px}.landing-page.loading{opacity:0;transition:opacity .3s ease-in-out}.landing-page.loaded{opacity:1}.admin-dashboard{min-height:100vh}.admin-header{position:sticky;top:0;z-index:50}.admin-nav{backdrop-filter:blur(10px)}.tab-button{position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.tab-button:hover{transform:translateY(-1px)}.admin-content{animation:fadeInUp .4s ease-out}.admin-dashboard .stat-card{transition:all .3s ease}.admin-dashboard .stat-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.admin-dashboard table{font-size:.875rem}.admin-dashboard tbody tr{transition:background-color .15s ease}.admin-dashboard tbody tr:hover{background-color:#f9fafb}.admin-dashboard button[data-action]{transition:all .2s ease}.admin-dashboard button[data-action]:hover{transform:scale(1.05)}.admin-dashboard button[data-action]:active{transform:scale(.98)}.admin-dashboard [data-action=add-restaurant],.admin-dashboard [data-action=add-user],.admin-dashboard [data-action=system-settings]{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.admin-dashboard [data-action=add-restaurant]:hover,.admin-dashboard [data-action=add-user]:hover,.admin-dashboard [data-action=system-settings]:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.admin-dashboard [data-action=add-restaurant]:active,.admin-dashboard [data-action=add-user]:active,.admin-dashboard [data-action=system-settings]:active{transform:translateY(-2px)}.admin-dashboard .status-badge{font-weight:600;letter-spacing:.05em}@media(max-width:768px){.admin-header h1{font-size:1.5rem}.admin-nav .tab-button{padding:.75rem 1rem;font-size:.875rem}.admin-content{padding:1rem}}.admin-dashboard.loading{opacity:.6;pointer-events:none}.admin-dashboard.loading:after{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;z-index:9999}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.admin-dashboard .empty-state{padding:3rem;text-align:center}.admin-dashboard .log-level-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.5rem}.admin-dashboard .log-level-dot.error{background-color:#ef4444}.admin-dashboard .log-level-dot.warning{background-color:#f59e0b}.admin-dashboard .log-level-dot.info{background-color:#3b82f6}.admin-dashboard ::-webkit-scrollbar{width:8px;height:8px}.admin-dashboard ::-webkit-scrollbar-track{background:#f1f5f9}.admin-dashboard ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.admin-dashboard ::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;transition:opacity .2s ease-out}.modal-overlay.modal-open{opacity:1}.modal-overlay.modal-closing{opacity:0}.modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px)}.modal-dialog{position:relative;background:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;width:100%;display:flex;flex-direction:column;transform:scale(.95) translateY(10px);transition:transform .2s ease-out}.modal-open .modal-dialog{transform:scale(1) translateY(0)}.modal-closing .modal-dialog{transform:scale(.95) translateY(10px)}.modal-dialog.modal-sm{max-width:28rem}.modal-dialog.modal-md{max-width:42rem}.modal-dialog.modal-lg{max-width:56rem}.modal-dialog.modal-xl{max-width:72rem}.modal-dialog.modal-full{max-width:calc(100% - 2rem)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:#6b7280;border-radius:.5rem;cursor:pointer;transition:all .15s ease}.modal-close-btn:hover{background:#f3f4f6;color:#111827}.modal-close-btn:active{transform:scale(.95)}.modal-content{flex:1;overflow-y:auto;padding:1.5rem}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:640px){.modal-overlay{padding:0}.modal-dialog{border-radius:0;max-height:100vh;width:100%;max-width:100%}.modal-header,.modal-content{padding:1rem}}#app{transition:opacity .3s ease-in-out}#app.widget-enter{animation:fadeInUp .3s ease-in-out forwards}#app.widget-exit{animation:fadeOutDown .3s ease-in-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}html{scroll-behavior:smooth}*:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media print{#app.widget-grid,#app.widget-sidebar{display:block!important}[data-widget-id]{page-break-inside:avoid}}.landing-page.layout-mosaic{display:grid;gap:1rem;padding:1rem;min-height:100vh;overflow:hidden;grid-template-columns:repeat(2,1fr);background:linear-gradient(180deg,#f8fafc,#e0e7ff);grid-auto-rows:250px}@media(min-width:768px){.landing-page.layout-mosaic{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.landing-page.layout-mosaic{grid-template-columns:repeat(2,1fr);gap:1rem;grid-template-rows:auto}}.mosaic-tile{position:relative;border-radius:1rem;overflow:hidden;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;min-height:0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#fff}.mosaic-tile:hover:not(.state-expanded){transform:scale(1.05);box-shadow:0 25px 50px -12px #00000040}.tile-content{flex:1;overflow:auto;padding:1.5rem;min-height:0;opacity:1!important;max-height:none!important}.mosaic-tile.state-expanded{grid-column:1 / -1;z-index:10;cursor:default;max-height:calc(100vh - 150px);overflow-y:auto;grid-row:1 / -2!important}.mosaic-tile.state-expanded .tile-content{padding:2rem;overflow-y:auto}.mosaic-tile.state-mini{min-height:100px;max-height:100px;opacity:.9;cursor:pointer;grid-column:auto!important;grid-row:auto!important}.mosaic-tile.state-mini:hover{opacity:1;transform:scale(1.05)}.mosaic-tile.state-mini .tile-content{display:flex;align-items:center;justify-content:center;font-size:.875rem;padding:1rem;text-align:center}.mosaic-mini-nav{grid-column:1 / -1;display:grid;gap:1rem;padding:0;position:sticky;bottom:0;z-index:20;background:transparent;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}@media(max-width:768px){.mosaic-mini-nav{gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}.tile-badge{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#fff3;backdrop-filter:blur(12px);border-radius:9999px;font-size:1.25rem;z-index:5}.mosaic-tile.state-mini .tile-badge{position:static;margin:0 auto}.section-header{padding:1.5rem 1.5rem 1rem}.section-title{font-size:1.875rem;font-weight:800;margin-bottom:.5rem}@media(min-width:768px){.section-title{font-size:2.25rem}}.section-subtitle{font-size:1rem;opacity:.9}@media(min-width:768px){.section-subtitle{font-size:1.125rem}}.tile-back-btn{position:absolute;top:1rem;left:1rem;padding:.5rem 1rem;background:#fff3;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:.5rem;color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;z-index:15}.tile-back-btn:hover{background:#ffffff4d;transform:scale(1.05)}@keyframes tileExpand{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.mosaic-tile.state-expanded{animation:tileExpand .3s ease-out}@keyframes tileMinimize{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mosaic-tile.state-mini{animation:tileMinimize .3s ease-out}#chat-messages::-webkit-scrollbar{width:8px}#chat-messages::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}#chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}#chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.hero-tile{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;cursor:pointer;transition:all .3s ease}.hero-tile:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:scale(1.05)}.hero-tile.tile-active{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:scale(1.05);border:2px solid #3b82f6}.hero-tile-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.75rem}.hero-tile-icon{font-size:1.875rem;margin-bottom:.25rem}.hero-tile-title{font-size:.75rem;font-weight:500;color:#374151}[data-hero-card]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:2rem;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;cursor:pointer;transition:all .3s ease}[data-hero-card]:hover{transform:scale(1.05)}[data-hero-icon]{font-size:3.75rem;margin-bottom:1rem}[data-hero-title]{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:#fff}[data-hero-subtitle]{font-size:.875rem;opacity:.9;color:#fff}[data-hero-card][data-gradient=blue]{background:linear-gradient(135deg,#3b82f6,#2563eb)}[data-hero-card][data-gradient=purple]{background:linear-gradient(135deg,#a855f7,#9333ea)}[data-hero-card][data-gradient=green]{background:linear-gradient(135deg,#22c55e,#16a34a)}[data-hero-card][data-gradient=orange]{background:linear-gradient(135deg,#f97316,#ea580c)}[data-hero-card][data-gradient=pink]{background:linear-gradient(135deg,#ec4899,#db2777)}[data-hero-card][data-gradient=indigo]{background:linear-gradient(135deg,#6366f1,#4f46e5)}.ai-filled{border-color:#10b981!important;background-color:#f0fdf4!important;box-shadow:0 0 0 3px #10b9811a!important}@keyframes pulse-once{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}.pulse-once{animation:pulse-once 1s ease-in-out}.image-upload-zone{border:2px dashed #e5e7eb;border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .3s}.image-upload-zone:hover{border-color:#3b82f6;background-color:#eff6ff}.image-upload-zone.dragging{border-color:#10b981;background-color:#f0fdf4}.image-upload-btn:active{transform:scale(.95)}input:focus.ai-filled,select:focus.ai-filled,textarea:focus.ai-filled{border-color:#10b981!important;box-shadow:0 0 0 4px #10b98133!important}@tailwind base;@tailwind components;@tailwind utilities;.ai-canvas,.ai-canvas-full{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:18px;line-height:1.7;color:#1f2937;padding:1.5rem;background:transparent;max-width:100%;margin:0 auto}@media(min-width:1025px){.ai-canvas,.ai-canvas-full{padding:2rem 2.5rem}}.ai-canvas *,.ai-canvas *:before,.ai-canvas *:after,.ai-canvas-full *,.ai-canvas-full *:before,.ai-canvas-full *:after{box-sizing:border-box}.ai-canvas{background:linear-gradient(135deg,#fff,#f9fafb);border-radius:.75rem;padding:1.5rem;min-height:300px;animation:fadeIn .3s ease-in;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.ai-canvas--paginated{display:flex;flex-direction:column;height:100%;max-height:100%}.ai-canvas__content{flex:1;overflow:hidden;min-height:0}.ai-canvas__pagination{flex-shrink:0;padding:1rem;border-top:2px solid #e5e7eb;background:#f9fafb;border-radius:0 0 .75rem .75rem;margin:0 -1.5rem -1.5rem;padding:1rem 1.5rem}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.pagination-controls button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.pagination-controls button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed;transform:none}.pagination-controls span{color:#6b7280;font-size:.875rem;font-weight:500}.grid--ultra-compact{gap:.5rem!important}.faq-card--ultra-compact{padding:.75rem!important;font-size:.875rem}.faq-card--ultra-compact .faq-card__title{font-size:.9rem;margin-bottom:.25rem}.faq-card--ultra-compact .faq-card__desc{font-size:.8rem;line-height:1.4}.faq-card--ultra-compact .faq-card__icon{font-size:1.25rem}.scrollable-section{max-height:400px;overflow-y:auto;padding-right:.5rem}.scrollable-section::-webkit-scrollbar{width:6px}.scrollable-section::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.scrollable-section::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.scrollable-section::-webkit-scrollbar-thumb:hover{background:#9ca3af}.ai-canvas h2,.ai-canvas-full h2{font-size:1.875rem;font-weight:600;margin-bottom:.75rem;line-height:1.3}.ai-canvas h3,.ai-canvas-full h3{font-size:1.5rem;font-weight:600;margin-bottom:.625rem;line-height:1.4}.ai-canvas p,.ai-canvas-full p{margin-bottom:1.25rem}.text-muted{color:#6b7280}.text-small{font-size:.875rem}.text-bold{font-weight:600}.hero{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:1rem;padding:2.5rem;color:#fff;text-align:center;margin-bottom:2rem;box-shadow:0 12px 40px #7c3aed66}.hero--compact{padding:1.75rem 2rem;margin-bottom:1.5rem}.hero--compact h1{color:#fff;font-size:1.875rem;margin-bottom:.75rem}.hero--compact p{opacity:.95;font-size:1.0625rem;margin-bottom:0}.hero h1{color:#fff;margin-bottom:1rem;font-size:2.5rem}.hero p{opacity:.95;font-size:1.25rem;margin-bottom:0;line-height:1.6}.grid{display:grid;gap:1rem;margin:1.5rem 0}.grid--compact{gap:.75rem;margin:1rem 0}.grid--2col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid--3col{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(min-width:1025px){.grid--3col{grid-template-columns:repeat(3,1fr);gap:1.25rem}.grid--compact{gap:1rem}}.faq-card{background:#fff;border:2px solid #e5e7eb;border-radius:.875rem;padding:1.5rem;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 6px #0000000f;text-align:left}.faq-card--compact{padding:1.25rem 1.5rem}.faq-card--compact .faq-card__icon{font-size:2.25rem;margin-bottom:.5rem}.faq-card--compact .faq-card__title{font-size:1.0625rem}.faq-card--compact .faq-card__desc{font-size:.9375rem}.faq-card:hover{border-color:#8b5cf6;box-shadow:0 10px 20px #8b5cf633;transform:translateY(-3px) scale(1.02)}.faq-card:active{transform:translateY(-1px) scale(1.01)}.faq-card__icon{font-size:2.5rem;display:block;margin-bottom:.625rem}.faq-card__title{font-weight:600;color:#1f2937;font-size:1.125rem;margin-bottom:.375rem}.faq-card__desc{font-size:.9375rem;color:#6b7280;line-height:1.5}.table-wrapper{overflow-x:auto;margin:1.5rem 0;-webkit-overflow-scrolling:touch}.table{width:100%;min-width:600px;border-collapse:separate;border-spacing:0;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 12px #00000014}.table thead{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.table th{padding:1rem;text-align:left;color:#fff;font-weight:600;font-size:.95rem}.table th:first-child{width:35%}.table th:not(:first-child){text-align:center;width:21.66%}.table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s ease}.table tbody tr:last-child{border-bottom:none}.table tbody tr:hover{background:#faf5ff}.table td{padding:.875rem 1rem;font-size:.9rem}.table td:first-child{font-weight:500;color:#374151}.table td:not(:first-child){text-align:center;color:#6b7280}.story{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid #10b981;border-radius:.5rem;padding:1.25rem;margin:1rem 0}.story__icon{font-size:2rem;margin-bottom:.5rem;display:block}.story__title{font-weight:600;color:#047857;margin-bottom:.5rem;font-size:1.1rem}.story__content{color:#065f46;line-height:1.6;font-size:.95rem}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:1.5rem 0}.pricing-card{background:#fff;border:2px solid #e5e7eb;border-radius:1rem;padding:1.5rem;text-align:center;box-shadow:0 4px 12px #0000000d;position:relative}.pricing-card__price{font-size:2rem;font-weight:700;color:#1f2937;margin:1rem 0}.pricing-card__price-small{font-size:1rem;font-weight:400;color:#6b7280}.pricing-card__features{list-style:none;padding:0;margin:1.5rem 0;text-align:left}.pricing-card__features li{padding:.5rem 0;color:#374151;font-size:.9rem}.pricing-card__features li:before{content:"✓ ";color:#10b981;font-weight:700;margin-right:.5rem}.pricing-card--featured{border-color:#8b5cf6;box-shadow:0 8px 24px #8b5cf633;transform:scale(1.05)}.pricing-card--featured:before{content:"🎉 Early Adopter";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:2px solid transparent;border-radius:.75rem;font-weight:500;text-align:center;cursor:pointer;transition:all .2s ease;background:#fff;color:#374151;text-decoration:none;font-size:1rem}.btn--primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:transparent;box-shadow:0 2px 8px #7c3aed33}.btn--primary:hover{box-shadow:0 8px 16px #8b5cf64d;transform:translateY(-2px)}.btn--primary:active{transform:translateY(0)}.btn--secondary{background:#fff;border-color:#e5e7eb;color:#374151}.btn--secondary:hover{border-color:#8b5cf6;background:#faf5ff;box-shadow:0 4px 12px #8b5cf626;transform:translateY(-2px)}.btn--back{background:#f3f4f6;color:#374151;border-color:#e5e7eb;padding:.625rem 1.25rem;font-size:.9375rem}.btn--back:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px)}.btn--large{padding:1rem 2rem;font-size:1.1rem}.canvas-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.canvas-actions--centered{justify-content:center}.canvas-actions>span{color:#6b7280;font-size:.875rem;font-weight:500}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mx-auto{margin-left:auto;margin-right:auto}@media(max-width:640px){.ai-canvas,.ai-canvas-full{padding:.75rem;font-size:14px}.hero{padding:1.5rem}.hero h1{font-size:1.5rem}.hero p{font-size:1rem}.grid{grid-template-columns:1fr!important}.table{font-size:.8rem;min-width:500px}.table th,.table td{padding:.5rem}.faq-card{padding:1rem}.faq-card__icon{font-size:1.75rem}.story{padding:1rem}.pricing-card--featured{transform:scale(1)}}@media(min-width:641px)and (max-width:1024px){.canvas{font-size:15px}.grid--3col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media print{.faq-card,.btn{page-break-inside:avoid}.hero{background:#667eea;color:#fff}}.chat-container--dual-zone{--canvas-width: 60%;--chat-width: 40%;display:grid!important;grid-template-columns:var(--canvas-width) var(--chat-width)!important;grid-template-rows:1fr auto!important;gap:0!important;height:82vh;min-height:600px;max-height:none;padding:1rem;background:#f9fafb;border-radius:1rem;box-shadow:0 4px 12px #0000001a;position:relative;max-width:1800px;margin:0 auto;width:100%}.canvas-zone{grid-row:1!important;grid-column:1!important;overflow-y:auto;overflow-x:hidden;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-right:none;border-radius:.75rem 0 0 .75rem;padding:1.5rem;margin-right:.5rem;max-height:100%;min-height:0;position:relative}.canvas-zone-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px}.skeleton-loader{width:100%;max-width:600px;background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.skeleton-header{height:32px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem;margin-bottom:1rem}.skeleton-body{margin-bottom:1.5rem}.skeleton-line{height:16px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.25rem;margin-bottom:.75rem}.skeleton-line.short{width:60%}.skeleton-chart{height:200px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem;margin-bottom:1.5rem}.skeleton-footer{display:flex;gap:1rem}.skeleton-button{height:40px;flex:1;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-text{margin-top:1.5rem;color:#6b7280;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.loading-icon{font-size:1.5rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.canvas-zone-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;color:#9ca3af;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-text{font-size:1.1rem;font-weight:500;color:#6b7280;margin-bottom:.5rem}.empty-subtext{font-size:.9rem;color:#9ca3af;max-width:300px}.canvas-zone-content{opacity:1;width:100%;max-width:100%;overflow-wrap:break-word}@keyframes fadeInNoShift{0%{opacity:0}to{opacity:1}}.canvas-error{background:#fef2f2;border:2px solid #fecaca;border-radius:.75rem;padding:2rem;text-align:center;color:#dc2626}.canvas-error p{margin:.5rem 0}.chat-zone{grid-row:1!important;grid-column:2!important;display:flex;flex-direction:column;background:#fff;border-radius:0 .75rem .75rem 0;overflow:hidden;box-shadow:0 2px 8px #0000000d;margin-left:.5rem;max-height:100%;min-height:0;position:relative}.chat-zone-header{padding:1rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f9fafb,#fff);flex-shrink:0}.chat-zone-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem;scroll-behavior:smooth;max-height:100%;min-height:0;overscroll-behavior:contain;will-change:scroll-position}.user-message{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.75rem 1rem;border-radius:1rem 1rem .25rem;margin-bottom:.75rem;margin-left:auto;max-width:90%;word-wrap:break-word;box-shadow:0 2px 4px #3b82f633}.ai-message{background:#f3f4f6;color:#1f2937;padding:.75rem 1rem;border-radius:1rem 1rem 1rem .25rem;margin-bottom:.75rem;margin-right:auto;max-width:90%;word-wrap:break-word;box-shadow:0 2px 4px #0000000d}.typing-indicator{display:flex;gap:.25rem;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;background:#9ca3af;border-radius:50%;animation:typing 1.4s infinite}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.dual-zone-resizer{grid-row:1!important;grid-column:1 / -1!important;position:absolute;left:calc(var(--canvas-width) - 4px);top:1rem;bottom:calc(1rem + 70px);width:8px;cursor:col-resize;z-index:1000;transition:background .2s ease;background:linear-gradient(90deg,transparent 2px,#d1d5db 2px,#d1d5db 6px,transparent 6px)}.dual-zone-resizer:hover{background:linear-gradient(90deg,transparent 1px,#8b5cf6 1px,#8b5cf6 7px,transparent 7px)}.dual-zone-resizer:before{content:"⋮⋮";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#9ca3af;font-size:1.2rem;line-height:1;pointer-events:none;text-shadow:0 1px 2px rgba(255,255,255,.8)}.dual-zone-resizer:hover:before{color:#8b5cf6}.dual-zone-resizer.resizing{background:#8b5cf6!important}.dual-zone-resizer.resizing:before{color:#fff}body.resizing-active{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize!important}.chat-input-shared{grid-row:2!important;grid-column:1 / -1!important;padding:1rem;background:#fff;border-radius:.75rem;box-shadow:0 -2px 8px #0000000d;flex-shrink:0;margin-top:1rem}.chat-input-shared input{flex:1;border:1px solid #d1d5db;border-radius:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.chat-input-shared input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.chat-send-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:.75rem 1.5rem;border-radius:.75rem;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.chat-send-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #8b5cf64d}.chat-send-btn:active{transform:scale(.98)}@media(max-width:1024px)and (min-width:641px){.chat-container--dual-zone{grid-template-columns:60% 40%}.canvas-zone{padding:1rem}.chat-zone-messages{padding:.75rem}}@media(max-width:640px){.chat-container--dual-zone{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;height:100vh;max-height:none;padding:.5rem;gap:.75rem}.canvas-zone{grid-row:1;grid-column:1;max-height:45vh;min-height:200px;border-right:none;border-bottom:2px solid #e5e7eb;padding:1rem}.chat-zone{grid-row:2;grid-column:1}.chat-zone-messages{padding:.75rem}.chat-input-shared{grid-row:3;grid-column:1;padding:.75rem}.skeleton-loader{padding:1rem}.skeleton-chart{height:150px}.user-message,.ai-message{font-size:.9rem;padding:.6rem .9rem}}.canvas-zone::-webkit-scrollbar,.chat-zone-messages::-webkit-scrollbar{width:8px}.canvas-zone::-webkit-scrollbar-track,.chat-zone-messages::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.canvas-zone::-webkit-scrollbar-thumb,.chat-zone-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.canvas-zone::-webkit-scrollbar-thumb:hover,.chat-zone-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.chat-container{display:flex;flex-direction:column;min-height:350px;max-height:70vh;height:auto;background:#fff;border-radius:.75rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.chat-container--home{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border-color:#dbeafe}@media(min-width:768px){.chat-container{min-height:450px;max-height:75vh}}@media(min-width:1024px){.chat-container{min-height:500px;max-height:85vh}}.chat-header{padding:1rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.chat-header__title{display:flex;align-items:center;font-weight:600;color:#1f2937;font-size:1rem}.chat-header__icon{width:1.25rem;height:1.25rem;margin-right:.5rem}.chat-messages{flex:1;padding:1rem;overflow-y:auto;min-height:200px}.message-time{font-size:.75rem;opacity:.7;margin-top:.25rem;text-align:right}.ai-message-rich{margin-bottom:1rem}.chat-input{padding:1rem;border-top:1px solid #e5e7eb;flex-shrink:0}.chat-input__row{display:flex;gap:.5rem;align-items:center}.chat-input__field{flex:1;border:1px solid #d1d5db;border-radius:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.chat-input__field:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.chat-input__file-btn{cursor:pointer;color:#6b7280;padding:.5rem;border-radius:.5rem;flex-shrink:0;transition:color .2s,background-color .2s}.chat-input__file-btn:hover{color:#8b5cf6;background-color:#f5f3ff}.chat-input__file-icon{width:1.5rem;height:1.5rem}.char-counter{font-size:.75rem;color:#9ca3af;min-width:60px;flex-shrink:0}.file-preview{display:none;margin-top:.5rem;flex-wrap:wrap;gap:.5rem}.file-preview:not(:empty){display:flex}.chat-send-btn__icon{width:1.25rem;height:1.25rem}.chat-zone-title{font-weight:600;color:#374151;font-size:.875rem}.ai-inline-form{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.75rem;padding:.75rem;margin:.75rem 0}.inline-form__label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.inline-form__row{display:flex;gap:.5rem}.inline-form__input{flex:1;border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem .75rem;font-size:.95rem}.inline-form__input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.inline-form__btn{background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s}.inline-form__btn:hover{background:#1d4ed8}.reasoning-panel{background:linear-gradient(135deg,#faf5ff,#eff6ff);border-top:1px solid #e9d5ff;padding:1rem;min-height:60px;max-height:120px;overflow-y:auto;transition:all .3s}.reasoning-panel__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.reasoning-panel__title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:#7c3aed}.reasoning-panel__icon{width:1rem;height:1rem;color:#8b5cf6}.reasoning-panel__badge{font-size:.75rem;padding:.25rem .5rem;border-radius:9999px}.reasoning-panel__content{font-size:.875rem;color:#374151}.streaming-container{padding:0 1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media print{.chat-container--dual-zone{display:block;height:auto;max-height:none}.canvas-zone{page-break-inside:avoid}.chat-input-shared{display:none}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{line-height:inherit;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:inherit}button{background:none;border:none;cursor:pointer}.container-small{max-width:768px;margin:0 auto;padding:0 1rem}.container-medium{max-width:1024px;margin:0 auto;padding:0 1rem}.container-large{max-width:1280px;margin:0 auto;padding:0 1rem}.container-xlarge{max-width:1800px;margin:0 auto;padding:0 1rem}.page-section{background:#fff;padding:4rem 1rem}.hero-section{padding:5rem 1rem;color:#fff}.footer-section{background:#1f2937;color:#fff;padding:2rem 1rem}.hero-gradient{background:linear-gradient(135deg,#2563eb,#7c3aed)}.hero-title{font-size:3rem;font-weight:700;margin-bottom:1.5rem}.hero-subtitle{font-size:1.5rem;font-weight:300;margin-bottom:1rem}.hero-description{font-size:1.25rem;color:#bfdbfe}.footer-text{color:#9ca3af}.text-center{text-align:center}.text-muted{color:#9ca3af}@media(min-width:768px){.hero-title{font-size:3.75rem}.hero-subtitle{font-size:1.875rem}.hero-description{font-size:1.5rem}}.ai-message.streaming .message-content:after{content:"▋";animation:blink 1s infinite;margin-left:2px;color:#3b82f6}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.ai-message,.user-message{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.typing-indicator{display:flex;align-items:center;gap:4px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background-color:#9ca3af;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}
