body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.App,.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin-top:60px;min-height:calc(100vh - 60px);padding:0}.main-navigation{background:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 2px 4px #0000001a;height:60px;left:0;position:fixed;right:0;top:0;z-index:1000}.nav-container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 1rem}.nav-brand .brand-link{color:#2c3e50;font-size:1.5rem;font-weight:700;text-decoration:none}.nav-menu{align-items:center;display:flex;gap:2rem}.nav-list{display:flex;gap:1rem;list-style:none;margin:0}.nav-link{border-radius:4px;color:#555;padding:.5rem 1rem;text-decoration:none;transition:color .2s ease}.nav-link:hover{background-color:#f8f9fa;color:#2c3e50}.nav-link.active{color:#3498db;font-weight:500}.nav-actions{align-items:center;display:flex;gap:1rem}.auth-buttons{display:flex;gap:.5rem}.user-menu-container{position:relative}.user-menu-trigger{align-items:center;background:none;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s ease}.user-menu-trigger:hover{background-color:#f8f9fa}.user-avatar{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:32px;justify-content:center;width:32px}.user-name{color:#333;font-size:.875rem}.dropdown-arrow{color:#666;font-size:.7rem}.user-menu-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:.25rem;min-width:200px;position:absolute;right:0;top:100%;z-index:1001}.user-menu-header{border-bottom:1px solid #eee;padding:.75rem 1rem}.user-email{color:#666;font-size:.75rem}.user-menu-list{list-style:none;margin:0;padding:.5rem 0}.user-menu-link{background:none;border:none;color:#333;cursor:pointer;display:block;padding:.5rem 1rem;text-align:left;text-decoration:none;transition:background-color .2s ease;width:100%}.user-menu-link:hover{background-color:#f8f9fa}.logout-link{color:#e74c3c}.menu-divider{background:#eee;height:1px;margin:.5rem 0}.mobile-menu-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:3px;padding:.5rem}.hamburger-line{background:#333;height:2px;transition:all .2s ease;width:20px}@media (max-width:768px){.mobile-menu-toggle{display:flex}.nav-menu{align-items:stretch;background:#fff;border-top:1px solid #ddd;box-shadow:0 4px 12px #00000026;flex-direction:column;left:0;opacity:0;padding:1rem;position:fixed;right:0;top:60px;transform:translateY(-100%);transition:all .3s ease;visibility:hidden}.nav-menu-active{opacity:1;transform:translateY(0);visibility:visible}.nav-list{flex-direction:column;gap:0;width:100%}.nav-link{border-bottom:1px solid #eee;padding:.75rem}.auth-buttons{gap:.75rem;margin-top:1rem}.auth-buttons .btn{width:100%}}.btn{align-items:center;background:#f8f9fa;border:none;border-radius:4px;color:#333;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-small{font-size:.8125rem;padding:.375rem .75rem}.btn-block{width:100%}.btn:disabled{cursor:not-allowed;opacity:.6}.page{margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);padding:2rem}.home-page h1{color:#2c3e50;margin-bottom:1rem}.lead{color:#666;font-size:1.125rem;margin-bottom:2rem}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.dashboard-card{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:inherit;display:block;padding:1.5rem;text-decoration:none;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}a.dashboard-card:hover{border-color:#bbb;box-shadow:0 4px 10px #00000014;transform:translateY(-1px)}a.dashboard-card:focus-visible{outline:2px solid #2c3e50;outline-offset:2px}.dashboard-card h3{color:#2c3e50;margin-bottom:1rem}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:2rem}.auth-form{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:400px;padding:2rem;width:100%}.auth-form h2{color:#2c3e50;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:.875rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.form-group input.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:.75rem;margin-top:.25rem}.checkbox-label{align-items:center;display:flex!important;font-weight:400!important;gap:.5rem}.checkbox-label input[type=checkbox]{width:auto!important}.auth-links{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem;text-align:center}.auth-links a{color:#3498db;text-decoration:none}.auth-links a:hover{text-decoration:underline}.separator{color:#999}.alert{border-radius:4px;margin-bottom:1rem;padding:.75rem}.alert-error{background:#ffeaea;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.profile-container{margin:0 auto;max-width:800px}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.profile-section{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:auto 1fr;margin-bottom:2rem}.profile-avatar{text-align:center}.avatar-placeholder{align-items:center;background:#3498db;border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:700;height:120px;justify-content:center;margin-bottom:1rem;width:120px}.profile-info h2{color:#2c3e50;margin-bottom:1.5rem}.profile-details{grid-gap:1rem;display:grid;gap:1rem}.detail-item{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:120px 1fr}.detail-label{color:#666;font-weight:500}.detail-value{color:#333}.profile-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions{display:flex;gap:1rem;margin-top:1rem}.settings-container{margin:0 auto;max-width:800px}.settings-section{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:2rem;padding:2rem}.settings-section h2{border-bottom:1px solid #eee;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:.5rem}.settings-group{grid-gap:1.5rem;display:grid;gap:1.5rem}.settings-item{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1rem 0}.settings-item:last-child{border-bottom:none}.settings-label{flex:1 1}.label-text{color:#333;display:block;font-weight:500;margin-bottom:.25rem}.label-description{color:#666;display:block;font-size:.875rem}.toggle-switch{width:auto!important}.select-input{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem}.settings-actions{margin-top:2rem;text-align:center}.about-container{margin:0 auto;max-width:800px}.about-hero{margin-bottom:3rem;text-align:center}.about-hero h1{color:#2c3e50;font-size:2.5rem;margin-bottom:1rem}.about-section{margin-bottom:3rem}.about-section h2{border-bottom:2px solid #3498db;color:#2c3e50;margin-bottom:1rem;padding-bottom:.5rem}.tech-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1.5rem}.tech-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.5rem;text-align:center}.tech-card h3{color:#3498db;margin-bottom:1rem}.tech-card ul{list-style:none;text-align:left}.tech-card li{color:#666;padding:.25rem 0}.features-list{grid-gap:1.5rem;display:grid;gap:1.5rem;margin-top:1.5rem}.feature-item h4{color:#3498db;margin-bottom:.5rem}.about-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.version-info{background:#f8f9fa;border-radius:4px;font-family:monospace;padding:1rem}.not-found-container{margin:0 auto;max-width:600px;padding:3rem 2rem;text-align:center}.error-code{color:#3498db;font-size:8rem;font-weight:700;line-height:1;margin-bottom:1rem}.not-found-container h1{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.not-found-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.helpful-links{border-top:1px solid #eee;margin-top:2rem;padding-top:2rem}.helpful-links ul{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;list-style:none}.helpful-links a{color:#3498db;padding:.5rem;text-decoration:none}.helpful-links a:hover{text-decoration:underline}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem}.loading-spinner-small{padding:1rem}.loading-spinner-large{padding:4rem}.spinner-container{margin-bottom:1rem}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-message{color:#666;font-size:.875rem}.error-boundary{align-items:center;display:flex;justify-content:center;min-height:50vh;padding:2rem}.error-boundary-content{max-width:600px;text-align:center}.error-boundary-content h2{color:#e74c3c;margin-bottom:1rem}.error-details{margin:2rem 0;text-align:left}.error-details summary{color:#3498db;cursor:pointer;margin-bottom:1rem}.error-stack{background:#f8f9fa;border-radius:4px;color:#666;font-size:.75rem;overflow-x:auto;padding:1rem;white-space:pre-wrap}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.breadcrumbs{background:#f8f9fa;border-bottom:1px solid #ddd;padding:1rem 2rem}.breadcrumb-list{list-style:none;margin:0 auto;max-width:1200px;padding:0}.breadcrumb-item,.breadcrumb-list{align-items:center;display:flex}.breadcrumb-link{border-radius:4px;color:#3498db;padding:.25rem .5rem;text-decoration:none;transition:background-color .2s ease}.breadcrumb-link:hover{background-color:#e3f2fd;text-decoration:underline}.breadcrumb-current{color:#666;font-weight:500;padding:.25rem .5rem}.breadcrumb-separator{color:#999;font-size:.875rem;margin:0 .5rem}.app-footer{background:#2c3e50;color:#ecf0f1;margin-top:auto;padding:3rem 0 1rem}.footer-container{margin:0 auto;max-width:1200px;padding:0 2rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.footer-section h3,.footer-section h4{color:#ecf0f1;margin-bottom:1rem}.footer-section p{color:#bdc3c7;line-height:1.6}.footer-links{list-style:none}.footer-links li{margin-bottom:.5rem}.footer-links a{color:#bdc3c7;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:#3498db}.footer-bottom{align-items:center;border-top:1px solid #34495e;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:1rem}.footer-version{color:#95a5a6;font-size:.875rem}@media (max-width:768px){.page{padding:1rem}.dashboard-grid,.profile-section{grid-template-columns:1fr}.profile-section{text-align:center}.detail-item{grid-template-columns:1fr;text-align:left}.detail-label{font-weight:700}.form-row{grid-template-columns:1fr}.about-actions,.auth-links,.form-actions,.not-found-actions,.profile-actions{flex-direction:column}.auth-links{gap:1rem}.separator{display:none}.footer-bottom{flex-direction:column;text-align:center}.error-code{font-size:4rem}}@media (max-width:480px){.nav-container{padding:0 .5rem}.page{padding:.5rem}.auth-form{padding:1.5rem}.settings-section{padding:1rem}.about-hero h1{font-size:2rem}.tech-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.fe4fa440.css.map*/