.login-page{justify-content:center;align-items:center;min-height:60vh;padding:40px 16px;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:40px;box-shadow:0 4px 24px #00000014}.login-title{font-family:var(--font-heading);color:#111;margin:0 0 6px;font-size:28px;font-weight:700;line-height:1.25}.login-subtitle{color:#666;margin:0 0 24px;font-size:14px;line-height:1.5}.login-notice{color:#2a5a8c;background:#f0f4f8;border:1px solid #d0dbe8;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;line-height:1.5}.login-notice--ok{color:#1a6a3a;background:#eefaf3;border-color:#b6e2ca}.login-notice--err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.oauth-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.oauth-btn:hover{background:#f7f8fa;border-color:#b0b6bf}.oauth-btn svg,.oauth-btn img{flex-shrink:0;width:20px;height:20px}.oauth-yandex{color:#fff;background:#fc3f1d;border-color:#fc3f1d}.oauth-yandex:hover{background:#e0350f;border-color:#e0350f}.login-divider{color:#aaa;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:14px;margin:20px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#e0e0e0;flex:1;height:1px}.login-form{flex-direction:column;gap:14px;display:flex}.login-label{color:#333;margin-bottom:4px;font-size:13px;font-weight:500;display:block}.login-input{width:100%;font-size:14px;font-family:var(--font-body);color:#1a1a1a;background:#fff;border:1px solid #d0d5dd;border-radius:8px;outline:none;padding:12px 14px;transition:border-color .15s}.login-input:focus{border-color:#2a5a8c}.login-input::placeholder{color:#aaa}.login-submit{color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;letter-spacing:.3px;background:#2a5a8c;border:none;border-radius:10px;margin-top:4px;padding:13px 22px;font-size:15px;font-weight:600;transition:background .15s}.login-submit:hover:not(:disabled){background:#1a3a5c}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-hint{color:#6b6b6b;margin-top:-6px;font-size:12px;line-height:1.4}.login-hint a{color:#2a5a8c;text-decoration:underline}.login-legal{color:#999;text-align:center;margin-top:20px;font-size:11px;line-height:1.5}.login-legal a{color:#666;text-decoration:underline}.account-page{width:100%;max-width:900px;margin:0 auto;padding:40px 20px 60px}.account-tabs{min-width:0}.account-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.account-header h1{font-family:var(--font-heading);color:#111;margin:0;font-size:26px;font-weight:700}.account-greeting{color:#666;margin:0 0 28px;font-size:14px;line-height:1.5}.signout-btn{color:#555;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #d0d5dd;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.signout-btn:hover{background:#f5f5f5;border-color:#b0b6bf}.account-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid #e0e0e0;gap:0;margin-bottom:28px;display:flex;overflow-x:auto}.account-tab{color:#666;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.account-tab:hover{color:#333}.account-tab--active{color:#2a5a8c;border-bottom-color:#2a5a8c}.account-panel{min-height:200px}.account-empty{text-align:center;color:#888;flex-direction:column;justify-content:center;align-items:center;padding:48px 16px;display:flex}.account-empty-icon{margin-bottom:14px;font-size:48px;line-height:1;display:block}.account-empty p{color:#888;max-width:320px;margin:0;font-size:14px;line-height:1.6}.profile-section{margin-bottom:32px}.profile-section h2{font-family:var(--font-heading);color:#111;margin:0 0 18px;font-size:18px;font-weight:600}.profile-field{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.profile-field span{color:#333;font-size:13px;font-weight:500}.profile-field input{width:100%;font-size:14px;font-family:var(--font-body);color:#1a1a1a;background:#fff;border:1px solid #d0d5dd;border-radius:8px;outline:none;padding:12px 14px;transition:border-color .15s}.profile-field input:focus{border-color:#2a5a8c}.profile-field input:disabled{color:#999;cursor:not-allowed;background:#f7f8fa}.profile-actions{align-items:center;gap:14px;margin-top:8px;display:flex}.profile-actions button{color:#fff;cursor:pointer;background:#2a5a8c;border:none;border-radius:10px;padding:11px 28px;font-size:14px;font-weight:600;transition:background .15s}.profile-actions button:hover:not(:disabled){background:#1a3a5c}.profile-actions button:disabled{opacity:.5;cursor:not-allowed}.profile-saved{color:#1a6a3a;align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.course-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:24px;transition:box-shadow .15s}.course-card:hover{box-shadow:0 2px 12px #0000000f}.course-card--trial{border-left:4px solid #2a5a8c}.course-card-title{font-family:var(--font-heading);color:#111;margin:0 0 6px;font-size:17px;font-weight:600}.course-card-desc{color:#555;margin:0 0 16px;font-size:14px;line-height:1.6}.course-card-btn{color:#fff;cursor:pointer;text-align:center;background:#2a5a8c;border:none;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.course-card-btn:hover{color:#fff;background:#1a3a5c}.course-card-badge{text-transform:uppercase;letter-spacing:.5px;color:#2a5a8c;background:#eef3f9;border-radius:6px;margin-bottom:10px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.test-intro{background:linear-gradient(135deg,#f0f4f8 0%,#fff 100%);border:1px solid #e0e7ef;border-radius:14px;margin-bottom:24px;padding:28px}.test-intro h3{font-family:var(--font-heading);color:#111;margin:0 0 8px;font-size:18px;font-weight:600}.test-intro p{color:#555;margin:0 0 18px;font-size:14px;line-height:1.6}.test-results{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:28px}.test-results h3{font-family:var(--font-heading);color:#111;margin:0 0 12px;font-size:18px;font-weight:600}.test-results p{color:#555;margin:0 0 8px;font-size:14px;line-height:1.6}@media (max-width:640px){.login-card{border-radius:12px;padding:28px 20px}.login-title{font-size:24px}.account-page{padding:24px 16px 48px}.account-header{flex-direction:column;align-items:flex-start;gap:12px}.account-header h1{font-size:22px}.account-tabs{margin-bottom:20px}.account-tab{padding:10px 14px;font-size:13px}.course-card{padding:18px}.test-intro,.test-results{padding:20px}.profile-actions{flex-direction:column;align-items:stretch}.profile-actions button{width:100%}}.account-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px;display:grid}.summary-tile{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:18px 12px;transition:box-shadow .15s;display:flex}.summary-tile:hover{box-shadow:0 2px 12px #0000000f}.summary-tile-icon{font-size:24px;line-height:1}.summary-tile-count{color:#111;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.summary-tile-label{color:#888;text-transform:uppercase;letter-spacing:.3px;font-size:12px}.orders-list{flex-direction:column;gap:12px;display:flex}.order-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.order-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.order-card-date{color:#888;font-size:13px}.order-status-badge{text-transform:uppercase;letter-spacing:.3px;color:#666;background:#f0f4f8;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.order-status--paid{color:#1a6a3a;background:#eefaf3}.order-status--pending{color:#92400e;background:#fef3c7}.order-status--refunded{color:#b91c1c;background:#fef2f2}.order-card-items{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.order-item-link{color:#2a5a8c;font-size:14px;font-weight:500;text-decoration:none}.order-item-link:hover{text-decoration:underline}.order-card-total{color:#555;border-top:1px solid #f0f0f0;padding-top:10px;font-size:14px}.wishlist-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.wishlist-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.wishlist-card-title{color:#111;font-size:15px;font-weight:600;line-height:1.4;text-decoration:none}.wishlist-card-title:hover{color:#2a5a8c}.wishlist-card-price{color:#2a5a8c;font-size:16px;font-weight:700}.wishlist-card-actions{gap:8px;margin-top:8px;display:flex}.wishlist-enroll-btn{color:#fff;cursor:pointer;background:#2a5a8c;border:none;border-radius:8px;flex:1;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s}.wishlist-enroll-btn:hover{background:#1a3a5c}.wishlist-remove-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #d0d5dd;border-radius:8px;padding:8px 14px;font-size:13px;transition:background .15s}.wishlist-remove-btn:hover{background:#f5f5f5}.earn-gate{text-align:center;padding:40px 20px}.earn-gate h3{font-family:var(--font-heading);color:#111;margin:0 0 10px;font-size:20px;font-weight:600}.earn-gate p{color:#555;max-width:400px;margin:0 auto 20px;font-size:14px;line-height:1.6}.earn-terms-label{color:#555;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.earn-section h3{font-family:var(--font-heading);color:#111;margin:0 0 8px;font-size:18px;font-weight:600}.earn-section p{color:#555;margin:0 0 20px;font-size:14px;line-height:1.6}.earn-link-box{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:16px}.earn-link-box label{color:#333;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.earn-link-row{gap:8px;display:flex}.earn-link-input{color:#333;background:#fff;border:1px solid #d0d5dd;border-radius:8px;flex:1;padding:10px 14px;font-family:monospace;font-size:13px}.earn-copy-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#2a5a8c;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;transition:background .15s}.earn-copy-btn:hover{background:#1a3a5c}.earn-stats{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.earn-stat{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:120px;padding:16px 20px}.earn-stat-value{color:#111;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;display:block}.earn-stat-label{color:#888;margin-top:2px;font-size:12px}.earn-section h4{color:#333;margin:0 0 12px;font-size:15px;font-weight:600}.earn-empty{color:#888;font-size:14px}.earn-table-wrap{overflow-x:auto}.earn-table{border-collapse:collapse;width:100%;font-size:13px}.earn-table th{text-align:left;color:#333;white-space:nowrap;border-bottom:2px solid #e5e7eb;padding:10px 12px;font-weight:600}.earn-table td{color:#555;border-bottom:1px solid #f0f0f0;padding:10px 12px}.earn-table tr:hover td{background:#fafafa}.profile-check{margin-bottom:14px}.profile-check label{color:#333;cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.profile-check input[type=checkbox]{accent-color:#2a5a8c;cursor:pointer;width:18px;height:18px}.profile-providers{border-top:1px solid #e5e7eb;margin-top:28px;padding-top:20px}.profile-providers h3{color:#333;margin:0 0 10px;font-size:14px;font-weight:600}.provider-badges{flex-wrap:wrap;gap:8px;display:flex}.provider-badge{color:#555;background:#f7f8fa;border:1px solid #d0d5dd;border-radius:20px;padding:5px 14px;font-size:13px;display:inline-block}.profile-danger-zone{border-top:1px solid #fecaca;margin-top:32px;padding-top:20px}.profile-link{color:#2a5a8c;margin-bottom:16px;font-size:14px;display:inline-block}.profile-delete-btn{color:#b91c1c;cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:500;transition:background .15s;display:block}.profile-delete-btn:hover{background:#fef2f2}.profile-delete-warning{color:#b91c1c;margin-top:8px;font-size:12px;line-height:1.5}.rewards-card{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:12px;margin-top:24px;padding:20px}.rewards-card h3{font-family:var(--font-heading);color:#111;margin:0 0 14px;font-size:16px;font-weight:600}.rewards-row{margin-bottom:14px}.rewards-label{color:#888;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.rewards-value-row{align-items:center;gap:8px;display:flex}.rewards-code{color:#2a5a8c;letter-spacing:1px;background:#fff;border:1px dashed #2a5a8c;border-radius:6px;padding:6px 14px;font-size:15px;font-weight:700}.rewards-link-input{color:#333;background:#fff;border:1px solid #d0d5dd;border-radius:6px;flex:1;padding:8px 12px;font-family:monospace;font-size:12px}.rewards-copy-btn{color:#fff;cursor:pointer;background:#2a5a8c;border:none;border-radius:6px;padding:8px 14px;font-size:12px;font-weight:600}.rewards-copy-btn:hover{background:#1a3a5c}.cart-guest-banner{background:#f0f4f8;border:1px solid #d0dbe8;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 20px;display:flex}.cart-guest-banner p{color:#333;margin:0;font-size:14px}.cart-guest-signin-btn{color:#fff;white-space:nowrap;background:#2a5a8c;border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;text-decoration:none}.cart-guest-signin-btn:hover{background:#1a3a5c}.success-earn-banner{text-align:center;background:linear-gradient(135deg,#f0f4f8 0%,#fff 100%);border:1px solid #d0dbe8;border-radius:14px;margin-top:24px;padding:24px}.success-earn-banner h3{font-family:var(--font-heading);color:#111;margin:0 0 6px;font-size:18px;font-weight:600}.success-earn-banner p{color:#555;margin:0 0 16px;font-size:14px;line-height:1.6}@media (max-width:640px){.account-summary{grid-template-columns:repeat(2,1fr)}.wishlist-grid{grid-template-columns:1fr}.earn-link-row,.earn-stats{flex-direction:column}.cart-guest-banner{text-align:center;flex-direction:column}.rewards-value-row{flex-direction:column;align-items:stretch}}.courses-tab{flex-direction:column;gap:0;display:flex}.course-card--highlight{background:linear-gradient(135deg,#f0f4f8 0%,#fff 100%);border:2px solid #2a5a8c;border-left-width:4px}.course-card-top{margin-bottom:8px}.course-card-chars{flex-direction:column;gap:4px;margin:0 0 16px;padding:0;list-style:none;display:flex}.course-card-chars li{color:#555;font-size:13px;line-height:1.5}.course-card-chars li strong{color:#333}.course-card-btn--big{text-align:center;padding:14px 28px;font-size:16px;display:block}.courses-section-title{font-family:var(--font-heading);color:#111;margin:32px 0 16px;font-size:18px;font-weight:600}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.course-card-footer{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.course-card-price{color:#2a5a8c;font-size:20px;font-weight:700}@media (max-width:640px){.courses-grid{grid-template-columns:1fr}.course-card-btn--big{padding:12px 22px;font-size:15px}}.trial-block{max-width:460px;margin:0 auto;padding-bottom:8px}.trial-block .program-title{margin-bottom:8px}.trial-form{flex-direction:column;gap:10px;margin-top:18px;display:flex}.trial-form .booking-phone-note{color:#666;margin:-4px 0 0;font-size:12px;line-height:1.4}.login-promise{color:#1e7a3c;background:#e6f4ea;border-radius:8px;margin:0 0 20px;padding:10px 14px;font-size:14px;line-height:1.6}@media (pointer:coarse){.login-legal{font-size:12px}.login-legal a{padding:13px 4px;display:inline-block}.account-tab,.profile-delete-btn,.signout-btn{min-height:44px}.login-input,.profile-field input,.earn-link-input,.rewards-link-input{font-size:16px}}.booking{flex-direction:column;gap:10px;display:flex;container-type:inline-size}.booking-cols{flex-direction:column;gap:20px;display:flex}.booking-pick,.booking-send{flex-direction:column;gap:10px;min-width:0;display:flex}@container (min-width:760px){.booking-cols{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:40px;display:grid}.booking-send{padding-top:41px}}.booking-step{font-family:var(--font-body);color:#1a1a1a;margin:18px 0 2px;font-size:15px;font-weight:600}.booking-row{flex-wrap:wrap;gap:8px;display:flex}.booking-week{flex-direction:column;gap:8px;display:flex}.booking-week-head{justify-content:space-between;align-items:center;display:flex}.booking-week-range{font-family:var(--font-body);color:#1a1a1a;font-size:14px;font-weight:600}.booking-week-nav{color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #eee;border-radius:4px;width:32px;height:32px;font-size:18px;line-height:1}.booking-week-nav:hover:not(:disabled){border-color:#1a1a1a}.booking-week-nav:disabled{color:#ccc;cursor:default}.booking-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.booking-day{color:#1a1a1a;font-family:var(--font-body);cursor:pointer;background:#fff;border:1px solid #eee;border-radius:4px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:10px 0;transition:border-color .15s,background .15s,color .15s;display:flex}.booking-day:hover{border-color:#1a1a1a}.booking-day-top{text-transform:uppercase;letter-spacing:.04em;color:#6b6b6b;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.booking-day-num{font-size:20px;font-weight:600;line-height:1.1}.booking-day-mon{color:#6b6b6b;font-size:11px}.booking-day--on{color:#fff;background:#000;border-color:#000}.booking-day--on .booking-day-top,.booking-day--on .booking-day-mon{color:#ccc}.booking-day--today .booking-day-mon:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin:3px auto 0;display:block}.booking-slots{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.booking-slot{color:#1a1a1a;font-family:var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border:1px solid #eee;border-radius:4px;padding:11px 4px;font-size:15px;transition:border-color .15s,background .15s,color .15s}.booking-slot:hover{border-color:#1a1a1a}.booking-slot--on{color:#fff;background:#000;border-color:#000}.booking-slot:disabled{cursor:default}.booking-slot--free{color:#14532d;background:#e3f4e6;border-color:#6fbf7c;font-weight:600}.booking-slot--free.booking-slot--on{color:#fff;background:#000;border-color:#000}.booking-slot--busy,.booking-slot--busy:hover{color:#5c4400;opacity:.85;background:#ffe58a;border-color:#d9a400}.booking-busy-note{color:#6b6b6b;align-items:center;gap:6px;font-size:12px;font-weight:400;display:inline-flex}.booking-label--row{justify-content:space-between;align-items:center;gap:10px;display:flex}.booking-busy-dot{background:#ffe58a;border:1px solid #d9a400;border-radius:3px;width:12px;height:12px}.tslot--free{color:#14532d;background:#e3f4e6;border-color:#6fbf7c;font-weight:600}.tslot--off{color:#b42318;background:#fdeaea;border-color:#eeb4b4;text-decoration:line-through}.tslot--taken{color:#5c4400;background:#ffe58a;border-color:#d9a400;font-weight:700}.tslot--taken:disabled{cursor:not-allowed}.tslot--free:hover{border-color:#14532d}.tslot--off:hover{border-color:#b42318}.tslot-legend{flex-wrap:wrap;gap:8px;margin:8px 0 16px;display:flex}.tslot-legend .booking-slot{cursor:default;padding:6px 12px;font-size:13px}.login-link-btn{color:#2a5a8c;font-size:12px;font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.booking--card{background:#fff;border:1px solid #eee;border-radius:12px;gap:0;margin:8px 0 24px;box-shadow:0 4px 20px #0000000f}.booking-card-head{padding:28px 32px 0}.booking-card-title{font-family:var(--font-heading);color:#000;margin:0 0 6px;font-size:28px;font-weight:700;line-height:1.2}.booking-card-lead{color:#444;margin:0;font-size:15px;line-height:1.5}.booking-card-body,.booking-body{flex-direction:column;gap:10px;display:flex}.booking-card-body{padding:20px 32px 24px}.booking .btn-primary:disabled{opacity:.35;cursor:not-allowed}.booking .login-input{border-radius:4px}@media (max-width:540px){.booking-card-head{padding:22px 18px 0}.booking-card-title{font-size:22px}.booking-card-body{padding:16px 16px 18px}}.booking-label{font-family:var(--font-body);color:#1a1a1a;margin:6px 0 0;font-size:13px;font-weight:600}.booking p.booking-label{margin:6px 0 0}.booking p.login-hint,.booking p.login-legal,.booking p.booking-busy-note{margin-bottom:0}.booking p.login-hint{margin-top:0}@media (max-width:540px){.booking-card-head{padding:16px 16px 0}.booking--card .booking-card-head .booking-card-title{margin:0 0 4px;font-size:20px;line-height:1.2}.booking--card .booking-card-head .booking-card-lead{margin:0;font-size:14px;line-height:1.35}.booking-card-body{gap:8px;padding:8px 16px 14px}.booking-cols,.booking-pick,.booking-send,.booking-week{gap:8px}.booking-week-nav{width:28px;height:28px}.booking-days{gap:4px}.booking-day{gap:1px;padding:7px 0 8px}.booking-day-num{font-size:18px}.booking-day-mon{display:none}.booking-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.booking-slot{padding:4px 2px;font-size:14px;line-height:1.2}.booking .trial-form{gap:8px;margin-top:0}.booking .login-input{padding:10px 12px}.booking .btn-primary{padding:12px}.booking p.booking-label{margin-top:6px}.booking p.login-legal{margin-top:0}}
