.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base);letter-spacing:.01em}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--accent-primary);color:var(--bg-primary)}.btn-primary:not(:disabled):hover{opacity:.9}.btn-secondary{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:not(:disabled):hover{border-color:var(--text-secondary);color:var(--text-primary)}.input-group{display:flex;flex-direction:column;gap:var(--space-sm)}.input-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.input-required{color:var(--text-muted);margin-left:var(--space-xs)}.input-field{width:100%;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-md);font-size:var(--text-base);color:var(--text-primary);transition:all var(--transition-base);box-sizing:border-box}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{outline:none;border-color:var(--text-secondary)}.input-wrapper{position:relative;display:flex;align-items:center}.input-field-password{padding-right:48px}.password-toggle{position:absolute;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:var(--radius-sm);transition:all var(--transition-base)}.password-toggle:hover{color:var(--text-secondary);background-color:var(--bg-primary)}.branding-footer{width:100%;margin-top:0;padding:1rem 0;border-top:1px solid var(--border-color, rgba(235, 235, 235, .05));text-align:center;opacity:.6;transition:opacity .3s ease;position:fixed;bottom:0;left:0;background-color:var(--bg-primary);z-index:100}.branding-footer:hover{opacity:.9}.branding-footer p{font-size:10px;letter-spacing:.03em;color:#a0a0a0;line-height:1.4;white-space:nowrap}@media(max-width:640px){.branding-footer p{white-space:normal;font-size:9px}}.branding-footer.minimal{margin-top:1.5rem;padding-top:.75rem;border-top:none;opacity:.5}:root[data-theme=light] .branding-footer p{color:#737373}.auth{min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);padding:var(--space-lg)}.auth-container{max-width:420px;width:100%}.auth-content{display:flex;flex-direction:column;align-items:center;text-align:center}.auth-icon{width:64px;height:64px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);margin-bottom:var(--space-xl)}.auth-icon .app-logo{width:28px;height:28px;filter:brightness(0) invert(1)}:root[data-theme=light] .auth-icon .app-logo{filter:none}.auth-title{font-size:var(--text-3xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs);letter-spacing:-.02em}.auth-client-attribution{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;margin-bottom:var(--space-lg);opacity:.8}.auth-tagline{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-xl)}.auth-error{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-lg);width:100%}.auth-form{width:100%;display:flex;flex-direction:column;gap:var(--space-lg)}.auth-hint{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-md)}.auth-hint strong{color:var(--text-primary);font-weight:500}.auth-back-link{background:none;border:none;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;padding:var(--space-sm);transition:color var(--transition-base)}.auth-back-link:hover{color:var(--text-secondary)}.auth-toggle-link{background:none;border:none;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;padding:var(--space-sm);transition:color var(--transition-base);text-decoration:underline}.auth-toggle-link:hover{color:var(--text-secondary)}.auth-footer{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-xl);font-style:italic}.pending-approval{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-gradient-start) 0%,var(--primary-gradient-end) 100%);padding:1rem}.pending-approval-container{width:100%;max-width:28rem;background:var(--card-bg);border-radius:1rem;box-shadow:0 20px 60px #0000004d;padding:2.5rem;animation:slideUp .4s ease-out}.pending-approval-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.pending-approval-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:.5rem}.pending-icon-svg{color:var(--warning);animation:pulse 2s ease-in-out infinite}.rejected-icon-svg{color:var(--error)}.pending-approval-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.pending-approval-message{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0}.pending-approval-message strong{color:var(--text-primary);font-weight:600}.pending-approval-footer{font-size:.875rem;color:var(--text-tertiary);margin-top:.5rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg)}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);border-bottom:1px solid var(--border-color)}.modal-title{font-size:var(--text-xl);font-weight:400;color:var(--text-primary)}.modal-close{color:var(--text-secondary);transition:color var(--transition-base);padding:var(--space-sm);margin:calc(var(--space-sm) * -1)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--space-xl)}.workspace-selector{min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);padding:var(--space-lg)}.workspace-selector-container{max-width:500px;width:100%}.workspace-selector-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--space-2xl)}.workspace-selector-icon{width:64px;height:64px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);margin-bottom:var(--space-lg)}.workspace-selector-icon .app-logo{width:28px;height:28px;filter:brightness(0) invert(1)}:root[data-theme=light] .workspace-selector-icon .app-logo{filter:none}.workspace-selector-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.workspace-selector-client{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;margin-bottom:var(--space-md);opacity:.8}.workspace-selector-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-xs)}.workspace-selector-subtitle strong{color:var(--text-primary);font-weight:500}.workspace-selector-signout{background:none;border:none;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;padding:var(--space-sm);transition:color var(--transition-base)}.workspace-selector-signout:hover{color:var(--text-secondary)}.workspaces-list{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-2xl)}.workspace-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:left;width:100%}.workspace-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.workspace-card-icon{width:40px;height:40px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.workspace-card-content{flex:1}.workspace-card-name{font-size:var(--text-base);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-xs)}.workspace-card-meta{font-size:var(--text-xs);color:var(--text-muted)}.workspace-empty{text-align:center;padding:var(--space-3xl) var(--space-lg);margin-bottom:var(--space-2xl)}.workspace-empty-text{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-sm)}.workspace-empty-hint{font-size:var(--text-sm);color:var(--text-muted)}.workspace-selector-actions{display:flex;justify-content:center}.workspace-modal-hint{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6}.workspaces-list-hint{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin-bottom:var(--space-lg)}.workspace-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-xs)}.workspace-creator-badge{font-size:var(--text-xs);font-weight:600;color:var(--primary);background:#8b5cf61a;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid rgba(139,92,246,.2)}.workspace-card-meta{display:flex;flex-direction:column;gap:.25rem}.workspace-meta-item{display:flex;align-items:center;gap:.375rem;font-size:var(--text-xs);color:var(--text-muted)}.workspace-meta-item svg{flex-shrink:0}.workspace-empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:var(--space-md)}@media(max-width:640px){.workspace-card-header{flex-direction:column;align-items:flex-start}.workspace-creator-badge{align-self:flex-start}}.welcome{min-height:100dvh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);padding:var(--space-xl)}.welcome-container{max-width:800px;width:100%}.welcome-content{display:flex;flex-direction:column;align-items:center;text-align:center;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{width:80px;height:80px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);box-shadow:0 8px 16px #0003}.welcome-icon .app-logo{width:40px;height:40px;filter:brightness(0) invert(1)}:root[data-theme=light] .welcome-icon .app-logo{filter:none;color:var(--accent-primary)}.welcome-title{font-size:var(--text-4xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-xs);letter-spacing:-.03em}.welcome-tagline{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--space-md)}.welcome-client-attribution{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;margin-bottom:var(--space-2xl);opacity:.8}.welcome-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);width:100%;margin-bottom:var(--space-3xl)}.feature-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);display:flex;flex-direction:column;align-items:center;text-align:center;transition:all var(--transition-base);cursor:pointer;text-decoration:none;color:inherit;position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-primary);opacity:0;transition:opacity var(--transition-fast)}.feature-card:hover{transform:translateY(-4px);border-color:var(--text-muted);background-color:var(--bg-tertiary);box-shadow:0 12px 24px #0000004d}.feature-card:hover:before{opacity:1}.feature-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);background-color:var(--bg-primary);transition:transform var(--transition-base)}.feature-card:hover .feature-card-icon{transform:scale(1.1)}.feature-card-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.feature-card-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4;margin-bottom:var(--space-md)}.feature-card-meta{font-size:var(--text-xs);color:var(--text-muted);background-color:var(--bg-primary);padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.welcome-button{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-3xl);background-color:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.welcome-button:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff1a}.welcome-logout{display:flex;align-items:center;gap:var(--space-sm);background:transparent;border:none;color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast)}.welcome-logout:hover{color:var(--text-primary)}.welcome-hint{font-size:var(--text-xs);color:var(--text-muted);font-style:italic;margin-top:var(--space-2xl);opacity:.6}@media(max-width:768px){.welcome-features-grid{grid-template-columns:1fr;max-width:320px}.welcome-title{font-size:var(--text-3xl)}}.notification-center{position:relative}.notification-bell{position:relative;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center}.notification-bell:hover{background:var(--bg-secondary);color:var(--text-primary)}.notification-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:10px;font-weight:600;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.notification-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.notification-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.mark-all-read{background:none;border:none;color:var(--accent-primary);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.mark-all-read:hover{background:var(--bg-secondary)}.notification-list{overflow-y:auto;max-height:400px}.notification-empty{padding:40px 20px;text-align:center}.notification-empty p{color:var(--text-secondary);font-size:14px;margin:0}.notification-item{padding:16px 20px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .2s}.notification-item:hover{background:var(--bg-secondary)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:var(--bg-secondary);position:relative}.notification-item.unread:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--accent-primary);border-radius:50%}.notification-message{color:var(--text-primary);font-size:14px;line-height:1.5;margin-bottom:4px}.notification-time{color:var(--text-secondary);font-size:12px}.notification-footer{padding:12px 20px;border-top:1px solid var(--border-color)}.view-activity-log{width:100%;padding:8px 12px;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--accent-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.view-activity-log:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.active-users{display:flex;align-items:center;gap:8px}.active-user{position:relative;cursor:pointer}.user-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;background:var(--accent-primary);transition:transform .2s}.user-avatar:hover{transform:scale(1.1)}.user-avatar-online{background:#10b981}.user-avatar-away{background:#f59e0b}.user-status-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-primary)}.status-online{background:#10b981}.status-away{background:#f59e0b}.status-offline{background:#6b7280}.chat-widget{position:fixed;bottom:20px;right:20px;z-index:1000}.chat-toggle{width:56px;height:56px;border-radius:50%;background:var(--accent-primary);border:none;color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;transition:transform .2s,box-shadow .2s;position:relative}.chat-toggle:hover{transform:scale(1.05);box-shadow:0 6px 16px #0000004d}.chat-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.chat-container{width:380px;height:600px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 24px #0003;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--bg-secondary)}.chat-header-content{display:flex;align-items:center;gap:8px}.chat-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.chat-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.chat-close:hover{background:var(--bg-tertiary)}.chat-recipient-selector{padding:12px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:8px;background:var(--bg-secondary)}.chat-recipient-selector label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.chat-recipient-select{flex:1;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}.chat-empty p{color:var(--text-secondary);font-size:14px}.chat-message{display:flex;flex-direction:column;gap:4px;max-width:80%}.own-message{align-self:flex-end}.other-message{align-self:flex-start}.message-header{display:flex;align-items:center;gap:4px;font-size:12px}.message-sender{font-weight:600;color:var(--text-secondary)}.message-broadcast{color:#10b981;font-size:11px}.message-direct{color:var(--accent-primary);font-size:11px}.message-content{padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.4;word-wrap:break-word}.own-message .message-content{background:var(--accent-primary);color:var(--bg-primary);border-bottom-right-radius:4px}.other-message .message-content{background:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:4px}.message-time{font-size:11px;color:var(--text-secondary);padding:0 4px}.own-message .message-time{text-align:right}.chat-input-container{padding:16px;border-top:1px solid var(--border-color);display:flex;gap:8px;background:var(--bg-secondary)}.chat-input{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.chat-input:focus{outline:none;border-color:var(--accent-primary)}.chat-send-button{width:40px;height:40px;border-radius:50%;background:var(--accent-primary);border:none;color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.chat-send-button:hover:not(:disabled){transform:scale(1.05)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.chat-container{width:calc(100vw - 40px);height:calc(100vh - 100px)}}.toast-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:16px 20px;min-width:300px;max-width:400px;box-shadow:0 4px 12px #00000026;cursor:pointer;pointer-events:all;animation:slideIn .3s ease-out;transition:transform .2s,opacity .2s}.toast:hover{transform:translate(-4px)}.toast-create{border-left:4px solid #10b981}.toast-update{border-left:4px solid #3b82f6}.toast-delete{border-left:4px solid #ef4444}.toast-content{display:flex;align-items:center;gap:12px}.toast-message{color:var(--text-primary);font-size:14px;line-height:1.5}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.app{position:relative;min-height:100dvh}.app-notifications{position:fixed;top:var(--space-sm);right:60px;z-index:1000;display:flex;align-items:center;gap:12px}.theme-toggle{position:fixed;top:var(--space-sm);right:var(--space-sm);z-index:1000;width:32px;height:32px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-base);box-shadow:0 2px 8px #0000001a}.theme-toggle:hover{border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-1px);background-color:var(--bg-tertiary)}.theme-toggle:active{transform:translateY(0)}:root[data-theme=light] .theme-toggle{background-color:#fff;box-shadow:0 4px 12px #00000014}@media(min-width:768px){.app-notifications{top:var(--space-md);right:70px}.theme-toggle{top:var(--space-md);right:var(--space-md);width:36px;height:36px}}.project-top-nav{position:fixed;top:0;left:0;right:0;height:54px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-subtle);z-index:950;display:flex;align-items:center;padding:0 var(--space-xl);padding-right:140px;animation:slideInDown .3s cubic-bezier(.16,1,.3,1)}.project-nav-container{display:flex;align-items:center;width:100%;height:100%}.project-nav-items{display:flex;align-items:center;gap:var(--space-lg);height:100%}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:8px}.mobile-menu-toggle:hover{background-color:var(--bg-secondary)}.project-nav-item{display:flex;align-items:center;gap:8px;padding:0 8px;height:100%;border:none;background:none;color:var(--text-muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid transparent;border-radius:0;white-space:nowrap}.project-nav-item:hover{color:var(--text-secondary)}.project-nav-item.active{color:var(--text-primary);border-bottom-color:var(--text-primary)}@media(max-width:1100px){.project-nav-items{gap:var(--space-sm)}}@media(max-width:950px){.project-nav-items{gap:4px}.project-nav-item span{display:none}.project-nav-item{padding:0 8px}}@media(max-width:768px){.project-top-nav{padding-right:60px}.mobile-menu-toggle{display:flex}.project-nav-items{display:none;position:fixed;top:54px;left:0;right:0;bottom:0;background-color:var(--bg-primary);flex-direction:column;padding:var(--space-md);gap:4px;z-index:1001;overflow-y:auto}.project-nav-items.open{display:flex}.project-nav-item{width:100%;padding:14px 16px;font-size:13px;justify-content:flex-start;border-bottom:1px solid var(--border-subtle);border-radius:0}.project-nav-item span{display:inline}}.app-content-with-nav{padding-top:54px}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.settings-dropdown{position:fixed;top:calc(var(--space-sm) + 40px);right:var(--space-sm);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-xs);min-width:120px;box-shadow:0 4px 12px #00000026;z-index:1001;animation:slideDown .2s ease}@media(min-width:768px){.settings-dropdown{top:calc(var(--space-md) + 44px);right:var(--space-md);min-width:130px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}.settings-item{margin-bottom:var(--space-xs)}.settings-item:last-child{margin-bottom:0}.settings-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;margin-bottom:2px;display:flex;align-items:center;justify-content:center;gap:6px}.settings-label svg{width:14px;height:14px}.settings-select{width:100%;padding:var(--space-xs) var(--space-sm);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base)}.settings-select:hover{border-color:var(--text-muted)}.settings-select:focus{outline:none;border-color:var(--text-primary)}:root[data-theme=light] .settings-dropdown{box-shadow:0 4px 12px #00000014}.error-boundary{min-height:100vh;display:grid;place-items:center;padding:var(--space-xl);background:radial-gradient(circle at top,rgba(255,140,0,.12),transparent 45%),linear-gradient(180deg,var(--bg-primary),var(--bg-secondary))}.error-boundary-card{width:min(720px,100%);border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-secondary);padding:var(--space-2xl);box-shadow:var(--shadow-lg)}.error-boundary-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm)}.error-boundary-title{font-size:clamp(24px,4vw,36px);line-height:1.1;margin:0 0 var(--space-md);color:var(--text-primary)}.error-boundary-copy{margin:0 0 var(--space-md);color:var(--text-secondary);line-height:1.6}:root{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #606060;--border-color: #2a2a2a;--border-subtle: #1a1a1a;--accent-primary: #ffffff;--accent-secondary: #404040;--primary: #8b5cf6;--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--hover-bg: rgba(255, 255, 255, .05);--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #fafafa;--bg-tertiary: #ffffff;--text-primary: #0a0a0a;--text-secondary: #606060;--text-muted: #a0a0a0;--border-color: #e5e5e5;--border-subtle: #f0f0f0;--accent-primary: #0a0a0a;--accent-secondary: #e5e5e5;--primary: #7c3aed;--success: #16a34a;--warning: #d97706;--error: #dc2626;--hover-bg: rgba(0, 0, 0, .05)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;overflow-x:hidden;overscroll-behavior:none}body{background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color var(--transition-base),color var(--transition-base);height:100%;overflow-x:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{min-height:100dvh}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.back-button{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-md);padding:var(--space-xs);transition:color var(--transition-base);background:none;border:none}.back-button:hover{color:var(--text-primary)}
