.layout{display:flex;flex-direction:column;min-height:100vh}.layout:has(.layout-nav){padding-bottom:60px}.layout-content{flex:1;padding:var(--spacing-lg)}.layout-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background-color:var(--bg-color);border-top:1px solid var(--container-border);padding:var(--spacing-sm) var(--spacing-xs) var(--spacing-md) var(--spacing-xs);z-index:1000;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.layout-nav::-webkit-scrollbar{display:none}.nav-item{flex:1;min-width:60px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);text-decoration:none;color:var(--text-secondary);transition:color .2s}.nav-item.active{color:var(--button-color)}.nav-item svg{width:32px;height:32px}.home-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.home-header{text-align:left;display:flex;flex-direction:column;gap:var(--spacing-0)}.home-brand-title{font-size:var(--font-size-number-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);margin:0;color:var(--text-color)}.home-brand-subtitle{font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);margin:0;color:var(--text-secondary)}.home-promo-slider{display:flex;flex-direction:column;gap:var(--spacing-lg)}.promo-slider-container{position:relative;overflow:hidden;border-radius:var(--radius-lg);user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:grab}.promo-slider-container:active{cursor:grabbing}.promo-slider-track{display:flex;gap:var(--spacing-lg);transition:transform .3s ease-in-out}.promo-slide-card{flex:0 0 100%;height:180px;padding:var(--spacing-lg);background-color:var(--container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg);box-shadow:var(--container-shadow);display:flex;flex-direction:column;gap:var(--spacing-lg)}.promo-slide-title{font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color);margin:0;max-width:220px}.promo-slide-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-h2);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);color:var(--text-color);text-decoration:none;transition:opacity .2s;margin-top:auto}.promo-slide-button:active{opacity:.7}.promo-button-icon{width:20px;height:20px}.promo-slider-dots{display:flex;gap:var(--spacing-sm);justify-content:center}.promo-dot{width:var(--spacing-sm);height:var(--spacing-sm);border-radius:var(--radius-circle);background-color:#d1d5dc;border:none;padding:0;cursor:pointer;transition:all .3s ease}.promo-dot.active{width:var(--spacing-8);border-radius:var(--radius-full);background-color:#99a1af}.home-section-title{font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color)}.home-community-sources{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.home-source-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--spacing-xxs);padding:var(--spacing-md);padding-left:46px;padding-right:var(--spacing-md);background-color:var(--container-bg);border-radius:var(--radius-lg);border:1px solid var(--container-border);box-shadow:var(--shadow-md);text-decoration:none;color:var(--text-color);transition:transform .2s,opacity .2s,box-shadow .2s;min-height:96px}.home-source-card:hover{box-shadow:var(--shadow-lg)}.home-source-card:active{transform:scale(.98);opacity:.9;box-shadow:var(--shadow-md)}.resource-icon{position:absolute;top:50%;left:var(--spacing-md);transform:translateY(-50%);width:22px;height:22px;display:flex;align-items:center;justify-content:center}.external-link-icon{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:14px;height:14px;color:var(--text-secondary)}.home-source-title{font-size:var(--font-size-body-lg);line-height:1.25;font-weight:var(--font-weight-medium);margin:0;text-align:left}.home-source-description{font-size:var(--font-size-caption);line-height:1.3;font-weight:var(--font-weight-normal);margin:0;text-align:left;color:var(--text-secondary);opacity:.7}@media (min-width: 420px){.home-source-card{padding-right:30px}}@media (min-width: 480px){.home-source-card{padding:var(--spacing-lg);padding-left:58px;padding-right:40px;gap:var(--spacing-xs);min-height:100px}.resource-icon{left:18px}.external-link-icon{top:var(--spacing-md);right:var(--spacing-md);width:16px;height:16px}.home-source-title{line-height:var(--line-height-snug)}.home-source-description{line-height:var(--line-height-normal)}}.home-section-title-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-lg);background-color:var(--container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .2s,opacity .2s,box-shadow .2s}.home-section-title-button .home-section-title{font-size:var(--font-size-h2)}.home-section-title-button:hover{box-shadow:var(--shadow-lg)}.home-section-title-button:active{transform:scale(.98);opacity:.9;box-shadow:var(--shadow-md)}.home-section-title-button .home-section-title{margin:0}.home-section-chevron{font-size:20px;line-height:1;color:var(--text-secondary)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px var(--spacing-lg)}.loading-spinner{width:40px;height:40px;border:4px solid var(--text-secondary);border-top-color:var(--button-color);border-radius:var(--radius-circle);animation:spin 1s linear infinite;margin-bottom:var(--spacing-lg)}@keyframes spin{to{transform:rotate(360deg)}}.loading p{color:var(--text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-loose)}.error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px var(--spacing-lg);text-align:center}.error-icon{font-size:48px;margin-bottom:var(--spacing-lg)}.error-message{color:var(--text-color);font-size:var(--font-size-body-lg);line-height:var(--line-height-loose);margin-bottom:20px}.error-retry{padding:var(--spacing-md) var(--spacing-2xl);background-color:var(--button-color);color:var(--button-text-color);border:none;border-radius:var(--radius-md);font-size:var(--font-size-button-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity .2s}.error-retry:hover{opacity:.9}.error-retry:active{opacity:.8}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:var(--spacing-md) var(--spacing-lg);background:#4caf50f2;color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);z-index:1000;animation:toast-in .3s ease,toast-out .3s ease 2.7s}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}.profile-header{background-color:var(--container-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--container-border);box-shadow:var(--container-shadow);display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile-header-title{font-size:var(--font-size-h2);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-color)}.profile-header-content{background:var(--nested-container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.profile-header-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.profile-header-label{color:var(--text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-loose)}.profile-header-value{color:var(--text-color);font-size:var(--font-size-body);line-height:var(--line-height-loose);font-weight:var(--font-weight-medium)}.referral-section{background-color:var(--container-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--container-border);box-shadow:var(--container-shadow);display:flex;flex-direction:column;gap:var(--spacing-lg)}.referral-section-title{font-size:var(--font-size-h2);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-color)}.referral-section-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.referral-section-description{color:var(--text-color);font-size:var(--font-size-body);line-height:var(--line-height-loose)}.referral-section-stats{display:flex;justify-content:center;gap:var(--spacing-xl);padding:var(--spacing-lg);background:var(--nested-container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg);width:100%;box-sizing:border-box}.referral-section-stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);flex:1;min-width:0}.referral-section-stat-value{font-size:var(--font-size-number-md);font-weight:var(--font-weight-bold);color:var(--text-color);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.referral-section-stat-value:before{font-size:18px;display:block}.referral-section-stat-item:nth-child(1) .referral-section-stat-value:before{content:"👥"}.referral-section-stat-item:nth-child(2) .referral-section-stat-value:before{content:"🌀"}.referral-section-stat-label{font-size:var(--font-size-caption);color:var(--text-secondary);text-align:center;width:100%}.referral-section-inviter{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md);background:var(--nested-container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg)}.referral-section-inviter-label{font-size:var(--font-size-body);color:var(--text-secondary)}.referral-section-inviter-name{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--text-color)}.referral-section-inviter-username{font-size:var(--font-size-body);color:var(--text-secondary)}.referral-section-inviter-username--link{color:var(--button-color);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.referral-section-inviter-username--link:active{opacity:.6}.referral-section-buttons{display:flex;flex-direction:row;gap:var(--spacing-md)}.referral-section-button{flex:1;display:inline-flex;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--button-color);color:var(--button-text-color);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:center}.referral-section-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.referral-section-list-title{font-size:var(--font-size-h3);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-semibold);color:var(--text-color);margin:0}.referral-section-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--nested-container-bg);border-radius:var(--radius-lg);border:1px solid var(--container-border);transition:all .2s ease}.referral-section-item-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.referral-section-item-name{color:var(--text-color);font-size:var(--font-size-body);line-height:var(--line-height-loose);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-xs)}.referral-section-item-name:before{content:"👤";font-size:14px}.referral-section-item-username{color:var(--text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);padding-left:24px}.referral-section-item-parent{color:var(--button-color);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);padding-left:24px;font-style:italic}.referral-section-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.referral-section-item-level{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:2px}.referral-section-item-level:before{content:"🌀";font-size:14px}.referral-section-item-date{color:var(--text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);white-space:nowrap}.referral-section-show-all{width:100%;padding:var(--spacing-md) var(--spacing-lg);background-color:transparent;color:var(--button-color);border:1px solid var(--button-color);border-radius:var(--radius-lg);font-size:var(--font-size-button);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.referral-section-show-all:hover{background-color:var(--button-color);color:var(--button-text-color)}.referral-section-empty{padding:var(--spacing-3xl);text-align:center;background:var(--nested-container-bg);border:1px dashed var(--container-border);border-radius:var(--radius-lg)}.referral-section-empty-icon{font-size:48px;margin-bottom:var(--spacing-lg)}.referral-section-empty-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--text-color);margin-bottom:var(--spacing-sm)}.referral-section-empty-text{font-size:var(--font-size-body);color:var(--text-secondary);line-height:var(--line-height-loose)}.profile-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile-title{font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color)}.page-header{position:relative;display:flex;align-items:center;height:40px}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:var(--container-bg);color:var(--text-color);text-decoration:none;border-radius:var(--radius-lg);font-size:var(--font-size-arrow);line-height:1;font-weight:400;font-family:inherit;letter-spacing:0;text-align:center;border:1px solid var(--container-border);transition:opacity .2s;z-index:1;cursor:pointer}.back-button:active{opacity:.7}.page-title{position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);margin:0;padding:0;color:var(--text-color);height:40px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 100px)}.create-button{position:absolute;right:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:var(--container-bg);color:var(--text-color);text-decoration:none;border-radius:var(--radius-lg);font-size:var(--font-size-arrow);line-height:1;font-weight:var(--font-weight-medium);font-family:inherit;letter-spacing:0;text-align:center;border:1px solid var(--container-border);transition:opacity .2s;cursor:pointer}.create-button:active{opacity:.7}.empty-state{text-align:center;padding:var(--spacing-4xl) var(--page-padding);color:var(--text-secondary)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{font-size:var(--font-size-label);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium);color:var(--text-color)}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-md);border:1px solid var(--container-border);border-radius:var(--radius-lg);background-color:var(--input-background);color:var(--text-color);font-size:var(--font-size-input);line-height:var(--line-height-relaxed);font-family:inherit;box-sizing:border-box}.form-group select option{background-color:var(--input-background);color:var(--text-color)}.form-group textarea{resize:vertical;min-height:100px}.file-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.form-group input[type=file]{padding:var(--spacing-sm);background-color:var(--input-background);color:transparent;border:1px solid var(--container-border);border-radius:var(--radius-md);font-size:var(--font-size-body);line-height:var(--line-height-loose);font-family:inherit;cursor:pointer;width:100%;box-sizing:border-box;position:relative;z-index:1}.form-group input[type=file]:before{content:"";display:none}.form-group input[type=file]::file-selector-button{padding:6px var(--spacing-md);background-color:var(--button-color);color:var(--button-text-color);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-button);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium);cursor:pointer;margin-right:var(--spacing-md)}.form-group input[type=file]::file-selector-button:hover{opacity:.9}.form-group input[type=file]::-webkit-file-upload-button{padding:6px var(--spacing-md);background-color:var(--button-color);color:var(--button-text-color);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-button);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium);cursor:pointer;margin-right:var(--spacing-md)}.file-input-placeholder{position:absolute;left:0;top:50%;transform:translateY(-50%);padding-left:135px;color:var(--text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-loose);pointer-events:none;z-index:0;white-space:nowrap}.photo-preview{margin-top:var(--spacing-md);border-radius:var(--radius-lg);overflow:hidden;max-width:100%}.photo-preview img{width:100%;height:auto;display:block;max-height:300px;object-fit:contain}.form-actions{display:flex;gap:var(--spacing-lg)}.cancel-button,.submit-button{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-2xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-button-lg);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity .2s}.cancel-button{background-color:var(--container-bg);color:var(--text-color);border:1px solid var(--container-border)}.cancel-button:active{opacity:.7}.submit-button{background-color:var(--button-color);color:var(--button-text-color)}.submit-button:active{opacity:.8}.detail-section{padding:var(--spacing-lg);background-color:var(--container-bg);border-radius:var(--radius-lg);border:1px solid var(--container-border)}.detail-section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-h1);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color)}.detail-row{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.detail-row:last-child{margin-bottom:0}.detail-label{font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);color:var(--text-secondary)}.detail-value{font-size:var(--font-size-body);line-height:var(--line-height-loose);color:var(--text-color);word-break:break-word}.detail-link{color:var(--button-color);text-decoration:none}.detail-link:active{opacity:.7}.referrals-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.referrals-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.referrals-stats-container{display:flex;justify-content:space-around;padding:var(--spacing-lg);background:var(--nested-container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg)}.referrals-stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.referrals-stat-value{font-size:var(--font-size-number-md);font-weight:var(--font-weight-bold);color:var(--text-color);display:flex;align-items:center;gap:var(--spacing-xs)}.referrals-stat-value:before{font-size:18px}.referrals-stat-item:nth-child(1) .referrals-stat-value:before{content:"🌟"}.referrals-stat-item:nth-child(2) .referrals-stat-value:before{content:"⭐"}.referrals-stat-label{font-size:var(--font-size-caption);color:var(--text-secondary)}.empty-state{padding:var(--spacing-3xl);text-align:center;background:var(--container-bg);border:1px dashed var(--container-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.empty-state-icon{font-size:48px}.empty-state-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--text-color);margin:0}.empty-state-text{font-size:var(--font-size-body);color:var(--text-secondary);line-height:var(--line-height-loose)}.referral-level-section,.referral-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.referral-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--nested-container-bg);border-radius:var(--radius-lg);border:1px solid var(--container-border);transition:all .2s ease}.referral-item-level-1{background:var(--nested-container-bg)}.referral-item-level-2{margin-left:var(--spacing-lg);opacity:.9}.referral-item-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.referral-item-name{color:var(--text-color);font-size:var(--font-size-body);line-height:var(--line-height-loose);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-xs)}.referral-item-name:before{content:"👤";font-size:16px}.referral-item-username{color:var(--text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);padding-left:27px}.referral-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.referral-item-level{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;gap:2px}.referral-item-level:before{content:"🌀";font-size:14px}.referral-item-date{color:var(--text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);white-space:nowrap}.referral-children{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-left:var(--spacing-lg);border-left:2px dashed var(--container-border);margin-left:var(--spacing-md)}.referral-children-count{font-size:var(--font-size-caption);color:var(--text-secondary);font-weight:var(--font-weight-medium);line-height:1;position:relative;top:-4px}.card-container{background-color:var(--container-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s;border:1px solid var(--container-border)}.card-container:hover{box-shadow:var(--shadow-md)}.card-section,.card-section-sm{padding:var(--spacing-lg)}.border-b{border-bottom:1px solid var(--container-border)}.border-t{border-top:1px solid var(--container-border)}.border-tb{border-top:1px solid var(--container-border);border-bottom:1px solid var(--container-border)}.bg-nested{background-color:var(--nested-container-bg)}.flex-row{display:flex;align-items:center}.flex-row-start{display:flex;align-items:flex-start}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-between-start{display:flex;justify-content:space-between;align-items:flex-start}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.card-title{font-size:var(--font-size-h2);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--text-color);margin:0}.card-subtitle{font-size:13px;color:var(--text-secondary);line-height:var(--line-height-normal);margin:0}.card-text{font-size:var(--font-size-body);line-height:var(--line-height-relaxed);color:var(--text-color);margin:0}.card-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-medium);display:block;margin:0}.card-value{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);color:var(--text-color);display:block;margin:0}.card-value-lg{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);color:var(--button-color);display:block;margin:0}.badge{padding:4px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap;flex-shrink:0;display:inline-block}.badge-semibold{font-weight:var(--font-weight-semibold)}.badge-pill{display:inline-block;padding:4px 12px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);background-color:var(--nested-container-bg)}.badge-paid{padding:var(--spacing-xs) 10px;border-radius:var(--radius-md);font-size:var(--font-size-caption-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;background-color:#4caf50d9;color:#fff;z-index:10;white-space:nowrap;flex-shrink:0;display:inline-block}.badge-active{padding:var(--spacing-xs) 10px;border-radius:var(--radius-md);font-size:var(--font-size-caption-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;background-color:#4caf5026;color:#4caf50;white-space:nowrap;flex-shrink:0;display:inline-block}.badge-inactive{padding:var(--spacing-xs) 10px;border-radius:var(--radius-md);font-size:var(--font-size-caption-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;background-color:#9e9e9e26;color:#9e9e9e;white-space:nowrap;flex-shrink:0;display:inline-block}.card-buttons{display:flex;align-items:center;gap:var(--spacing-sm)}.card-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:opacity .2s}.card-button:active{opacity:.7}.card-button-primary{background-color:var(--button-color);color:var(--button-text-color);font-weight:var(--font-weight-bold)}.card-button-secondary{background-color:var(--nested-container-bg);color:var(--text-color);border:1px solid var(--container-border)}.card-button-destructive{background-color:var(--destructive-color);color:#fff}.card-image{border-radius:var(--radius-lg);overflow:hidden;max-height:300px}.card-image img{width:100%;height:100%;aspect-ratio:3 / 2;object-fit:cover;object-position:center;display:block}.page-container{min-height:100vh;background-color:var(--bg-color)}.page-content{max-width:672px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-lg)}@media (min-width: 640px){.page-content{padding:var(--spacing-2xl) var(--spacing-2xl)}}.form-section{box-sizing:border-box;width:100%;max-width:100%;background-color:var(--container-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--container-border)}.section-header{padding:var(--spacing-lg);border-bottom:1px solid var(--container-border)}.section-header-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);color:var(--text-color);margin:0}.section-header-label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-secondary);margin:0}.section-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);overflow-x:hidden}.section-header+.section-content{padding-top:calc(var(--spacing-lg) - 1px)}.section-content>*:not(:first-child){padding-top:var(--spacing-sm)}.section-content-nested{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-lg) var(--spacing-lg);overflow-x:hidden}.section-content-nested>*{padding-top:var(--spacing-xs)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-sm);box-sizing:border-box;width:100%;max-width:100%}.form-label{display:block;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--text-color)}.form-label-required{color:var(--destructive-color);margin-left:2px}.form-input{width:100%;padding:10px var(--spacing-lg);border:1px solid var(--container-border);border-radius:var(--radius-lg);background-color:var(--input-background);color:var(--text-color);font-size:var(--font-size-input);font-family:inherit;box-sizing:border-box;min-height:calc(var(--spacing-6) + var(--spacing-5));transition:all .2s}.form-input:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 2px #5555ff1a}.form-input::placeholder{color:var(--text-secondary)}input[type=datetime-local].form-input,input[type=date].form-input,input[type=time].form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;padding:10px var(--spacing-lg)!important;font-size:var(--font-size-input)!important;vertical-align:middle}input[type=datetime-local].form-input::-webkit-datetime-edit,input[type=date].form-input::-webkit-date-and-time-value,input[type=date].form-input::-webkit-datetime-edit,input[type=time].form-input::-webkit-datetime-edit{display:inline-block;padding:0!important;margin:0!important;line-height:inherit}input[type=datetime-local].form-input::-webkit-calendar-picker-indicator,input[type=date].form-input::-webkit-calendar-picker-indicator,input[type=time].form-input::-webkit-calendar-picker-indicator{margin:0!important;padding:0!important}.form-textarea{width:100%;padding:10px var(--spacing-lg);border:1px solid var(--container-border);border-radius:var(--radius-lg);background-color:var(--input-background);color:var(--text-color);font-size:var(--font-size-input);font-family:inherit;box-sizing:border-box;resize:none;transition:all .2s;min-height:100px;margin:0}.form-textarea:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 2px #5555ff1a}.form-select{width:100%;padding:10px var(--spacing-lg);padding-right:40px;border:1px solid var(--container-border);border-radius:var(--radius-lg);background-color:var(--input-background);color:var(--text-color);font-size:var(--font-size-input);font-family:inherit;box-sizing:border-box;min-height:calc(var(--spacing-6) + var(--spacing-5));cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238B8681' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px}.form-select:focus{outline:none;border-color:var(--button-color);box-shadow:0 0 0 2px #5555ff1a}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ABA9A7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}.input-with-symbol{position:relative}.input-symbol-right{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:var(--font-size-body);color:var(--text-secondary);pointer-events:none}.input-symbol-left{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:var(--font-size-input);color:var(--text-secondary);pointer-events:none}.input-with-symbol .form-input{padding-right:48px}.input-with-symbol.symbol-left .form-input{padding-left:36px}.form-file-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--container-border);border-radius:var(--radius-lg);background-color:var(--input-background);font-size:var(--font-size-body);font-family:inherit;cursor:pointer;box-sizing:border-box}.form-file-input::file-selector-button{padding:6px var(--spacing-lg);margin-right:var(--spacing-lg);background-color:var(--nested-container-bg);color:var(--text-color);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);cursor:pointer}.form-file-input::-webkit-file-upload-button{padding:6px var(--spacing-lg);margin-right:var(--spacing-lg);background-color:var(--nested-container-bg);color:var(--text-color);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);cursor:pointer}.form-file-input::file-selector-button:hover,.form-file-input::-webkit-file-upload-button:hover{background-color:var(--accent)}.file-preview{border-radius:var(--radius-lg);overflow:hidden;max-height:200px}.file-preview img{width:100%;height:auto;aspect-ratio:3 / 2;display:block;max-height:400px;object-fit:cover;object-position:center}.detail-field{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-medium);display:block}.detail-value{font-size:var(--font-size-body);line-height:var(--line-height-relaxed);color:var(--text-color);word-break:break-word}.detail-value-large{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);color:var(--button-color)}.detail-link{color:var(--button-color);text-decoration:none;font-size:var(--font-size-body);line-height:var(--line-height-relaxed)}.detail-link:hover{text-decoration:underline}.detail-image{position:relative;border-radius:var(--radius-lg);overflow:hidden;max-height:400px}.detail-image img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;object-position:center;display:block}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.checkbox-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-input{width:16px;height:16px;border-radius:var(--radius-sm);border:1px solid var(--container-border);cursor:pointer}.checkbox-label{font-size:var(--font-size-body);color:var(--text-secondary);cursor:pointer}.toggle-buttons{display:flex;gap:var(--spacing-sm)}.toggle-button{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;border:1px solid var(--container-border)}.toggle-button-active{background-color:var(--button-color);color:var(--button-text-color);border-color:var(--button-color)}.toggle-button-inactive{background-color:var(--container-bg);color:var(--text-color)}.toggle-button:hover{background-color:var(--accent)}.toggle-button-active:hover{background-color:var(--button-color);opacity:.9}.form-hint{font-size:var(--font-size-caption);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0}input[type=number].form-input::-webkit-inner-spin-button,input[type=number].form-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number].form-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.products-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.products-title{font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color)}.products-filters{display:flex;gap:var(--spacing-sm);overflow-x:auto;overflow-y:hidden;padding-bottom:var(--spacing-md);scrollbar-width:thin;scrollbar-color:var(--text-secondary) transparent}.products-filters::-webkit-scrollbar{height:4px}.products-filters::-webkit-scrollbar-track{background:transparent}.products-filters::-webkit-scrollbar-thumb{background-color:var(--text-secondary);border-radius:2px}.filter-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--container-bg);color:var(--text-color);border:none;border-radius:var(--radius-2xl);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}.filter-button.active{background-color:var(--button-color);color:var(--button-text-color)}.filter-button:active{opacity:.8}.products-empty{text-align:center;padding:40px var(--spacing-lg);color:var(--text-secondary)}.products-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.product-card{background-color:var(--container-bg);border-radius:var(--radius-xl);padding:var(--spacing-lg);color:var(--text-color);border:1px solid var(--container-border);box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s;text-decoration:none;display:flex;flex-direction:column;gap:var(--spacing-lg);cursor:pointer}.product-card:hover{box-shadow:var(--shadow-lg)}.product-card:active{transform:translateY(1px);box-shadow:var(--shadow-md)}.product-photo{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-lg)}.product-title{font-size:var(--font-size-h1);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);margin:0;color:var(--text-color)}.product-description{font-size:var(--font-size-body-lg);line-height:var(--line-height-loose);color:var(--text-color);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.product-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-lg);border-top:1px solid var(--container-border)}.product-card-price{font-size:var(--font-size-number-md);font-weight:var(--font-weight-semibold);color:var(--text-color);line-height:var(--line-height-snug)}.product-card-chevron{width:20px;height:20px;color:var(--text-secondary);font-size:20px;line-height:1}@media (pointer: fine){.products-filters{padding-bottom:var(--spacing-xs)}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-content{background-color:var(--container-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--container-border);box-shadow:var(--shadow-xl);max-width:500px;width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.modal-title{font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color);margin:0;text-align:left}.modal-text{font-size:var(--font-size-body-lg);line-height:var(--line-height-loose);color:var(--text-color);margin:0;text-align:left}.modal-button{width:100%;min-height:56px;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--success-color) 0%,var(--success-color-light) 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button-lg);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-success);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.modal-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4caf5059,0 3px 8px #4caf5033}.modal-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-success)}.modal-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-button-secondary{background:linear-gradient(135deg,var(--success-color) 0%,var(--success-color-light) 100%)}.modal-button-done{background:var(--container-bg);color:var(--text-color);border:2px solid var(--container-border);box-shadow:none}.modal-button-done:hover:not(:disabled){background:var(--nested-container-bg);border-color:var(--button-color);box-shadow:var(--shadow-sm)}.product-page{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.product-detail{background-color:var(--container-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--container-border);box-shadow:var(--container-shadow);display:flex;flex-direction:column;gap:var(--spacing-lg)}.product-detail-name{font-size:var(--font-size-h1);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-snug);margin:0;color:var(--text-color)}.product-photo-wrapper{position:relative}.product-photo{width:100%;border-radius:var(--radius-lg);overflow:hidden}.product-photo img{width:100%;height:auto;aspect-ratio:3 / 2;display:block;max-height:400px;object-fit:cover;object-position:center}.product-detail-description{margin:0}.product-detail-divider,.purchase-section-divider{height:1px;background:var(--container-border);margin:0;border:none}.product-detail-description p{color:var(--text-color);font-size:var(--font-size-body-lg);line-height:var(--line-height-loose);margin:0}.product-access{padding:var(--spacing-lg);background:linear-gradient(135deg,#4caf5014,#4caf5005);border:1px solid rgba(76,175,80,.2);border-radius:var(--radius-lg);text-align:center;display:flex;flex-direction:column;gap:var(--spacing-md)}.access-message{font-size:var(--font-size-h2);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--text-color);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.access-channel-button{width:100%;min-height:56px;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--success-color) 0%,var(--success-color-light) 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-success);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.access-channel-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5059,0 3px 8px #4caf5033}.access-channel-button:active{transform:translateY(0);box-shadow:var(--shadow-success)}.access-channel-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.cancel-subscription-button{width:100%;min-height:56px;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--destructive-color) 0%,#f29d8e 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-destructive);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.cancel-subscription-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #e88b7a59,0 3px 8px #e88b7a33}.cancel-subscription-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-destructive)}.cancel-subscription-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.resume-subscription-button{width:100%;min-height:56px;padding:var(--spacing-lg);background:linear-gradient(135deg,#2196f3,#64b5f6);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:0 4px 12px #2196f340,0 2px 6px #2196f326;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.resume-subscription-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2196f359,0 3px 8px #2196f333}.resume-subscription-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #2196f340,0 2px 6px #2196f326}.resume-subscription-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.subscription-dates{color:var(--text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-relaxed)}.subscription-dates p{margin:0}.product-purchase{display:flex;flex-direction:column;gap:var(--spacing-lg)}.purchase-price{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:var(--nested-container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.price-label{font-size:var(--font-size-body);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.price-value{font-size:var(--font-size-number-md);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color)}.purchase-bonus{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--nested-container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.bonus-label{font-size:var(--font-size-body);color:var(--text-color);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium)}.bonus-input{padding:var(--spacing-lg);border:2px solid var(--container-border);border-radius:var(--radius-lg);background-color:var(--input-background);font-size:var(--font-size-input);line-height:var(--line-height-relaxed);color:var(--text-color);transition:border-color .2s ease,box-shadow .2s ease;min-height:48px;box-sizing:border-box}.bonus-input:focus{border-color:var(--button-color);box-shadow:var(--shadow-sm);outline:none}.bonus-input::-webkit-outer-spin-button,.bonus-input::-webkit-inner-spin-button{-webkit-appearance:none}.bonus-input[type=number]{-moz-appearance:textfield}.bonus-info{font-size:var(--font-size-caption);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-xs);margin:0}.purchase-final{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:var(--button-color);color:var(--button-text-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-primary);border:none}.final-label{font-size:var(--font-size-h2);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold)}.final-value{font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.purchase-provider{display:flex;flex-direction:column;gap:var(--spacing-sm)}.provider-label{font-size:var(--font-size-body);color:var(--text-color);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-medium)}.provider-buttons{display:flex;gap:var(--spacing-md)}.provider-button{flex:1;display:inline-flex;padding:var(--spacing-md);background:var(--nested-container-bg);color:var(--text-color);border:2px solid var(--container-border);border-radius:var(--radius-lg);font-size:var(--font-size-button);font-weight:var(--font-weight-medium);min-height:48px;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);box-sizing:border-box}.provider-button:hover{border-color:var(--button-color);background:var(--button-color);color:var(--button-text-color);box-shadow:var(--shadow-md)}.provider-button.active{background:var(--button-color);border-color:var(--button-color);color:var(--button-text-color);box-shadow:var(--shadow-md)}.provider-button:active{opacity:.8}.provider-flag{width:18px;height:12px;border-radius:2px;flex-shrink:0;vertical-align:middle;margin-left:4px}.purchase-button{width:100%;padding:var(--spacing-lg);min-height:56px;background:var(--button-color);color:var(--button-text-color);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button-lg);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-sizing:border-box}.purchase-button:hover:not(:disabled){box-shadow:var(--shadow-primary);transform:translateY(-2px)}.purchase-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-md)}.purchase-button:disabled{opacity:.6;cursor:not-allowed}.payment-pending{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--nested-container-bg);border:1px solid var(--container-border);border-radius:var(--radius-lg);text-align:center}.payment-pending-text{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--text-color);margin:0}.payment-pending-hint{font-size:var(--font-size-caption);color:var(--text-secondary);margin:0}.payment-cancel-button{margin-top:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--text-secondary);border:1px solid var(--container-border);border-radius:var(--radius-lg);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.payment-cancel-button:hover{border-color:var(--destructive-color);color:var(--destructive-color)}.faq-page{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.faq-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.faq-item{background-color:var(--container-bg);border-radius:var(--radius-lg);border:1px solid var(--container-border);box-shadow:var(--container-shadow);overflow:hidden}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg);background:transparent;border:none;cursor:pointer;text-align:left;transition:opacity .2s}.faq-question:active{opacity:.7}.faq-question-text{font-size:var(--font-size-h2);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--text-color);flex:1}.faq-arrow{font-size:var(--font-size-display);line-height:1;font-weight:var(--font-weight-normal);color:var(--text-secondary);width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}.faq-question.open .faq-arrow{transform:rotate(0)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out;padding:0 var(--spacing-lg)}.faq-answer.open{max-height:500px;padding:0 var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);transition:max-height .3s ease-in,padding .3s ease-in}.faq-answer p{font-size:var(--font-size-body-lg);line-height:var(--line-height-loose);color:var(--text-color);margin:0}.admin-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-title{font-size:var(--font-size-display);line-height:var(--line-height-snug);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-snug);color:var(--text-color)}.admin-sections{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-section-card{display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--container-bg);border-radius:var(--radius-lg);border:1px solid var(--container-border);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text-color);transition:transform .2s,opacity .2s,box-shadow .2s}.admin-section-card:hover{box-shadow:var(--shadow-lg)}.admin-section-card:active{transform:scale(.98);opacity:.9;box-shadow:var(--shadow-md)}.admin-section-icon{font-size:32px;line-height:0;align-self:center}.admin-section-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.admin-section-heading{font-size:var(--font-size-h2);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);margin:0;padding:0}.admin-section-text{font-size:var(--font-size-body-sm);line-height:var(--line-height-normal);color:var(--text-secondary);opacity:.9;margin:0;padding:0}.admin-users-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.export-button{position:absolute;right:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:var(--container-bg);color:var(--text-color);border-radius:var(--radius-lg);font-size:var(--font-size-arrow);line-height:1;font-weight:var(--font-weight-medium);font-family:inherit;border:1px solid var(--container-border);transition:opacity .2s;cursor:pointer}.export-button:disabled{opacity:.5;cursor:default}.export-button:not(:disabled):active{opacity:.7}.users-search-input{flex:1;padding:var(--spacing-md);border:1px solid var(--container-border);border-radius:var(--radius-lg);background-color:var(--input-background);color:var(--text-color);font-size:var(--font-size-input);line-height:var(--line-height-relaxed);font-family:inherit;outline:none}.users-search-input::placeholder{color:var(--text-secondary)}.users-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--container-border);box-shadow:var(--shadow-md);background-color:var(--container-bg)}.users-table{width:100%;border-collapse:collapse;font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.users-table thead tr{border-bottom:1px solid var(--container-border)}.users-table th{padding:var(--spacing-md) var(--spacing-md);text-align:center;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);color:var(--text-secondary);white-space:nowrap;background-color:var(--container-bg);border-right:1px solid var(--container-border)}.users-table th:last-child{border-right:none}.users-table th:first-child{text-align:left}.users-table td{padding:var(--spacing-md) var(--spacing-md);border-top:1px solid var(--container-border);border-right:1px solid var(--container-border);color:var(--text-color);vertical-align:middle;text-align:center;font-size:var(--font-size-caption)}.users-table td:last-child{border-right:none}.users-table td:first-child{text-align:left}.users-table-row{cursor:pointer;transition:background-color .15s}.users-table-row:active{background-color:var(--accent)}.col-name{min-width:120px}.col-tgid{min-width:90px;white-space:nowrap;color:var(--text-secondary)}.col-sub{min-width:80px;white-space:nowrap}.col-bonus,.col-payments{min-width:60px;font-variant-numeric:tabular-nums}.col-date{min-width:80px;white-space:nowrap;color:var(--text-secondary)}.user-cell-name{font-weight:var(--font-weight-semibold);color:var(--text-color);font-size:var(--font-size-caption);line-height:var(--line-height-normal)}.user-cell-meta{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:2px;font-size:var(--font-size-caption);color:var(--text-secondary)}.user-username-link{color:var(--button-color);cursor:pointer;transition:opacity .2s;-webkit-user-select:none;user-select:none}.user-username-link:active{opacity:.6}.admin-badge{padding:2px var(--spacing-xs);background:#ff6b6b;color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-caption-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-normal)}.sub-badge{display:inline-block;padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.sub-badge--active{background-color:var(--button-color-transparent);color:var(--button-color)}.sub-badge--none{color:var(--text-secondary)}.users-count{text-align:center;font-size:var(--font-size-caption);color:var(--text-secondary);line-height:var(--line-height-normal)}.admin-products-page{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.products-list,.product-form,.product-details{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-mailings-page{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.mailings-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-mailings-page .empty-state{font-size:var(--font-size-body-lg);line-height:var(--line-height-loose)}.mailing-form,.mailing-details{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-specialists-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-specialists-page .page-title{line-height:1}.specialists-list,.specialist-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.user-detail-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.user-detail-badge{display:inline-block;padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}.user-detail-badge--admin{background:#ff6b6b;color:#fff}.user-detail-badge--active{background-color:var(--button-color-transparent);color:var(--button-color)}.user-detail-badge--inactive,.user-detail-badge--neutral{background-color:var(--accent);color:var(--text-secondary)}.detail-empty{font-size:var(--font-size-body);line-height:var(--line-height-loose);color:var(--text-secondary)}.detail-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-list-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background-color:var(--nested-container-bg);border-radius:var(--radius-md);border:1px solid var(--container-border)}.detail-list-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.detail-list-item-title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--text-color);line-height:var(--line-height-normal);flex:1;min-width:0;word-break:break-word}.detail-list-item-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-caption);line-height:var(--line-height-normal);color:var(--text-secondary)}.bonus-amount{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.bonus-amount--positive{color:var(--success-color)}.bonus-amount--negative{color:var(--destructive-color)}.terms-consent-page{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.terms-header{text-align:left;display:flex;flex-direction:column;gap:var(--spacing-0)}.terms-page-title{font-size:var(--font-size-number-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);margin:0;color:var(--text-color)}.terms-page-subtitle{font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);margin:0;color:var(--text-secondary)}.terms-content{background-color:var(--container-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--container-border);box-shadow:var(--container-shadow);display:flex;flex-direction:column;gap:var(--spacing-lg)}.terms-document-link{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--nested-container-bg);border-radius:var(--radius-lg);border:1px solid var(--container-border);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text-color);transition:all .2s ease;box-sizing:border-box}.terms-document-link:hover{box-shadow:var(--shadow-md);border-color:var(--button-color)}.terms-document-link:active{opacity:.8;box-shadow:var(--shadow-sm)}.terms-document-emoji{font-size:20px;line-height:1;flex-shrink:0}.external-link-icon{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:16px;height:16px;color:var(--text-secondary)}.terms-document-name{font-size:var(--font-size-body);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);text-align:left;flex:1;padding-right:var(--spacing-6)}.terms-error{padding:var(--spacing-md);background-color:#ff3b301a;border:1px solid rgba(255,59,48,.3);border-radius:var(--radius-lg);color:#ff3b30;font-size:var(--font-size-body);line-height:var(--line-height-relaxed);text-align:center}.terms-accept-button{width:100%;padding:var(--spacing-lg);min-height:56px;background:var(--button-color);color:var(--button-text-color);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-button-lg);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);box-sizing:border-box;margin-top:auto}.terms-accept-button:hover:not(:disabled){box-shadow:var(--shadow-primary);transform:translateY(-2px)}.terms-accept-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-md)}.terms-accept-button:disabled{opacity:.6;cursor:not-allowed}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy/GilroyUI-Regular.woff2) format("woff2"),url(/fonts/Gilroy/GilroyUI-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy/GilroyUI-Medium.woff2) format("woff2"),url(/fonts/Gilroy/GilroyUI-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy/GilroyUI-Semibold.woff2) format("woff2"),url(/fonts/Gilroy/GilroyUI-Semibold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Gilroy;src:url(/fonts/Gilroy/GilroyUI-Bold.woff2) format("woff2"),url(/fonts/Gilroy/GilroyUI-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--bg-color: #fdfcfb;--container-bg: #f5f3f0;--nested-container-bg: #faf8f6;--input-background: #ffffff;--accent: #f9f6f3;--switch-background: #ddd8d3;--container-border: rgba(139, 134, 129, .25);--text-color: #3d3d3d;--text-secondary: #8b8681;--button-color: #3f81c6;--button-text-color: #ffffff;--button-color-transparent: rgba(63, 129, 198, .15);--button-color-solid: rgb(63, 129, 198);--destructive-color: #e88b7a;--success-color: #4CAF50;--success-color-light: #66BB6A;--success-color-dark: #388E3C;--shadow-none: none;--shadow-sm: 0 1px 2px 0 rgba(139, 134, 129, .08);--shadow-md: 0 2px 8px 0 rgba(139, 134, 129, .12), 0 1px 2px 0 rgba(139, 134, 129, .06);--shadow-lg: 0 4px 16px 0 rgba(139, 134, 129, .16), 0 2px 6px 0 rgba(139, 134, 129, .08);--shadow-xl: 0 8px 24px 0 rgba(139, 134, 129, .2), 0 4px 8px 0 rgba(139, 134, 129, .1);--shadow-2xl: 0 12px 32px 0 rgba(139, 134, 129, .24), 0 6px 12px 0 rgba(139, 134, 129, .12);--shadow-md-hover: 0 4px 12px 0 rgba(139, 134, 129, .16), 0 2px 4px 0 rgba(139, 134, 129, .08);--shadow-lg-active: 0 2px 8px 0 rgba(139, 134, 129, .12), 0 1px 3px 0 rgba(139, 134, 129, .06);--shadow-success: 0 4px 16px 0 rgba(76, 175, 80, .24), 0 2px 6px 0 rgba(76, 175, 80, .12);--shadow-primary: 0 4px 12px 0 rgba(63, 129, 198, .2), 0 2px 4px 0 rgba(63, 129, 198, .1);--shadow-destructive: 0 4px 12px 0 rgba(232, 139, 122, .2), 0 2px 4px 0 rgba(232, 139, 122, .1);--shadow-inset-sm: inset 0 1px 2px 0 rgba(139, 134, 129, .08);--shadow-nav-bottom: 0 -2px 8px 0 rgba(139, 134, 129, .12), 0 -1px 2px 0 rgba(139, 134, 129, .06);--shadow-sticky: 0 4px 12px 0 rgba(139, 134, 129, .16), 0 2px 4px 0 rgba(139, 134, 129, .08);--container-shadow: var(--shadow-md);--font-size-display: 24px;--font-size-h1: 20px;--font-size-h2: 18px;--font-size-h3: 16px;--font-size-body-lg: 16px;--font-size-body: 14px;--font-size-body-sm: 13px;--font-size-caption: 12px;--font-size-caption-sm: 11px;--font-size-number-lg: 28px;--font-size-arrow: 20px;--font-size-number-md: 20px;--font-size-button-lg: 16px;--font-size-button: 14px;--font-size-input: 16px;--font-size-label: 14px;--line-height-tight: 1.2;--line-height-snug: 1.3;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--line-height-loose: 1.6;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.02em;--letter-spacing-snug: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .01em;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-12: 48px;--spacing-xxs: 2px;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-3);--spacing-lg: var(--spacing-4);--spacing-xl: var(--spacing-5);--spacing-2xl: var(--spacing-6);--spacing-3xl: var(--spacing-8);--spacing-4xl: var(--spacing-12);--radius-none: 0;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--radius-circle: 50%;--page-padding: var(--spacing-lg);--card-padding: var(--spacing-lg);--card-gap: var(--spacing-md);--button-padding-y: var(--spacing-md);--button-padding-x: var(--spacing-6);--input-padding: var(--spacing-md);--form-field-gap: var(--spacing-lg);--section-gap: var(--spacing-6)}[data-theme=dark]{--bg-color: #1f2024;--container-bg: #3a3b42;--nested-container-bg: #45464e;--input-background: #2d2e34;--accent: #3e3f47;--container-border: #54555d;--text-color: #f2f2f0;--text-secondary: #9b9ca3;--button-color: #eae8dc;--button-text-color: #2d2e34;--button-color-transparent: rgba(234, 232, 220, .15);--button-color-solid: rgb(234, 232, 220);--destructive-color: #d66b5a;--success-color: #66BB6A;--success-color-light: #81C784;--success-color-dark: #4CAF50;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-lg: 0 4px 16px 0 rgba(0, 0, 0, .5), 0 2px 6px 0 rgba(0, 0, 0, .3);--shadow-xl: 0 8px 24px 0 rgba(0, 0, 0, .6), 0 4px 8px 0 rgba(0, 0, 0, .4);--shadow-2xl: 0 12px 32px 0 rgba(0, 0, 0, .7), 0 6px 12px 0 rgba(0, 0, 0, .5);--shadow-md-hover: 0 4px 12px 0 rgba(0, 0, 0, .5), 0 2px 4px 0 rgba(0, 0, 0, .3);--shadow-lg-active: 0 2px 8px 0 rgba(0, 0, 0, .4), 0 1px 3px 0 rgba(0, 0, 0, .2);--shadow-success: 0 4px 16px 0 rgba(102, 187, 106, .32), 0 2px 6px 0 rgba(102, 187, 106, .16);--shadow-primary: 0 4px 12px 0 rgba(100, 149, 237, .28), 0 2px 4px 0 rgba(100, 149, 237, .14);--shadow-destructive: 0 4px 12px 0 rgba(232, 139, 122, .3), 0 2px 4px 0 rgba(232, 139, 122, .15);--shadow-inset-sm: inset 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-nav-bottom: 0 -2px 8px 0 rgba(0, 0, 0, .4), 0 -1px 2px 0 rgba(0, 0, 0, .2);--shadow-sticky: 0 4px 12px 0 rgba(0, 0, 0, .5), 0 2px 4px 0 rgba(0, 0, 0, .3);--container-shadow: var(--shadow-md)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Gilroy,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease;overscroll-behavior-y:none}button,input,textarea,select{font-family:inherit}#root{min-height:100vh}
