*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background-color:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--viewport-height-stable: 100vh;--viewport-height-dynamic: 100vh;--viewport-height-large: 100vh;--chrome-bottom-offset: 0px}@supports (height: 100svh){:root{--viewport-height-stable: 100svh}}@supports (height: 100dvh){:root{--viewport-height-dynamic: 100dvh;--viewport-height-large: 100dvh}}@supports (height: 100lvh){:root{--viewport-height-large: 100lvh}}html{overflow-x:clip}body{margin:0;min-width:320px;min-height:100vh}@media(max-width:767px){body{min-height:auto}}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}button,select{cursor:pointer;font-family:inherit}:root[data-theme=dark]{color:#fff;background-color:#000}[data-theme=dark] body{background-color:#000;color:#fff}.mobile-nav-button{display:none;width:40px;height:40px;background:transparent;border:none;color:#202124;cursor:pointer;transition:opacity .2s ease;align-items:center;justify-content:center;flex-shrink:0;padding:0;outline:none;-webkit-tap-highlight-color:transparent}.mobile-nav-button:hover{opacity:.7}.mobile-nav-button:active{opacity:.5}.mobile-nav-button svg{width:20px;height:auto}.mobile-nav-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background:#fff;box-shadow:-4px 0 12px #00000026;z-index:1001;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.mobile-nav-drawer.open{transform:translate(0)}.mobile-nav-header{display:flex;justify-content:flex-end;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.mobile-nav-close{width:40px;height:40px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mobile-nav-close:hover{background:#f1f5f9;color:#1e293b}.mobile-nav-close:active{transform:scale(.95)}.mobile-nav-items{flex:1;overflow-y:auto;padding:8px}.mobile-nav-item{display:block;width:100%;padding:14px 16px;margin-bottom:4px;border:none;background:transparent;color:#475569;font-size:15px;font-weight:500;text-align:left;border-radius:8px;cursor:pointer;transition:all .2s ease}.mobile-nav-item:hover{background:#f8fafc;color:#1e293b}.mobile-nav-item.active{background:#eff6ff;color:#1a73e8;font-weight:600}.mobile-nav-item:active{transform:scale(.98)}@media(max-width:768px){.mobile-nav-button{display:flex}.mobile-nav-button svg{width:18px}}[data-theme=dark] .mobile-nav-button{color:#fff}[data-theme=dark] .mobile-nav-drawer{background:#0a0a0a;box-shadow:-4px 0 12px #00000080}[data-theme=dark] .mobile-nav-header{border-bottom-color:#222}[data-theme=dark] .mobile-nav-header h2{color:#fff}[data-theme=dark] .mobile-nav-close{color:#888}[data-theme=dark] .mobile-nav-close:hover{background:#222;color:#fff}[data-theme=dark] .mobile-nav-item{color:#888}[data-theme=dark] .mobile-nav-item:hover{background:#111;color:#fff}[data-theme=dark] .mobile-nav-item.active{background:#1a1a1a;color:#fff}.error-page{background-color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px}.error-container{text-align:center;max-width:600px}.error-code{font-family:Google Sans Display,Arial,Helvetica,sans-serif;font-size:120px;font-weight:400;line-height:1;color:#dadce0;margin-bottom:24px;letter-spacing:-2px}.error-title{font-family:Google Sans Display,Arial,Helvetica,sans-serif;font-size:40px;font-weight:400;line-height:48px;color:#202124;margin-bottom:16px;letter-spacing:-.5px}.error-description{font-family:Google Sans Text,Arial,Helvetica,sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#5f6368;margin-bottom:40px}.error-actions{display:flex;gap:16px;justify-content:center;margin-bottom:32px}.error-button{font-family:Google Sans Text,Arial,Helvetica,sans-serif;font-size:16px;font-weight:500;padding:14px 32px;border-radius:4px;cursor:pointer;transition:all .2s ease;border:none;text-transform:none}.error-button.primary{background-color:#1a73e8;color:#fff}.error-button.primary:hover{background-color:#1557b0;box-shadow:0 4px 12px #1a73e84d}.error-button.secondary{background-color:transparent;color:#1a73e8;border:1px solid #dadce0}.error-button.secondary:hover{background-color:#f8f9fa;border-color:#1a73e8}.error-help{font-family:Google Sans Text,Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#5f6368}.error-help a{color:#1a73e8;text-decoration:none;border-bottom:1px solid rgba(26,115,232,.3);transition:border-color .2s ease}.error-help a:hover{border-bottom-color:#1a73e899}@media screen and (max-width:767px){.error-page{padding:40px 20px}.error-code{font-size:80px}.error-title{font-size:28px;line-height:36px}.error-description{font-size:16px;line-height:24px}.error-actions{flex-direction:column;gap:12px}.error-button{width:100%}}.upgrade-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.upgrade-modal{background:#fff;border-radius:12px;max-width:720px;width:100%;position:relative;box-shadow:0 20px 40px #0003}.upgrade-modal-fullscreen{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center;z-index:1000}.upgrade-modal-fullscreen .upgrade-modal-content{background:#fff;border-radius:12px;max-width:720px;width:90%;box-shadow:0 20px 60px #0000004d}.upgrade-modal-content{padding:2.5rem;text-align:center}.upgrade-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s,color .2s}.upgrade-modal-close:hover{background:#f0f0f0;color:#333}.upgrade-modal-icon{color:#2563eb;margin-bottom:1.5rem}.upgrade-modal-icon svg{width:64px;height:64px}.upgrade-modal-title{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0 0 .75rem}.upgrade-modal-description{color:#666;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.upgrade-modal-plans{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.upgrade-plan-card{background:#f8fafc;border-radius:12px;padding:1.5rem;text-align:left;border:2px solid transparent;position:relative;display:flex;flex-direction:column}.upgrade-plan-card.recommended{border-color:#2563eb;background:#f0f7ff}.recommended-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#2563eb;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.plan-header{margin-bottom:1rem}.plan-name{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem}.pricing-amount{margin-bottom:0}.pricing-amount .price{font-size:2rem;font-weight:700;color:#1a1a1a}.pricing-amount .period{font-size:.9rem;color:#666}.upgrade-modal-content .pricing-features{list-style:none;padding:0;margin:0 0 1rem;flex:1}.upgrade-modal-content .pricing-features li{padding:.4rem 0;color:#444;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.upgrade-modal-content .pricing-features li:before{content:"✓";color:#22c55e;font-weight:600}.plan-button{margin-top:auto}.plan-button.pro{background:#2563eb}.upgrade-modal-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.upgrade-modal-button{width:100%;padding:1rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.upgrade-modal-button:hover:not(:disabled){background:#1d4ed8}.upgrade-modal-button:disabled{background:#93c5fd;cursor:not-allowed}.upgrade-modal-secure{margin-top:1rem;font-size:.85rem;color:#999}.upgrade-modal-signout{background:none;border:none;color:#666;font-size:.9rem;cursor:pointer;padding:.5rem 1rem;margin-top:1rem;text-decoration:underline;transition:color .2s}.upgrade-modal-signout:hover{color:#333}@media(max-width:640px){.upgrade-modal-plans{grid-template-columns:1fr;gap:1.5rem}.upgrade-plan-card.recommended{order:-1}}@media(max-width:480px){.upgrade-modal-content{padding:1.5rem}.upgrade-modal-title{font-size:1.25rem}.pricing-amount .price{font-size:1.75rem}}#root{width:100%;min-height:100vh;background:#f3f4f6}.app{min-height:100vh;display:flex;flex-direction:column}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}@media(max-width:767px){#root,.app,.app-loading{min-height:auto}}.app-loading__spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:app-spin .8s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}.app-header{background:#fff;border-bottom:1px solid #dadce0;position:sticky;top:0;z-index:100;width:100%}.app-header-content{display:flex;align-items:center;gap:32px;height:68px;padding:0 80px;max-width:1400px;margin:0 auto}.app-header h1{margin:0;font-family:Google Sans Display,Arial,Helvetica,sans-serif;font-size:22px;font-weight:500;color:#202124;white-space:nowrap}.app-nav-inline{display:flex;gap:24px;align-items:center;flex:1;justify-content:flex-end;margin-right:24px}.app-nav-inline button{font-family:Google Sans Text,Arial,Helvetica,sans-serif;font-size:14px;font-weight:500;color:#5f6368;text-decoration:none;letter-spacing:.01em;transition:all .2s ease;cursor:pointer;background:none;border:none;padding:8px 0;white-space:nowrap}.app-nav-inline button:hover:not(.active){color:#202124}.app-nav-inline button.active{color:#202124;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#202124}.app-header-actions{display:flex;align-items:center;gap:1rem;margin-left:auto}.user-email{font-size:.875rem;color:#4b5563}.admin-badge-header{display:inline-block;padding:.25rem .75rem;background:#dbeafe;color:#1e40af;border-radius:9999px;font-size:.75rem;font-weight:500}.admin-view-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-view-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.admin-view-toggle span{font-size:.875rem;color:#4b5563;font-weight:500}.sign-in-btn,.sign-out-btn{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.sign-in-btn{background:#3b82f6;color:#fff}.sign-in-btn:hover{background:#2563eb}.sign-out-btn{background:#f3f4f6;color:#4b5563}.sign-out-btn:hover{background:#e5e7eb;color:#1f2937}.app-main{flex:1;padding:0;max-width:1400px;margin:0 auto;width:100%}.mobile-nav-hamburger-wrapper{display:none}@media(max-width:768px){.app-header-content{padding:0 1rem;height:68px;gap:1rem;flex-wrap:nowrap}.app-nav-inline,.sign-out-btn{display:none}.mobile-nav-hamburger-wrapper{display:flex;align-items:center}.app-header h1{font-size:18px}.app-header-actions{margin-left:auto;gap:.75rem}.admin-badge-header{font-size:.65rem;padding:.2rem .5rem}.admin-view-toggle span{display:none}.app-main{padding:0}}[data-theme=dark] #root{background:#000}[data-theme=dark] .app-header{background:#0a0a0a;border-bottom:1px solid #222}[data-theme=dark] .app-header h1{color:#fff}[data-theme=dark] .app-nav-inline button{color:#888}[data-theme=dark] .app-nav-inline button:hover:not(.active){color:#fff}[data-theme=dark] .app-nav-inline button.active{color:#fff;text-decoration-color:#fff}[data-theme=dark] .user-email{color:#888}[data-theme=dark] .admin-badge-header{background:#222;color:#8ab4f8}[data-theme=dark] .admin-view-toggle span{color:#888}[data-theme=dark] .sign-out-btn{background:#111;color:#888;border:1px solid #222}[data-theme=dark] .sign-out-btn:hover{background:#1a1a1a;color:#fff}[data-theme=dark] .app-loading__spinner{border-color:#333;border-top-color:#fff}
