.integrated-component-wrapper{position:relative}.integrated-component-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:#f9fafb;border-radius:.5rem;border:1px solid #e5e7eb}.integrated-component-loading .spinner{width:2rem;height:2rem;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.integrated-component-error{padding:1.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626}.integrated-component-error button{margin-top:1rem;padding:.5rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:.25rem;cursor:pointer}.integrated-component-error button:hover{background:#b91c1c}.component-status-bar{position:fixed;bottom:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:1000}.status-indicator{padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.status-indicator.saving{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.status-indicator.saved{background:#dcfce7;color:#166534;border:1px solid #86efac}.status-indicator.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-indicator.performance-warning{background:#fef3c7;color:#d97706;border:1px solid #fed7aa}.auth-guard-blocked{padding:2rem;text-align:center;background:#f3f4f6;border-radius:.5rem;border:1px solid #d1d5db}.auth-guard-blocked h2{color:#374151;margin-bottom:.5rem}.premium-guard-blocked{padding:2rem;text-align:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:.5rem;border:1px solid #f59e0b}.premium-guard-blocked h3{color:#92400e;margin-bottom:.5rem}.premium-guard-blocked button{margin-top:1rem;padding:.75rem 1.5rem;background:#f59e0b;color:#fff;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:background-color .2s}.premium-guard-blocked button:hover{background:#d97706}.premium-upgrade-prompt{padding:2rem;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:.5rem;border:1px solid #8b5cf6;text-align:center}.premium-upgrade-prompt h3{color:#5b21b6;margin-bottom:1rem}.upgrade-benefits{margin:1.5rem 0}.upgrade-benefits ul{list-style:none;padding:0;display:inline-block;text-align:left}.upgrade-benefits li{color:#6b21a8;margin:.5rem 0;position:relative;padding-left:1.5rem}.upgrade-benefits li:before{content:"✓";position:absolute;left:0;color:#059669;font-weight:700}.upgrade-button{padding:.75rem 2rem;background:#8b5cf6;color:#fff;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:background-color .2s}.upgrade-button:hover{background:#7c3aed}.validation-guard-error{padding:1.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;margin:1rem 0}.validation-guard-error h4{color:#dc2626;margin-bottom:.5rem}.validation-guard-error ul{color:#b91c1c;margin:0;padding-left:1.5rem}.auto-save-guard{position:relative}.auto-save-guard .saved-indicator,.auto-save-guard .saving-indicator{position:absolute;top:-.5rem;right:0;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;z-index:10}.auto-save-guard .saving-indicator{background:#dbeafe;color:#1e40af}.auto-save-guard .saved-indicator{background:#dcfce7;color:#166534}.selection-guard .limit-message{margin-top:.5rem;padding:.75rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:.375rem;color:#92400e;font-size:.875rem}.error-boundary-fallback{padding:2rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;text-align:center}.error-boundary-fallback h2{color:#dc2626;margin-bottom:1rem}.error-details{margin:1rem 0;text-align:left;background:#f9fafb;padding:1rem;border-radius:.375rem}.error-details summary{cursor:pointer;font-weight:600;color:#374151}.error-details pre{margin:.5rem 0 0;color:#6b7280;font-size:.875rem}.error-boundary-fallback button{padding:.75rem 1.5rem;background:#dc2626;color:#fff;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:background-color .2s}.error-boundary-fallback button:hover{background:#b91c1c}.component-error-fallback{padding:2rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;text-align:center;margin:1rem 0}.component-error-fallback h3{color:#dc2626;margin-bottom:1rem}.component-error-fallback button{margin-top:1rem;padding:.5rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:.25rem;cursor:pointer}.component-error-fallback button:hover{background:#b91c1c}@media (max-width:768px){.component-status-bar{bottom:.5rem;right:.5rem}.status-indicator{font-size:.75rem;padding:.375rem .5rem}}@supports (-webkit-appearance:none) and (not (stroke-color:transparent)){.min-h-screen{min-height:100vh;min-height:-webkit-fill-available}.card,.sidebar-bg,button{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.overflow-x-auto,.overflow-y-auto{-webkit-overflow-scrolling:touch}input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}}@-moz-document url-prefix(){*{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}select{text-indent:.01px;text-overflow:""}}@supports (-ms-ime-align:auto){.overflow-y-auto{-ms-overflow-style:-ms-autohiding-scrollbar}input::-ms-input-placeholder{color:#9ca3af}}@media screen and (prefers-reduced-data:reduce){img{content-visibility:auto}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}}@supports (color:oklch(0 0 0)){.icon-fallback{display:inline-block;width:1em;height:1em;background:currentColor;mask-size:contain;-webkit-mask-size:contain}}@supports (backdrop-filter:blur(0px)){.glass-effect{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@supports (-webkit-touch-callout:none){.no-select{-webkit-touch-callout:none;-webkit-user-select:none}.safe-area-inset{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}body{position:fixed;width:100%;height:100vh;height:-webkit-fill-available}#__next{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}a,button{-webkit-tap-highlight-color:transparent}a,button,input,select,textarea{min-height:44px;min-width:44px}}@media screen and (hover:none) and (pointer:coarse){a,button{touch-action:manipulation}.touch-target{position:relative}.touch-target:before{content:"";position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px}input:focus,textarea:focus{outline-offset:0}}@supports (-webkit-appearance:none) and (not (overflow:-webkit-paged-x)){.overflow-x-auto{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}}@-moz-document url-prefix(){@media (hover:none){input[type=date],input[type=time]{min-height:48px}}}@media (display-mode:standalone){.pwa-header{padding-top:env(safe-area-inset-top)}.browser-only{display:none}}@supports (-webkit-overflow-scrolling:touch) and (not (display-mode:standalone)){body{overscroll-behavior:none}}@media (min-width:320px) and (max-width:479px){body{font-size:14px}.container{padding-left:16px;padding-right:16px}}@media (min-width:480px) and (max-width:767px){.container{padding-left:20px;padding-right:20px}}@media (min-width:768px) and (max-width:1023px){.sidebar-bg{width:72px}.sidebar-bg:hover{width:260px}}@media (min-width:1024px) and (max-width:1439px){.container{max-width:1024px}}@media (min-width:1440px) and (max-width:2559px){.container{max-width:1280px}}@media (min-width:2560px){.container{max-width:1536px}body{font-size:18px}}@media (min-resolution:1dppx) and (max-resolution:1.5dppx){.logo{background-image:url(/logo-1x.png)}}@media (min-resolution:1.5dppx) and (max-resolution:2.5dppx){.logo{background-image:url(/logo-2x.png)}.border{border-width:.5px}}@media (min-resolution:2.5dppx){.logo{background-image:url(/logo-3x.png)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.loading-spinner{animation:none;border:2px solid}}@media (prefers-contrast:high){body{background:#fff;color:#000}.dark body{background:#000;color:#fff}.card,button{border:2px solid}a{text-decoration:underline}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--theme-primary:#0c9fd8;--theme-accent:#42aa4a}}@media print{.no-print,.sidebar-bg,button,nav{display:none!important}body{background:#fff;color:#000;font-size:12pt}.container{width:100%;max-width:none}a{color:#000;text-decoration:underline}a[href^=http]:after{content:" (" attr(href) ")"}h1,h2,h3{page-break-after:avoid}img,table{page-break-inside:avoid}}.font-loading body{font-family:system-ui,-apple-system,sans-serif}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1}.will-animate{will-change:transform,opacity}.virtual-scroll{contain:strict;content-visibility:auto}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}img[loading=lazy]{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}