.subscription-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-lg);border:1px solid var(--border);background-color:var(--surface);color:var(--text);transition:background-color var(--transition-fast),border-color var(--transition-fast);width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto var(--spacing-md);box-sizing:border-box;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.subscription-banner__accent{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-md) 0 0 var(--radius-md)}.subscription-banner__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:50%}.subscription-banner__icon svg{width:1rem;height:1rem}.subscription-banner__content{flex:1 1;min-width:0}.subscription-banner__content,.subscription-banner__text-row{display:flex;align-items:center;gap:var(--spacing-sm)}.subscription-banner__text{margin:0;line-height:1.4;color:var(--text);font-size:var(--font-size-xs)}.subscription-banner__text strong{font-weight:600}.subscription-banner__sep{color:var(--textSecondary);font-weight:400}.subscription-banner__days{font-weight:600;white-space:nowrap}.subscription-banner__progress{width:120px;height:3px;background-color:color-mix(in srgb,var(--border) 60%,transparent);border-radius:9999px;overflow:hidden;flex-shrink:0}.subscription-banner__progress-fill{height:100%;border-radius:9999px;transition:width .4s ease}.subscription-banner__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.375rem var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;font-family:inherit;white-space:nowrap;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;flex-shrink:0;min-height:2rem;letter-spacing:.01em}.subscription-banner__cta:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.subscription-banner__dismiss{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:2rem;min-height:2rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--textSecondary);cursor:pointer;transition:all var(--transition-fast);padding:var(--spacing-xs)}.subscription-banner__dismiss:hover{background-color:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.subscription-banner__dismiss:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.subscription-banner--trial-green{background-color:color-mix(in srgb,var(--success) 5%,var(--surface));border-color:color-mix(in srgb,var(--success) 25%,var(--border))}.subscription-banner--trial-green .subscription-banner__accent{background-color:var(--success)}.subscription-banner--trial-green .subscription-banner__icon{background-color:var(--success-transparent);color:var(--success)}.subscription-banner--trial-green .subscription-banner__days{color:var(--success)}.subscription-banner--trial-green .subscription-banner__progress-fill{background-color:var(--success)}.subscription-banner--trial-green .subscription-banner__cta{background-color:var(--success);color:white}.subscription-banner--trial-green .subscription-banner__cta:hover{background-color:var(--success-dark);box-shadow:var(--shadow-sm)}.subscription-banner--trial-yellow{background-color:color-mix(in srgb,var(--warning) 5%,var(--surface));border-color:color-mix(in srgb,var(--warning) 25%,var(--border))}.subscription-banner--trial-yellow .subscription-banner__accent{background-color:var(--warning)}.subscription-banner--trial-yellow .subscription-banner__icon{background-color:var(--warning-transparent);color:var(--warning)}.subscription-banner--trial-yellow .subscription-banner__days{color:var(--warning)}.subscription-banner--trial-yellow .subscription-banner__progress-fill{background-color:var(--warning)}.subscription-banner--trial-yellow .subscription-banner__cta{background-color:var(--warning);color:white}.subscription-banner--trial-yellow .subscription-banner__cta:hover{background-color:var(--warning-dark);box-shadow:var(--shadow-sm)}.subscription-banner--trial-red{background-color:color-mix(in srgb,var(--error) 5%,var(--surface));border-color:color-mix(in srgb,var(--error) 25%,var(--border))}.subscription-banner--trial-red .subscription-banner__accent{background-color:var(--error)}.subscription-banner--trial-red .subscription-banner__icon{background-color:var(--error-transparent);color:var(--error)}.subscription-banner--trial-red .subscription-banner__days{color:var(--error)}.subscription-banner--trial-red .subscription-banner__progress-fill{background-color:var(--error)}.subscription-banner--trial-red .subscription-banner__cta{background-color:var(--error);color:white}.subscription-banner--trial-red .subscription-banner__cta:hover{background-color:var(--error-dark);box-shadow:var(--shadow-sm)}.subscription-banner--expired{background-color:color-mix(in srgb,var(--warning) 5%,var(--surface));border-color:color-mix(in srgb,var(--warning) 25%,var(--border))}.subscription-banner--expired .subscription-banner__accent{background-color:var(--warning)}.subscription-banner--expired .subscription-banner__icon{background-color:var(--warning-transparent);color:var(--warning)}.subscription-banner--expired .subscription-banner__cta{background-color:var(--warning);color:white}.subscription-banner--expired .subscription-banner__cta:hover{background-color:var(--warning-dark);box-shadow:var(--shadow-sm)}.subscription-banner--pending-upgrade{background-color:color-mix(in srgb,var(--primary) 5%,var(--surface));border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}.subscription-banner--pending-upgrade .subscription-banner__accent{background-color:var(--primary)}.subscription-banner--pending-upgrade .subscription-banner__icon{background-color:var(--primary-transparent);color:var(--primary)}.subscription-banner--pending-upgrade .subscription-banner__cta{background-color:var(--primary);color:white}.subscription-banner--pending-upgrade .subscription-banner__cta:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-sm)}.subscription-banner--suspended{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-xl);background-color:color-mix(in srgb,var(--background) 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:0;color:var(--error);text-align:center;overflow:visible;box-shadow:none}.subscription-banner--suspended .subscription-banner__icon{width:3.5rem;height:3.5rem;border-radius:var(--radius-lg);background-color:var(--error-transparent)}.subscription-banner--suspended .subscription-banner__icon svg{width:2rem;height:2rem}.subscription-banner--suspended .subscription-banner__content{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.subscription-banner--suspended .subscription-banner__text{font-size:var(--font-size-xl);font-weight:700;max-width:28rem;line-height:1.4;color:var(--text)}.subscription-banner__description{font-size:var(--font-size-sm);font-weight:400;color:var(--textSecondary);margin:0;max-width:28rem;line-height:1.6;text-align:center}.subscription-banner--suspended .subscription-banner__cta{background-color:var(--error);color:white;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-sm);border-radius:var(--radius-md);min-height:2.75rem;gap:var(--spacing-xs)}.subscription-banner--suspended .subscription-banner__cta:hover{background-color:var(--error-dark);box-shadow:var(--shadow-md)}.feature-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem var(--spacing-xs);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1;border-radius:9999px;white-space:nowrap;flex-shrink:0;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;user-select:none}.feature-badge--pro{background-color:var(--primary-transparent);color:var(--primary);border:1px solid var(--primary-light)}.feature-badge--enterprise{background-color:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,white)}.sidebar-link-locked{opacity:.55;cursor:pointer;position:relative}.sidebar-link-locked:hover{opacity:.75;background-color:var(--surface)}.sidebar-link-locked__lock-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:.875rem;height:.875rem;margin-left:auto;color:var(--textSecondary);transition:color var(--transition-fast)}.sidebar-link-locked__lock-icon svg{width:.875rem;height:.875rem}.sidebar-link-locked:hover .sidebar-link-locked__lock-icon{color:var(--primary)}.sidebar-collapsed .sidebar-link-locked__lock-icon{display:none}.upgrade-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;background-color:color-mix(in srgb,var(--text) 50%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-md);opacity:0;animation:upgradeOverlayFadeIn var(--transition-normal) forwards}.upgrade-modal__overlay--closing{animation:upgradeOverlayFadeOut var(--transition-fast) forwards}.upgrade-modal__card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:scale(.95);opacity:0;animation:upgradeCardScaleUp var(--transition-normal) forwards;animation-delay:50ms}.upgrade-modal__card--wide{max-width:560px}.upgrade-modal__overlay--closing .upgrade-modal__card{animation:upgradeCardScaleDown var(--transition-fast) forwards}.upgrade-modal__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md) var(--spacing-lg)}.upgrade-modal__header-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-md);background-color:var(--primary-transparent);color:var(--primary);flex-shrink:0}.upgrade-modal__header-icon svg{width:1.25rem;height:1.25rem}.upgrade-modal__title{font-size:var(--font-size-xl);font-weight:700;color:var(--text);margin:0;line-height:1.3}.upgrade-modal__body{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);flex:1 1;overflow-y:auto}.upgrade-modal__description{font-size:var(--font-size-sm);color:var(--textSecondary);line-height:1.6;margin:0}.upgrade-modal__footer{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--border)}.upgrade-modal__btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;min-height:2.75rem;flex:1 1;white-space:nowrap}.upgrade-modal__btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.upgrade-modal__btn--primary{background-color:var(--primary);color:white}.upgrade-modal__btn--primary:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-md)}.upgrade-modal__btn--primary:focus{box-shadow:0 0 0 3px var(--primary-transparent)}.upgrade-modal__btn--secondary{background-color:transparent;color:var(--textSecondary);border:1px solid var(--border)}.upgrade-modal__btn--secondary:hover{background-color:var(--surface);border-color:var(--primary);color:var(--text)}.upgrade-modal__btn--danger{background-color:var(--error);color:white;border:1px solid var(--error)}.upgrade-modal__btn--danger:hover{opacity:.9;box-shadow:var(--shadow-md)}.upgrade-modal__btn--danger:focus-visible{box-shadow:0 0 0 3px var(--error-transparent)}@keyframes upgradeOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes upgradeOverlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes upgradeCardScaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes upgradeCardScaleDown{0%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:0}}.dark .subscription-banner{border-color:var(--border)}.dark .upgrade-modal__card{background-color:var(--surface)}.dark .upgrade-modal__footer{border-color:var(--border)}.dark .upgrade-modal__btn--secondary{border-color:var(--border);color:var(--textSecondary)}.dark .upgrade-modal__btn--secondary:hover{background-color:var(--background);color:var(--text)}.dark .subscription-banner--suspended{background-color:color-mix(in srgb,var(--background) 97%,transparent)}.subscription-banner:focus-within{outline:2px solid var(--primary);outline-offset:2px}.upgrade-modal__overlay:focus{outline:none}@media (prefers-reduced-motion:reduce){.upgrade-modal__card,.upgrade-modal__overlay{animation:none;opacity:1}.upgrade-modal__card{transform:scale(1)}.upgrade-modal__overlay--closing,.upgrade-modal__overlay--closing .upgrade-modal__card{animation:none}.subscription-banner,.subscription-banner__cta,.subscription-banner__dismiss,.subscription-banner__progress-fill{transition:none}}@media (prefers-contrast:high){.subscription-banner{border-width:2px}.subscription-banner__accent{width:6px}.subscription-banner__progress{height:6px;border:1px solid var(--border)}.feature-badge{border-width:2px;font-weight:800}.upgrade-modal__card{border:2px solid var(--border)}.sidebar-link-locked{opacity:.7}}@media (max-width:768px){.subscription-banner{width:100%;border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm)}.subscription-banner__progress{display:none}.subscription-banner--suspended{flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);width:100%;max-width:100%}.subscription-banner--suspended .subscription-banner__cta{width:auto;min-width:12rem}.upgrade-modal__overlay{padding:var(--spacing-sm)}.upgrade-modal__card{max-width:100%;max-height:95vh}.upgrade-modal__header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm) var(--spacing-md)}.upgrade-modal__body{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md) var(--spacing-md)}.upgrade-modal__footer{padding:var(--spacing-md);flex-direction:column-reverse;gap:var(--spacing-sm)}.upgrade-modal__btn{width:100%;min-height:2.75rem}.feature-badge{font-size:calc(var(--font-size-xs) - 1px);padding:.0625rem var(--spacing-xs)}.sidebar-link-locked__lock-icon{display:none}}@media (max-width:480px){.subscription-banner{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-radius:var(--radius-sm);gap:var(--spacing-xs)}.subscription-banner__icon{width:1.5rem;height:1.5rem}.subscription-banner__icon svg{width:.75rem;height:.75rem}.subscription-banner__sep{display:none}.subscription-banner--suspended .subscription-banner__text{font-size:var(--font-size-base)}.subscription-banner--suspended .subscription-banner__icon{width:2.5rem;height:2.5rem}.subscription-banner--suspended .subscription-banner__icon svg{width:1.5rem;height:1.5rem}.upgrade-modal__overlay{padding:var(--spacing-xs)}.upgrade-modal__card{border-radius:var(--radius-md)}.upgrade-modal__title{font-size:var(--font-size-lg)}.upgrade-modal__header{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-xs) var(--spacing-sm)}.upgrade-modal__body{padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm) var(--spacing-sm)}.upgrade-modal__footer{padding:var(--spacing-sm)}}