:root{--auth-bg-primary:var(--color-black);--auth-bg-secondary:var(--color-neutral-900);--auth-bg-hover:#1f1f1f;--auth-border:#2d2d2d;--auth-border-hover:var(--color-neutral-800);--auth-border-focus:var(--color-neutral-700);--auth-text-primary:var(--color-white);--auth-text-secondary:var(--color-neutral-500);--auth-text-muted:#e1e1e1;--auth-error:var(--color-destructive-400);--auth-error-bg:rgba(185,74,55,.1);--auth-error-border:rgba(185,74,55,.3);--auth-success:var(--color-primary-400);--auth-success-muted:var(--color-primary-200)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--auth-bg-primary);font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-container{width:100%;max-width:412px;margin:0 auto;padding:0 var(--space-5)}.auth-container--wide{max-width:480px}.auth-heading{font-family:var(--font-family-base);font-weight:var(--font-weight-light);font-size:var(--font-size-3xl);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight);color:var(--auth-text-primary);margin:0 0 var(--space-4) 0;text-align:center}.auth-heading-lg{font-size:36px;line-height:var(--line-height-tight)}.auth-subtext{font-family:var(--font-family-base);font-weight:var(--font-weight-normal);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--auth-text-secondary);text-align:center;margin:0}.auth-form-group,.auth-form-group-row{margin-bottom:var(--space-3)}.auth-form-group-row{display:flex;gap:var(--space-3)}.auth-form-group-row .auth-input{margin-bottom:0!important;flex:1}.auth-input,.auth-input-password{font-family:var(--font-family-base);width:100%;padding:var(--space-3) var(--space-4);background-color:var(--auth-bg-primary);border:1px solid var(--auth-border);border-radius:var(--radius-interactive);color:var(--auth-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);transition:all var(--transition-base);outline:none;margin-bottom:var(--space-3);-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-input-password{margin-bottom:var(--space-3)}.auth-input::-moz-placeholder{color:var(--auth-text-muted);font-weight:var(--font-weight-normal);opacity:1}.auth-input::placeholder{color:var(--auth-text-muted);font-weight:var(--font-weight-normal);opacity:1}.auth-input:hover:not(:focus):not(:disabled){border-color:var(--auth-border-hover)}.auth-input:focus{border-color:var(--auth-border-focus);box-shadow:0 0 0 1px hsla(0,0%,100%,.05)}.auth-input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--auth-bg-secondary)}.auth-input:focus-visible{outline:2px solid var(--auth-border-focus);outline-offset:2px}input.auth-input{background-image:none;background-clip:padding-box}.auth-button-primary{font-family:var(--font-family-base);display:block;width:100%;padding:var(--space-3) var(--space-6);background-color:var(--color-white);color:var(--color-black);border:none;border-radius:var(--radius-interactive);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:.01em;cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-3);position:relative;overflow:hidden;text-align:center;text-decoration:none}.auth-button-primary:hover:not(:disabled){background-color:var(--color-neutral-100);transform:translateY(-1px)}.auth-button-primary:active:not(:disabled){transform:translateY(0);background-color:var(--color-neutral-200)}.auth-button-primary:disabled{opacity:.5;cursor:not-allowed}.auth-button-primary:focus-visible{outline:2px solid var(--auth-border-focus);outline-offset:2px}.auth-button-secondary{font-family:var(--font-family-base);display:block;width:100%;padding:var(--space-3) var(--space-6);background-color:transparent;color:var(--auth-text-primary);border:1px solid var(--auth-border);border-radius:var(--radius-interactive);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:.01em;cursor:pointer;transition:all var(--transition-base);position:relative;text-align:center;text-decoration:none}.auth-button-secondary:hover:not(:disabled){background-color:var(--auth-bg-secondary);border-color:var(--auth-border-hover)}.auth-button-secondary:active:not(:disabled){background-color:#0f0f0f}.auth-button-secondary:disabled{opacity:.5;cursor:not-allowed}.auth-button-secondary:focus-visible{outline:2px solid var(--auth-border-focus);outline-offset:2px}.auth-button-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.auth-button-row .auth-button-primary,.auth-button-row .auth-button-secondary{flex:1;margin-bottom:0}.auth-link{font-family:var(--font-family-base);color:var(--auth-text-primary);text-decoration:none;text-underline-offset:2px;font-size:var(--font-size-base);font-weight:var(--font-weight-normal);transition:all var(--transition-base);cursor:pointer}.auth-link:hover{color:var(--color-neutral-200);text-decoration-thickness:2px}.auth-link-muted{color:var(--auth-text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.auth-link-muted:hover{color:var(--auth-text-primary);text-decoration:underline}.auth-magic-link{font-family:var(--font-family-base);background:none;border:none;color:var(--auth-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);cursor:pointer;padding:var(--space-2);transition:color var(--transition-base);text-decoration:none;display:block;width:100%;text-align:center}.auth-magic-link:hover{color:var(--auth-text-primary);text-decoration:underline;text-underline-offset:2px}.auth-register-link{margin-top:var(--space-6)}.auth-divider{position:relative;margin:var(--space-5) 0;text-align:center}.auth-divider-text{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--auth-text-muted)}.auth-logo{position:fixed;top:var(--space-6);left:var(--space-6);z-index:var(--z-base)}.auth-logo svg{height:35px;width:35px}.auth-logotype{display:flex;justify-content:center;margin-bottom:var(--space-6)}.auth-logotype svg{height:24px;width:auto}.auth-forgot-link{display:block;text-align:right;margin-bottom:var(--space-3);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--auth-text-secondary);text-decoration:none;transition:color var(--transition-base)}.auth-forgot-link:hover{color:var(--auth-text-primary)}.auth-error{background-color:var(--auth-error-bg);border:1px solid var(--auth-error-border);border-radius:var(--radius-md);color:var(--auth-error)}.auth-error,.auth-success{font-family:var(--font-family-base);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);margin-bottom:var(--space-4)}.auth-success{background-color:rgba(122,204,90,.1);border:1px solid rgba(122,204,90,.3);color:var(--auth-success)}.auth-banner,.auth-success{border-radius:var(--radius-md)}.auth-banner{font-family:var(--font-family-base);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);margin-bottom:var(--space-4);text-align:left}.auth-banner-icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.auth-banner-body{flex:1;min-width:0}.auth-banner-title{font-weight:var(--font-weight-medium);margin:0 0 2px}.auth-banner-text{color:inherit;opacity:.85;margin:0}.auth-banner--info{background-color:var(--auth-bg-secondary);border:1px solid var(--auth-border);color:var(--auth-text-primary)}.auth-banner--warning{background-color:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);color:var(--color-amber-500)}.auth-banner--muted{color:var(--auth-text-secondary)}.auth-banner--muted,.auth-inviter{background-color:var(--auth-bg-secondary);border:1px solid var(--auth-border)}.auth-inviter{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-interactive);margin-bottom:var(--space-4)}.auth-inviter-avatar{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-pill);background-color:var(--auth-bg-hover);display:flex;align-items:center;justify-content:center;color:var(--auth-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);overflow:hidden}.auth-inviter-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.auth-inviter-body{flex:1;min-width:0;text-align:left}.auth-inviter-name{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--auth-text-primary);margin:0;line-height:var(--line-height-normal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-inviter-sub{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--auth-text-muted);margin:2px 0 0}.auth-inviter-role{flex-shrink:0;padding:4px var(--space-3);background-color:var(--auth-bg-hover);border:1px solid var(--auth-border);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--auth-text-primary);line-height:1.4}.auth-target{margin-bottom:var(--space-5);text-align:left}.auth-target-title{font-family:var(--font-family-base);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light);color:var(--auth-text-primary);line-height:var(--line-height-snug);margin:0 0 var(--space-2) 0}.auth-target-meta{font-family:var(--font-family-base);font-size:var(--font-size-sm);color:var(--auth-text-muted);margin:0}.auth-target-description,.auth-target-message{font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--auth-text-secondary);line-height:var(--line-height-normal);margin:var(--space-3) 0 0 0}.auth-target-message{font-style:italic;padding:var(--space-3) var(--space-4);background-color:var(--auth-bg-secondary);border-left:2px solid var(--auth-border-hover);border-radius:0 var(--radius-md) var(--radius-md) 0}.auth-legal{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--auth-text-muted);text-align:center;margin-top:var(--space-8)}.auth-legal a{color:var(--auth-text-secondary);text-decoration:underline;text-underline-offset:1px;transition:color var(--transition-base)}.auth-legal a:hover{color:var(--auth-text-primary)}.auth-footnote{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--auth-text-muted);text-align:center;margin-top:var(--space-5)}.auth-footnote--warning{color:var(--color-amber-500)}.auth-spinner{display:inline-block;width:16px;height:16px;margin-right:var(--space-2);border:2px solid rgba(0,0,0,.1);border-top:2px solid var(--color-black);border-radius:var(--radius-pill);animation:auth-spin var(--duration-slower) linear infinite}.auth-button-secondary .auth-spinner{border-color:hsla(0,0%,100%,.2);border-top-color:var(--color-white)}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-spinner-lg{display:inline-block;width:32px;height:32px;border:2px solid var(--auth-border);border-top-color:var(--auth-text-primary);border-radius:var(--radius-pill);animation:auth-spin var(--duration-slower) linear infinite}.auth-strength-bar{height:2px;background-color:var(--auth-border);border-radius:var(--radius-pill);overflow:hidden;margin-top:var(--space-2)}.auth-strength-fill{height:100%;transition:width var(--transition-slow);border-radius:var(--radius-pill)}.auth-strength-fill[data-strength=weak]{width:25%;background-color:var(--auth-error)}.auth-strength-fill[data-strength=fair]{width:50%;background-color:var(--color-amber-500)}.auth-strength-fill[data-strength=good]{width:75%;background-color:var(--color-blue-500)}.auth-strength-fill[data-strength=strong]{width:100%;background-color:var(--auth-success)}.auth-strength-label{font-size:var(--font-size-xs);color:var(--auth-text-muted);margin-top:var(--space-1)}.auth-strength-label span{color:var(--auth-text-primary)}.auth-requirements{list-style:none;padding:0;margin:var(--space-2) 0 var(--space-4);font-size:var(--font-size-xs);color:var(--auth-text-muted)}.auth-requirements li{margin-bottom:var(--space-1)}.auth-requirements li.met{color:var(--auth-success-muted)}.auth-status-icon{margin-bottom:var(--space-6);text-align:center}.auth-status-icon svg{margin:0 auto;width:64px;height:64px}.auth-status-icon--success svg{color:var(--auth-success)}.auth-status-icon--error svg{color:var(--auth-error)}.auth-status-icon--warning svg{color:var(--color-amber-500)}.auth-status-icon--loading svg{color:var(--color-blue-500)}.auth-status{text-align:center;padding:var(--space-4) 0}.auth-status-title{font-family:var(--font-family-base);font-size:var(--font-size-2xl);font-weight:var(--font-weight-light);color:var(--auth-text-primary);line-height:var(--line-height-snug);margin:0 0 var(--space-3) 0}.auth-status-text{font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--auth-text-secondary);line-height:var(--line-height-normal);margin:0 0 var(--space-5) 0}@media (max-width:480px){.auth-heading{font-size:var(--font-size-2xl)}.auth-heading-lg{font-size:var(--font-size-3xl)}.auth-container{padding:0 var(--space-4)}.auth-button-primary,.auth-button-secondary,.auth-input{padding:14px var(--space-4);font-size:var(--font-size-md)}}.sidebar-team-switcher{position:relative;z-index:10;padding:4px 0 var(--space-2);background:transparent}.sidebar-close-container{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;z-index:10}@media (min-width:768px){.sidebar-close-container{display:none!important}}.sidebar-view-container{flex:1;overflow:hidden;position:relative;min-height:0}.sidebar-views{display:flex;width:200%;height:100%;transition:transform var(--duration-slow) var(--ease-default);transform:translateX(0)}.sidebar-views.show-resource-list{transform:translateX(-50%)}.sidebar-views.show-resource-list .sidebar-main-view{overflow-y:hidden}.sidebar-view{width:50%;height:100%;flex-shrink:0;overflow-y:auto;overflow-x:hidden}.sidebar-main-view{display:flex;flex-direction:column;gap:var(--space-1)}.nav-item{gap:var(--space-2);width:100%;cursor:pointer;font-family:"Söhne",var(--font-family-base);font-size:12px;font-weight:400;line-height:120%;letter-spacing:0}.nav-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-item-chevron-icon{margin-left:auto;color:var(--color-neutral-400);flex-shrink:0}.nav-item.nav-item-locked{opacity:.4!important;cursor:not-allowed!important;background:transparent!important;border:none;text-align:left;width:100%}.nav-item.nav-item-locked:focus-visible,.nav-item.nav-item-locked:hover,.nav-item.nav-item-locked[aria-disabled=true]:focus-visible,.nav-item.nav-item-locked[aria-disabled=true]:hover{opacity:.4!important;background:transparent!important}.nav-item.nav-item-locked.active{background:transparent!important}.nav-item-lock-icon,svg.nav-item-lock-icon{color:var(--ui-text-muted);flex-shrink:0;width:10px!important;height:10px!important;margin-left:auto}.current-production-section{margin-top:var(--space-1)}.current-production-header{padding:var(--space-1) 0}.current-production-name{display:flex;align-items:center;width:100%;padding:var(--nav-item-padding-y,8px) var(--nav-item-padding-x,12px);border-radius:var(--radius-interactive);background-color:#eee;font-family:"Söhne",var(--font-family-base);font-size:12px;font-weight:400;line-height:120%;letter-spacing:0;text-align:left;color:var(--ui-text-primary);text-decoration:none;transition:all var(--transition-base)}.current-production-name:hover{opacity:.7}.production-loading{padding:var(--space-2) var(--space-3)}.production-not-found{padding:var(--space-3);color:var(--text-placeholder);font-size:13px}.production-skeleton-item{height:32px;background:linear-gradient(90deg,var(--color-neutral-100) 25%,var(--color-neutral-200) 50%,var(--color-neutral-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-interactive)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.production-resources{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-base)}.production-resources.expanded{grid-template-rows:1fr}.production-resources-inner{overflow:hidden;padding-top:var(--space-1)}.resource-section{margin-bottom:var(--space-2)}.resource-section-label{font-family:"Söhne",var(--font-family-base);font-weight:400;font-size:10px;line-height:100%;letter-spacing:.01em;color:#a4a4a4}.resource-section-label,.resource-type-item{text-align:left;padding:var(--space-2) var(--space-3)}.resource-type-item{display:flex;align-items:center;justify-content:flex-start;width:100%;padding-left:var(--space-6);border:none;background:transparent;cursor:pointer;font:inherit;transition:all var(--transition-base);border-radius:var(--radius-interactive)}.resource-type-item span{font-family:"Söhne",var(--font-family-base);font-weight:400;font-size:12px;line-height:120%;letter-spacing:0;text-align:left;color:grey;transition:color var(--transition-base)}.resource-type-item:hover{background-color:var(--ui-bg-hover)}.resource-type-item:hover span{color:var(--ui-text-primary)}.resource-type-item-wrapper{position:relative;display:flex;align-items:center}.resource-type-item-wrapper .resource-type-item{flex:1;min-width:0}.resource-type-item-wrapper:hover .resource-type-item{background-color:var(--ui-bg-hover)}.resource-type-item-wrapper:hover .resource-type-item span{color:var(--ui-text-primary)}.resource-create-btn{position:absolute;right:var(--space-2);display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--radius-interactive);background:transparent;color:#a4a4a4;cursor:pointer;opacity:0;transition:all var(--transition-base);flex-shrink:0}.resource-type-item-wrapper:hover .resource-create-btn{opacity:1}.resource-create-btn:hover{background-color:var(--color-neutral-200,#e5e5e5);color:var(--ui-text-primary)}.resource-list-content{display:flex;flex-direction:column;height:100%;padding:var(--space-3)}.resource-list-header{margin-bottom:var(--space-1)}.back-button{display:inline-flex;align-items:center;gap:2px;padding:6px var(--space-2);margin-left:calc(var(--space-2) * -1);border:none;background:transparent;border-radius:var(--radius-interactive);cursor:pointer;font-family:"Söhne",var(--font-family-base);font-size:12px;font-weight:400;line-height:120%;letter-spacing:0;color:grey;transition:all var(--transition-base)}.back-button:hover{background-color:var(--ui-bg-hover);color:var(--ui-text-primary)}.resource-list-context{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--ui-bg-hover)}.resource-production-name{font-family:"Söhne",var(--font-family-base);font-size:12px;font-weight:400;line-height:120%;letter-spacing:0;color:grey;text-decoration:none;transition:opacity var(--transition-base)}.resource-production-name:hover{opacity:.7}.resource-type-name{font-family:"Söhne",var(--font-family-base);font-size:12px;font-weight:400;line-height:120%;letter-spacing:0;color:#000}.resource-type-link{text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-1);transition:opacity var(--transition-base)}.resource-type-link:hover{opacity:.7}.resource-type-link:hover .resource-type-name{text-decoration:underline}.resource-items-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.resource-items-skeleton{display:flex;flex-direction:column;gap:6px}.resource-item-skeleton{height:40px;background:linear-gradient(90deg,var(--color-neutral-100) 25%,var(--color-neutral-200) 50%,var(--color-neutral-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-interactive)}.resource-items-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6) var(--space-3);text-align:center;color:var(--text-placeholder);font-size:var(--font-size-base)}.create-resource-link{font-family:var(--font-family-base);font-size:13px;color:var(--ui-text-tertiary);text-decoration:none;padding:var(--space-2) var(--space-4);background-color:var(--ui-bg-hover);border-radius:var(--radius-interactive);transition:all var(--transition-base)}.create-resource-link:hover{background-color:var(--bg-hover);color:var(--ui-text-primary)}.resource-item{display:flex;align-items:center;padding:10px var(--space-3);border-radius:var(--radius-interactive);text-decoration:none;transition:background-color var(--transition-base)}.resource-item:hover{background-color:var(--ui-bg-hover)}.resource-item-name{font-family:"Söhne",var(--font-family-base);font-size:12px;font-weight:400;line-height:120%;letter-spacing:0;color:#434343;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-all-link{display:block;padding:10px var(--space-3);text-align:center;font-family:var(--font-family-base);font-size:13px;color:var(--text-placeholder);text-decoration:none;margin-top:var(--space-1);border-radius:var(--radius-interactive);transition:all var(--transition-base)}.view-all-link:hover{background-color:var(--ui-bg-hover);color:var(--ui-text-primary)}.resource-list-footer{padding-top:var(--space-3);margin-top:auto}.resource-list-footer .nav-item{display:flex;justify-content:center;background-color:var(--ui-bg-hover);text-decoration:none}.upgrade-cta{position:relative;background-color:#cccccc7d;border-radius:var(--radius-interactive);padding:var(--space-4)}.upgrade-cta-dismiss{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-interactive);background:transparent;color:grey;cursor:pointer;opacity:.6;transition:all var(--transition-base)}.upgrade-cta-dismiss:hover{opacity:1;background-color:rgba(0,0,0,.05);color:var(--ui-text-primary)}.upgrade-cta-title{font-size:14px;color:var(--ui-text-primary);margin-bottom:var(--space-2)}.upgrade-cta-description,.upgrade-cta-title{font-family:"Söhne",var(--font-family-base);font-weight:400;line-height:150%;letter-spacing:0;text-align:center}.upgrade-cta-description{font-size:11px;color:grey;margin-bottom:var(--space-3)}.upgrade-cta .btn{background-color:#fff;color:var(--ui-text-primary)}.mt-auto{margin-top:auto}