:root{--color-bg:#f8fafc;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-accent:#10b981;--color-accent-hover:#059669;--color-text:#333f52;--color-divider:#e1e5ef;--color-highlight:#ff6b6b;--color-success-bg:#dcfce7;--color-success-text:#15803d;--color-warning-bg:#fef3c7;--color-warning-text:#d97706;--color-error-bg:#fee2e2;--color-error-text:#dc2626;--color-accent-bg:#f1f5f9;--color-accent-text:#475569;--font-family:"Inter",sans-serif;--font-size-base:16px;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--icon-size-default:24px;--color-bg-secondary:#fff;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-border:var(--color-divider);--color-success:var(--color-accent);--color-warning:#f59e0b;--color-error:var(--color-highlight);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-hover:0 0 8px #0000000d}html{zoom:.9;font-size:var(--font-size-base)}body{background-color:#f8fafc;background-color:var(--color-bg);color:#333f52;color:var(--color-text);font-family:Inter,sans-serif;font-family:var(--font-family);font-size:16px;font-size:var(--font-size-base);font-weight:400;font-weight:var(--font-weight-regular)}#root,body,html{background-color:#f8fafc!important;background-color:var(--color-bg)!important;min-height:100dvh}.h1,h1{font-size:2.25rem;line-height:1.2;margin:0 0 1.5rem;margin:0 0 var(--spacing-lg) 0}.h1,.h2,h1,h2{color:#333f52;color:var(--color-text);font-weight:700;font-weight:var(--font-weight-bold)}.h2,h2{font-size:1.875rem;line-height:1.3;margin:0 0 1rem;margin:0 0 var(--spacing-md) 0}.h3,h3{font-size:1.5rem;margin:0 0 1rem;margin:0 0 var(--spacing-md) 0}.h3,.h4,h3,h4{color:#333f52;color:var(--color-text);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.4}.h4,h4{font-size:1.25rem;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0}.h5,h5{font-size:1.125rem}.h5,.h6,h5,h6{color:#333f52;color:var(--color-text);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.4;margin:0 0 .5rem;margin:0 0 var(--spacing-sm) 0}.h6,h6{font-size:1rem}p{line-height:1.6;margin:0 0 1rem;margin:0 0 var(--spacing-md) 0}.text-primary{color:#6366f1;color:var(--color-primary)}.text-accent{color:#10b981;color:var(--color-accent)}.text-secondary{color:#6b7280;color:var(--color-text-secondary)}.text-muted{color:#9ca3af;color:var(--color-text-muted)}.text-success{color:#10b981;color:var(--color-success)}.text-warning{color:#f59e0b;color:var(--color-warning)}.text-error{color:#ff6b6b;color:var(--color-error)}.bg-primary{background-color:#6366f1;background-color:var(--color-primary)}.bg-accent{background-color:#10b981;background-color:var(--color-accent)}.bg-secondary{background-color:#fff;background-color:var(--color-bg-secondary)}.font-regular{font-weight:400;font-weight:var(--font-weight-regular)}.font-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.font-bold{font-weight:700;font-weight:var(--font-weight-bold)}.icon{flex-shrink:0;height:24px;height:var(--icon-size-default);width:24px;width:var(--icon-size-default)}.icon-sm{height:16px;width:16px}.icon-lg{height:32px;width:32px}.btn{border-radius:6px;font-family:Inter,sans-serif;font-family:var(--font-family);font-size:16px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);height:40px;padding:0 16px;position:relative;transition:transform .15s ease;-webkit-user-select:none;user-select:none}.btn:disabled{pointer-events:none}.btn:focus:not(:disabled),.btn:hover:not(:disabled){transform:none}.btn:focus:not(:disabled){box-shadow:inset 0 0 0 2px #ffffff4d}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background-color:#10b981;background-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background-color:#059669}.btn-accent{background-color:#10b981;background-color:var(--color-accent);color:#fff}.btn-accent:hover:not(:disabled){background-color:#059669}.btn-secondary{background-color:#fff;background-color:var(--color-bg-secondary);border:1px solid #e1e5ef;border:1px solid var(--color-border);color:#333f52;color:var(--color-text)}.btn-secondary:hover:not(:disabled){background-color:#fff;border-color:#e6edf7}.btn-success{background-color:#10b981;background-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:#059669}.btn-sm{font-size:.875rem;height:32px;min-width:100px;padding:0 12px}.btn-lg{font-size:1.125rem;height:48px;min-width:140px;padding:0 24px}.btn-full-width{min-width:0;min-width:auto}@media (max-width:640px){.btn{height:48px;padding:0 16px}.btn-sm{height:40px}.btn-lg{height:56px}}.card{background-color:#fff;border:1px solid #e1e5ef;border:1px solid var(--color-divider);border-radius:8px;padding:16px;transition:all .15s ease}.card:hover{box-shadow:0 0 8px #0000000d;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-header{background-color:#6366f1;background-color:var(--color-primary);border-radius:8px 8px 0 0;color:#fff;font-weight:600;margin:-16px -16px 16px;padding:12px 16px}.card-body{color:#333f52;color:var(--color-text)}.card-body h3,.card-body h4,.card-body h5{color:#333f52;color:var(--color-text);font-weight:600}.cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:640px){.cards-grid{gap:24px;grid-template-columns:repeat(2,1fr)}}input,select,textarea{color:#333f52;color:var(--color-text);font-family:Inter,sans-serif;font-family:var(--font-family);font-size:16px;font-size:var(--font-size-base)}input:focus,select:focus,textarea:focus{border-color:#6366f1;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.loading-spinner{border:2px solid #e1e5ef;border-top:2px solid #6366f1;border:2px solid var(--color-divider)}.loading-spinner.large{height:40px;width:40px}.top-navigation{background-color:#22395d;box-shadow:var(--shadow-md);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-container{height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 var(--spacing-lg)}.brand-button,.nav-brand,.nav-container{align-items:center;display:flex}.brand-button{background:none;border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;font-size:1.25rem;font-weight:var(--font-weight-bold);gap:var(--spacing-sm);padding:var(--spacing-sm);transition:all .2s ease}.brand-button:hover{background-color:#ffffff1a;transform:translateY(-1px)}.brand-button:focus{outline:2px solid #ffffff80;outline-offset:2px}.brand-icon,.brand-text{color:#fff}.nav-links{gap:var(--spacing-md)}.nav-link,.nav-links{align-items:center;display:flex}.nav-link{border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all .2s ease}.nav-link:hover{background-color:#ffffff1a;transform:translateY(-1px)}.nav-link:focus{outline:2px solid #ffffff80;outline-offset:2px}.nav-link.active{background-color:#ffffff26;text-decoration:underline;text-underline-offset:4px}.nav-link.active:after{background-color:#fff;border-radius:1px;bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:80%}.nav-user{align-items:center;display:flex;gap:var(--spacing-md)}.user-email{font-weight:var(--font-weight-regular)}.logout-button{background:#ffffff1a;border:1px solid #fff3;border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.logout-button:hover:not(:disabled){background-color:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.logout-button:focus{outline:2px solid #ffffff80;outline-offset:2px}.logout-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.logout-text{color:#fff}.hamburger-button{background:none;border-radius:var(--border-radius-md);cursor:pointer;padding:var(--spacing-sm);transition:all .2s ease}.hamburger-button:hover{background-color:#ffffff1a}.hamburger-button:focus{outline:2px solid #ffffff80;outline-offset:2px}.mobile-menu-overlay{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:64px;z-index:1001}.mobile-menu{background-color:var(--color-bg-secondary);box-shadow:var(--shadow-lg);height:calc(100vh - 64px);max-width:80vw;overflow-y:auto;position:fixed;right:-100%;top:64px;transition:right .3s ease;width:300px;z-index:1002}.mobile-menu.open{right:0}.mobile-menu-header{align-items:center;background-color:#22395d;border-bottom:1px solid var(--color-divider);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.mobile-brand{align-items:center;color:#fff;display:flex;font-size:1.125rem;font-weight:var(--font-weight-bold);gap:var(--spacing-sm)}.close-menu-button{background:none;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;padding:var(--spacing-xs);transition:all .2s ease}.close-menu-button:hover{background-color:#ffffff1a}.close-menu-button:focus{outline:2px solid #ffffff80;outline-offset:2px}.mobile-menu-content{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.mobile-user-info{align-items:center;background-color:var(--color-bg);border-radius:var(--border-radius-md);color:var(--color-text-secondary);display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.mobile-user-email{color:var(--color-text);font-size:.875rem;font-weight:var(--font-weight-semibold);word-break:break-all}.mobile-nav-links{display:flex;flex-direction:column;gap:var(--spacing-xs)}.mobile-nav-link{align-items:center;background:none;border-radius:var(--border-radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);padding:var(--spacing-md);transition:all .2s ease;width:100%}.mobile-nav-link:hover{background-color:var(--color-bg);color:var(--color-primary);transform:translateX(4px)}.mobile-nav-link:focus{outline:2px solid var(--color-primary);outline-offset:2px}.mobile-nav-link.active,.mobile-nav-link.active:hover{background-color:var(--color-primary);color:#fff}.mobile-nav-link.active:hover{transform:translateX(4px)}.mobile-logout-button{align-items:center;background-color:var(--color-highlight);border:none;border-radius:var(--border-radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin-top:auto;padding:var(--spacing-md);transition:all .2s ease;width:100%}.mobile-logout-button:hover:not(:disabled){background-color:#e55555;transform:translateY(-1px)}.mobile-logout-button:focus{outline:2px solid var(--color-text);outline-offset:2px}.mobile-logout-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width:640px){.nav-container{padding:0 var(--spacing-md)}.desktop-only{display:none}.mobile-only{display:flex}.brand-text{display:none}.mobile-menu{max-width:85vw;width:280px}}@media (max-width:480px){.nav-container{height:56px;padding:0 var(--spacing-sm)}.mobile-menu{height:calc(100vh - 56px);max-width:100vw;top:56px;width:100vw}.mobile-menu-overlay{top:56px}}.login-form-container{align-items:center;background:#0000;display:flex;justify-content:center;min-height:auto;padding:20px 0}.login-form{background:#fff;border-radius:8px;box-shadow:0 8px 20px #00000014;margin-top:-10px;max-width:400px;padding:calc(2rem + 10px) 2rem 2rem;position:relative;width:100%}.login-form h2{color:#333;font-size:1.5rem;margin-bottom:.5rem;text-align:center}body .login-form-container .login-form .btn.btn-primary,body .login-form-container .login-form .btn.btn-primary.btn-full-width,body .login-form-container .login-form form .btn.btn-primary.btn-full-width[type=submit],body .login-form-container .login-form form .btn.btn-primary[type=submit]{background-color:#007bff!important;background:#007bff!important;border:1px solid #007bff!important;color:#fff!important}body .login-form-container .login-form .btn.btn-primary.btn-full-width:hover:not(:disabled),body .login-form-container .login-form .btn.btn-primary:hover:not(:disabled),body .login-form-container .login-form form .btn.btn-primary.btn-full-width[type=submit]:hover:not(:disabled),body .login-form-container .login-form form .btn.btn-primary[type=submit]:hover:not(:disabled){background-color:#0056b3!important;background:#0056b3!important;border-color:#0056b3!important;transform:none!important}body .login-form-container .login-form .btn.btn-primary.btn-full-width:active:not(:disabled),body .login-form-container .login-form .btn.btn-primary:active:not(:disabled),body .login-form-container .login-form form .btn.btn-primary.btn-full-width[type=submit]:active:not(:disabled),body .login-form-container .login-form form .btn.btn-primary[type=submit]:active:not(:disabled){background-color:#004085!important;background:#004085!important;border-color:#004085!important;transform:none!important}body .login-form-container .login-form .btn.btn-primary.btn-full-width:disabled,body .login-form-container .login-form .btn.btn-primary:disabled,body .login-form-container .login-form form .btn.btn-primary.btn-full-width[type=submit]:disabled,body .login-form-container .login-form form .btn.btn-primary[type=submit]:disabled{background-color:#6c757d!important;background:#6c757d!important;border-color:#6c757d!important;cursor:not-allowed;transform:none!important}.btn{font-weight:500;line-height:1.2;min-height:44px}.btn-primary{background-color:#007bff!important;border:1px solid #007bff!important;color:#fff!important}.btn-primary:hover:not(:disabled){background-color:#0056b3!important;border-color:#0056b3!important;transform:none}.btn-primary:active:not(:disabled){background-color:#004085!important;border-color:#004085!important;transform:none}.btn-primary:disabled{background-color:#6c757d!important;border-color:#6c757d!important;transform:none}@media (max-width:480px){.login-form-container{padding:10px}.login-form{padding:1.5rem}.login-form h2{font-size:1.25rem}.btn{font-size:1rem;min-height:48px;padding:.875rem 1rem}}@media (max-width:360px){.login-form{padding:1.25rem}.form-group{margin-bottom:.875rem}.form-group label{margin-bottom:.4rem}}.registration-form-container{align-items:center;background:#0000;display:flex;justify-content:center;min-height:auto;padding:20px 0}.registration-form{background:#fff;border-radius:8px;box-shadow:0 8px 20px #00000014;margin-top:-10px;max-width:400px;padding:calc(2rem + 10px) 2rem 2rem;position:relative;width:100%}.registration-form h2{color:#333;font-size:1.5rem;margin-bottom:.5rem;text-align:center}.form-description{color:#666;font-size:.9rem;line-height:1.4;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:#333;font-weight:500}.form-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33;outline:none}.form-group input.error{background-color:#fff;border-color:#dc3545}.form-group input.error:focus{box-shadow:0 0 0 2px #dc354533}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.error-message{background:#0000!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#d93025;display:block;font-size:.85rem;line-height:1.3;margin-top:6px;padding:0!important}.general-error{background-color:#fef2f2;border:1px solid #fde2e2;border-radius:6px;color:#b91c1c;margin-bottom:1rem;padding:.75rem;text-align:center}.success-message{padding:1rem 0;text-align:center}.success-message p{color:#28a745;margin-bottom:.5rem}body .registration-form-container .registration-form .btn.btn-primary,body .registration-form-container .registration-form .btn.btn-primary.btn-full-width,body .registration-form-container .registration-form form .btn.btn-primary.btn-full-width[type=submit],body .registration-form-container .registration-form form .btn.btn-primary[type=submit]{align-items:center!important;background-color:#007bff!important;background:#007bff!important;border:1px solid #007bff!important;color:#fff!important;display:inline-flex!important;justify-content:center!important;line-height:1.2!important;min-height:44px!important;text-align:center!important;white-space:nowrap!important}body .registration-form-container .registration-form .btn.btn-primary.btn-full-width:hover:not(:disabled),body .registration-form-container .registration-form .btn.btn-primary:hover:not(:disabled),body .registration-form-container .registration-form form .btn.btn-primary.btn-full-width[type=submit]:hover:not(:disabled),body .registration-form-container .registration-form form .btn.btn-primary[type=submit]:hover:not(:disabled){background-color:#0056b3!important;background:#0056b3!important;border-color:#0056b3!important;transform:none!important}body .registration-form-container .registration-form .btn.btn-primary.btn-full-width:active:not(:disabled),body .registration-form-container .registration-form .btn.btn-primary:active:not(:disabled),body .registration-form-container .registration-form form .btn.btn-primary.btn-full-width[type=submit]:active:not(:disabled),body .registration-form-container .registration-form form .btn.btn-primary[type=submit]:active:not(:disabled){background-color:#004085!important;background:#004085!important;border-color:#004085!important;transform:none!important}body .registration-form-container .registration-form .btn.btn-primary.btn-full-width:disabled,body .registration-form-container .registration-form .btn.btn-primary:disabled,body .registration-form-container .registration-form form .btn.btn-primary.btn-full-width[type=submit]:disabled,body .registration-form-container .registration-form form .btn.btn-primary[type=submit]:disabled{background-color:#6c757d!important;background:#6c757d!important;border-color:#6c757d!important;cursor:not-allowed;transform:none!important}.registration-form-container .registration-form .btn.btn-primary,.registration-form-container .registration-form .btn.btn-primary.btn-full-width{align-items:center!important;background-color:#007bff!important;border:1px solid #007bff!important;color:#fff!important;display:inline-flex!important;justify-content:center!important;line-height:1.2!important;min-height:44px!important;text-align:center!important;white-space:nowrap!important}.registration-form-container .registration-form .btn.btn-primary.btn-full-width:hover:not(:disabled),.registration-form-container .registration-form .btn.btn-primary:hover:not(:disabled){background-color:#0056b3!important;border-color:#0056b3!important;transform:none!important}.registration-form-container .registration-form .btn.btn-primary.btn-full-width:active:not(:disabled),.registration-form-container .registration-form .btn.btn-primary:active:not(:disabled){background-color:#004085!important;border-color:#004085!important;transform:none!important}.registration-form-container .registration-form .btn.btn-primary.btn-full-width:disabled,.registration-form-container .registration-form .btn.btn-primary:disabled{background-color:#6c757d!important;border-color:#6c757d!important;cursor:not-allowed;transform:none!important}.btn{border-radius:4px;display:inline-block;padding:.75rem 1rem;text-align:center;transition:background-color .2s ease}.btn:focus-visible{outline:2px solid #007bff99;outline-offset:2px}.btn-primary{background-color:#007bff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed}.input-wrapper{position:relative}.password-wrapper input{padding-right:2.5rem}.toggle-visibility{align-items:center;background:#0000;border:none;color:#111;cursor:pointer;display:flex;font-size:1rem;height:calc(100% - 2px);line-height:1;padding:0 6px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.toggle-visibility:hover{color:#000}.toggle-visibility svg{display:block;height:20px;width:20px}.btn-full-width{margin-top:.5rem;width:100%}.loading-spinner{border:2px solid #0000;border-top-color:currentcolor;display:inline-block;height:16px;margin-right:8px;width:16px}.form-footer{display:none}.form-footer p{color:#666;font-size:.9rem;margin:0}.form-footer a{color:#007bff;text-decoration:none}.form-footer a:hover{text-decoration:underline}@media (max-width:480px){.registration-form-container{padding:10px}.registration-form{padding:1.5rem}.registration-form h2{font-size:1.25rem}}@media (max-width:360px){.registration-form{padding:1.25rem}.form-group{margin-bottom:.875rem}.form-group label{margin-bottom:.4rem}}.auth-page{align-items:center;background-color:var(--color-bg);display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding:48px 16px 24px;position:relative}.auth-toggle{background:#fff;border-radius:25px;box-shadow:0 6px 18px #0000001f;display:flex;left:50%;padding:4px;position:absolute;top:40px;transform:translateX(-50%);z-index:2}.toggle-btn{background:#0000;border:none;border-radius:20px;color:#666;cursor:pointer;font-size:.875rem;font-weight:500;min-width:100px;padding:8px 16px;transition:all .2s ease}.toggle-btn.active{background:#007bff;box-shadow:0 2px 4px #007bff4d;color:#fff}.toggle-btn:hover:not(.active){color:#007bff}@media (max-width:480px){.auth-toggle{top:10px;transform:translateX(-50%) scale(.9)}.toggle-btn{font-size:.8rem;min-width:80px;padding:6px 12px}}@media (max-width:360px){.auth-page{padding:56px 12px 16px}.auth-toggle{top:6px;transform:translateX(-50%) scale(.86)}}.error-boundary{align-items:center;background-color:#f9fafb;display:flex;justify-content:center;min-height:400px;padding:2rem}.error-boundary-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-width:500px;padding:2rem;text-align:center}.error-icon,.error-title{margin-bottom:1rem}.error-title{color:#1f2937;font-size:1.5rem;font-weight:600}.error-message{color:#6b7280;line-height:1.6}.error-details{margin:1.5rem 0;text-align:left}.error-details-accordion{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:1rem}.error-details-accordion summary{color:#374151;cursor:pointer;font-weight:500;margin-bottom:.5rem}.error-details-accordion summary:hover{color:#1f2937}.error-stack{background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#4b5563;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;margin-top:.5rem;overflow-x:auto;padding:.75rem;white-space:pre-wrap}.error-stack pre{background:#f9fafb;border-radius:4px;margin:.5rem 0;overflow-x:auto;padding:.5rem}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.error-actions .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.error-actions .btn-primary{background-color:#3b82f6;color:#fff}.error-actions .btn-primary:hover{background-color:#2563eb}.error-actions .btn-secondary{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.error-actions .btn-secondary:hover{background-color:#e5e7eb}.toast{background:#fff;border:1px solid #0000;border-radius:12px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;margin-bottom:1rem;max-width:500px;min-width:320px;overflow:hidden;position:relative;transform:translateX(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-content{align-items:flex-start;display:flex;gap:.75rem;padding:1rem}.toast-icon{flex-shrink:0;font-size:1.5rem;line-height:1;margin-top:.125rem}.toast-text{flex:1 1;min-width:0}.toast-title{color:#2c3e50;font-size:1rem;font-weight:600;margin:0}.toast-message,.toast-title{word-wrap:break-word;line-height:1.4}.toast-message{color:#6c757d;font-size:.9rem;margin-top:.25rem}.toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:24px}.toast-close:hover{background-color:#0000001a;color:#495057}.toast-success{border-left:4px solid #28a745}.toast-success .toast-icon{color:#28a745}.toast-error{border-left:4px solid #dc3545}.toast-error .toast-icon{color:#dc3545}.toast-warning{border-left:4px solid #ffc107}.toast-warning .toast-icon{color:#e67e22}.toast-info{border-left:4px solid #17a2b8}.toast-info .toast-icon{color:#17a2b8}.toast-progress-container{background-color:#0000001a;height:4px;overflow:hidden}.toast-progress-bar{height:100%;transition:width .05s linear}.toast-success .toast-progress-bar{background-color:#28a745}.toast-error .toast-progress-bar{background-color:#dc3545}.toast-warning .toast-progress-bar{background-color:#ffc107}.toast-info .toast-progress-bar{background-color:#17a2b8}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{margin-bottom:1rem;max-height:200px;opacity:1;transform:translateX(0)}to{margin-bottom:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0;transform:translateX(100%)}}.toast-enter{animation:slideInRight .3s cubic-bezier(.4,0,.2,1) forwards}.toast-exit{animation:slideOutRight .3s cubic-bezier(.4,0,.2,1) forwards}.toast:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-2px)}.toast:hover .toast-progress-bar{animation-play-state:paused}@media (max-width:640px){.toast{margin-left:1rem;margin-right:1rem;max-width:calc(100vw - 2rem);min-width:auto}.toast-content{gap:.625rem;padding:.875rem}.toast-title{font-size:.9rem}.toast-message{font-size:.8rem}.toast-close,.toast-icon{font-size:1.25rem}.toast-close{height:20px;width:20px}}@media (prefers-contrast:high){.toast{border:2px solid}.toast-close:hover{background-color:#0003}}@media (prefers-reduced-motion:reduce){.toast,.toast-close,.toast-progress-bar{animation:none;transition:none}.toast-enter,.toast-exit{animation:none}.toast:hover{transform:none}}.toast-container{display:flex;flex-direction:column;max-height:calc(100vh - 2rem);overflow:hidden;pointer-events:none;position:fixed;right:1rem;top:1rem;z-index:9999}.toast-container .toast{pointer-events:auto}@media (max-width:640px){.toast-container{left:1rem;right:1rem;top:1rem;width:auto}}@media (max-width:768px) and (min-width:641px){.toast-container{max-width:400px;right:1rem}}.breadcrumb{background-color:var(--color-surface-elevated);border-bottom:1px solid var(--border-light);border-radius:12px 12px 0 0;padding:var(--space-3) 0}.breadcrumb-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--space-6)}.breadcrumb-list{flex-wrap:wrap;gap:var(--space-1);list-style:none;margin:0;padding:0}.breadcrumb-item,.breadcrumb-list{align-items:center;display:flex}.breadcrumb-link{background:none;border:none;border-radius:var(--r-sm);color:var(--navy);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);text-decoration:none;transition:all var(--transition-fast)}.breadcrumb-link:hover{background-color:#2bc8a90d;color:var(--mint);text-decoration:underline}.breadcrumb-text{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2)}.breadcrumb-text.active{color:var(--text-primary);font-weight:var(--weight-semibold)}.breadcrumb-separator{color:var(--text-muted);flex-shrink:0;margin:0 var(--space-1)}.breadcrumb-action-button{align-items:center;background-color:var(--color-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--r-pill);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--weight-medium);gap:var(--space-2);height:32px;padding:0 var(--space-4);transition:all var(--transition-fast);white-space:nowrap}.breadcrumb-action-button:hover{background-color:var(--color-surface);border-color:var(--mint);transform:scale(1.05)}@media (max-width:768px){.breadcrumb-container{align-items:flex-start;flex-direction:column;gap:var(--space-2);padding:0 var(--space-4)}.breadcrumb-action-button{margin-left:auto}}.mint-button{align-items:center;border:none;border-radius:var(--r-pill);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-weight:var(--weight-medium);gap:var(--space-2);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.mint-button--primary{background-color:var(--mint);color:var(--text-on-mint)}.mint-button--primary:hover:not(:disabled){background-color:var(--mint-hover);transform:scale(1.05)}.mint-button--secondary{background-color:var(--color-surface-elevated);border:1px solid var(--border-medium);color:var(--text-primary)}.mint-button--secondary:hover:not(:disabled){background-color:var(--color-surface);border-color:var(--mint);transform:scale(1.05)}.mint-button--ghost{background-color:initial;color:var(--mint)}.mint-button--ghost:hover:not(:disabled){background-color:#2bc8a91a;transform:scale(1.05)}.mint-button--danger{background-color:#fee2e2;border:1px solid #fca5a5;color:#b91c1c}.mint-button--danger:hover:not(:disabled){background-color:#fecaca;border-color:#f87171;transform:scale(1.05)}.mint-button--sm{font-size:var(--text-sm);height:32px;padding:0 var(--space-4)}.mint-button--md{font-size:var(--text-base);height:40px;padding:0 var(--space-6)}.mint-button--lg{font-size:var(--text-lg);height:48px;padding:0 var(--space-8)}.mint-button--full-width{width:100%}.mint-button:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.mint-button:focus-visible{box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}.mint-button:active:not(:disabled){transform:scale(.98)}.mint-button--loading{cursor:wait}.mint-button__loading-icon{animation:spin 1s linear infinite}.mint-button__left-icon,.mint-button__right-icon{flex-shrink:0}.mint-button__text{flex:1 1;text-align:center}.mint-button+.mint-button{margin-left:var(--space-2)}@media (max-width:768px){.mint-button--md{height:44px;padding:0 var(--space-5)}.mint-button--lg{height:52px;padding:0 var(--space-6)}}@media (prefers-contrast:high){.mint-button--primary{border:2px solid var(--mint)}.mint-button--secondary{border-width:2px}.mint-button--ghost{border:2px solid var(--mint)}}.skeleton-card{background:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--r-card);overflow:hidden;position:relative}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.skeleton-card:before{animation:skeleton-shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%;z-index:1}@keyframes skeleton-shimmer{0%{left:-100%}to{left:100%}}.skeleton-card>*{animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-timeline-dot{background:var(--border-medium);border-radius:50%;height:32px;left:-42px;position:absolute;top:var(--space-4);width:32px;z-index:2}.skeleton-content{margin-left:var(--space-12);padding:var(--space-4)}.skeleton-header{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-3)}.skeleton-title{background:var(--border-medium);border-radius:var(--r-sm);flex:1 1;height:24px;max-width:200px}.skeleton-title.large{height:28px;max-width:300px}.skeleton-actions{display:flex;gap:var(--space-2)}.skeleton-button{background:var(--border-medium);border-radius:var(--r-md);height:32px;width:80px}.skeleton-button.small{width:32px}.skeleton-meta{background:var(--border-light);border-radius:var(--r-sm);height:16px;margin-bottom:var(--space-3);width:60%}.skeleton-preview{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-line{background:var(--border-light);border-radius:var(--r-sm);height:16px;width:100%}.skeleton-line.short{width:70%}.skeleton-description{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.skeleton-badge{border-radius:var(--r-pill);height:20px;width:60px}.skeleton-badge,.skeleton-icon{background:var(--border-medium)}.skeleton-icon{border-radius:var(--r-sm);height:24px;width:24px}.skeleton-session{align-items:flex-start;display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.skeleton-project .skeleton-content{margin-left:0;padding:var(--space-5)}.skeleton-document .skeleton-content{margin-left:0;padding:var(--space-4)}.skeleton-document .skeleton-header{align-items:flex-start}@media (max-width:768px){.skeleton-timeline-dot{height:24px;left:-32px;width:24px}.skeleton-content{margin-left:var(--space-8);padding:var(--space-3)}.skeleton-header{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.skeleton-actions{align-self:flex-end}}@media (max-width:480px){.skeleton-timeline-dot{height:20px;left:-24px;width:20px}.skeleton-content{margin-left:var(--space-6)}}@media (prefers-contrast:high){.skeleton-card>*{background:currentColor;opacity:.3}}@media (prefers-reduced-motion:reduce){.skeleton-card:before,.skeleton-card>*{animation:none}.skeleton-card>*{opacity:.7}}.topbar{background-color:#22395d;box-shadow:0 2px 8px #0000001a;color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:100}.wallet-pill{align-items:center;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;height:32px;padding:0 10px}.wallet-pill:hover{background:#ffffff24;transform:translateY(-1px)}.wallet-pill:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px}.wallet-pill-text{font-size:.85rem;line-height:1}.wallet-pill-label{font-size:.8rem;line-height:1;opacity:.9}.brand-logo{display:block;height:28px;width:auto}.topbar-content{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;height:64px;margin:0 auto;max-width:1200px;padding:0 24px}.topbar-left{align-items:center;display:flex}.topbar-center{display:none}.logo-button{align-items:center;background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:all .2s ease}.logo-button:hover{background-color:#ffffff1a;transform:translateY(-1px)}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.025em}.topbar-right{align-items:center;display:flex;gap:12px;grid-column:3;justify-self:end}.nav-link{background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 10px;position:relative}.nav-link:hover{background:#ffffff14}.nav-link:focus-visible{border-radius:6px;outline:2px solid #8ec5ff;outline-offset:2px}.pricing-tag{background:#ffffff1a;border:1px solid #fff3;border-radius:999px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:.3rem .6rem;transition:all .2s ease}.pricing-tag:hover{background:#ffffff29;transform:translateY(-1px)}.icon-button{align-items:center;background:#0000;border:none;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;height:44px;justify-content:center;position:relative;width:44px}.icon-button:hover{background:#ffffff1a}.icon-button:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px}.badge{background:#ff5a5f;border-radius:9px;color:#fff;font-size:11px;font-weight:700;height:18px;line-height:18px;min-width:18px;padding:0 4px;position:absolute;right:4px;top:4px}.avatar-button{align-items:center;background:#0000;border:1px solid #ffffff38;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;height:44px;justify-content:center;width:44px}.avatar-button:hover{background:#ffffff14}.avatar-button:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px}.avatar-circle{align-items:center;background:#fff;border-radius:999px;color:#22395d;display:inline-flex;font-size:.9rem;font-weight:700;height:28px;justify-content:center;width:28px}.user-info{align-items:center;display:flex;gap:.5rem}.user-email{color:#ffffffe6;font-size:.875rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{align-items:center;background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.logout-button:hover{background-color:#ffffff1a;transform:translateY(-1px)}.account-menu{background:#fff;border-radius:10px;box-shadow:0 8px 24px #0000002e;color:#22395d;min-width:200px;padding:8px;position:absolute;right:24px;top:64px;z-index:110}.menu-item{background:#0000;border:none;border-radius:8px;color:inherit;cursor:pointer;font-weight:600;padding:10px 12px;text-align:left;width:100%}.menu-item:focus-visible,.menu-item:hover{background:#f0f4fa;outline:none}@media (max-width:1024px){.topbar-content{padding:0 16px}}@media (max-width:767px){.topbar-content{grid-template-columns:auto 1fr auto;height:56px;padding:0 12px}.account-text,.logout-text,.topbar-center{display:none}.user-email{max-width:120px}.logo-text{font-size:1.125rem}}.hamburger-button{align-items:center;background:#0000;border:none;border-radius:999px;color:#fff;display:none;height:44px;justify-content:center;width:44px}.hamburger-button:hover{background:#ffffff1a}.hamburger-button:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px}@media (max-width:767px){.hamburger-button{display:inline-flex}}.mobile-drawer{background:#1e2f4f;inset:0 0 0 auto;position:fixed;transform:translateX(100%);transition:transform .25s ease;width:300px;z-index:120}.mobile-drawer.open{transform:translateX(0)}.mobile-drawer-content{display:flex;flex-direction:column;gap:8px;padding:16px}.mobile-nav-group{display:flex;flex-direction:column;gap:4px}.mobile-nav-link{background:#0000;border:none;border-radius:8px;color:#fff;font-weight:600;padding:10px 12px;text-align:left}.mobile-nav-link:focus-visible,.mobile-nav-link:hover{background:#ffffff1a;outline:none}.mobile-nav-link.active{background:#ffffff26}.mobile-nav-sep{background:#fff3;height:1px;margin:6px 0}.app-layout{background-color:var(--color-bg);display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem;width:100%}@media (max-width:640px){.main-content{padding:1rem}}@media (max-width:768px){.main-content{margin-left:0;padding:var(--space-4) var(--space-3)}.main-content.sidebar-collapsed{margin-left:0}}@media (max-width:480px){.main-content{padding:var(--space-3) var(--space-2)}}.content-container{margin:0 auto;max-width:1200px;width:100%}.main-content{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.main-content{scroll-behavior:auto;transition:none}}.main-content:focus{outline:none}@media (prefers-contrast:high){.main-content{border-left:2px solid var(--hc-border)}}.app-layout.has-topbar{padding-top:var(--topbar-height)}.app-layout.has-sidebar{padding-left:var(--sidebar-width)}.app-layout.has-sidebar.sidebar-collapsed{padding-left:var(--sidebar-collapsed)}.app-main{margin:0 auto;max-width:var(--content-max-width);min-height:calc(100vh - var(--topbar-height));padding:var(--space-6);width:100%}.mobile-overlay{animation:fadeIn var(--transition-fast) ease forwards;background-color:#00000080;bottom:0;left:0;opacity:0;position:fixed;right:0;top:var(--topbar-height);z-index:var(--z-modal)}@media (max-width:1024px){.app-layout.has-sidebar,.app-layout.has-sidebar.sidebar-collapsed{padding-left:0}.app-layout.mobile-menu-open .sidebar{transform:translateX(0)}}@media (max-width:768px){.app-main{padding:var(--space-4)}}@media (max-width:480px){.app-main{padding:var(--space-3)}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.create-project-modal{max-height:90vh;max-width:600px;min-height:auto;overflow-y:auto}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;overflow-y:auto;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close-btn{align-items:center;background:#0000000d;border:none;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s ease;width:40px;z-index:10}.modal-close-btn:hover{background:#0000001a;color:#374151;transform:scale(1.05)}.modal-close-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.create-project-form{display:flex;flex:1 1;flex-direction:column;padding:2rem}.form-header{margin-bottom:1.5rem;text-align:center}.form-header h2{color:#111827;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:0 0 .5rem}.form-header p{color:#6b7280;font-size:1rem;font-weight:400;line-height:1.5;margin:0}.error-message{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:12px;color:#dc2626;display:flex;font-size:.9rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.project-form{display:flex;flex-direction:column}.form-group{margin-bottom:2rem}.form-label{color:#374151;display:block;font-size:1rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.75rem}.required{color:#dc2626;font-weight:700}.form-input{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#111827;font-family:inherit;font-size:1rem;font-weight:400;padding:1rem 1.25rem;transition:all .2s ease;width:100%}.form-input:focus{border-color:#0d9488;box-shadow:0 0 0 4px #0d94881a;outline:none;transform:translateY(-1px)}.form-input:disabled{background-color:#f9fafb;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.form-input::placeholder{color:#9ca3af;font-weight:400}.progress-indicator{align-items:center;display:flex;gap:1rem;justify-content:center;margin:1rem 0;padding:0 1rem}.progress-step{gap:.5rem;max-width:120px}.progress-step:not(:last-child):after{background:#e5e7eb;content:"";height:2px;left:calc(50% + 20px);position:absolute;right:calc(-50% + 20px);top:16px;z-index:1}.progress-step.completed:not(:last-child):after{background:#10b981}.step-number{background:#f3f4f6;border:2px solid #e5e7eb;color:#6b7280;font-size:.875rem;height:32px;transition:all .2s ease;width:32px}.progress-step.active .step-number{background:#3b82f6;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.progress-step.completed .step-number{background:#10b981;border-color:#10b981}.step-label{color:#6b7280;font-size:.75rem;line-height:1.2}.progress-step.active .step-label{color:#3b82f6}.progress-step.completed .step-label{color:#10b981}.radio-group{align-items:stretch;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.radio-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:1rem;justify-content:flex-start;min-height:56px;padding:1rem 1.5rem;position:relative;transition:all .2s ease}.radio-option:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.radio-option input[type=radio]{accent-color:#0d9488;cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.radio-option input[type=radio]:checked+.radio-label{color:#0d9488;font-weight:600}.radio-option:has(input:checked){background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-color:#0d9488;box-shadow:0 4px 12px #0d948826}.radio-label{align-items:center;color:#374151;display:flex;flex:1 1;font-size:1rem;font-weight:500;line-height:1.2;text-align:left;transition:all .2s ease}.location-input{animation:slideDown .3s ease-out;margin-top:1rem}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:100px;opacity:1;transform:translateY(0)}}.location-input .form-input{background:#f0fdfa;border-color:#0d9488}.custom-financing-input{animation:slideDown .3s ease-out;margin-top:1rem}.custom-financing-input .form-input{background:#f0fdfa;border-color:#0d9488}.form-content{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;max-height:400px;overflow-y:auto}.form-actions{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:1.5rem}.action-buttons,.nav-buttons{display:flex;gap:.75rem}.btn{border:2px solid #0000;border-radius:12px;font-size:1rem;gap:.5rem;min-width:130px;padding:.875rem 1.75rem;transition:all .2s ease;white-space:nowrap}.btn:disabled{transform:none!important}.btn-secondary{background:#fff;border-color:#e5e7eb;color:#6b7280}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-primary{background:linear-gradient(135deg,#0d9488,#0f766e);border-color:#0d9488;box-shadow:0 4px 12px #0d94884d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0f766e,#134e4a);box-shadow:0 6px 20px #0d948866;transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:0 2px 8px #0d94884d;transform:translateY(0)}.loading-spinner{height:18px;width:18px}.create-project-container{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;margin:1rem 0}.create-project-container .create-project-form{padding:2rem}.create-project-container .form-header{text-align:left}.create-project-container .header-icon{margin-bottom:1rem}@media (max-width:640px){.modal-overlay{padding:1rem}.modal-content{border-radius:16px;max-height:95vh}.create-project-form{padding:2rem 1.5rem}.form-header h2{font-size:1.5rem}.form-header p{font-size:1rem}.header-icon{height:56px;margin-bottom:1rem;width:56px}.form-actions{flex-direction:column;gap:1rem}.action-buttons,.nav-buttons{justify-content:center;width:100%}.btn{min-width:auto;width:100%}.modal-close-btn{height:36px;right:16px;top:16px;width:36px}.progress-indicator{gap:.5rem;padding:0}.progress-step{max-width:80px}.step-label{font-size:.6rem}}@media (max-width:480px){.create-project-form{padding:1.5rem 1rem}.form-header h2{font-size:1.375rem}.header-icon{height:48px;width:48px}}.project-list-container{background-color:var(--color-bg-secondary);border:1px solid var(--color-divider);border-radius:8px;padding:var(--spacing-lg)}.project-list-header{margin-bottom:var(--spacing-lg)}.project-list-header h3{color:var(--color-text);font-size:1.25rem;font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0}.project-list-header p{color:var(--color-text-secondary);font-size:.875rem;margin:0}.project-list{margin:0 auto;max-width:1200px;width:100%}.project-section{margin-bottom:3rem}.project-section:last-child{margin-bottom:0}.section-header{text-align:left}.section-title{color:var(--color-text);font-size:1.875rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.section-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0;opacity:.8}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.project-card{background:#fff;border:1px solid var(--color-divider);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;min-height:200px;overflow:hidden;padding:0;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.project-card:hover{border-color:var(--color-accent);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transform:translateY(-4px)}.project-card:focus{outline:2px solid var(--color-accent);outline-offset:2px}.project-card:active{transform:translateY(-2px)}.project-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1.5rem 1.5rem 0}.project-icon{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:12px;color:#fff;flex-shrink:0;height:48px;justify-content:center;width:48px}.project-icon,.project-status{align-items:center;display:flex}.project-status{border-radius:20px;font-size:.875rem;font-weight:500;gap:.5rem;padding:.375rem .75rem;text-transform:capitalize}.project-status.status-warning{background:#fef3c7;color:#92400e}.project-status.status-success{background:#d1fae5;color:#065f46}.project-status.status-processing{background:#dbeafe;color:#1e40af}.project-status.status-muted{background:#f3f4f6;color:#6b7280}.project-status.status-default{background:var(--color-background-secondary);color:var(--color-text-secondary)}.project-card-body{display:flex;flex:1 1;flex-direction:column;gap:1rem;margin-bottom:.5rem;padding:0 1.5rem}.project-name{color:var(--color-text);font-size:1.25rem;font-weight:600;line-height:1.3;word-break:break-word}.project-type{color:var(--color-text-secondary);font-size:.875rem;margin:0;opacity:.8}.project-meta{display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding-bottom:.5rem}.meta-item{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.875rem;gap:.5rem}.meta-item svg{flex-shrink:0;opacity:.6}.project-card-footer{border-top:1px solid var(--color-divider);margin-top:1rem;padding:1.5rem}.project-actions{align-items:center;display:flex;gap:.75rem;justify-content:flex-end}.action-button{align-items:center;background:#0000;border:1px solid;border-radius:6px;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.8125rem;font-weight:500;gap:.375rem;min-height:32px;padding:.5rem .75rem;text-decoration:none;transition:all .2s ease}.action-button:disabled{cursor:not-allowed;opacity:.5}.action-button.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.action-button.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}.action-button.secondary{border-color:var(--color-divider);color:var(--color-text-secondary)}.action-button.secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px)}.action-button.danger{border-color:var(--color-error);color:var(--color-error)}.action-button.danger:hover:not(:disabled){background:var(--color-error);color:#fff;transform:translateY(-1px)}.action-button svg{flex-shrink:0}.action-button svg[data-lucide=loader-2]{animation:spin 1s linear infinite}.empty-state{color:var(--color-text-secondary);padding:4rem 2rem;text-align:center}.empty-icon{margin-bottom:1.5rem;opacity:.6}.empty-state h3{color:var(--color-text);font-size:1.5rem;font-weight:600;margin:0 0 .75rem}.empty-state p{font-size:1rem;line-height:1.5;margin:0 auto;max-width:400px}.error-container{color:var(--color-text-secondary);padding:4rem 2rem;text-align:center}.error-icon{color:var(--color-error);margin-bottom:1.5rem}.error-container h3{color:var(--color-text);font-size:1.5rem;font-weight:600;margin:0 0 .75rem}.error-container p{font-size:1rem;line-height:1.5;margin:0 auto 2rem;max-width:400px}.retry-button{align-items:center;background:var(--color-accent);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;height:40px;justify-content:center;min-width:120px;padding:.75rem 1.5rem;transition:all .2s ease}.retry-button:hover{background:var(--color-accent-hover);transform:scale(1.05)}.retry-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width:768px){.projects-grid{gap:1rem;grid-template-columns:1fr}.project-card{min-height:180px}.project-card-header{padding:1.25rem 1.25rem 0}.project-card-body{padding:0 1.25rem}.project-card-footer{padding:1rem 1.25rem 1.25rem}.project-actions{align-items:stretch;flex-direction:column;gap:.375rem}.action-button{justify-content:center;padding:.625rem}.section-header{margin-bottom:1.5rem}.section-title{font-size:1.5rem}}@media (max-width:480px){.project-card-header{align-items:flex-start;flex-direction:column;gap:1rem}.project-status{align-self:flex-end}.project-meta{gap:.375rem}.meta-item{font-size:.8125rem}}.project-status svg[data-lucide=loader-2]{animation:spin 1s linear infinite}.dashboard{margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);padding:2rem;width:100%}.dashboard-header{margin-bottom:2rem}.header-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.header-text h1{color:var(--color-text);font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.header-text p{color:var(--color-text-secondary);font-size:1.125rem;margin:0;opacity:.8}.create-form-section{margin-bottom:3rem}.form-container{background:#fff;border:1px solid var(--color-divider);border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:2rem}.form-container h2{align-items:center;color:var(--color-text);display:flex;font-size:1.5rem;font-weight:600;gap:.75rem;margin:0 0 1.5rem}.form-container h2:before{content:"✨";font-size:1.25rem}.projects-section{width:100%}@media (max-width:768px){.dashboard{padding:1.5rem}.header-content{align-items:stretch;flex-direction:column;gap:1.5rem}.header-text h1{font-size:2rem}.header-text p{font-size:1rem}.form-container{padding:1.5rem}.form-container h2{font-size:1.375rem}}@media (max-width:480px){.dashboard{padding:1rem}.header-text h1{font-size:1.75rem}.form-container{padding:1.25rem}}.project-meta-pills{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--mint-border,#e5e7eb);border-radius:999px;cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:min(680px,55vw);padding:6px 8px;row-gap:6px}.project-meta-pills:hover{background:#11182705}.meta-pill{align-items:center;background:#f5f6f8;background:var(--mint-chip-bg,#f5f6f8);border-radius:999px;color:#111;display:inline-flex;gap:6px;max-width:240px;padding:4px 8px}.meta-pill.muted{opacity:.7}.pill-label{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-meta-pills:focus{outline:2px solid #22c55e;outline:2px solid var(--mint-focus,#22c55e);outline-offset:2px}.overflow-pill{background:#eef2ff;color:#22395d}.details-chip{background:#f7f9ff;border-color:#e6eef6;border-radius:10px}@media (max-width:1199px){.project-meta-pills{max-width:100%}}@media (min-width:1200px){.project-meta-pills{gap:6px;padding:6px 8px}.meta-pill{padding:3px 8px}}@media (max-width:767px){.project-meta-pills{gap:6px;padding:6px 10px}.pill-label{font-size:13px}}.slc-grid{display:block}.slc-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;padding:12px}.slc-section-header{align-items:center;border-radius:8px;display:flex;justify-content:space-between;padding:6px 8px}.slc-section-header:hover{background:#f3f4f6}.slc-section-header h4{color:#111827;font-size:.95rem;font-weight:600;margin:0}.slc-count{background:#e5e7eb;border-radius:9999px;color:#374151;font-size:.75rem;padding:2px 8px}.slc-title{align-items:center;display:inline-flex;gap:6px}.slc-rows{margin-top:8px}.slc-empty{background:#fff;border:1px dashed #e5e7eb;border-radius:8px;color:#6b7280;font-size:.875rem;padding:12px;text-align:center}.slc-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:10px;height:56px;margin-bottom:8px;padding:0 10px;transition:box-shadow .15s,transform .15s,background .15s}.slc-row:hover{background:#fafafb;box-shadow:0 1px 3px #0000000d}.slc-row:focus{box-shadow:0 0 0 2px #6366f159;outline:none}.slc-row.row-dragging{box-shadow:0 6px 12px #00000014;transform:scale(.98)}.slc-grip{align-items:center;border-radius:6px;display:inline-flex;height:28px;justify-content:center;width:28px}.slc-dot{border-radius:9999px;display:inline-block;height:8px;width:8px}.slc-num{color:#111827;font-weight:600}.slc-chip--green{border:1px solid #a7f3d0}.slc-chip--gray{border:1px solid #e5e7eb}.slc-meta{align-items:center;color:#6b7280;display:inline-flex;font-size:.8125rem;gap:6px}.slc-dup{background:#fef9c3;border-radius:9999px;color:#854d0e;padding:2px 6px}.slc-spacer{flex:1 1}.slc-more{align-items:center;border-radius:6px;display:inline-flex;height:30px;justify-content:center;width:30px}.slc-more:hover{background:#f3f4f6}.drawer-overlay{background:#0f172a59;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:1200}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer-panel{background:#fff;box-shadow:-8px 0 24px #1018281f;display:flex;flex-direction:column;height:100vh;max-width:92vw;position:fixed;right:-640px;top:0;transition:right .25s ease;width:640px;z-index:1210}.drawer-panel.open{right:0}.drawer-header{align-items:center;border-bottom:1px solid #eef2f7;display:flex;justify-content:space-between;padding:16px 20px}.drawer-content{flex:1 1;overflow-y:auto;padding:16px 20px}.drawer-footer{border-top:1px solid #eef2f7;display:flex;gap:8px;justify-content:flex-end;padding:12px 20px}.icon-btn{background:#0000;border:none;border-radius:6px;cursor:pointer;padding:6px}.icon-btn:hover{background:#f6f7fb}.error-banner{align-items:center;background:#fdecea;border:1px solid #fadbd8;border-radius:8px;color:#c0392b;display:flex;gap:8px;margin-bottom:12px;padding:10px 12px}.form-grid{grid-gap:12px 14px;display:grid;gap:12px 14px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{color:#22395d;font-size:.9rem}.form-group input,.form-group select{border:1px solid #e1e5ef;border-radius:6px;font-size:.95rem;padding:10px}.form-group input:focus,.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group.span-2{grid-column:span 2}@media (max-width:720px){.drawer-panel{right:-100%;width:100%}.form-grid{grid-template-columns:1fr}.form-group.span-2{grid-column:span 1}}.project-page{background:#fff;border-radius:0 0 12px 12px;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.project-header-unified{border-bottom:1px solid #e1e5ef;display:flex;flex-direction:column;gap:12px;margin-bottom:3rem;padding:24px 0}.project-header-top{align-items:center;display:flex;justify-content:space-between}.project-header-bottom{grid-column-gap:16px;align-items:center;column-gap:16px;display:grid;grid-template-columns:auto 1fr}.left-cluster{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.project-meta-area{align-items:center;display:flex;justify-content:flex-end;margin-left:auto;width:100%}.project-info-line{align-items:center;display:flex;flex:1 1;gap:24px;margin-left:16px}.project-name{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0;word-break:keep-all}.project-metadata{align-items:center;display:flex;gap:16px}.sessions-count{color:var(--text-secondary);font-size:.9rem}.sessions-count,.status-badge{align-items:center;display:flex;font-weight:500;gap:6px}.status-badge{border-radius:20px;font-size:.8125rem;padding:6px 12px}.status-badge.status-success{background:#d1fae5;color:#065f46}.status-badge.status-warning{background:#fef3c7;color:#d97706}.status-badge.status-muted{background:#f1f5f9;color:#64748b}.quick-actions{display:flex;gap:12px}.generation-progress-section{margin-bottom:3rem}.generation-card-inline{background:linear-gradient(135deg,#475569,#64748b);border-radius:20px;box-shadow:0 8px 32px #47556926;color:#fff;display:flex;flex-direction:column;gap:12px;overflow:visible;padding:1.5rem;position:relative}.progress-header{align-items:center;display:flex;gap:12px;justify-content:space-between;line-height:24px;margin-bottom:16px;min-width:0;position:relative;z-index:1}.progress-header .spinning,.progress-header .spinning svg{height:24px;width:24px}.progress-step{display:block;font-weight:500;line-height:1.5;min-width:0;overflow:hidden;padding:1px 4px;text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.progress-percentage{font-size:1rem;font-weight:600;min-width:52px;text-align:right}.progress-bar{background:#fff3;border-radius:999px;height:8px;position:relative;z-index:0}.progress-fill{background:linear-gradient(90deg,#ffffffe6,#fff);border-radius:8px;overflow:hidden;position:relative;transition:width .5s ease-in-out}.progress-fill:after{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff6 50%,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.generation-card-inline .progress-header{align-items:center;display:flex;gap:12px;justify-content:flex-start;margin-bottom:16px;min-width:0;position:relative;z-index:1}.generation-card-inline .progress-step{display:block;flex:1 1 auto;font-size:1.0625rem;font-weight:600;line-height:24px;max-width:none;min-width:0;overflow:hidden;padding:0 4px;text-overflow:ellipsis;white-space:nowrap}.generation-card-inline .progress-step:after,.generation-card-inline .progress-step:not(:last-child):after{content:none!important;display:none!important}.generation-card-inline .progress-percentage{font-size:1rem;font-weight:600;line-height:24px;margin-left:auto;min-width:52px;text-align:right}.generation-card-inline .progress-bar{background:#ffffff38;border-radius:999px;height:10px;overflow:hidden;position:relative;z-index:0}.generation-card-inline .progress-fill{background:#fff!important;border-radius:999px;box-shadow:none;display:block;margin:0}.generation-card-inline .progress-fill:after{content:none!important;display:none!important}.progress-time{font-size:.9rem;opacity:.9;text-align:center}.progress-footer{align-items:center;display:flex;justify-content:flex-end;margin-top:8px}.cancel-generation-btn{background:#fff3!important;border:1px solid #ffffff4d!important;color:#fff!important;font-size:.875rem;padding:6px 12px}.cancel-generation-btn:hover{background:#ffffff4d!important;border-color:#ffffff80!important;transform:none!important}.session-management-section{margin-bottom:3rem}.section-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.section-title-area h3{color:var(--text-primary);font-size:1.375rem;font-weight:600;margin:0 0 .5rem}.section-title-area p{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0}.section-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.generate-button{background:linear-gradient(135deg,#475569,#64748b);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.generate-button:hover{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 8px 25px #47556940;transform:translateY(-1px)}.segmented{background:#f3f4f6;border-radius:10px;display:inline-flex;gap:4px;padding:4px}.seg-btn{background:#0000;border:0;border-radius:8px;color:#4b5563;cursor:pointer;font-weight:600;padding:6px 10px}.seg-btn.active{background:#fff;box-shadow:0 1px 2px #0000000d;color:#111827}.sessions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.sessions-empty-state{background:#fafbfc;border:2px dashed #e1e5ef;border-radius:20px;padding:4rem 2rem;text-align:center}.sessions-empty-state .empty-illustration{margin-bottom:2rem;position:relative}.sessions-empty-state .empty-glow{background:radial-gradient(circle,#4755691a 0,#0000 70%);border-radius:50%;height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60px}.sessions-empty-state h4{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.sessions-empty-state p{color:var(--text-secondary);line-height:1.6;margin:0 auto 2rem;max-width:400px}.document-history-section,.section-header{margin-bottom:2rem}.loading-documents,.no-documents{background:#fafbfc;border:2px dashed #e1e5ef;border-radius:20px;padding:3rem 2rem;text-align:center}.loading-documents{align-items:center;color:var(--text-secondary);display:flex;gap:12px;justify-content:center}.no-documents-content .empty-illustration{margin-bottom:2rem;position:relative}.no-documents-content .empty-glow{background:radial-gradient(circle,#4755691a 0,#0000 70%);border-radius:50%;height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60px}.no-documents-content h4{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.no-documents-content p{color:var(--text-secondary);line-height:1.6;margin:0}.documents-history-list{display:flex;flex-direction:column;gap:1rem}.document-history-card{align-items:center;background:#fff;border:1px solid #e1e5ef;border-radius:16px;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.document-history-card:hover{border-color:#64748b;box-shadow:0 4px 12px #4755691a;transform:translateY(-1px)}.document-icon{align-items:center;background:linear-gradient(135deg,#475569,#64748b);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.document-info{flex:1 1}.document-name{font-size:1rem;margin:0 0 .5rem}.document-name strong{color:var(--text-primary);font-weight:600}.document-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;gap:12px}.version-number{background:#e0f2fe;border-radius:6px;color:#0369a1;font-weight:500;padding:2px 8px}.document-actions{flex-shrink:0}@media (max-width:768px){.project-page{padding:1rem}.project-header-unified{align-items:stretch;flex-direction:column;gap:12px;padding:20px 0}.project-header-top{align-items:flex-start}.project-header-bottom{align-items:stretch;display:flex;flex-direction:column;gap:12px}.project-meta-area{justify-content:flex-start;margin-left:0}.project-info-line{align-items:flex-start;flex-direction:column;gap:12px;margin-left:0}.project-metadata{flex-wrap:wrap;gap:12px}.section-header{align-items:stretch;flex-direction:column;gap:16px}.section-actions{justify-content:stretch}.sessions-grid{grid-template-columns:1fr}.document-history-card{flex-direction:column;gap:12px;text-align:center}.document-meta{justify-content:center}}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:48px 32px;text-align:center}.error-icon,.loading-icon{color:var(--text-secondary);margin-bottom:24px}.loading-icon{animation:spin 1s linear infinite}.error-container h3,.loading-container h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 8px}.error-container p,.loading-container p{color:var(--text-secondary);margin:0 0 24px}.spinning{animation:spin 1s linear infinite}.back-button{flex-shrink:0}.session-editor-page{background:#f8fafc;padding:24px 24px 16px}.page-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:16px 0 12px}.back-link{background:none;border:none;color:#1f2937;cursor:pointer;font-weight:600}.back-link.hidden{left:-9999px;position:absolute}.page-title{font-size:1.25rem;font-weight:700;margin:0}.page-title.big{font-size:1.75rem;margin:6px 0}.header-pills.left{justify-content:flex-start}.hero-left{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.hero-card{background:#fff;border:none;border-radius:12px;margin:12px 0 16px;padding:12px 16px}.hero-top{align-items:center;display:flex;gap:12px;justify-content:space-between}.hero-actions{align-items:center;display:inline-flex;gap:8px}.header-pills{display:flex;gap:8px}.phase-pill{background:#eef2ff;border:1px solid #c7d2fe;border-radius:9999px;color:#3730a3}.dup-pill,.phase-pill{font-size:12px;padding:3px 8px}.dup-pill{background:#fef9c3;border:1px solid #fde68a;border-radius:9999px;color:#854d0e}.content{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:280px 1fr;padding-bottom:24px}.meta{align-self:stretch;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a;height:100%;padding:16px;position:-webkit-sticky;position:sticky;top:72px}.title{margin:0 0 8px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.field input,.field select{border:1px solid #e5e7eb;border-radius:8px;padding:8px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.chip{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;color:#374151;font-size:12px;padding:3px 8px}.chip-green{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.chip-gray{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.chip-yellow{background:#fef9c3;border-color:#fde68a;color:#854d0e}.sources-header{font-weight:600;margin-bottom:10px}.source-actions{display:flex;gap:8px;margin-top:10px}.empty{color:#6b7280;font-size:12px}.source-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.source-item{align-items:center;display:flex;font-size:13px;gap:8px}.linklike{border:none;color:#0f172a;padding:0;text-decoration:underline}.linklike,.unlink{background:none;cursor:pointer}.unlink{border:1px solid #e5e7eb;border-radius:6px;margin-left:auto;padding:2px 6px}.add-btn{align-items:center;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;gap:6px;padding:6px 10px}.editor{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000a;height:100%;padding:16px}.editor,.editor-field{display:flex;flex-direction:column}.editor-field{gap:8px;margin-bottom:12px}.editor-field textarea{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;line-height:1.6;min-height:160px;padding:10px;width:100%}.editor-grow{flex:1 1 auto}.editor-grow textarea{height:100%;min-height:28rem}.editor-notes textarea{min-height:12rem}.bottombar{align-items:center;background:#f8fafcf2;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -2px 6px #0000000d;display:flex;gap:12px;justify-content:space-between;left:0;margin-top:16px;padding:12px 16px;position:-webkit-sticky;position:sticky;right:0}.sticky{background:#f8fafc;padding:8px 0;position:static;z-index:10}.slc-chip{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;font-size:.75rem;font-weight:600;padding:3px 8px}.slc-chip--green{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.slc-chip--gray{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.slc-dup{font-size:.75rem;font-weight:600}.slc-dup--yellow{background:#fef9c3;border:1px solid #fde68a;border-radius:9999px;color:#854d0e;padding:2px 6px}.linker{border-top:1px solid #e5e7eb;margin-top:10px;padding-top:8px}.linker-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;max-height:160px;overflow:auto;padding:0}.linker-item{font-size:13px}.linker-actions{display:flex;justify-content:flex-end;margin-top:8px}.bottombar .actions{display:flex;gap:8px}.onboarding-flow{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.onboarding-container{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:600px;overflow:hidden;width:100%}.onboarding-progress{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:2rem}.progress-steps{display:flex;justify-content:space-between;margin-bottom:1rem;position:relative}.progress-step{flex:1 1;flex-direction:column}.progress-step,.step-number{align-items:center;display:flex;position:relative}.step-number{background:#e9ecef;border-radius:50%;color:#6c757d;font-weight:600;height:40px;justify-content:center;margin-bottom:.5rem;transition:all .3s ease;width:40px;z-index:2}.progress-step.active .step-number{background:#007bff;color:#fff}.progress-step.completed .step-number{background:#28a745;color:#fff}.step-label{color:#6c757d;font-size:.875rem;font-weight:500;line-height:1.3;max-width:160px;text-align:center;white-space:normal;word-break:break-word}.progress-step.active .step-label{color:#007bff;font-weight:600}.progress-step.completed .step-label{color:#28a745}.progress-bar{background:#e9ecef;border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#007bff,#28a745);border-radius:2px;height:100%;transition:width .3s ease}.onboarding-content{padding:2.5rem}.step-container{max-width:100%}.step-header{margin-bottom:2rem;text-align:center}.step-title{color:#212529;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.step-subtitle{color:#6c757d;font-size:1rem;line-height:1.5}.step-form{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#495057;display:block;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input.error,.form-group select.error{border-color:#dc3545}.error-message{color:#dc3545;font-size:.875rem;font-weight:500;margin-top:.25rem}.step-navigation{align-items:center;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;margin-top:2rem;padding-top:2rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;justify-content:center;letter-spacing:.5px;min-width:120px;padding:.75rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.btn-success{background:#28a745;color:#fff}.btn-success:hover:not(:disabled){background:#1e7e34;transform:translateY(-1px)}.select-with-add{position:relative}.add-new-option{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;cursor:pointer;font-weight:500;margin-top:1rem;padding:.75rem 1rem;text-align:center;transition:all .3s ease}.add-new-option:hover{background:#f0f8ff;border-color:#007bff;color:#007bff}.add-new-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:1rem;padding:1.5rem}.add-new-form .form-group:last-child{margin-bottom:0}.add-form-actions{display:flex;gap:1rem;margin-top:1rem}.add-form-actions .btn{flex:1 1;min-width:auto}.section-separator{border:none;border-top:1px solid #e9ecef;margin:12px 0 16px}.info-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:1rem;padding:1rem}.info-card-title{color:#495057;font-size:1rem;font-weight:700;margin:0 0 .75rem}.info-row{display:flex;gap:1rem;justify-content:space-between;padding:.25rem 0}.info-label{color:#6c757d;font-weight:600}.info-value{color:#212529}.info-value.link{color:#0d6efd;text-decoration:none}.info-value.link:hover{text-decoration:underline}.relation-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem 1.25rem}.relation-title{color:#495057;font-size:1rem;font-weight:700;margin:0 0 .75rem}.radio-group{grid-gap:10px 16px;align-items:center;display:grid;gap:10px 16px;grid-template-columns:repeat(3,minmax(140px,1fr))}.radio-item{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.form-row{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr 1fr;margin-top:8px}.form-col .checkbox-label{align-items:center;color:#495057;display:inline-flex;font-weight:600;gap:8px}.form-col input[type=email]{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:.95rem;padding:.625rem .9rem;transition:all .2s ease;width:100%}.form-col input[type=email]:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.relation-card select{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:.95rem;padding:.625rem .9rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.relation-card select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.checkbox-label{align-items:center;color:#495057;display:inline-flex;font-weight:600;gap:8px}.checkbox-label input[type=checkbox]{margin:0}.checkbox-label span{white-space:nowrap}.admin-row{grid-column-gap:8px;align-items:center;column-gap:8px;display:grid;grid-template-columns:1fr auto}.admin-row .text-label{color:#495057;font-weight:600}.admin-row input[type=checkbox]{align-self:center;height:14px;justify-self:end;transform:scale(.85);transform-origin:center;width:14px}@media (max-width:700px){.radio-group{grid-template-columns:1fr 1fr}}@media (max-width:520px){.form-row,.radio-group{grid-template-columns:1fr}}@media (max-width:768px){.onboarding-flow{padding:1rem}.onboarding-content{padding:1.5rem}.step-title{font-size:1.5rem}.progress-steps{-webkit-overflow-scrolling:touch;flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:thin}.progress-steps::-webkit-scrollbar{height:6px}.progress-steps::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:3px}.progress-steps::-webkit-scrollbar-track{background:#0000}.progress-step{flex:0 0 auto;min-width:44px}.step-number{font-size:.95rem;height:32px;margin-bottom:0;width:32px}.step-label{display:none}.step-navigation{flex-direction:column;gap:1rem}.btn{width:100%}}.admin-centre-layout{grid-gap:16px;display:grid;gap:16px;grid-template-columns:240px 1fr}.admin-centre-sidebar{border-right:1px solid #eef2f7;padding-right:16px}.admin-centre-title{font-size:18px;margin:8px 0 12px;padding-left:8px}.admin-centre-content{padding:8px 4px}:root{--navy:#2c3e50;--mint:#2bc8a9;--mint-hover:#3cddb3;--coral:#e74c3c;--bg:#f7f8fa;--card:#f2f3f5;--color-surface:#fff;--color-surface-elevated:#fdfdfd;--color-surface-muted:var(--card);--text-primary:#2c3e50;--text-secondary:#546e7a;--text-muted:#78909c;--text-inverse:#fff;--border-light:#e1e5ef;--border-medium:#cfd8dc;--border-dark:#90a4ae;--success:#2e7d32;--warning:#f57c00;--error:var(--coral);--info:#1976d2;--focus-ring:0 0 0 3px #2bc8a94d;--focus-ring-error:0 0 0 3px #e74c3c4d;--font-heading:"Montserrat","Segoe UI",system-ui,-apple-system,sans-serif;--font-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--r-sm:0.25rem;--r-md:0.375rem;--r-card:0.5rem;--r-lg:0.75rem;--r-pill:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-card:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-floating:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-overlay:0 25px 50px -12px #00000040;--topbar-height:56px;--sidebar-width:240px;--sidebar-collapsed:64px;--z-base:0;--z-elevated:10;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal:1040;--z-popover:1050;--z-tooltip:1060;--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--button-height-sm:32px;--button-height-md:40px;--button-height-lg:48px;--button-padding-x:1rem;--button-padding-y:0.5rem;--hc-border:currentColor;--hc-background:ButtonFace;--hc-text:ButtonText}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;height:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-weight:var(--weight-regular);height:100%;line-height:1.5;line-height:var(--leading-normal);margin:0;padding:0}body,h1,h2,h3,h4,h5,h6{color:#2c3e50;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:Montserrat,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font-heading);font-weight:600;font-weight:var(--weight-semibold);line-height:1.25;line-height:var(--leading-tight)}h1{font-size:2.25rem;font-size:var(--text-4xl)}h2{font-size:1.875rem;font-size:var(--text-3xl)}h3{font-size:1.5rem;font-size:var(--text-2xl)}h4{font-size:1.25rem;font-size:var(--text-xl)}h5{font-size:1.125rem;font-size:var(--text-lg)}h6{font-size:1rem;font-size:var(--text-base)}a{color:var(--color-primary);text-decoration:none;transition:color .15s ease;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}:focus-visible{box-shadow:var(--focus-ring-offset),0 0 0 3px #2bc8a94d;box-shadow:var(--focus-ring-offset),var(--focus-ring);outline:none}::selection{background-color:#2bc8a9;background-color:var(--mint);color:#fff;color:var(--text-inverse)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:#cfd8dc;background:var(--border-medium);border-radius:9999px;border-radius:var(--r-pill)}::-webkit-scrollbar-thumb:hover{background:#78909c;background:var(--text-muted)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.focus-visible:focus{box-shadow:0 0 0 3px #2bc8a94d;box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0ms;--transition-base:0ms;--transition-slow:0ms}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--text-primary:#000;--text-secondary:#000;--border-light:#000;--border-medium:#000;--shadow-card:none;--shadow-floating:none}}@media (prefers-color-scheme:dark){:root{--color-background:#1a1a1a}}.App{text-align:left}.loading-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--border-light);border:2px solid var(--border-light);border-radius:50%;border-top-color:var(--color-primary);height:24px;width:24px}.loading-spinner.large{border-width:4px;height:48px;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.App{padding:0}.loading-container{padding:var(--spacing-md)}.loading-container p{font-size:1rem;text-align:center}}
/*# sourceMappingURL=main.86821fe3.css.map*/