.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.error-content{background:#fff;border-radius:12px;padding:3rem;max-width:600px;text-align:center;box-shadow:0 20px 40px #0003}.error-content h2{color:#333;margin:0 0 1rem;font-size:2rem}.error-content p{color:#666;margin:0 0 2rem;line-height:1.6}.error-details{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;margin:2rem 0;text-align:left}.error-details summary{cursor:pointer;font-weight:600;color:#667eea;margin-bottom:1rem}.error-details pre{background:#1a1a1a;color:#0f0;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.85rem;margin:.5rem 0}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.error-actions button{padding:.75rem 2rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.error-actions .btn-primary{background:#667eea;color:#fff;border:none}.error-actions .btn-primary:hover{background:#5a67d8;transform:translateY(-2px)}.error-actions .btn-secondary{background:transparent;color:#667eea;border:2px solid #667eea}.error-actions .btn-secondary:hover{background:#667eea;color:#fff}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;padding:16px;margin-bottom:12px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;pointer-events:all;animation:toast-slide-in .3s ease-out;transition:all .3s ease-out}.toast-leaving{animation:toast-slide-out .3s ease-out;opacity:0;transform:translate(100%)}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.toast-message{flex:1;color:#333;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.toast-close:hover{color:#333}.toast-success{border-left:4px solid #48bb78}.toast-success .toast-icon{background:#48bb78;color:#fff}.toast-error{border-left:4px solid #f56565}.toast-error .toast-icon{background:#f56565;color:#fff}.toast-warning{border-left:4px solid #ed8936}.toast-warning .toast-icon{background:#ed8936;color:#fff}.toast-info{border-left:4px solid #4299e1}.toast-info .toast-icon{background:#4299e1;color:#fff}@media (max-width: 640px){.toast-container{left:20px;right:20px}.toast{min-width:auto;width:100%}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;margin:2rem auto;max-width:500px}.error-state-icon{font-size:3rem;margin-bottom:1rem}.error-state-title{margin:0 0 .5rem;color:#c53030;font-size:1.25rem}.error-state-message{margin:0 0 1.5rem;color:#742a2a;line-height:1.5}.error-state-details{width:100%;margin-bottom:1.5rem;background:#fff;border:1px solid #fc8181;border-radius:4px;padding:1rem;text-align:left}.error-state-details summary{cursor:pointer;font-weight:600;color:#c53030;margin-bottom:.5rem}.error-state-details pre{background:#1a1a1a;color:#fc8181;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.85rem;margin:0}.error-state-retry{background:#c53030;color:#fff;border:none;padding:.75rem 2rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.error-state-retry:hover{background:#9b2c2c}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;display:inline-block}.skeleton-text{height:1rem;margin-bottom:.5rem;border-radius:4px}.skeleton-rect{width:100px;height:100px}.skeleton-circle{border-radius:50%;width:50px;height:50px}.skeleton-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.skeleton-card-header{display:flex;gap:1rem;margin-bottom:1.5rem}.skeleton-card-title{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.skeleton-card-body{margin-bottom:1.5rem}.skeleton-card-footer{display:flex;gap:1rem}.skeleton-table{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.skeleton-table-header{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem;background:#f9f9f9;border-bottom:2px solid #e0e0e0}.skeleton-table-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem;border-bottom:1px solid #f0f0f0}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}.students-page{padding:2rem;max-width:1200px;margin:0 auto}.students-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.students-header h2{margin:0;color:#333}.students-subtitle{margin:.5rem 0 0;color:#666;font-size:.9rem}.students-actions{display:flex;align-items:center;gap:1rem}.archive-toggle{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.9rem;cursor:pointer}.archive-toggle input[type=checkbox]{cursor:pointer}.upgrade-banner{background:linear-gradient(135deg,#667eea15,#764ba215);border:1px solid #667eea;border-radius:8px;padding:1rem 1.5rem;margin-bottom:2rem}.upgrade-banner p{margin:0;color:#333}.upgrade-banner a{color:#667eea;font-weight:600;text-decoration:none;margin-left:.5rem}.upgrade-banner a:hover{text-decoration:underline}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;background:#f9f9f9;border-radius:12px;border:2px dashed #e0e0e0}.empty-state h3{margin:0 0 .5rem;color:#333}.empty-state p{margin:0 0 1.5rem;color:#666}.student-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:box-shadow .2s;position:relative}.student-card:hover{box-shadow:0 4px 12px #0000001a}.student-card.archived{opacity:.7;background:#f9f9f9}.archived-badge{position:absolute;top:.5rem;right:.5rem;background:#666;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.student-card-header{display:flex;gap:1rem;margin-bottom:1rem}.student-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;flex-shrink:0}.student-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem}.student-info{flex:1}.student-info h3{margin:0 0 .5rem;color:#333;font-size:1.2rem}.student-details{display:flex;flex-direction:column;gap:.25rem}.detail-item{color:#666;font-size:.9rem}.detail-label{font-weight:600;margin-right:.25rem}.student-card-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #e0e0e0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#333}.modal-close{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.modal-close:hover{background:#f0f0f0}.student-form{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;color:#333;font-weight:600;font-size:.9rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-footer{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.error-message{background:#fee;border:1px solid #fcc;color:#c00;padding:.75rem;border-radius:6px;margin-bottom:1rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#666;border:1px solid #e0e0e0;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover:not(:disabled){background:#f9f9f9}.btn-text{background:none;border:none;color:#667eea;padding:.5rem .75rem;font-size:.9rem;cursor:pointer;transition:background .2s;border-radius:4px}.btn-text:hover{background:#667eea1a}.btn-text.danger{color:#dc3545}.btn-text.danger:hover{background:#dc35451a}@media (max-width: 768px){.students-header{flex-direction:column;align-items:flex-start;gap:1rem}.students-actions{width:100%;justify-content:space-between}.students-grid,.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:1rem}}.family-settings-page{padding:2rem;max-width:1000px;margin:0 auto}.settings-header{margin-bottom:2rem}.settings-header h2{margin:0 0 .5rem;color:#333}.settings-subtitle{margin:0;color:#666}.settings-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e0e0;margin-bottom:2rem}.tab-button{background:none;border:none;padding:1rem 1.5rem;color:#666;font-size:1rem;font-weight:500;cursor:pointer;position:relative;transition:color .2s}.tab-button:hover{color:#333}.tab-button.active{color:#667eea}.tab-button.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#667eea}.settings-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000000d}.family-info-view,.family-info-edit{max-width:700px}.info-section h3{margin:0 0 1.5rem;color:#333}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.info-item{display:flex;flex-direction:column}.info-item label{font-size:.85rem;color:#666;margin-bottom:.25rem;font-weight:600}.info-item p{margin:0;color:#333;font-size:1rem}.mono{font-family:monospace;font-size:.9rem}.family-form{max-width:600px}.family-form .form-group{margin-bottom:1.5rem}.family-form label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.family-form input,.family-form select{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .2s}.family-form input:focus,.family-form select:focus{outline:none;border-color:#667eea}.field-help{margin:.5rem 0 0;font-size:.85rem;color:#666}.family-members-tab{max-width:800px}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.members-header h3{margin:0;color:#333}.members-list{margin-bottom:2rem}.empty-members{text-align:center;padding:3rem;background:#f9f9f9;border-radius:8px;color:#666}.member-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f9f9f9;border-radius:8px;margin-bottom:1rem}.member-info{display:flex;align-items:center;gap:1rem}.member-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;flex-shrink:0}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.member-details{display:flex;flex-direction:column;gap:.25rem}.member-name{font-weight:600;color:#333;display:flex;align-items:center;gap:.5rem}.you-badge{font-size:.85rem;color:#666;font-weight:400}.member-email{color:#666;font-size:.9rem}.member-meta{display:flex;align-items:center;gap:1rem;margin-top:.25rem}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.role-badge.primary{background:#e3f2fd;color:#1976d2}.role-badge.parent{background:#f3e5f5;color:#7b1fa2}.role-badge.viewer{background:#e8f5e9;color:#388e3c}.join-date{font-size:.85rem;color:#999}.members-note{background:#f5f5f5;padding:1rem;border-radius:6px;font-size:.9rem;color:#666;line-height:1.6}.invite-form .form-group{margin-bottom:1.5rem}.invite-note{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:1rem;margin:1.5rem 0}.invite-note p{margin:0;color:#856404;font-size:.9rem}.notification-preferences{max-width:700px}.notification-preferences h3{margin:0 0 .5rem;color:#333}.section-subtitle{margin:0 0 2rem;color:#666}.preferences-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.preferences-section:last-of-type{border-bottom:none}.preferences-section h4{margin:0 0 1rem;color:#333;font-size:1.1rem}.preference-list{display:flex;flex-direction:column;gap:.75rem}.preference-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px;cursor:pointer;transition:background .2s}.preference-item:hover{background:#f9f9f9}.preference-item.indented{margin-left:2rem}.preference-item input[type=checkbox]{margin-top:.25rem;cursor:pointer}.preference-item div{flex:1;display:flex;flex-direction:column}.preference-label{font-weight:600;color:#333;margin-bottom:.25rem}.preference-description{font-size:.85rem;color:#666}.preferences-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.success-message{background:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:.75rem;border-radius:6px;margin-bottom:1.5rem}@media (max-width: 768px){.settings-tabs{overflow-x:auto}.tab-button{white-space:nowrap;padding:.75rem 1rem;font-size:.9rem}.info-grid{grid-template-columns:1fr}.members-header,.member-card{flex-direction:column;align-items:flex-start;gap:1rem}.member-actions{width:100%;display:flex;justify-content:flex-end}.preference-item.indented{margin-left:1rem}}.billing-page{padding:2rem;max-width:1000px;margin:0 auto}.billing-header{margin-bottom:2rem}.billing-header h2{margin:0 0 .5rem;color:#1a1a1a}.billing-subtitle{margin:0;color:#4a4a4a}.billing-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e0e0;margin-bottom:2rem}.billing-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000000d}.subscription-tab h3{margin:0 0 1.5rem;color:#1a1a1a}.subscription-card{background:#f9f9f9;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.subscription-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.subscription-header h4{margin:0 0 .5rem;color:#1a1a1a}.subscription-price{color:#667eea;font-size:1.2rem;font-weight:600}.status-badge{padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-active{background:#d4edda;color:#155724}.status-trial{background:#d1ecf1;color:#0c5460}.status-canceled{background:#f8d7da;color:#721c24}.status-past-due{background:#fff3cd;color:#856404}.status-incomplete{background:#e2e3e5;color:#383d41}.subscription-details{margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e0e0e0;color:#2a2a2a}.detail-row.warning{color:#dc3545;font-weight:600}.subscription-features h5{margin:0 0 1rem;color:#1a1a1a}.subscription-features ul{list-style:none;padding:0;margin:0}.subscription-features li{padding:.5rem 0;display:flex;align-items:center;gap:.5rem;color:#2a2a2a}.feature-check{color:#28a745;font-weight:700}.upgrade-section{margin-top:3rem}.upgrade-description{color:#4a4a4a;margin-bottom:2rem}.plan-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.plan-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;position:relative;transition:transform .2s,box-shadow .2s}.plan-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.plan-card.recommended{border-color:#667eea}.recommended-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#667eea;color:#fff;padding:.25rem 1rem;border-radius:4px;font-size:.85rem;font-weight:600}.plan-header h4{margin:0 0 1rem;color:#1a1a1a}.plan-price{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.5rem}.plan-price .price{font-size:2rem;font-weight:700;color:#1a1a1a}.plan-price .period{color:#4a4a4a}.savings{color:#28a745;font-weight:600;font-size:.9rem}.plan-features{list-style:none;padding:0;margin:1.5rem 0}.plan-features li{padding:.5rem 0;color:#4a4a4a;display:flex;align-items:center;gap:.5rem}.plan-features li:before{content:"✓";color:#28a745;font-weight:700}.manage-subscription{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.manage-actions{display:flex;gap:1rem;flex-wrap:wrap}.methods-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.methods-header h3{margin:0;color:#1a1a1a}.empty-methods{text-align:center;padding:3rem;background:#f9f9f9;border-radius:8px}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-methods h4{margin:0 0 .5rem;color:#1a1a1a}.empty-methods p{color:#4a4a4a;margin-bottom:1.5rem}.methods-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.payment-method-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#f9f9f9;border-radius:8px;transition:background .2s}.payment-method-card:hover{background:#f0f0f0}.method-info{display:flex;align-items:center;gap:1rem}.method-icon{font-size:2rem}.method-details{display:flex;flex-direction:column;gap:.25rem}.method-name{font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:.5rem}.default-badge{background:#667eea;color:#fff;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.method-type{color:#4a4a4a;font-size:.9rem}.method-actions{display:flex;gap:.5rem}.payment-security{margin-top:2rem}.security-notice{display:flex;gap:1rem;padding:1rem;background:#e7f3ff;border-radius:6px}.security-icon{font-size:1.5rem}.security-notice h5{margin:0 0 .5rem;color:#1a1a1a}.security-notice p{margin:0;color:#4a4a4a;font-size:.9rem;line-height:1.5}.payment-form .form-group{margin-bottom:1.5rem}.stripe-element-container{padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;transition:border-color .2s}.stripe-element-container:focus-within{border-color:#667eea}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.payment-security-modal{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.security-badges{display:flex;gap:1rem;margin-bottom:1rem}.security-badge{padding:.25rem .75rem;background:#f0f0f0;border-radius:4px;font-size:.85rem;font-weight:600}.security-text{color:#4a4a4a;font-size:.85rem;line-height:1.5}.billing-history-tab h3{margin:0 0 1.5rem;color:#1a1a1a}.empty-history{text-align:center;padding:3rem;background:#f9f9f9;border-radius:8px}.empty-history h4{margin:0 0 .5rem;color:#1a1a1a}.invoices-table{overflow-x:auto;margin-bottom:2rem}.invoices-table table{width:100%;border-collapse:collapse}.invoices-table th{text-align:left;padding:.75rem;background:#f9f9f9;color:#4a4a4a;font-weight:600;font-size:.9rem;border-bottom:2px solid #e0e0e0}.invoices-table td{padding:1rem .75rem;border-bottom:1px solid #e0e0e0}.invoice-description{display:flex;flex-direction:column;gap:.25rem}.invoice-paid-date{font-size:.85rem;color:#4a4a4a}.invoice-amount{font-weight:600}.invoice-status{padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:600}.status-paid{background:#d4edda;color:#155724}.status-open{background:#fff3cd;color:#856404}.status-void,.status-failed{background:#f8d7da;color:#721c24}.status-draft{background:#e2e3e5;color:#383d41}.history-note{background:#f5f5f5;padding:1rem;border-radius:6px;font-size:.9rem;color:#4a4a4a;line-height:1.6}.upgrade-modal .modal-body{max-width:600px}.upgrade-summary{display:flex;flex-direction:column;gap:1.5rem}.plan-summary{text-align:center;padding:1.5rem;background:#f9f9f9;border-radius:8px}.plan-summary h3{margin:0 0 1rem;color:#1a1a1a}.plan-pricing{display:flex;justify-content:center;align-items:baseline;gap:.25rem}.savings-highlight{margin-top:1rem;padding:.75rem;background:#d4edda;color:#155724;border-radius:6px;font-weight:600}.features-summary h4,.billing-info h4{margin:0 0 1rem;color:#1a1a1a}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{padding:.5rem 0;display:flex;align-items:center;gap:.5rem;color:#4a4a4a}.billing-details{background:#f9f9f9;padding:1rem;border-radius:6px}.billing-row{display:flex;justify-content:space-between;padding:.5rem 0}.billing-row:not(:last-child){border-bottom:1px solid #e0e0e0}.guarantee{display:flex;gap:1rem;padding:1rem;background:#e7f3ff;border-radius:6px}.guarantee-icon{font-size:1.5rem}.guarantee h5{margin:0 0 .5rem;color:#1a1a1a}.guarantee p{margin:0;color:#4a4a4a;font-size:.9rem;line-height:1.5}@media (max-width: 768px){.billing-tabs{overflow-x:auto}.plan-options{grid-template-columns:1fr}.methods-header,.payment-method-card{flex-direction:column;align-items:flex-start;gap:1rem}.method-actions{width:100%;justify-content:flex-end}.invoices-table{font-size:.9rem}.invoices-table th,.invoices-table td{padding:.5rem}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.loading-spinner-container.fullscreen{position:fixed;inset:0;background:#ffffffe6;z-index:9999}.loading-spinner{position:relative;display:inline-block}.loading-spinner.small{width:24px;height:24px}.loading-spinner.medium{width:40px;height:40px}.loading-spinner.large{width:60px;height:60px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:#667eea;border-radius:50%;animation:spinner-rotate 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){animation-delay:-.45s}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#764ba2}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#667eea}.spinner-ring:nth-child(4){border-top-color:#764ba2}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{margin:0;color:#666;font-size:.95rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-icon.blue{background:#eef2ff}.stat-icon.green{background:#f0fdf4}.stat-icon.purple{background:#faf5ff}.stat-icon.orange{background:#fff7ed}.stat-icon.teal{background:#f0fdfa}.stat-icon.pink{background:#fdf2f8}.stat-change{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.stat-change.positive{background:#f0fdf4;color:#16a34a}.stat-change.negative{background:#fef2f2;color:#dc2626}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-title{margin:0;font-size:.85rem;color:#6a6a6a;font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;color:#1a1a1a;line-height:1}.stat-subtitle{font-size:.8rem;color:#9a9a9a;margin-top:.25rem}.quick-stats{display:flex;gap:1rem;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;margin-bottom:2rem;overflow-x:auto}.quick-stat-item{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;border:1px solid rgba(255,255,255,.2);transition:background .2s}.quick-stat-item:hover{background:#ffffff26}.quick-stat-label{color:#ffffffe6;font-size:.8rem;margin-bottom:.5rem;text-align:center}.quick-stat-value{color:#fff;font-size:1.5rem;font-weight:700}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.quick-stats{gap:.5rem;padding:.75rem}.quick-stat-item{min-width:100px;padding:.75rem}.quick-stat-value{font-size:1.25rem}}.chart-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;height:100%;display:flex;flex-direction:column}.chart-container h3{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.1rem;font-weight:600}.bar-chart{display:flex;justify-content:space-between;align-items:flex-end;height:200px;gap:1rem;padding:1rem 0}.bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-wrapper{height:180px;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar{width:100%;max-width:60px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px 4px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem;transition:all .3s ease;position:relative;animation:growBar .8s ease-out}@keyframes growBar{0%{height:0!important}}.bar:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.bar-value{color:#fff;font-size:.85rem;font-weight:600}.bar-label{color:#4a4a4a;font-size:.9rem;font-weight:500}.progress-chart{display:flex;flex-direction:column;gap:1rem}.progress-item{display:flex;flex-direction:column;gap:.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center}.subject-name{color:#2a2a2a;font-weight:500;font-size:.95rem}.progress-value{color:#4a4a4a;font-size:.85rem;font-weight:600}.progress-bar-bg{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width 1s ease-out;animation:fillProgress 1s ease-out}@keyframes fillProgress{0%{width:0!important}}.pie-chart-container{display:flex;flex-direction:column;gap:2rem;align-items:center}.pie-chart{width:200px;height:200px;border-radius:50%;background:conic-gradient(#667eea 0deg 144deg,#48bb78 144deg 252deg,#ed8936 252deg 324deg,#9f7aea 324deg 360deg);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a;animation:rotatePie 1s ease-out}@keyframes rotatePie{0%{transform:rotate(-90deg) scale(.8)}to{transform:rotate(0) scale(1)}}.pie-chart:after{content:"";position:absolute;width:120px;height:120px;background:#fff;border-radius:50%}.pie-legend{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4a4a4a}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.color-0{background:#667eea}.legend-color.color-1{background:#48bb78}.legend-color.color-2{background:#ed8936}.legend-color.color-3{background:#9f7aea}.timeline{display:flex;flex-direction:column;gap:0;padding-left:1rem}.timeline-item{display:flex;gap:1.5rem;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;position:relative}.marker{width:12px;height:12px;border-radius:50%;background:#667eea;border:2px solid white;box-shadow:0 2px 4px #0000001a;z-index:1}.marker.lesson{background:#667eea}.marker.activity{background:#48bb78}.marker.project{background:#ed8936}.timeline-line{width:2px;height:60px;background:#e0e0e0;margin-top:4px}.timeline-content{flex:1;padding-bottom:1.5rem}.timeline-time{color:#667eea;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.timeline-subject{color:#1a1a1a;font-weight:500;margin-bottom:.25rem}.timeline-duration{color:#6a6a6a;font-size:.85rem}@media (max-width: 768px){.bar-chart{height:150px}.bar-wrapper{height:130px}.pie-chart{width:150px;height:150px}.pie-chart:after{width:90px;height:90px}.legend-item{font-size:.8rem}}.schedule-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.schedule-container h3{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.1rem;font-weight:600}.day-selector{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;background:#f5f5f5;border-radius:6px}.day-btn{flex:1;padding:.5rem 1rem;border:none;background:transparent;color:#4a4a4a;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s}.day-btn:hover{background:#fff;color:#667eea}.day-btn.active{background:#667eea;color:#fff}.schedule-grid{display:flex;gap:1rem;position:relative;height:480px;overflow-y:auto}.time-column{width:80px;flex-shrink:0}.time-slot{height:60px;padding:.5rem;color:#6a6a6a;font-size:.85rem;border-top:1px solid #f0f0f0;display:flex;align-items:flex-start}.events-column{flex:1;position:relative;background:linear-gradient(to bottom,#f9f9f9 0px,#f9f9f9 1px,transparent 1px,transparent 60px);background-size:100% 60px}.schedule-event{position:absolute;left:0;right:0;padding:.75rem;border-radius:6px;color:#fff;display:flex;flex-direction:column;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.schedule-event:hover{transform:translate(4px);box-shadow:0 4px 12px #00000026}.event-subject{font-weight:600;font-size:.95rem}.event-time{font-size:.8rem;opacity:.9}.calendar-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h3{margin:0;color:#1a1a1a;font-size:1.1rem;font-weight:600}.calendar-legend{display:flex;gap:1rem;font-size:.85rem}.legend-item{display:flex;align-items:center;gap:.25rem;color:#6a6a6a}.dot{width:8px;height:8px;border-radius:50%}.dot.exam{background:#e53e3e}.dot.project{background:#48bb78}.dot.holiday{background:#667eea}.dot.meeting{background:#ed8936}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.calendar-weekdays>div{text-align:center;font-size:.85rem;font-weight:600;color:#6a6a6a}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#f0f0f0;border:1px solid #f0f0f0;border-radius:6px;overflow:hidden}.calendar-day{background:#fff;min-height:40px;padding:.5rem;position:relative;cursor:pointer;transition:background .2s}.calendar-day:hover:not(.empty){background:#f5f5f5}.calendar-day.empty{background:#fafafa;cursor:default}.calendar-day.today{background:#eef2ff}.calendar-day.today .day-number{color:#667eea;font-weight:600}.day-number{font-size:.9rem;color:#2a2a2a}.event-indicator{position:absolute;bottom:4px;right:4px}.event-dot{display:block;width:6px;height:6px;border-radius:50%}.event-indicator.exam .event-dot{background:#e53e3e}.event-indicator.project .event-dot{background:#48bb78}.event-indicator.holiday .event-dot{background:#667eea}.event-indicator.meeting .event-dot{background:#ed8936}.upcoming-events{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.upcoming-events h4{margin:0 0 1rem;color:#2a2a2a;font-size:1rem;font-weight:600}.events-list{display:flex;flex-direction:column;gap:.75rem}.upcoming-event{display:flex;gap:1rem;padding:.75rem;background:#f9f9f9;border-radius:6px;transition:transform .2s}.upcoming-event:hover{transform:translate(4px);background:#f5f5f5}.event-date{width:50px;height:50px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:600}.event-date.exam{background:#e53e3e}.event-date.project{background:#48bb78}.event-date.holiday{background:#667eea}.event-date.meeting{background:#ed8936}.date-day{font-size:1.2rem;line-height:1}.date-month{font-size:.7rem;text-transform:uppercase}.event-details{flex:1;display:flex;flex-direction:column;justify-content:center}.event-title{color:#1a1a1a;font-weight:500;margin-bottom:.25rem}.event-type{color:#6a6a6a;font-size:.85rem;text-transform:capitalize}@media (max-width: 768px){.day-selector{overflow-x:auto}.schedule-grid{height:360px}.calendar-legend{display:none}.calendar-day{min-height:35px;padding:.25rem}.day-number{font-size:.8rem}}.dashboard-container{min-height:100vh;background:#f5f6fa}.dashboard-header{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.header-left h1{margin:0;color:#667eea;font-size:1.5rem}.header-right{display:flex;align-items:center;gap:1.5rem}.dashboard-nav{display:flex;gap:.5rem}.nav-btn{padding:.5rem 1rem;border:none;background:transparent;color:#6a6a6a;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.nav-btn:hover{background:#f0f0f0;color:#667eea}.nav-btn.active{background:#667eea;color:#fff}.user-name{color:#2a2a2a;font-weight:500}.dashboard{padding:2rem;max-width:1400px;margin:0 auto}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h2{margin:0 0 .5rem;color:#1a1a1a;font-size:1.75rem}.welcome-subtitle{margin:0;color:#6a6a6a;font-size:1rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.dashboard-column{display:flex;flex-direction:column;gap:1.5rem}.chart-row{display:grid;gap:1.5rem}.quick-actions-section{margin-top:3rem}.quick-actions-section h3{margin:0 0 1.5rem;color:#1a1a1a;font-size:1.25rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9rem;color:#4a4a4a;font-weight:500}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#667eea;color:#667eea}.action-icon{font-size:1.5rem}.back-btn{padding:.5rem 1rem;background:transparent;border:1px solid #e0e0e0;border-radius:6px;color:#6a6a6a;cursor:pointer;transition:all .2s;font-size:.9rem}.back-btn:hover{background:#f0f0f0;color:#667eea;border-color:#667eea}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-header{padding:1rem;flex-direction:column;gap:1rem}.header-left,.header-right{width:100%}.header-right{justify-content:space-between}.dashboard-nav{order:2;width:100%;justify-content:space-around;margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.nav-btn{font-size:.85rem;padding:.4rem .8rem}.dashboard{padding:1rem}.dashboard-welcome h2{font-size:1.5rem}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.action-btn{padding:1rem;font-size:.85rem}.action-icon{font-size:1.25rem}}.landing-page{min-height:100vh;background:linear-gradient(to bottom,#f7f9fc,#fff)}.landing-nav{background:#fff;box-shadow:0 2px 10px #0000000d;position:sticky;top:0;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand h1{margin:0;font-size:1.75rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-tagline{font-size:.85rem;color:#666;margin-left:1rem}.nav-menu{display:flex;gap:2rem;align-items:center}.nav-menu a{text-decoration:none;color:#666;font-weight:500;transition:color .2s}.nav-menu a:hover{color:#667eea}.nav-signin{background:#667eea;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.nav-signin:hover{background:#5a67d8}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.5rem}.mobile-menu-toggle span{width:24px;height:2px;background:#333;transition:all .3s}.hero-section{padding:5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:url(/pattern.svg) repeat;opacity:.1}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.hero-content{color:#fff}.hero-title{font-size:3rem;margin:0 0 1.5rem;line-height:1.2}.hero-subtitle{font-size:1.25rem;margin:0 0 2rem;opacity:.95;line-height:1.6}.hero-stats{display:flex;gap:3rem;margin-bottom:2rem}.stat{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.9rem;opacity:.9}.hero-cta{display:flex;gap:1rem;align-items:center;margin-bottom:2rem}.btn-hero-primary{background:#fff;color:#667eea;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;gap:.25rem}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.cta-subtitle{font-size:.85rem;font-weight:400;opacity:.8}.btn-hero-secondary{color:#fff;text-decoration:none;padding:1rem 2rem;border:2px solid white;border-radius:8px;font-weight:600;transition:background .2s}.btn-hero-secondary:hover{background:#ffffff1a}.hero-badges{display:flex;gap:1rem;align-items:center}.hero-badges img{height:40px;opacity:.9}.hero-image img{width:100%;border-radius:12px;box-shadow:0 20px 40px #0003}.value-section{padding:5rem 2rem;background:#fff}.value-container{max-width:1200px;margin:0 auto;text-align:center}.value-container h3{font-size:2.5rem;margin:0 0 3rem;color:#333}.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.value-card{padding:2rem;background:#f9f9f9;border-radius:12px;transition:transform .2s}.value-card:hover{transform:translateY(-4px)}.value-icon{font-size:3rem;margin-bottom:1rem}.value-card h4{margin:0 0 1rem;color:#333}.value-card p{color:#666;line-height:1.6}.features-section{padding:5rem 2rem;background:#f9f9f9}.features-container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:2.5rem;margin:0 0 1rem;color:#333}.section-header p{font-size:1.25rem;color:#666}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}.feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 12px #0000001a}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{margin:0 0 1rem;color:#333}.feature-card p{color:#666;line-height:1.6;margin-bottom:1rem}.feature-highlights{list-style:none;padding:0;margin:0}.feature-highlights li{color:#667eea;font-weight:500;position:relative;padding:.5rem 0 .5rem 1.5rem}.feature-highlights li:before{content:"✓";position:absolute;left:0;font-weight:700}.feature-showcase{background:#fff;border-radius:12px;padding:3rem;margin-bottom:4rem}.showcase-content h3{font-size:2rem;margin:0 0 2rem;text-align:center;color:#333}.showcase-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.tab{background:#f5f5f5;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.tab.active{background:#667eea;color:#fff}.showcase-preview{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.showcase-preview img{width:100%;border-radius:8px;box-shadow:0 10px 20px #0000001a}.showcase-description h4{margin:0 0 1rem;color:#333}.showcase-description p{color:#666;line-height:1.6;margin-bottom:1.5rem}.showcase-description ul{list-style:none;padding:0}.showcase-description li{color:#555;position:relative;padding:.5rem 0 .5rem 1.5rem}.showcase-description li:before{content:"•";position:absolute;left:0;color:#667eea;font-weight:700}.integrations{text-align:center;padding:3rem;background:#f9f9f9;border-radius:12px}.integrations h3{margin:0 0 1rem;color:#333}.integrations p{color:#666;margin-bottom:2rem}.integration-logos{display:flex;justify-content:center;align-items:center;gap:3rem;flex-wrap:wrap}.integration-logos img{height:40px;opacity:.6;transition:opacity .2s}.integration-logos img:hover{opacity:1}.pricing-section{padding:5rem 2rem;background:#fff}.pricing-container{max-width:1200px;margin:0 auto}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:4rem}.pricing-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:2rem;position:relative;transition:transform .2s,box-shadow .2s}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.pricing-card.featured{border-color:#667eea;transform:scale(1.05)}.popular-badge{position:absolute;top:-12px;right:20px;background:#667eea;color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.savings-badge{position:absolute;top:-12px;right:20px;background:#28a745;color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.plan-header{text-align:center;padding-bottom:2rem;border-bottom:1px solid #e0e0e0;margin-bottom:2rem}.plan-header h3{margin:0 0 1rem;color:#333}.plan-price{display:flex;justify-content:center;align-items:baseline;gap:.25rem;margin-bottom:.5rem}.price{font-size:2.5rem;font-weight:700;color:#333}.period,.plan-description{color:#666}.plan-features{list-style:none;padding:0;margin:0 0 2rem}.plan-features li{padding:.75rem 0;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid #f0f0f0}.plan-features li.disabled{opacity:.5}.check{color:#28a745;font-weight:700}.cross{color:#dc3545;font-weight:700}.plan-cta{width:100%;padding:1rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary{background:#667eea;color:#fff;border:none}.btn-primary:hover{background:#5a67d8}.btn-secondary{background:transparent;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#667eea;color:#fff}.comparison-table{margin-bottom:3rem}.comparison-table h3{text-align:center;margin:0 0 2rem;color:#333}.comparison-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000000d}.comparison-table th{background:#f9f9f9;padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.comparison-table td{padding:1rem;border-bottom:1px solid #f0f0f0}.comparison-table tr:hover{background:#fcfcfc}.pricing-trust{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;padding:2rem;background:#f9f9f9;border-radius:12px}.trust-item{display:flex;align-items:center;gap:.5rem;color:#666}.trust-icon{font-size:1.5rem}.testimonials-section{padding:5rem 2rem;background:#f9f9f9}.testimonials-container{max-width:1200px;margin:0 auto}.testimonial-stats{display:flex;justify-content:center;gap:4rem;margin-bottom:4rem;flex-wrap:wrap}.testimonial-stats .stat-item{text-align:center}.testimonial-stats .stat-number{font-size:2.5rem;font-weight:700;color:#667eea;display:block;margin-bottom:.5rem}.testimonial-stats .stat-label{color:#666}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}.testimonial-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:transform .2s}.testimonial-card:hover{transform:translateY(-4px)}.testimonial-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.testimonial-avatar{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.testimonial-author h4{margin:0;color:#333}.testimonial-author p{margin:0;color:#666;font-size:.9rem}.testimonial-rating{margin-left:auto;color:#ffc107}.testimonial-quote{color:#555;line-height:1.6;margin:0 0 1rem;font-style:italic}.testimonial-highlight{color:#667eea;font-weight:600;font-size:.9rem}.success-stories{background:#fff;border-radius:12px;padding:3rem;margin-bottom:3rem}.success-stories h3{text-align:center;margin:0 0 2rem;color:#333}.stories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.story-card{text-align:center}.story-icon{font-size:3rem;margin-bottom:1rem}.story-card h4{margin:0 0 .5rem;color:#333}.story-card p{color:#666;line-height:1.6}.trust-indicators{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap}.trust-indicators .trust-item img{height:60px;opacity:.7;transition:opacity .2s}.trust-indicators .trust-item img:hover{opacity:1}.faq-section{padding:5rem 2rem;background:#fff}.faq-container{max-width:900px;margin:0 auto}.faq-content,.faq-category{margin-bottom:3rem}.faq-category h3{margin:0 0 1.5rem;color:#333;font-size:1.5rem}.faq-items{background:#fff;border-radius:8px;overflow:hidden}.faq-item{border-bottom:1px solid #e0e0e0}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;text-align:left;padding:1.25rem;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:500;color:#333;transition:background .2s}.faq-question:hover,.faq-question.open{background:#f9f9f9}.faq-icon{font-size:1.5rem;color:#667eea;transition:transform .2s}.faq-question.open .faq-icon{transform:rotate(45deg)}.faq-answer{padding:0 1.25rem 1.25rem;animation:slideDown .3s ease}.faq-answer p{color:#666;line-height:1.6}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.faq-support{background:#f9f9f9;border-radius:12px;padding:3rem;text-align:center}.faq-support h3{margin:0 0 1rem;color:#333}.faq-support>p{color:#666;margin-bottom:2rem}.support-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.support-option{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:1.5rem;background:#fff;border-radius:8px;transition:transform .2s}.support-option:hover{transform:translateY(-4px)}.support-icon{font-size:2rem;margin-bottom:1rem}.support-option h4{margin:0 0 .25rem;color:#333}.support-option p{margin:0;color:#666;font-size:.9rem}.final-cta{padding:5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.cta-container{max-width:800px;margin:0 auto}.cta-container h2{font-size:2.5rem;margin:0 0 1rem}.cta-container p{font-size:1.25rem;margin:0 0 2rem;opacity:.95}.btn-cta-primary{background:#fff;color:#667eea;border:none;padding:1rem 3rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-cta-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.cta-guarantee{margin-top:1.5rem;font-size:.9rem;opacity:.9}.site-footer{background:#1a1a1a;color:#ccc;padding:4rem 2rem 2rem}.footer-container{max-width:1200px;margin:0 auto}.footer-content{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:3rem;margin-bottom:3rem}.footer-section h3{color:#fff;margin:0 0 1rem}.footer-section h4{color:#fff;margin:0 0 1rem;font-size:1rem}.footer-tagline{margin:1rem 0;line-height:1.6}.footer-badges{display:flex;gap:1rem;margin:1.5rem 0}.footer-badges img{height:30px;opacity:.7}.social-links{display:flex;gap:1rem}.social-links a{width:40px;height:40px;background:#333;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}.social-links a:hover{background:#667eea}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.75rem}.footer-links a{color:#ccc;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-newsletter{background:#2a2a2a;border-radius:12px;padding:2rem;margin-bottom:3rem}.newsletter-content{max-width:600px;margin:0 auto;text-align:center}.newsletter-content h3{color:#fff;margin:0 0 1rem}.newsletter-content p{margin:0 0 1.5rem}.newsletter-form{display:flex;gap:1rem;margin-bottom:1rem}.newsletter-form input{flex:1;padding:.75rem 1rem;border:none;border-radius:6px;font-size:1rem}.newsletter-form button{background:#667eea;color:#fff;border:none;padding:.75rem 2rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.newsletter-form button:hover{background:#5a67d8}.newsletter-privacy{font-size:.85rem;opacity:.8}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid #333}.footer-copyright p{margin:.25rem 0}.footer-location{font-size:.9rem;opacity:.8}.footer-payments{display:flex;align-items:center;gap:1rem}.footer-payments img{height:24px;opacity:.7}@media (max-width: 1024px){.hero-container{grid-template-columns:1fr}.hero-image{display:none}.showcase-preview{grid-template-columns:1fr}}@media (max-width: 768px){.mobile-menu-toggle{display:flex}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:1rem;box-shadow:0 10px 20px #0000001a}.nav-menu.mobile-open{display:flex}.nav-tagline{display:none}.hero-title{font-size:2rem}.hero-stats{flex-direction:column;gap:1rem}.hero-cta{flex-direction:column}.pricing-cards,.features-grid,.testimonials-grid,.footer-content{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}.newsletter-form{flex-direction:column}.comparison-table{overflow-x:auto}.comparison-table table{min-width:600px}}.legal-page{min-height:100vh;background:#f9f9f9}.legal-nav{background:#fff;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:100}.legal-nav .nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.legal-nav .nav-brand a{text-decoration:none;color:inherit}.legal-nav .nav-brand h1{margin:0;font-size:1.5rem;color:#667eea}.legal-nav .nav-menu{display:flex;gap:2rem;align-items:center}.legal-nav .nav-menu a{text-decoration:none;color:#666;font-weight:500;transition:color .2s}.legal-nav .nav-menu a:hover{color:#667eea}.legal-container{max-width:900px;margin:0 auto;padding:3rem 2rem}.legal-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #e0e0e0}.legal-header h1{margin:0 0 1rem;font-size:2.5rem;color:#333}.legal-updated{color:#666;font-size:1rem}.legal-content{background:#fff;border-radius:8px;padding:3rem;box-shadow:0 2px 8px #0000000d}.legal-section{margin-bottom:3rem}.legal-section:last-child{margin-bottom:0}.legal-section h2{margin:0 0 1.5rem;font-size:1.75rem;color:#333;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.legal-section h3{margin:1.5rem 0 1rem;font-size:1.25rem;color:#444}.legal-section p{margin:1rem 0;line-height:1.8;color:#555}.legal-section ul{margin:1rem 0;padding-left:2rem}.legal-section li{margin:.75rem 0;line-height:1.8;color:#555}.legal-section strong{color:#333;font-weight:600}.contact-info{background:#f5f5f5;border-left:4px solid #667eea;padding:1.5rem;margin:1.5rem 0;border-radius:4px}.contact-info p{margin:.5rem 0}.contact-info strong{color:#333}.legal-toc{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.legal-toc h3{margin:0 0 1rem;font-size:1.25rem;color:#333}.legal-toc ul{list-style:none;padding:0;margin:0}.legal-toc li{margin:.5rem 0}.legal-toc a{color:#667eea;text-decoration:none;transition:color .2s}.legal-toc a:hover{color:#5a67d8;text-decoration:underline}@media print{.legal-nav,.site-footer{display:none}.legal-container{max-width:100%;padding:0}.legal-content{box-shadow:none;padding:0}.legal-section{page-break-inside:avoid}}@media (max-width: 768px){.legal-nav .nav-container{padding:1rem}.legal-nav .nav-brand h1{font-size:1.25rem}.legal-nav .nav-menu{gap:1rem;font-size:.9rem}.legal-container{padding:2rem 1rem}.legal-header h1{font-size:2rem}.legal-content{padding:2rem 1.5rem}.legal-section h2{font-size:1.5rem}.legal-section h3{font-size:1.1rem}.legal-section ul{padding-left:1.5rem}}@media (max-width: 480px){.legal-nav .nav-menu{flex-direction:column;gap:.5rem}.legal-content{padding:1.5rem 1rem}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.app{width:100%;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin-bottom:2rem;color:#fff}.app-header h1{margin:0;font-size:1.8rem}.auth-container{display:flex;align-items:center;gap:1rem}.sign-in-btn{background:#fff;color:#667eea;border:none;padding:.5rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s}.sign-in-btn:hover{transform:translateY(-2px)}.app-main{padding:2rem}.welcome-container{max-width:600px;margin:4rem auto}.welcome-container h2{font-size:2.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-container p{font-size:1.2rem;color:#666;margin-bottom:2rem}.cta-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.cta-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.dashboard{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.dashboard h2{color:#333;margin-bottom:1rem}.error-container{padding:2rem;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;margin:2rem auto;max-width:600px}.error-container h1{margin-bottom:1rem}.dashboard-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.dashboard-card{padding:1.5rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.dashboard-card h3{margin-top:0;margin-bottom:1rem;color:#667eea;font-size:1.2rem}.dashboard-card ul{list-style:none;padding:0}.dashboard-card li{padding:.5rem 0;border-bottom:1px solid #e0e0e0;cursor:pointer;color:#333;transition:all .2s}.dashboard-card li:hover{color:#667eea;padding-left:.5rem;background:#667eea0d}.dashboard-card li:last-child{border-bottom:none}.dashboard-card p{color:#555;margin:0}.family-card{padding:1rem;background:#f5f5f5;border-radius:6px;margin:1rem 0}.family-card h4{margin:0 0 .5rem;color:#333}.family-card p{margin:.25rem 0;color:#666;font-size:.9rem}.dashboard-container{width:100%;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;border-bottom:2px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:2rem}.header-left h1{margin:0;font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-btn{background:none;border:1px solid #667eea;color:#667eea;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.back-btn:hover{background:#667eea;color:#fff}.header-right{display:flex;align-items:center;gap:1rem}.user-name{color:#666;font-weight:500}.dashboard-nav{padding:1rem 2rem;background:#fff;border-bottom:1px solid #e0e0e0;margin-bottom:1rem}.dashboard-nav button{background:none;border:none;color:#667eea;font-size:1rem;cursor:pointer;padding:.5rem 1rem;border-radius:4px;transition:background .2s}.dashboard-nav button:hover{background:#667eea1a}.loading{text-align:center;padding:2rem;color:#666}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem}.welcome-container h2{font-size:2rem}.dashboard-sections{grid-template-columns:1fr}}
