@charset "UTF-8";.app-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-xl);margin-top:var(--spacing-xl)}.footer-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.footer-copyright{color:var(--color-text-muted);margin:0;font-size:.875rem}.footer-version{color:var(--color-text-muted);margin:0;font-size:.75rem;opacity:.7}@media(max-width:480px){.footer-container{flex-direction:column;text-align:center}}.layout{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0}.logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.logo:hover{color:var(--color-text-primary)}.logo-icon{font-size:1.75rem}.logo-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;list-style:none;gap:var(--spacing-xl)}.nav-links a{color:var(--color-text-muted);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.nav-links a:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.nav-actions{display:flex;align-items:center;gap:var(--spacing-md)}.main{flex:1}@media(max-width:768px){.nav{flex-wrap:wrap;gap:var(--spacing-md)}.nav-links{order:3;width:100%;justify-content:center;gap:var(--spacing-md)}.nav-actions{order:2}}.home-page{padding-top:var(--spacing-xl)}.hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.features{margin-top:var(--spacing-2xl);text-align:center}.features h2{margin-bottom:var(--spacing-lg)}.feature-card{text-align:center}.feature-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.feature-card h3{color:var(--color-primary-light);margin-bottom:var(--spacing-sm)}.feature-card p{margin-bottom:0}.about-hero{text-align:center;padding:var(--spacing-xl) 0}.about-hero p{font-size:1.25rem;max-width:600px;margin:0 auto}.about-content{max-width:800px;margin:0 auto}.about-content>.card{margin-bottom:var(--spacing-xl)}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-lg)}.about-grid h3{color:var(--color-primary-light);margin-bottom:var(--spacing-sm)}.about-grid p{margin-bottom:0}.contact-hero{text-align:center;padding:var(--spacing-xl) 0}.contact-hero p{font-size:1.25rem;max-width:500px;margin:0 auto}.contact-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-xl);max-width:900px;margin:0 auto}.contact-form-card h2{margin-bottom:var(--spacing-lg)}.btn-full{width:100%}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-info .card{padding:var(--spacing-lg)}.contact-info h3{margin-bottom:var(--spacing-xs);color:var(--color-primary-light)}.contact-info p{margin-bottom:0}.success-card{max-width:500px;margin:var(--spacing-2xl) auto;text-align:center}.success-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.success-card h2{color:var(--color-success)}@media(max-width:768px){.contact-content{grid-template-columns:1fr}.contact-info{flex-direction:row;flex-wrap:wrap}.contact-info .card{flex:1;min-width:150px}}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;background:var(--gradient-bg);padding:var(--spacing-xl);padding-bottom:0}.auth-page>.auth-card{margin:auto 0}.auth-page>.app-footer{width:100%;flex-shrink:0}.auth-card{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-2xl);width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-header h1{font-size:1.75rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-sm)}.auth-header p{color:var(--color-text-muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.auth-form .form-row .form-group{min-width:0}.auth-form .form-row .form-group input{width:100%;box-sizing:border-box}.auth-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.auth-warning{padding:var(--spacing-md);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);color:#f59e0b;font-size:.875rem;text-align:center}.auth-button{width:100%;padding:var(--spacing-md);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.auth-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.auth-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;margin:var(--spacing-lg) 0;color:var(--color-text-muted);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-divider span{padding:0 var(--spacing-md)}.oauth-buttons{display:flex;flex-direction:column;gap:var(--spacing-md)}.oauth-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);background:var(--color-bg-input);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:.95rem;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.oauth-button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-muted)}.oauth-button:disabled{opacity:.5;cursor:not-allowed}.oauth-button svg{width:20px;height:20px}.auth-footer{margin-top:var(--spacing-xl);text-align:center;color:var(--color-text-muted);font-size:.875rem}.auth-footer a{color:var(--color-primary);font-weight:500}.auth-footer a:hover{text-decoration:underline}.role-toggle,.signup-type-toggle{display:flex;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.role-toggle button,.toggle-btn{flex:1;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);background:transparent;color:var(--color-text-muted)}.role-toggle button:hover,.toggle-btn:hover{color:var(--color-text-secondary)}.role-toggle button.active,.toggle-btn.active{background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.password-requirements{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:var(--spacing-xs)}.verification-status{text-align:center;padding:var(--spacing-xl)}.verification-status .loading-spinner{font-size:3rem;margin-bottom:var(--spacing-md);animation:pulse 1.5s infinite}.verification-status .status-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.verification-status p{color:var(--color-text-secondary);font-size:1.1rem}.verification-status.success p{color:var(--color-success)}.verification-status.error p{color:var(--color-error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.onboarding-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--color-background);padding:var(--spacing-xl) var(--spacing-md)}.onboarding-header{text-align:center;margin-bottom:var(--spacing-xl)}.onboarding-header h1{font-size:1.875rem;font-weight:800;color:var(--color-text);margin-bottom:var(--spacing-sm)}.onboarding-header p{color:var(--color-text-secondary);font-size:.95rem}.onboarding-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:100%;max-width:480px;padding:var(--spacing-xl);border:1px solid var(--color-border)}.role-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.role-option{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:all .2s;text-align:center}.role-option:hover{background:var(--color-background);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.role-icon{width:48px;height:48px;margin-bottom:var(--spacing-sm)}.role-icon.provider{color:var(--color-primary)}.role-icon.family{color:var(--color-success)}.role-title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.role-description{font-size:.875rem;color:var(--color-text-secondary)}.onboarding-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.back-button{display:flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;padding:0;margin-bottom:var(--spacing-sm)}.back-button:hover{color:var(--color-text)}.back-icon{width:16px;height:16px}.form-title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.form-subtitle{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-md)}.form-group input.invite-code-input{font-family:monospace;font-size:1.125rem;letter-spacing:.1em;text-transform:uppercase}.form-group input:focus.family-input{border-color:var(--color-success);box-shadow:0 0 0 3px #22c55e1a}.form-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.error-message{background-color:var(--color-error-bg);color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem}.submit-btn{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:var(--spacing-sm)}.submit-btn.provider-btn{background-color:var(--color-primary);color:#fff}.submit-btn.provider-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.submit-btn.family-btn{background-color:var(--color-success);color:#fff}.submit-btn.family-btn:hover:not(:disabled){background-color:#16a34a}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--color-surface);padding:var(--spacing-xl);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:0 4px 6px #0000001a;max-height:90vh;overflow-y:auto}.modal-content h2{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--color-text)}.form-row{display:flex;gap:var(--spacing-md)}.form-row .form-group{flex:1}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.form-group input,.form-group select{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem}.checkbox-section,.checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.checkbox-label,.checkbox-group label{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.btn-cancel{background:transparent;border:1px solid var(--color-border);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-weight:500}.btn-save{background:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-weight:500}.btn-save:disabled,.btn-cancel:disabled{opacity:.7;cursor:not-allowed}.modal-error{background:#fee2e2;color:#b91c1c;padding:var(--spacing-sm);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.9rem}.parent-dashboard{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.dashboard-header h1{font-size:2rem;font-weight:700;color:var(--color-text)}.provider-badge{background-color:#eef2ff;color:#312e81;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.875rem;font-weight:600;border:1px solid #c7d2fe}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.dashboard-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a;border:1px solid var(--color-border);overflow:hidden}.card-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-background-soft)}.card-header h2{font-size:1.125rem;font-weight:600;margin:0}.card-content{padding:var(--spacing-lg)}.children-list,.guardian-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.child-item,.guardian-item{display:flex;align-items:center;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.child-item:last-child,.guardian-item:last-child{border-bottom:none;padding-bottom:0}.child-avatar{width:48px;height:48px;background-color:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem}.child-info h3,.guardian-info h3{margin:0 0 var(--spacing-xs) 0;font-size:1rem;font-weight:600}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.status-badge.enrolled{background-color:#ecfdf5;color:#064e3b;border:1px solid #a7f3d0}.guardian-item{align-items:flex-start;flex-direction:column}.guardian-info{width:100%;display:flex;justify-content:space-between;align-items:center}.relationship-badge{background-color:var(--color-background-soft);color:var(--color-text-secondary);padding:2px 6px;border-radius:4px;font-size:.75rem}.guardian-contact{display:flex;flex-direction:column;gap:4px;font-size:.875rem}.guardian-contact a{color:var(--color-primary);text-decoration:none}.guardian-badges{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-sm)}.badge{font-size:.7rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:700}.badge.primary{background-color:#eff6ff;color:#1e3a8a;border:1px solid #bfdbfe}.badge.emergency{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.badge.pickup{background-color:#fffbeb;color:#92400e;border:1px solid #fde68a}.provider-contact-item{margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem}.provider-contact-item a{color:var(--color-primary);text-decoration:none;font-weight:500}.edit-btn{background:transparent;border:none;font-size:1.25rem;cursor:pointer;padding:var(--spacing-xs);border-radius:50%;transition:background-color .2s;line-height:1}.edit-btn:hover{background-color:var(--color-background-soft)}.dashboard{min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-bg-card);box-shadow:var(--shadow-sm)}.dashboard-brand h1{font-size:1.5rem;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.dashboard-user{display:flex;align-items:center;gap:var(--spacing-md)}.user-greeting{color:var(--color-text-secondary);font-weight:500}.settings-link{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-primary);text-decoration:none;font-weight:500;border-radius:var(--radius-md);transition:background var(--transition-fast)}.settings-link:hover{background:var(--color-bg-hover)}.logout-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.logout-btn:hover{background:#dc2626}.dashboard-main{flex:1;max-width:1200px;margin:0 auto;padding:var(--spacing-xl);width:100%}.dashboard-welcome{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md)}.dashboard-welcome h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.dashboard-welcome p{color:var(--color-text-muted);margin:0}.email-warning{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:#f59e0b1a;border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--color-warning);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.resend-btn{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-warning);color:#fff;border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.resend-btn:hover{background:#d97706}.resend-status{font-size:.85rem}.resend-status.success{color:var(--color-success)}.resend-status.error{color:var(--color-error)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.dashboard-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard-card h3{font-size:1.25rem;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.dashboard-card p{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--spacing-md)}.coming-soon{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:#667eea26;color:var(--color-primary);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.invite-code-banner{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px dashed var(--color-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md)}.invite-code-content h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1.25rem}.invite-code-content>p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.invite-code-display{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.invite-code-value{flex:0 0 auto;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.15em;color:var(--color-primary);background:var(--color-bg-card);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:2px solid var(--color-primary)}.copy-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.copy-button:hover{background:#5a6fd8;transform:translateY(-1px)}.signup-url-section{margin-top:var(--spacing-md)}.signup-url-label{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--spacing-sm)}.signup-url-display{display:flex;gap:var(--spacing-sm)}.signup-url-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:monospace;font-size:.85rem;color:var(--color-text-secondary)}.settings-page{min-height:100vh;background:var(--color-bg-primary);padding:var(--spacing-xl)}.settings-container{max-width:800px;margin:0 auto}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.settings-header h1{color:var(--color-text-primary);font-size:1.75rem;font-weight:700;margin:0}.back-link{color:var(--color-primary);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:var(--spacing-sm)}.settings-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);background:var(--color-bg-card);padding:var(--spacing-sm);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.tab-button{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--color-text-muted);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tab-button.active{background:var(--gradient-primary);color:#fff}.tab-button:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text-primary)}.settings-card{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.settings-section{margin-bottom:var(--spacing-xl)}.settings-section:last-child{margin-bottom:0}.settings-section h2{color:var(--color-text-primary);font-size:1.25rem;font-weight:600;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.settings-message{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--spacing-lg)}.settings-message.error{background:#ef44441a;color:var(--color-error);border:1px solid rgba(239,68,68,.3)}.settings-message.success{background:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.3)}.save-button{padding:var(--spacing-md) var(--spacing-xl);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-md)}.save-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.save-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.invite-code-section{background:var(--color-bg-tertiary);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-top:var(--spacing-md)}.invite-code-section h3{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.invite-code{font-family:monospace;font-size:1.25rem;color:var(--color-primary);font-weight:600;letter-spacing:.05em}.loading-spinner{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted)}.password-checklist{list-style:none;padding:0;margin:var(--spacing-sm) 0 0 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.password-checklist li{font-size:.75rem;color:var(--color-text-muted);display:flex;align-items:center;gap:var(--spacing-xs)}.password-checklist li:before{content:"○";font-size:.625rem}.password-checklist li.valid{color:var(--color-success)}.password-checklist li.valid:before{content:"✓"}.password-checklist li.invalid{color:var(--color-error)}.password-checklist li.invalid:before{content:"✗"}.password-match{display:block;font-size:.75rem;margin-top:var(--spacing-xs)}.password-match.valid{color:var(--color-success)}.password-match.invalid{color:var(--color-error)}@media(max-width:640px){.settings-card{padding:var(--spacing-lg)}.password-checklist{grid-template-columns:1fr}}.families-page{min-height:100vh;background:var(--color-background);display:flex;flex-direction:column}.families-content{flex:1}.families-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border);gap:var(--spacing-md);flex-wrap:wrap}.families-header h1{margin:0;font-size:1.75rem;color:var(--color-text)}.header-actions{display:flex;gap:var(--spacing-md);align-items:center}.back-link{color:var(--color-primary);text-decoration:none;display:flex;align-items:center;gap:var(--spacing-xs)}.back-link:hover{text-decoration:underline}.add-family-btn{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .2s}.add-family-btn:hover{background:var(--color-primary-hover)}.families-content{padding:var(--spacing-xl);max-width:1200px;margin:0 auto}.loading-state,.empty-state,.error-state{text-align:center;padding:var(--spacing-xxl);color:var(--color-text-secondary)}.empty-state .empty-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.error-state{color:var(--color-error)}.families-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.family-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all .2s;position:relative}.family-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.family-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.family-name{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:var(--color-success-bg);color:var(--color-success)}.status-badge.inactive{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge.archived{background:var(--color-muted-bg);color:var(--color-text-secondary)}.family-contact{margin-bottom:var(--spacing-md)}.contact-item{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-xs)}.contact-item a{color:var(--color-primary);text-decoration:none}.contact-item a:hover{text-decoration:underline}.family-stats{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.stat{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:.875rem}.stat-icon{font-size:1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal{background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.25rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-secondary);padding:var(--spacing-xs)}.close-btn:hover{color:var(--color-text)}.modal-body{padding:var(--spacing-lg)}.form-section{margin-bottom:var(--spacing-lg)}.form-section h3{font-size:1rem;margin-bottom:var(--spacing-md);color:var(--color-text)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text);font-size:.875rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-background);color:var(--color-text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:.875rem}.checkbox-label input{width:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.cancel-btn{background:none;border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text)}.cancel-btn:hover{background:var(--color-muted-bg)}.submit-btn{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;cursor:pointer}.submit-btn:hover{background:var(--color-primary-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.invite-code-info{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:1px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.invite-code-info h4{margin:0 0 var(--spacing-xs) 0;font-size:.95rem;color:var(--color-text)}.invite-code-info>p{margin:0 0 var(--spacing-md) 0;font-size:.85rem;color:var(--color-text-secondary)}.invite-code-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.invite-code-small{flex:0 0 auto;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;letter-spacing:.15em;color:var(--color-primary);background:var(--color-surface);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-primary)}.signup-url-row{display:flex;gap:var(--spacing-sm)}.signup-url-small{flex:1;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:monospace;font-size:.75rem;color:var(--color-text-secondary)}.copy-btn-small{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.copy-btn-small:hover{background:var(--color-primary-hover)}.family-detail-page{min-height:100vh;background:var(--color-background)}.family-detail-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:var(--spacing-md)}.header-info h1{margin:0;font-size:1.75rem;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-sm)}.family-detail-content{padding:var(--spacing-xl);max-width:1000px;margin:0 auto}.detail-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-muted-bg);border-bottom:1px solid var(--color-border)}.section-header h2{margin:0;font-size:1.125rem;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-sm)}.section-content{padding:var(--spacing-lg)}.add-btn{background:var(--color-primary);color:#fff;border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer}.add-btn:hover{background:var(--color-primary-hover)}.person-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.person-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.person-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.person-name{font-weight:600;color:var(--color-text);margin:0}.person-role{font-size:.75rem;color:var(--color-text-secondary);text-transform:capitalize}.badge-row{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.badge{font-size:.625rem;padding:2px 6px;border-radius:var(--radius-sm);font-weight:600}.badge.primary{background:var(--color-primary-light);color:var(--color-primary)}.badge.emergency{background:var(--color-error-bg);color:var(--color-error)}.badge.pickup{background:var(--color-success-bg);color:var(--color-success)}.person-contact{font-size:.875rem;color:var(--color-text-secondary)}.person-contact a{color:var(--color-primary);text-decoration:none}.person-contact a:hover{text-decoration:underline}.child-info{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.age-badge{background:var(--color-primary-light);color:var(--color-primary);padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.flag-icon{font-size:1rem;cursor:help}.section-empty{text-align:center;padding:var(--spacing-lg);color:var(--color-text-secondary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.info-item label{display:block;font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:var(--spacing-xs)}.info-item p{margin:0;color:var(--color-text)}.card-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.edit-btn,.delete-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);cursor:pointer;font-size:.75rem;transition:all .2s}.edit-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.delete-btn:hover{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.join-provider-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--color-background);padding:var(--spacing-md)}.join-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;width:100%;max-width:480px;padding:var(--spacing-xl);border:1px solid var(--color-border)}.join-header{text-align:center;margin-bottom:var(--spacing-xl)}.join-header h1{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-sm)}.subtitle{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.join-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-group input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;color:var(--color-text);background:var(--color-background);transition:all .2s}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.submit-btn{background-color:var(--color-primary);color:#fff;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;margin-top:var(--spacing-sm)}.submit-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.error-message{background-color:var(--color-error-bg);color:var(--color-error);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:.875rem;display:flex;align-items:center;gap:var(--spacing-xs)}.join-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center;display:flex;flex-direction:column;gap:var(--spacing-md)}.logout-link{background:none;border:none;color:var(--color-primary);font-size:.875rem;cursor:pointer;text-decoration:underline;padding:0}.help-text{color:var(--color-text-secondary);font-size:.75rem;margin:0}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;position:absolute;right:0;margin-right:10px;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-calendar{font-family:inherit;background-color:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden}.rbc-toolbar{margin-bottom:var(--spacing-lg);padding:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-md)}.rbc-toolbar button{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-weight:500;transition:all var(--transition-fast)}.rbc-toolbar button:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-focus)}.rbc-toolbar button.rbc-active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.rbc-toolbar button.rbc-active:hover{background-color:var(--color-primary-dark)}.rbc-toolbar-label{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.rbc-header{padding:.75rem .5rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.rbc-month-view,.rbc-time-view,.rbc-agenda-view{border:1px solid var(--color-border);border-radius:var(--radius-md)}.rbc-day-bg{background-color:var(--color-bg-card)}.rbc-off-range-bg{background-color:var(--color-bg-tertiary)}.rbc-today{background-color:var(--color-bg-hover)}.rbc-event{border-radius:4px;padding:2px 5px!important;font-size:.85rem;border:none!important;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.rbc-event:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);z-index:10}.rbc-event-label{font-size:.75rem;opacity:.9}.rbc-time-header-content{border-left:1px solid var(--color-border)}.rbc-timeslot-group{border-bottom:1px solid var(--color-bg-tertiary)}.rbc-day-slot .rbc-time-slot{border-top:1px solid var(--color-bg-tertiary)}.rbc-current-time-indicator{background-color:var(--color-error);height:2px}.rbc-agenda-view table.rbc-agenda-table{border:none}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{border-bottom:2px solid var(--color-border)}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:var(--spacing-sm);vertical-align:middle}.rbc-agenda-time-cell{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.schedule-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.schedule-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.schedule-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.schedule-modal-header h2{margin:0;font-size:1.25rem;color:var(--color-text-primary)}.schedule-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);padding:var(--spacing-xs);line-height:1;transition:color var(--transition-fast)}.schedule-modal-close:hover{color:var(--color-text-primary)}.schedule-modal-body{padding:var(--spacing-lg)}.schedule-modal-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-error);font-size:.875rem}.schedule-modal-error svg{flex-shrink:0}.schedule-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.schedule-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:480px){.schedule-form-row{grid-template-columns:1fr}}.schedule-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.schedule-form-group label{font-weight:500;color:var(--color-text-primary);font-size:.875rem}.schedule-form-group label .optional{color:var(--color-text-muted);font-weight:400}.schedule-form-group input,.schedule-form-group select,.schedule-form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-bg-input);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.schedule-form-group input:focus,.schedule-form-group select:focus,.schedule-form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea26}.schedule-form-group textarea{resize:vertical;min-height:80px}.schedule-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-border);flex-wrap:wrap}.schedule-modal-footer .cancel-btn{background:none;border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);font-weight:500;transition:all var(--transition-fast)}.schedule-modal-footer .cancel-btn:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}.schedule-modal-footer .delete-btn{background:var(--color-error);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.schedule-modal-footer .delete-btn:hover{background:#dc2626}.schedule-modal-footer .submit-btn{background:var(--gradient-primary);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.schedule-modal-footer .submit-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.schedule-modal-footer .submit-btn:disabled,.schedule-modal-footer .delete-btn:disabled,.schedule-modal-footer .cancel-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-confirmation{display:flex;align-items:center;gap:var(--spacing-md);animation:fadeIn .2s ease-in-out}.delete-confirmation .confirm-text{color:var(--color-error);font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.checkbox-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:auto;margin-right:var(--spacing-sm);cursor:pointer}.repeat-days-container{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-sm)}.day-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;transition:all var(--transition-fast);font-weight:400;min-width:60px;text-align:center;-webkit-user-select:none;user-select:none}.day-button.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.day-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.repeat-info-text{font-size:.875rem;color:var(--color-text-muted);margin-top:var(--spacing-xs);display:block}.schedule-page{padding:var(--spacing-xl);min-height:100vh;background:var(--color-bg-primary)}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.schedule-header h1{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0}.schedule-nav{margin-bottom:var(--spacing-lg)}.schedule-calendar-wrapper{box-shadow:var(--shadow-sm);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);padding:var(--spacing-lg)}.confirmation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirmation-modal{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-xl);max-width:450px;width:90%}.confirmation-modal h3{color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.confirmation-modal p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.confirmation-modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.confirmation-modal-actions .btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:none}.confirmation-modal-actions .btn-secondary:hover{background:var(--color-bg-hover)}@media(max-width:768px){.schedule-page{padding:var(--spacing-md)}.schedule-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.schedule-header h1{font-size:1.5rem}}.payments-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.payments-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d}.payments-header h1{margin:0;font-size:1.75rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.add-payment-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.add-payment-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.payments-content{padding:2rem;max-width:1400px;margin:0 auto}.payments-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-primary);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color)}.stat-card h3{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-card .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.stat-card .stat-value.positive{color:#10b981}.payments-table-container{background:var(--bg-primary);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color)}.payments-table{width:100%;border-collapse:collapse}.payments-table th,.payments-table td{padding:1rem 1.5rem;text-align:left}.payments-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.payments-table tr:hover{background:var(--bg-secondary)}.payments-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary)}.payment-amount{font-weight:600;color:#10b981}.payment-status{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.payment-status.posted{background:#10b9811a;color:#10b981}.payment-status.voided{background:#ef44441a;color:#ef4444}.payment-status.refunded{background:#f59e0b1a;color:#f59e0b}.payment-method{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-secondary);font-size:.875rem}.payment-actions{display:flex;gap:.5rem}.action-btn{padding:.5rem;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.action-btn.danger:hover{background:#ef44441a;color:#ef4444}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state .empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem}.loading-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.modal-content{background:var(--bg-primary);border-radius:16px;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.btn-cancel{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer}.btn-submit{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.payments-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.875rem;color:var(--text-secondary)}.filter-group select,.filter-group input[type=date]{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}@media(max-width:768px){.payments-header{flex-direction:column;gap:1rem;text-align:center}.form-row{grid-template-columns:1fr}.payments-table-container{overflow-x:auto}.payments-stats{grid-template-columns:1fr 1fr}}.reports-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.reports-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d}.reports-header h1{margin:0;font-size:1.75rem;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-actions{display:flex;gap:1rem;align-items:center}.back-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s;text-decoration:none;display:flex;align-items:center;gap:.5rem}.back-btn:hover{background:var(--bg-secondary)}.reports-content{padding:2rem;max-width:1200px;margin:0 auto}.report-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.report-card{background:var(--bg-primary);border-radius:16px;padding:2rem;box-shadow:0 4px 12px #00000014;border:1px solid var(--border-color);cursor:pointer;transition:all .3s}.report-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.report-card.active{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.report-card .report-icon{font-size:2.5rem;margin-bottom:1rem}.report-card h3{margin:0 0 .5rem;color:var(--text-primary)}.report-card p{margin:0;color:var(--text-secondary);font-size:.9rem}.report-panel{background:var(--bg-primary);border-radius:16px;padding:2rem;box-shadow:0 4px 12px #00000014;border:1px solid var(--border-color)}.report-panel h2{margin:0 0 1.5rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.report-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.form-group{flex:1;min-width:200px}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.875rem}.form-group select,.form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem}.form-group select:focus,.form-group input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.generate-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.tax-report-preview{background:var(--bg-secondary);border-radius:12px;padding:2rem;margin-top:1rem}.tax-report-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.tax-report-header h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.tax-report-header p{margin:0;color:var(--text-secondary)}.tax-report-section{margin-bottom:1.5rem}.tax-report-section h4{margin:0 0 .75rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.tax-report-section p{margin:.25rem 0;color:var(--text-primary)}.tax-report-section .amount{font-size:1.5rem;font-weight:700;color:#10b981}.payments-summary-table{width:100%;border-collapse:collapse;margin-top:.5rem}.payments-summary-table th,.payments-summary-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.payments-summary-table th{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.payments-summary-table td{color:var(--text-primary)}.payments-summary-table .amount-cell{text-align:right;font-weight:500}.payments-summary-table tfoot td{font-weight:700;border-top:2px solid var(--border-color);padding-top:1rem}.ssn-section{background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:12px;padding:1.5rem;margin-top:1.5rem}.ssn-section h4{margin:0 0 .5rem;color:#f59e0b;display:flex;align-items:center;gap:.5rem}.ssn-section p{margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary)}.ssn-input-group{display:flex;gap:1rem;align-items:center}.ssn-input-group input{flex:1;max-width:200px;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-family:monospace;font-size:1rem;letter-spacing:1px}.print-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.print-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.print-btn:disabled{opacity:.6;cursor:not-allowed}.report-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem}.loading-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:1rem;border-radius:8px;margin-bottom:1rem}.email-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.email-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.email-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-primary);border-radius:16px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.email-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.email-modal .modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.email-modal .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;transition:color .2s}.email-modal .close-btn:hover{color:var(--text-primary)}.email-modal .modal-body{padding:1.5rem}.email-modal .hint{font-size:.875rem;color:var(--text-secondary);margin:1rem 0}.email-modal .modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.email-modal .primary-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.email-modal .primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.email-modal .primary-btn:disabled{opacity:.6;cursor:not-allowed}.email-modal .secondary-btn{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .2s}.email-modal .secondary-btn:hover:not(:disabled){background:var(--bg-secondary)}.email-modal .success-message{text-align:center;padding:1rem}.email-modal .success-message .success-icon{font-size:3rem;margin-bottom:1rem}.email-modal .success-message p{margin:0 0 1.5rem;color:var(--text-primary);font-size:1rem}@media print{.reports-header,.report-types,.report-form,.ssn-section,.report-actions,.back-btn{display:none!important}.reports-page{background:#fff!important}.report-panel{box-shadow:none!important;border:none!important}.tax-report-preview{background:#fff!important;padding:0!important}}@media(max-width:768px){.reports-header{flex-direction:column;gap:1rem;text-align:center}.report-form{flex-direction:column}.form-group{width:100%}.ssn-input-group{flex-direction:column}.ssn-input-group input{max-width:100%}.report-actions{flex-direction:column}.report-actions button{width:100%;justify-content:center}}:root,:root[data-theme=light]{--color-primary: #667eea;--color-primary-hover: #5a6fd6;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-accent: #764ba2;--color-secondary: #f59e0b;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;--color-info: #2563eb;--color-bg-primary: #f5f7fa;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f3f4f6;--color-bg-card: #ffffff;--color-bg-input: #f9fafb;--color-bg-hover: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #374151;--color-text-muted: #6b7280;--color-text-light: #9ca3af;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-focus: #667eea;--shadow-color: rgba(0, 0, 0, .1);--shadow-color-lg: rgba(0, 0, 0, .15);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-bg: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%)}:root[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-light: #a5b4fc;--color-primary-dark: #6366f1;--color-accent: #c084fc;--color-secondary: #fbbf24;--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-info: #60a5fa;--color-bg-primary: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-card: #1e293b;--color-bg-input: #0f172a;--color-bg-hover: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #e2e8f0;--color-text-muted: #94a3b8;--color-text-light: #64748b;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-focus: #818cf8;--shadow-color: rgba(0, 0, 0, .3);--shadow-color-lg: rgba(0, 0, 0, .4);--gradient-primary: linear-gradient(135deg, #818cf8 0%, #c084fc 100%);--gradient-bg: linear-gradient(135deg, #0f172a 0%, #1e293b 100%)}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px var(--shadow-color);--shadow-md: 0 4px 6px -1px var(--shadow-color);--shadow-lg: 0 10px 25px -5px var(--shadow-color-lg);--shadow-xl: 0 20px 40px -10px var(--shadow-color-lg);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--gradient-bg);color:var(--color-text-primary);line-height:1.6;min-height:100vh;transition:background var(--transition-normal),color var(--transition-normal)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text-primary)}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{color:var(--color-text-secondary)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-text-inverse)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{background:#dc2626}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.form-group label{font-weight:600;color:var(--color-text-primary);font-size:.875rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--spacing-md);background:var(--color-bg-input);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-border-focus);background:var(--color-bg-card);box-shadow:0 0 0 3px #667eea26}.form-group input:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.form-group textarea{resize:vertical;min-height:100px}.field-hint{font-size:.75rem;color:var(--color-text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;margin-bottom:var(--spacing-lg)}.alert-error{background:#ef44441a;color:var(--color-error);border:1px solid rgba(239,68,68,.3)}.alert-success{background:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.3)}.alert-warning{background:#f59e0b1a;color:var(--color-warning);border:1px solid rgba(245,158,11,.3)}.alert-info{background:#3b82f61a;color:var(--color-info);border:1px solid rgba(59,130,246,.3)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.page{min-height:100vh;background:var(--gradient-bg)}.page-light{background:var(--color-bg-primary)}.divider{display:flex;align-items:center;margin:var(--spacing-lg) 0;color:var(--color-text-muted);font-size:.875rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.divider span{padding:0 var(--spacing-md)}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.badge-primary{background:#eef2ff;color:#312e81;border:1px solid #c7d2fe}.badge-success{background:#ecfdf5;color:#064e3b;border:1px solid #a7f3d0}.theme-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary);font-size:1.25rem}.theme-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.back-link{color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:var(--spacing-xs);font-weight:500;font-size:.875rem;transition:all var(--transition-fast)}.back-link:hover{text-decoration:underline;color:var(--color-primary-hover)}
