body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#f3f0ff,#e8e0ff 50%,#d5c6ff);font-family:Georgia,serif;min-height:100vh}@media (max-width:768px){.App{font-size:14px}}.user-header{align-items:center;background:#ffffffe6;border-bottom:2px solid #c8b5ff;display:flex;justify-content:space-between;padding:15px 20px}@media (max-width:768px){.user-header{flex-direction:column;gap:10px;padding:10px}.user-actions{flex-direction:column;width:100%}.logout-btn,.profile-btn{width:100%}}.user-info{color:#6b46c1;font-weight:700;gap:15px}.user-actions,.user-info{align-items:center;display:flex}.user-actions{gap:10px}.profile-btn{background:#6b7280;font-size:14px}.profile-btn:hover{background:#4b5563}.logout-btn{background:#f44336;font-size:14px;padding:8px 16px}.logout-btn:hover{background:#d32f2f}.main-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-bottom:2px solid #8b5cf6;display:flex;gap:20px;justify-content:center;padding:20px}@media (max-width:768px){.main-nav{flex-direction:column;gap:10px;padding:15px 10px}}.nav-btn{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border:none;border-radius:50px;box-shadow:0 4px 15px #8b5cf64d;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 30px;transition:all .3s ease}@media (max-width:768px){.nav-btn{font-size:16px;margin:0 5px;padding:12px 20px}}.nav-btn:hover{background:linear-gradient(45deg,#7c3aed,#8b5cf6);box-shadow:0 6px 20px #8b5cf666;transform:translateY(-2px)}.nav-btn.active{background:linear-gradient(45deg,#6b46c1,#7c3aed);box-shadow:0 2px 10px #6b46c180}.main-content{margin:0 auto;max-width:1200px;padding:20px}@media (max-width:768px){.main-content{padding:10px}}.card{background:#ffffffe6;border:2px solid #c8b5ff;border-radius:20px;box-shadow:0 8px 25px #8b5cf633;margin:20px 0}.card h2{color:#6b46c1;font-size:2.5em;margin-top:0;text-align:center}.btn{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border:none;border-radius:25px;box-shadow:0 4px 15px #8b5cf64d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 25px;transition:all .3s ease}.btn:hover{background:linear-gradient(45deg,#7c3aed,#8b5cf6);box-shadow:0 6px 20px #8b5cf666;transform:translateY(-2px)}.btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}input,select,textarea{background:#ffffffe6;border:2px solid #c8b5ff;border-radius:10px;font-size:16px;padding:10px}input:focus,select:focus,textarea:focus{border-color:#8b5cf6;box-shadow:0 0 10px #8b5cf64d;outline:none}.header{background:linear-gradient(135deg,#8b5cf6,#6b46c1);box-shadow:0 4px 20px #8b5cf64d;color:#fff;padding:30px 20px;text-align:center}.header-content{margin:0 auto;max-width:1200px}.logo{align-items:center;display:flex;gap:15px;justify-content:center;margin-bottom:10px}.logo h1{font-size:3em;font-weight:700;margin:0;text-shadow:2px 2px 4px #0000004d}.poodle-icon{animation:bounce 2s infinite;font-size:2.5em}.tagline{font-size:1.2em;font-style:italic;margin:0;text-shadow:1px 1px 2px #0000004d}.group-classes{animation:fadeIn .5s ease-in}.enrollment-form{background:#f8bbd94d;border:2px solid #f8bbd9;border-radius:15px;margin-bottom:30px;padding:20px}.enrollment-form h3{color:#ad1457;margin-top:0;text-align:center}.form-row{justify-content:center}.form-row input{max-width:200px}.classes-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:30px}.class-card{background:#fffffff2;border:3px solid #f8bbd9;border-radius:20px;box-shadow:0 6px 20px #e91e6326;padding:25px;transition:all .3s ease}.class-card:hover{border-color:#e91e63;box-shadow:0 12px 30px #e91e6340;transform:translateY(-5px)}.class-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.class-header h3{color:#ad1457;font-size:1.4em;margin:0}.level-badge{border-radius:20px;color:#fff;font-size:.8em;font-weight:700;padding:5px 12px;text-transform:uppercase}.class-description{color:#666;font-style:italic;line-height:1.5;margin-bottom:20px}.class-details{margin-bottom:20px}.detail-item{color:#333;margin-bottom:8px}.detail-item strong{color:#ad1457}.available{color:#4caf50;font-weight:700}.full{color:#f44336;font-weight:700}.enroll-btn{font-size:18px;margin-bottom:15px;padding:15px;width:100%}.enrolled-list{background:#f8bbd933;border:1px solid #f8bbd9;border-radius:10px;padding:15px}.enrolled-list strong{color:#ad1457;display:block;margin-bottom:8px}.enrolled-list ul,.waitlist ul{margin:0;padding-left:20px}.enrolled-list li,.waitlist li{align-items:center;color:#666;display:flex;justify-content:space-between;margin-bottom:4px}.cancel-btn{border-radius:50%;font-size:12px;height:24px;margin-left:10px;transition:background-color .2s;width:24px}.waitlist{background:#ffc1071a;border:1px solid #ffc107;border-radius:10px;margin-top:15px;padding:15px}.waitlist strong{color:#f57c00;display:block}.enrolled-student-item,.waitlist strong,.waitlist-student-item{margin-bottom:8px}.student-profile-link{background:none;border:none;border-radius:4px;color:#ad1457;cursor:pointer;font-size:inherit;font-weight:500;padding:2px 4px;text-decoration:underline;transition:all .2s ease}.student-profile-link:hover{background:#ad14571a;color:#8b1538;transform:translateX(3px)}.auto-filled{background:#ad14571a!important;border-color:#ad1457!important;color:#ad1457!important;cursor:not-allowed}.auto-fill-note{background:#ad14571a;border:1px solid #ad14574d;border-radius:8px;color:#ad1457;font-size:.9em;font-weight:500;margin-bottom:0;margin-top:10px;padding:8px 12px;text-align:center}.private-lessons{animation:fadeIn .5s ease-in}.welcome-message{color:#666;font-size:1.1em;font-style:italic;margin-bottom:30px;text-align:center}.booking-interface{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:30px 0;padding:30px}.no-appointments{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;padding:40px 20px;text-align:center}.no-appointments h3{color:#374151;font-weight:600;margin:0 0 15px}.no-appointments p{color:#6b7280;line-height:1.6;margin:10px 0}.appointments-header{border-bottom:2px solid #f3f0ff;margin-bottom:30px;padding-bottom:20px;text-align:center}.appointments-header h3{color:#6b46c1;font-size:1.8em;font-weight:700;margin:0 0 10px}.appointments-header p{color:#666;font-size:1.1em;margin:0}.appointments-list{display:flex;flex-direction:column;gap:25px}.appointment-day{background:#f8fafc;border:2px solid #e8e0ff;border-radius:15px;padding:20px;transition:all .3s ease}.appointment-day:hover{border-color:#8b5cf6;box-shadow:0 8px 25px #8b5cf61a;transform:translateY(-2px)}.appointment-date-header{align-items:center;border-bottom:1px solid #e8e0ff;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.appointment-date-header h4{color:#6b46c1;font-size:1.3em;font-weight:700;margin:0}.slots-count{background:#e8e0ff;border-radius:20px;color:#666;font-size:.9em;font-weight:500;padding:4px 12px}.appointment-slots{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.appointment-slot{align-items:center;background:linear-gradient(135deg,#10b981,#34d399);border:none;border-radius:12px;box-shadow:0 4px 15px #10b98133;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-weight:700;gap:5px;padding:15px 12px;transition:all .3s ease}.appointment-slot:hover{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 6px 20px #10b9814d;transform:translateY(-2px)}.appointment-slot.selected{background:linear-gradient(135deg,#8b5cf6,#a78bfa);box-shadow:0 0 20px #8b5cf666;transform:translateY(-2px)}.appointment-slot.selected:hover{background:linear-gradient(135deg,#7c3aed,#8b5cf6)}.appointment-slot .slot-time{font-size:1.1em;font-weight:700}.appointment-slot .slot-duration{font-size:.85em;opacity:.9}.booking-form-overlay{align-items:center;animation:fadeIn .3s ease-in;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.booking-form{animation:slideIn .3s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 40px #00000026;max-height:80vh;max-width:500px;overflow-y:auto;padding:32px;width:90%}.booking-form h3{color:#1f2937;font-size:1.5em;font-weight:700;margin:0 0 25px;text-align:center}.booking-form .booking-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:25px;padding:20px}.booking-form .booking-details div{color:#6b7280;font-size:14px;margin-bottom:10px}.booking-form .booking-details strong{color:#374151;font-weight:600}.notes-section{margin-bottom:25px}.notes-section label{color:#374151;font-size:14px;font-weight:600}.notes-section textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;min-height:90px;resize:vertical;transition:border-color .2s ease}.notes-section textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.booking-form-actions{display:flex;gap:12px;justify-content:center}.booking-form-actions .btn{border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease}.confirm-btn{background:#059669;border:none;color:#fff}.confirm-btn:hover{background:#047857;box-shadow:0 2px 8px #05966933;transform:translateY(-1px)}.cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.cancel-btn:hover{background:#e5e7eb}.booking-instructions{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e8e0ff}.booking-instructions h3{color:#6b46c1;margin-top:0}.booking-instructions ol{color:#475569;line-height:1.6}.booking-instructions li{margin-bottom:10px}.booking-instructions strong{color:#6b46c1}.booking-instructions p{background:#e8e0ff;border-radius:10px;color:#6b46c1;font-weight:700;margin-top:20px;padding:15px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.calendar-navigation{align-items:center;background:#f8fafb;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.week-navigation{align-items:center;display:flex;gap:20px}.nav-button{background:#3b82f6;border:none;border-radius:8px;box-shadow:0 1px 2px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.nav-button:hover:not(:disabled){background:#2563eb;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.nav-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.current-week{color:#1f2937;font-size:1.1em;font-weight:600;padding:0 15px}.month-selector{align-items:center;display:flex;gap:10px}.month-selector label,.month-selector select{color:#374151;font-size:14px;font-weight:500}.month-selector select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;padding:8px 12px}.month-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.weekly-calendar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.calendar-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#374151;display:grid;grid-template-columns:100px repeat(7,1fr)}.time-column-header{background:#f1f5f9;border-right:1px solid #d1d5db;color:#6b7280;font-size:14px;font-weight:600;padding:16px 12px;text-align:center}.day-header{background:#f8fafc;border-right:1px solid #d1d5db;padding:16px 8px}.day-header:last-child{border-right:none}.day-header.today{background:#dbeafe;color:#1e40af;font-weight:700}.day-header.past{background:#f1f5f9;color:#9ca3af;opacity:.6}.day-name{font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.day-date{font-size:18px;font-weight:700}.calendar-body{max-height:500px;overflow-y:auto}.calendar-row{border-bottom:1px solid #e5e7eb;display:grid;grid-template-columns:100px repeat(7,1fr);min-height:60px}.calendar-row:last-child{border-bottom:none}.calendar-row:nth-child(2n){background:#f9fafb}.time-cell{background:#f3f4f6;border-right:1px solid #d1d5db;color:#374151;font-size:13px;font-weight:600;padding:16px 12px;text-align:center}.slot-cell,.time-cell{align-items:center;display:flex;justify-content:center}.slot-cell{background:#fff;border-right:1px solid #e5e7eb;padding:4px;position:relative}.slot-cell:last-child{border-right:none}.slot-cell.past{background:#f9fafb;opacity:.6}.time-slot-button{align-items:center;background:#059669;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:12px;font-weight:600;height:50px;justify-content:center;transition:all .2s ease;width:100%}.time-slot-button:hover{background:#047857;box-shadow:0 2px 6px #00000026;transform:translateY(-1px)}.time-slot-button.selected{background:#dc2626;box-shadow:0 2px 8px #dc26264d;transform:translateY(-1px)}.time-slot-button.selected:hover{background:#b91c1c}.time-slot-button .slot-time{font-size:11px;font-weight:700;margin-bottom:1px}.time-slot-button .slot-duration{font-size:9px;font-weight:500;opacity:.9}.empty-slot{color:#d1d5db;font-size:14px;font-weight:400}@media (max-width:768px){.booking-interface{margin:20px 0;padding:20px}.calendar-navigation{flex-direction:column;gap:15px;padding:15px}.week-navigation{gap:15px}.nav-button{font-size:.9em;padding:8px 16px}.current-week{font-size:1em;padding:0 5px}.calendar-header{grid-template-columns:80px repeat(7,1fr)}.time-column-header{font-size:1em;padding:15px 10px}.day-header{padding:15px 5px}.day-name{font-size:.8em}.day-date{font-size:1em}.calendar-row{grid-template-columns:80px repeat(7,1fr);min-height:50px}.time-cell{font-size:.85em;padding:15px 8px}.slot-cell{padding:3px}.time-slot-button{height:40px}.time-slot-button .slot-time{font-size:.75em}.time-slot-button .slot-duration{font-size:.6em}.appointments-header h3{font-size:1.4em}.appointments-header p{font-size:1em}.appointments-list{gap:20px}.appointment-day{padding:15px}.appointment-date-header{align-items:flex-start;flex-direction:column;gap:8px}.appointment-date-header h4{font-size:1.1em}.appointment-slots{gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.appointment-slot{padding:12px 10px}.appointment-slot .slot-time{font-size:1em}.appointment-slot .slot-duration{font-size:.8em}.booking-form{margin:20px;padding:25px}.no-appointments{padding:30px 15px}}.no-slots{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:15px;color:#666;font-style:italic;padding:40px 20px;text-align:center}.slots-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.slot-card:hover{border-color:#e91e63}.slot-date{margin-bottom:10px}.book-btn{font-size:16px;padding:12px;width:100%}.booking-confirmation{background:#f8bbd933;border:2px solid #e91e63;margin-top:30px}.booking-details{grid-gap:15px;background:#fff;border-radius:10px;gap:15px;margin-bottom:20px;padding:20px}.booking-info strong{color:#ad1457}.notes-section{margin-bottom:20px}.notes-section label{color:#ad1457;display:block;margin-bottom:8px}.notes-section textarea{border:2px solid #f8bbd9;border-radius:10px;padding:12px;width:100%}.booking-actions{gap:15px;justify-content:center}.cancel-btn{background:#666}.cancel-btn:hover{background:#555}.confirm-btn{background:linear-gradient(45deg,#4caf50,#66bb6a)}.confirm-btn:hover{background:linear-gradient(45deg,#388e3c,#4caf50)}.booking-item{background:#fff;border:2px solid #f8bbd9;border-radius:15px;padding:20px;transition:all .3s ease}.booking-item:hover{box-shadow:0 8px 20px #e91e6326;transform:translateY(-2px)}.cancel-booking-btn{background:#f44336;font-size:.9em;padding:8px 16px}.cancel-booking-btn:hover{background:#d32f2f}.lesson-form{margin:0 auto;max-width:800px}.form-section{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:15px;margin-bottom:30px;padding:20px}.form-section h3{color:#ad1457;margin-bottom:15px;margin-top:0;text-align:center}.instruction{color:#666;font-style:italic;margin-bottom:20px;text-align:center}.form-row{display:flex;flex-wrap:wrap;gap:15px}.form-row input{flex:1 1;min-width:200px}.calendar{border:2px solid #f8bbd9;border-radius:15px;box-shadow:0 4px 15px #e91e631a;padding:20px}.calendar-header{margin-bottom:20px}.calendar-header h4{color:#ad1457;font-size:1.5em;margin:0}.nav-btn.small{border-radius:50%;font-size:18px;font-weight:700;height:40px;width:40px}.calendar-grid{grid-gap:5px;gap:5px}.day-header{color:#ad1457;font-size:.9em;padding:10px}.date-btn{border:2px solid #f8bbd9;border-radius:8px;font-size:14px}.date-btn:hover:not(:disabled){background:#fce4ec;border-color:#e91e63}.date-btn.selected{background:linear-gradient(45deg,#e91e63,#f06292);border-color:#ad1457}.selected-dates{margin-top:20px;text-align:center}.selected-dates strong{color:#ad1457;display:block;margin-bottom:10px}.date-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.date-tag{background:linear-gradient(45deg,#e91e63,#f06292);border-radius:20px;font-size:.9em;gap:8px;padding:8px 12px}.date-tag,.remove-date{align-items:center;color:#fff;display:flex}.remove-date{background:none;border:none;border-radius:50%;cursor:pointer;font-size:16px;font-weight:700;height:20px;justify-content:center;width:20px}.remove-date:hover{background:#fff3}.time-option{border:2px solid #f8bbd9}.time-option:hover{background:#fce4ec;border-color:#e91e63}.time-option input[type=checkbox]{height:18px;width:18px}.time-option input[type=checkbox]:checked+.time-label{color:#ad1457}.submit-btn{font-size:20px;margin-top:20px;padding:20px}.requests-list{max-height:400px;overflow-y:auto}.request-item{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:10px;margin-bottom:15px;padding:15px}.request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.request-header strong{color:#ad1457}.request-date{color:#666;font-size:.9em}.request-details{color:#333;font-size:.9em;margin-bottom:5px}.request-details strong{color:#ad1457}.email-composer-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.email-composer{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:100%}.email-composer-header{align-items:center;background:linear-gradient(135deg,#b19cd9,#c9a9dd);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.email-composer-header h3{font-size:1.3rem;font-weight:600;margin:0}.close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:35px;justify-content:center;transition:background-color .2s;width:35px}.close-btn:hover{background:#ffffff4d}.email-composer-content{padding:20px}.booking-summary,.recipient-info{margin-bottom:20px}.booking-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px}.booking-summary h4{color:#6f42c1;font-size:1rem;font-weight:600;margin:0 0 10px}.booking-summary p{color:#495057;font-size:.9rem;margin:5px 0}.template-section{margin-bottom:20px}.template-section label{color:#495057;display:block;font-size:.95rem;margin-bottom:8px}.template-select{background:#fff;border:2px solid #e9ecef;border-radius:6px;cursor:pointer;font-size:.95rem;padding:10px;transition:border-color .2s;width:100%}.template-select:focus{border-color:#b19cd9;outline:none}.custom-data-section{background:#f8f9fa;border-left:4px solid #b19cd9;border-radius:8px;margin-bottom:20px;padding:15px}.custom-data-section h4{color:#6f42c1;font-size:1rem;font-weight:600;margin:0 0 15px}.form-group{margin-bottom:15px}.form-group label{color:#495057;font-size:.9rem;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea,.message-textarea,.subject-input{border:2px solid #e9ecef;border-radius:6px;font-family:inherit;font-size:.95rem;padding:10px;resize:vertical;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus,.message-textarea:focus,.subject-input:focus{border-color:#b19cd9;outline:none}.subject-input{font-weight:500}.message-textarea{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;line-height:1.5;min-height:300px}.email-composer-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.email-composer-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;min-width:120px;padding:12px 20px;transition:all .2s}.cancel-btn{background:#6c757d}.cancel-btn:hover:not(:disabled){background:#5a6268}.send-btn{background:linear-gradient(135deg,#b19cd9,#c9a9dd);color:#fff}.send-btn:hover:not(:disabled){background:linear-gradient(135deg,#a08bc8,#b899cc);transform:translateY(-1px)}.cancel-btn:disabled,.send-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.email-composer-overlay{padding:10px}.email-composer{max-height:95vh}.email-composer-content,.email-composer-header{padding:15px}.email-composer-actions{flex-direction:column}.email-composer-actions .btn{width:100%}}.owner-dashboard{animation:fadeIn .5s ease-in}.dashboard-header{align-items:flex-start;border-bottom:2px solid #f8bbd9;display:flex;justify-content:space-between;padding:20px 0}.dashboard-title h2{color:#ad1457;margin:0 0 5px}.dashboard-title p{color:#666;margin:0}.export-section{text-align:right}.export-section h4{color:#ad1457;font-size:1em;margin:0 0 10px}.export-buttons{display:flex;gap:8px}.export-btn{background:linear-gradient(135deg,#6b46c1,#8b5cf6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85em;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.export-btn:hover{background:linear-gradient(135deg,#553c9a,#7c3aed);box-shadow:0 4px 12px #6b46c14d;transform:translateY(-1px)}.export-btn.private{background:linear-gradient(135deg,#059669,#10b981)}.export-btn.private:hover{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 4px 12px #0596694d}.export-btn.group{background:linear-gradient(135deg,#dc2626,#ef4444)}.export-btn.group:hover{background:linear-gradient(135deg,#b91c1c,#dc2626);box-shadow:0 4px 12px #dc26264d}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;gap:20px}.export-section{text-align:center}.export-buttons{flex-wrap:wrap;justify-content:center}}.slot-creator{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin:20px 0}@media (max-width:768px){.slot-creator{grid-template-columns:1fr}}.calendar-section,.time-section{background:#c8b5ff1a;border:1px solid #c8b5ff;border-radius:15px;padding:20px}.calendar-section h4,.time-section h4{color:#6b46c1;margin-bottom:15px;margin-top:0;text-align:center}.calendar{background:#fff;border:2px solid #c8b5ff;border-radius:10px;padding:15px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.calendar-header h5{color:#6b46c1;font-size:1.2em;margin:0}.calendar-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr)}.day-header{color:#6b46c1;font-size:.8em;font-weight:700;padding:8px;text-align:center}.calendar-cell{align-items:center;aspect-ratio:1;display:flex;justify-content:center}.date-btn{background:#fff;border:2px solid #c8b5ff;border-radius:6px;color:#333;cursor:pointer;font-size:12px;font-weight:700;height:100%;transition:all .2s ease;width:100%}.date-btn:hover:not(:disabled){background:#f3f0ff;border-color:#8b5cf6;transform:scale(1.05)}.date-btn.selected{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border-color:#6b46c1;color:#fff}.date-btn.past{background:#f5f5f5;border-color:#ddd;color:#ccc;cursor:not-allowed}.selected-dates,.selected-times{margin-top:15px;text-align:center}.selected-dates strong,.selected-times strong{color:#6b46c1;display:block;margin-bottom:10px}.date-tags,.time-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.date-tag,.time-tag{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border-radius:15px;color:#fff;font-size:.8em;padding:6px 10px}.time-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.time-option{align-items:center;background:#fff;border:2px solid #c8b5ff;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:10px;transition:all .2s ease}.time-option:hover{background:#f3f0ff;border-color:#8b5cf6}.time-option input[type=checkbox]{height:16px;margin:0;width:16px}.time-option input[type=checkbox]:checked+.time-label{color:#6b46c1;font-weight:700}.time-label{color:#333;font-size:.9em}.add-slots-action{grid-column:1/-1;margin-top:20px;text-align:center}.add-slots-btn{background:linear-gradient(45deg,#22c55e,#16a34a);font-size:18px;padding:15px 30px}.add-slots-btn:hover:not(:disabled){background:linear-gradient(45deg,#16a34a,#15803d)}.add-slots-btn:disabled{background:#ccc;cursor:not-allowed}.class-management{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin:20px 0}@media (max-width:768px){.class-management{grid-template-columns:1fr}}.add-class-form,.existing-classes{background:#c8b5ff1a;border:1px solid #c8b5ff;border-radius:15px;padding:20px}.add-class-form h4,.existing-classes h4{color:#6b46c1;margin-bottom:15px;margin-top:0;text-align:center}.add-class-form .form-row{display:flex;gap:15px;margin-bottom:15px}.add-class-form input,.add-class-form select,.add-class-form textarea{flex:1 1;min-width:150px}.classes-list{display:flex;flex-direction:column}.manage-class-card{align-items:flex-start;background:#fff;border:2px solid #c8b5ff;border-radius:15px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.manage-class-card:hover{box-shadow:0 8px 20px #8b5cf626;transform:translateY(-2px)}.class-info h5{color:#6b46c1;font-size:1.2em;margin:0 0 10px}.class-info p{color:#333;font-size:.9em;margin:5px 0}.class-info strong{color:#6b46c1}.delete-btn{background:#ef4444;font-size:.9em;padding:8px 16px}.delete-btn:hover{background:#dc2626}.dashboard-header{margin-bottom:30px;text-align:center}.dashboard-header h2{color:#6b46c1;font-size:2.5em;margin:0 0 10px}.dashboard-header p{color:#666;font-style:italic;margin:0}.dashboard-nav{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.dashboard-nav .nav-btn{background:#c8b5ff4d;border:2px solid #c8b5ff;border-radius:25px;color:#6b46c1;cursor:pointer;font-weight:700;padding:12px 20px;transition:all .3s ease}.dashboard-nav .nav-btn:hover{background:#c8b5ff80;border-color:#8b5cf6}.dashboard-nav .nav-btn.active{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border-color:#6b46c1;color:#fff}.dashboard-section{margin:0 auto;max-width:1200px}.add-slot-form{background:#c8b5ff33;border:1px solid #c8b5ff;border-radius:15px;padding:20px}.add-slot-form .form-row{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.add-slot-form input,.add-slot-form select{flex:1 1;min-width:150px}.slots-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:20px}.slot-card{background:#fff;border:2px solid #f8bbd9;border-radius:15px;padding:20px;text-align:center;transition:all .3s ease}.slot-card.available{background:#4caf500d;border-color:#4caf50}.slot-card.booked{background:#ff98000d;border-color:#ff9800}.slot-card:hover{box-shadow:0 8px 20px #e91e6326;transform:translateY(-2px)}.slot-date{color:#ad1457;font-size:1.1em;font-weight:700;margin-bottom:8px}.slot-time{color:#333;font-size:1.3em}.slot-status,.slot-time{margin-bottom:15px}.available-badge{background:#4caf50;border-radius:15px;color:#fff;font-size:.9em;font-weight:700;padding:5px 12px}.booking-info{background:#ff98001a;border-radius:8px;color:#333;font-size:.9em;padding:10px}.remove-btn{background:#f44336;font-size:.9em;padding:8px 16px}.remove-btn:hover{background:#d32f2f}.bookings-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.booking-card{background:#fff;border:2px solid #f8bbd9;border-radius:15px;padding:20px;transition:all .3s ease}.booking-card:hover{box-shadow:0 8px 20px #e91e6326;transform:translateY(-2px)}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.booking-date-time{display:flex;flex-direction:column;gap:4px}.booking-date-time strong{color:#ad1457;font-size:1.1em}.booking-date-time span{color:#666;font-weight:700}.status-badge{border-radius:15px;font-weight:700;padding:6px 12px;text-transform:uppercase}.status-badge.confirmed{background:#4caf50;color:#fff}.status-badge.pending{background:#ff9800;color:#fff}.status-badge.cancelled{background:#f44336;color:#fff}.booking-details{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.booking-details div{color:#333;font-size:.95em}.booking-details strong{color:#ad1457}.booking-actions{display:flex;gap:10px;justify-content:flex-end}.email-btn{background:linear-gradient(135deg,#b19cd9,#c9a9dd);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .2s}.email-btn:hover{background:linear-gradient(135deg,#a08bc8,#b899cc);transform:translateY(-1px)}.cancel-btn{font-size:.9em;padding:8px 16px}.classes-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.class-summary-card{background:#fff;border:2px solid #f8bbd9;border-radius:15px;padding:20px;transition:all .3s ease}.class-summary-card:hover{box-shadow:0 8px 20px #e91e6326;transform:translateY(-2px)}.class-summary-card h4{color:#ad1457;font-size:1.3em;margin:0 0 15px}.class-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.class-stats div{color:#333;font-size:.95em}.class-stats strong{color:#ad1457}.enrolled-students{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:10px;padding:15px}.enrolled-students strong{color:#ad1457;display:block;margin-bottom:8px}.enrolled-students ul{margin:0;padding-left:20px}.enrolled-students li{color:#666;font-size:.9em;margin-bottom:4px}.enrolled-student-item .student-profile-link{background:none;border:none;border-radius:4px;color:#ad1457;cursor:pointer;font-size:inherit;font-weight:500;padding:2px 4px;text-decoration:underline;transition:all .2s ease}.enrolled-student-item .student-profile-link:hover{background:#ad14571a;color:#8b1538;transform:translateX(3px)}.no-items{border-radius:15px;padding:40px 20px}.clients-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:20px}.client-card{background:#fff;border:2px solid #f8bbd9;border-radius:15px;padding:20px;transition:all .3s ease}.client-card:hover{box-shadow:0 8px 20px #e91e6326;transform:translateY(-2px)}.client-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.client-name-info h4{color:#ad1457;font-size:1.2em;margin:0 0 5px}.client-email{color:#666;font-size:.9em;margin-bottom:5px}.client-dog{color:#ad1457;font-size:.95em;font-weight:500}.client-stats{align-items:flex-end;display:flex;flex-direction:column;gap:5px}.stat-badge{background:#f8bbd933;border:1px solid #f8bbd9;border-radius:12px;color:#ad1457;font-size:.8em;font-weight:500;padding:4px 8px}.client-classes{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:10px;margin-bottom:15px;padding:15px}.client-classes strong{color:#ad1457;display:block;margin-bottom:8px}.client-classes ul{margin:0;padding-left:20px}.client-classes li{color:#666;font-size:.9em;margin-bottom:4px}.client-actions{display:flex;gap:10px;justify-content:flex-end}.profile-btn{background:linear-gradient(135deg,#6b46c1,#8b5cf6);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .2s}.profile-btn:hover{background:linear-gradient(135deg,#553c9a,#7c3aed);transform:translateY(-1px)}@media (max-width:768px){.clients-list{grid-template-columns:1fr}.client-header{flex-direction:column;gap:10px}.client-stats{align-items:flex-start}}.login-container{align-items:center;background:linear-gradient(135deg,#f3f0ff,#e8e0ff 50%,#d5c6ff);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fffffff2;border:3px solid #c8b5ff;border-radius:25px;box-shadow:0 15px 35px #8b5cf64d;max-width:450px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h2{color:#6b46c1;font-size:2em;margin:0 0 10px}.login-header p{color:#666;font-style:italic;margin:0}.login-type-selector{display:flex;gap:10px;margin-bottom:30px}.type-btn{background:#c8b5ff4d;border:2px solid #c8b5ff;border-radius:15px;color:#6b46c1;cursor:pointer;flex:1 1;font-weight:700;padding:12px;transition:all .3s ease}.type-btn:hover{background:#c8b5ff80;border-color:#8b5cf6}.type-btn.active{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border-color:#6b46c1;color:#fff}.login-form{display:flex;flex-direction:column;gap:20px}.login-form input{background:#ffffffe6;border:2px solid #c8b5ff;border-radius:15px;font-size:16px;padding:15px}.login-form input:focus{border-color:#8b5cf6;box-shadow:0 0 15px #8b5cf64d;outline:none}.login-btn{border-radius:25px;font-size:18px;margin-top:10px;padding:18px}.signup-toggle{color:#666;font-size:14px;margin-top:10px;text-align:center}.link-btn{background:none;border:none;color:#8b5cf6;cursor:pointer;font-size:14px;font-weight:700;text-decoration:underline}.link-btn:hover{color:#6b46c1}.owner-demo-info{margin-top:10px;text-align:center}.owner-demo-info small{background:#c8b5ff33;border-radius:10px;color:#999;display:inline-block;padding:8px 12px}.contact-us{margin:0 auto;max-width:800px}.contact-intro{color:#6b46c1;font-size:1.1em;line-height:1.6;margin-bottom:30px;text-align:center}.contact-info{grid-gap:20px;background:linear-gradient(135deg,#f8f9ff,#f1f5f9);border:2px solid #e2e8f0;border-radius:15px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px;padding:25px}.contact-item strong{margin-bottom:5px}.contact-item p{color:#4a5568}.contact-form{background:#fff;border:2px solid #c8b5ff;border-radius:15px;box-shadow:0 4px 15px #8b5cf61a;padding:30px}.form-group textarea{font-family:inherit;min-height:120px}.submit-btn{background:linear-gradient(45deg,#8b5cf6,#a78bfa);box-shadow:0 4px 15px #8b5cf64d;margin-top:10px;padding:15px 30px;width:100%}.submit-btn:hover{background:linear-gradient(45deg,#7c3aed,#8b5cf6);box-shadow:0 6px 20px #8b5cf666}.contact-success{margin:0 auto;max-width:600px;text-align:center}.success-message{color:#6b46c1;padding:40px 30px}.success-message p{font-size:1.2em;line-height:1.6;margin-bottom:15px}.success-icon{animation:bounce 1s ease-in-out;font-size:4em;margin:20px 0}@keyframes bounce{0%,20%,60%,to{transform:translateY(0)}40%{transform:translateY(-20px)}80%{transform:translateY(-10px)}}@media (max-width:768px){.contact-info{gap:15px;grid-template-columns:1fr;padding:20px}.contact-item{flex-direction:column;gap:8px;text-align:center}.contact-icon{font-size:2em}.contact-form{padding:20px}.form-row{gap:15px;grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:10px 12px}.submit-btn{font-size:16px;padding:12px 25px}}@media (max-width:480px){.contact-us{padding:0 10px}.contact-intro{font-size:1em;margin-bottom:20px}.contact-info{margin-bottom:25px;padding:15px}.contact-form{padding:15px}.form-group{margin-bottom:15px}.form-group label{font-size:.95em;margin-bottom:6px}}.time-window-picker{margin:0 auto;max-width:900px}.picker-intro{color:#6b46c1;font-size:1.1em;line-height:1.6;margin-bottom:30px;text-align:center}.picker-form{background:#f8fafccc;border:2px solid #e2e8f0;border-radius:15px;margin-bottom:30px;padding:25px}.form-row{grid-template-columns:1fr 1fr}.checkbox-label input[type=checkbox]{margin:0}.form-group input,.form-group select{background:#ffffffe6;border:2px solid #c8b5ff;border-radius:10px;box-sizing:border-box;font-size:16px;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 10px #8b5cf64d;outline:none}.days-selector{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.day-btn{background:#fff;border:2px solid #c8b5ff;border-radius:20px;color:#6b46c1;cursor:pointer;font-size:.9em;font-weight:700;padding:8px 12px;transition:all .3s ease}.day-btn:hover{background:#f3f0ff;border-color:#8b5cf6}.day-btn.selected{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border-color:#7c3aed;color:#fff}.form-actions{margin-top:25px}.add-btn{background:linear-gradient(45deg,#10b981,#34d399);border:none;border-radius:25px;box-shadow:0 4px 15px #10b9814d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 25px;transition:all .3s ease}.add-btn:hover{background:linear-gradient(45deg,#059669,#10b981);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.windows-preview{background:#fff;border:2px solid #c8b5ff;border-radius:15px;overflow:hidden}.preview-header{align-items:center;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.preview-header h3{font-size:1.3em;margin:0}.preview-actions{display:flex;gap:10px}.clear-btn{background:#ef4444;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:8px 16px;transition:all .3s ease}.clear-btn:hover{background:#dc2626;transform:translateY(-1px)}.save-btn{background:#22c55e;border-radius:20px;font-size:14px;padding:8px 16px}.save-btn:hover{background:#16a34a;transform:translateY(-1px)}.windows-list{max-height:400px;overflow-y:auto;padding:25px}.date-group{margin-bottom:25px}.date-header{border-bottom:2px solid #e2e8f0;color:#6b46c1;font-size:1.1em;margin-bottom:15px;padding-bottom:8px}.slots-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.slot-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:8px;display:flex;font-size:.9em;justify-content:space-between;padding:8px 12px}.slot-time{color:#4a5568;font-weight:700}.remove-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;transition:all .2s ease;width:20px}.remove-btn:hover{background:#dc2626;transform:scale(1.1)}@media (max-width:768px){.picker-form{padding:20px}.form-row{gap:15px;grid-template-columns:1fr}.days-selector{justify-content:center}.day-btn{flex:1 1;max-width:80px}.preview-header{flex-direction:column;gap:15px;text-align:center}.preview-actions{justify-content:center}.slots-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.slot-item{font-size:.85em;padding:6px 10px}.windows-list{max-height:300px;padding:20px}}@media (max-width:480px){.time-window-picker{padding:0 10px}.picker-form{padding:15px}.form-group input,.form-group select{font-size:16px;padding:10px 12px}.days-selector{gap:5px}.day-btn{font-size:.8em;padding:6px 8px}.slots-grid{grid-template-columns:1fr 1fr}.slot-item{flex-direction:column;gap:5px;padding:8px 6px;text-align:center}.remove-btn{font-size:14px;height:24px;width:24px}}.waiver-container{margin:0 auto;max-width:900px}.waiver-intro{color:#6b46c1;font-size:1.1em;line-height:1.6;margin-bottom:30px;text-align:center}.waiver-form{background:#fff;border:2px solid #c8b5ff;border-radius:15px;box-shadow:0 4px 15px #8b5cf61a;overflow:hidden}.document-section{border-bottom:2px solid #f1f5f9;padding:30px}.document-section:last-of-type{border-bottom:none}.document-section h3{border-bottom:2px solid #e2e8f0;color:#6b46c1;font-size:1.4em;margin-bottom:20px;padding-bottom:10px}.document-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#374151;line-height:1.6;margin-bottom:20px;padding:25px}.document-content h4{color:#6b46c1;font-size:1.1em;margin:20px 0 10px}.document-content h4:first-child{margin-top:0}.document-content p{margin-bottom:15px}.document-content ul{margin:10px 0 15px 20px}.document-content li{margin-bottom:8px}.document-content strong{color:#dc2626;font-weight:700}.waiver-checkbox{align-items:flex-start;background:linear-gradient(135deg,#fef3c7,#fbbf24);border:2px solid #f59e0b;border-radius:10px;cursor:pointer;display:flex!important;gap:12px;margin-bottom:0!important;padding:15px;transition:all .3s ease}.waiver-checkbox:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1px)}.waiver-checkbox input[type=checkbox]{accent-color:#dc2626;height:20px!important;margin:0!important;width:20px!important}.waiver-checkbox span{color:#92400e;font-size:1em;font-weight:700;line-height:1.4}.signature-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-top:3px solid #0ea5e9;padding:30px}.signature-section h3{color:#0c4a6e;font-size:1.3em;margin-bottom:20px}.form-row{grid-template-columns:2fr 1fr}.form-group label{color:#0c4a6e}.form-group input{border:2px solid #bae6fd}.form-group input:focus{border-color:#0ea5e9;box-shadow:0 0 10px #0ea5e94d}.signature-disclaimer{background:#ffffffb3;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:.9em;font-style:italic;margin-top:15px;padding:15px;text-align:center}.form-actions{background:#f8fafc}@media (max-width:768px){.waiver-container{padding:0 10px}.document-content,.document-section{padding:20px}.waiver-checkbox{align-items:center;padding:12px}.waiver-checkbox span{font-size:.95em}.signature-section{padding:20px}.form-row{gap:15px;grid-template-columns:1fr}.form-group input{padding:10px 12px}.submit-btn{font-size:16px;padding:12px 30px}}@media (max-width:480px){.document-content,.document-section{padding:15px}.document-section h3{font-size:1.2em}.document-content{font-size:.95em}.waiver-checkbox{padding:10px}.waiver-checkbox input[type=checkbox]{height:18px!important;width:18px!important}.signature-section{padding:15px}.signature-disclaimer{font-size:.85em;padding:12px}}.intake-container{margin:0 auto;max-width:900px}.intake-intro{color:#6b46c1;font-size:1.1em;line-height:1.6;margin-bottom:30px;text-align:center}.intake-form{background:#fff;border:2px solid #c8b5ff;border-radius:15px;box-shadow:0 4px 15px #8b5cf61a;overflow:hidden}.form-section{border-bottom:2px solid #f1f5f9;padding:30px}.form-section:last-of-type{border-bottom:none}.form-section h3{align-items:center;border-bottom:2px solid #e2e8f0;color:#6b46c1;display:flex;font-size:1.3em;gap:10px;margin-bottom:25px;padding-bottom:10px}.form-section h3:before{content:"📋";font-size:1.2em}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group input,.form-group select,.form-group textarea{background:#ffffffe6;border:2px solid #c8b5ff;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:16px;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 10px #8b5cf64d}.form-group textarea{line-height:1.5;min-height:80px;resize:vertical}.checkbox-group{display:flex;flex-direction:column;gap:15px;margin-top:20px}.checkbox-label{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;gap:12px;padding:12px 15px;transition:all .3s ease}.checkbox-label:hover{background:#f1f5f9;border-color:#8b5cf6}.checkbox-label input[type=checkbox]{height:18px!important;width:18px!important}.required-checkbox{background:linear-gradient(135deg,#fef3c7,#fbbf24)!important;border-color:#f59e0b!important}.required-checkbox:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b)!important}.required-checkbox input[type=checkbox]{accent-color:#dc2626!important}.form-actions{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);padding:30px;text-align:center}.submit-btn{background:linear-gradient(45deg,#22c55e,#16a34a);border:none;border-radius:25px;box-shadow:0 4px 15px #22c55e4d;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 40px;transition:all .3s ease}.submit-btn:hover{background:linear-gradient(45deg,#16a34a,#15803d);box-shadow:0 6px 20px #22c55e66;transform:translateY(-2px)}.submit-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.form-group input:invalid,.form-group select:invalid,.form-group textarea:invalid{border-color:#ef4444}.form-group input:invalid:focus,.form-group select:invalid:focus,.form-group textarea:invalid:focus{box-shadow:0 0 10px #ef44444d}@media (max-width:768px){.intake-container{padding:0 10px}.form-section{padding:20px}.form-section h3{font-size:1.2em;margin-bottom:20px}.form-row{gap:15px;grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:10px 12px}.checkbox-label{padding:10px 12px}.checkbox-label input[type=checkbox]{height:16px!important;width:16px!important}.submit-btn{font-size:16px;padding:12px 30px}}@media (max-width:480px){.form-section{padding:15px}.form-section h3{flex-direction:column;font-size:1.1em;gap:5px;text-align:center}.form-group{margin-bottom:15px}.form-group label{font-size:.95em;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:10px}.checkbox-group{gap:10px}.checkbox-label{font-size:.9em;padding:8px 10px}.form-actions{padding:20px 15px}.submit-btn{padding:12px 20px;width:100%}}.form-group label:after{content:""}.form-group input[required]+.form-group label:after,.form-group select[required]+.form-group label:after,.form-group textarea[required]+.form-group label:after{color:#dc2626;content:" *";font-weight:700}.checkbox-label:focus-within,.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:3px solid #8b5cf680;outline-offset:2px}.lesson-notes{animation:fadeIn .5s ease-in}.notes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.notes-header h2{color:#ad1457;margin:0}.add-note-btn{background:#4caf50;border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:700;padding:12px 20px;transition:all .3s ease}.add-note-btn:hover{background:#45a049;transform:translateY(-2px)}.filters-section{background:#f8bbd933;border:1px solid #f8bbd9;border-radius:15px;margin-bottom:30px;padding:20px}.search-filters{grid-gap:15px;align-items:center;display:grid;gap:15px;grid-template-columns:2fr 1fr 1fr}.filter-select,.search-input{border:2px solid #f8bbd9;border-radius:8px;font-size:14px;padding:12px;transition:border-color .3s ease}.filter-select:focus,.search-input:focus{border-color:#e91e63;outline:none}.add-note-form{background:#fffffff2;border:2px solid #f8bbd9;border-radius:20px;box-shadow:0 6px 20px #e91e6326;margin-bottom:30px;padding:30px}.add-note-form h3{color:#ad1457;margin-bottom:20px;margin-top:0;text-align:center}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{color:#ad1457;font-size:14px;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:2px solid #f8bbd9;border-radius:8px;font-size:14px;padding:12px;resize:vertical;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#e91e63;outline:none}.form-group input:disabled{background-color:#f5f5f5;border-color:#ddd;color:#666;cursor:not-allowed}.client-select{background-color:#fff;color:#333;font-weight:500}.client-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.save-btn{background:#4caf50}.save-btn:hover{background:#45a049}.cancel-btn{background:#f44336}.cancel-btn:hover{background:#d32f2f;transform:translateY(-2px)}.notes-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fffffff2;border:2px solid #f8bbd9;border-radius:15px;padding:20px;text-align:center;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 25px #e91e6333;transform:translateY(-3px)}.stat-card h4{color:#ad1457;font-size:14px;margin:0 0 10px}.stat-number{color:#e91e63;font-size:2em;font-weight:700}.notes-list{display:flex;flex-direction:column;gap:20px}.no-notes{background:#f8bbd933;border:2px dashed #f8bbd9;border-radius:15px;padding:40px;text-align:center}.no-notes p{color:#ad1457;font-size:16px;margin:10px 0}.note-card{background:#fffffff2;border:2px solid #f8bbd9;border-radius:20px;box-shadow:0 6px 20px #e91e6326;padding:25px;transition:all .3s ease}.note-card:hover{border-color:#e91e63;box-shadow:0 12px 30px #e91e6340;transform:translateY(-3px)}.note-header{align-items:flex-start;border-bottom:1px solid #f8bbd9;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.note-title{align-items:center;display:flex;gap:15px}.note-title h3{color:#ad1457;font-size:1.3em;margin:0}.lesson-type{border-radius:20px;color:#fff;font-size:.8em;font-weight:700;padding:5px 12px}.lesson-type.private{background:#2196f3}.lesson-type.group{background:#ff9800}.note-meta{align-items:center;display:flex;gap:10px}.note-date{color:#666;font-size:.9em}.delete-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:16px;padding:5px;transition:background-color .2s}.delete-btn:hover{background:#f443361a}.note-details p{color:#333;margin:5px 0}.note-details strong{color:#ad1457}.note-section{background:#f8bbd91a;border-left:4px solid #e91e63;border-radius:10px;margin:15px 0;padding:15px}.note-section h4{color:#ad1457;font-size:1em;margin:0 0 8px}.note-section p{line-height:1.5;margin:0}.note-footer{border-top:1px solid #f8bbd9;display:flex;justify-content:space-between;margin-top:20px;padding-top:15px}.note-footer small{color:#999;font-size:.8em}@media (max-width:768px){.form-grid,.search-filters{grid-template-columns:1fr}.notes-stats{grid-template-columns:repeat(2,1fr)}.note-title{align-items:flex-start;flex-direction:column;gap:8px}.note-header{flex-direction:column;gap:10px}}.user-profile{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:800px}.profile-view{padding:20px 0}.profile-info{margin-bottom:30px}.info-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:15px 0}.info-item:last-child{border-bottom:none}.info-item label{color:#6b46c1;font-weight:700;min-width:120px}.info-item span{color:#374151;font-size:1.1em}.role-badge{border-radius:20px;font-size:.9em;font-weight:700;padding:6px 12px;text-transform:capitalize}.role-badge.owner{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff}.role-badge.customer{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.profile-actions{padding-top:20px;text-align:center}.edit-btn{background:linear-gradient(45deg,#8b5cf6,#a78bfa);border:none;border-radius:25px;box-shadow:0 4px 15px #8b5cf64d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 30px;transition:all .3s ease}.edit-btn:hover{background:linear-gradient(45deg,#7c3aed,#8b5cf6);box-shadow:0 6px 20px #8b5cf666;transform:translateY(-2px)}.profile-form{padding:20px 0}.form-group{margin-bottom:20px}.form-group label{color:#6b46c1;display:block;font-size:1em;font-weight:700;margin-bottom:8px}.form-group input{background:#ffffffe6;border:2px solid #c8b5ff;border-radius:10px;box-sizing:border-box;font-size:16px;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 10px #8b5cf64d;outline:none}.disabled-input{background:#f8fafc!important;color:#64748b!important;cursor:not-allowed!important}.disabled-input:focus{border-color:#c8b5ff!important;box-shadow:none!important}.password-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;margin:30px 0;padding:20px}.password-header{margin-bottom:20px}.checkbox-label{align-items:center;color:#6b46c1;cursor:pointer;display:flex!important;font-weight:700;gap:10px;margin-bottom:0!important}.checkbox-label input[type=checkbox]{accent-color:#8b5cf6;margin:0!important;width:auto!important}.password-fields{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.password-fields .form-group{margin-bottom:15px}.form-actions{border-top:2px solid #e2e8f0;display:flex;gap:15px;justify-content:center;margin-top:30px;padding-top:20px}.cancel-btn{background:#6b7280;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 25px;transition:all .3s ease}.cancel-btn:hover{background:#4b5563;transform:translateY(-1px)}.save-btn{background:linear-gradient(45deg,#22c55e,#16a34a);border:none;border-radius:25px;box-shadow:0 4px 15px #22c55e4d;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 25px;transition:all .3s ease}.save-btn:hover{background:linear-gradient(45deg,#16a34a,#15803d);box-shadow:0 6px 20px #22c55e66;transform:translateY(-2px)}@media (max-width:768px){.user-profile{padding:0 10px}.info-item{align-items:flex-start;flex-direction:column;gap:8px;text-align:left}.info-item label{min-width:auto}.form-actions{flex-direction:column}.cancel-btn,.save-btn{padding:14px 25px;width:100%}.password-section{padding:15px}.form-group input{padding:10px 12px}}@media (max-width:480px){.profile-form{padding:15px 0}.password-section{margin:20px 0;padding:12px}.form-group{margin-bottom:15px}.form-group label{font-size:.95em;margin-bottom:6px}.checkbox-label{font-size:.95em}.edit-btn{padding:12px 20px;width:100%}}.contact-view{padding:20px 0}.contact-info-display{margin-bottom:30px}.contact-item{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:15px;padding:20px 0}.contact-item:last-child{border-bottom:none}.contact-icon{font-size:1.5em;margin-top:5px}.contact-item div{flex:1 1}.contact-item strong{color:#6b46c1;display:block;font-size:1.1em;margin-bottom:8px}.contact-item p{color:#374151;font-size:1em;line-height:1.4;margin:0}.hours-display{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:8px}.hours-display p{font-size:.95em;margin:4px 0}.contact-actions{padding-top:20px;text-align:center}.contact-form .form-group{margin-bottom:25px}.hours-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:15px}.hours-row{align-items:center;display:flex;gap:10px}.day-label{color:#6b46c1;font-size:.9em;font-weight:700;margin-bottom:0!important;min-width:80px}.hours-input{border:1px solid #c8b5ff!important;border-radius:6px!important;flex:1 1;font-size:14px!important;padding:8px 12px!important}.hours-input:focus{border-color:#8b5cf6!important;box-shadow:0 0 5px #8b5cf633!important}@media (max-width:768px){.user-profile{max-width:100%}.contact-item{flex-direction:column;gap:10px;padding:15px 0}.contact-icon{font-size:1.3em;margin-top:0}.hours-display{gap:4px;grid-template-columns:1fr}.hours-grid{gap:10px;grid-template-columns:1fr}.hours-row{align-items:flex-start;flex-direction:column;gap:5px}.day-label{min-width:auto}}.client-profile{animation:fadeIn .5s ease-in;margin:0 auto;max-width:1200px;padding:20px}.profile-header{align-items:center;border-bottom:2px solid #f8bbd9;display:flex;gap:20px;margin-bottom:30px;padding:20px 0}.back-btn{background:#ad14571a;border:2px solid #ad1457;border-radius:8px;color:#ad1457;cursor:pointer;font-weight:500;padding:10px 16px;transition:all .2s ease}.back-btn:hover{background:#ad1457;color:#fff;transform:translateY(-1px)}.client-title{align-items:center;display:flex;gap:15px}.client-title h2{color:#ad1457;font-size:2em;margin:0}.client-badge{background:#f8bbd933;border:1px solid #f8bbd9;border-radius:15px;color:#ad1457;font-size:.9em;font-weight:500;padding:6px 12px}.profile-sections{grid-gap:25px;display:grid;gap:25px}.card{background:#fff;border:2px solid #f8bbd9;border-radius:15px;padding:25px;transition:all .3s ease}.card:hover{box-shadow:0 8px 20px #e91e6326;transform:translateY(-2px)}.card h3{border-bottom:2px solid #f8bbd94d;color:#ad1457;font-size:1.4em;margin:0 0 20px;padding-bottom:10px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:10px;padding:15px}.info-item strong{color:#ad1457;display:block;margin-bottom:5px}.classes-list{grid-gap:15px;display:grid;gap:15px}.class-item{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:10px;padding:15px;transition:all .2s ease}.class-item:hover{background:#f8bbd933;transform:translateX(5px)}.class-item h4{color:#ad1457;font-size:1.1em;margin:0 0 10px}.class-details{display:flex;flex-wrap:wrap;gap:20px}.class-details span{color:#666;font-size:.9em}.class-details strong{color:#ad1457}.bookings-list{grid-gap:15px;display:grid;gap:15px}.booking-item{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:10px;padding:15px;transition:all .2s ease}.booking-item:hover{background:#f8bbd933;transform:translateX(5px)}.booking-item.past{background:#8080800d;border-color:#ddd}.booking-date{color:#ad1457;font-size:1.1em;margin-bottom:5px}.booking-time{color:#666;font-size:.95em}.booking-status,.booking-time{margin-bottom:8px}.status-badge{border-radius:12px;font-size:.8em;font-weight:500;padding:4px 8px}.status-badge.confirmed{background:#4caf5033;border:1px solid #4caf50;color:#4caf50}.status-badge.cancelled{background:#f4433633;border:1px solid #f44336;color:#f44336}.status-badge.pending{background:#ff980033;border:1px solid #ff9800;color:#ff9800}.booking-notes{background:#c8b5ff1a;border:1px solid #c8b5ff;border-radius:8px;margin-top:8px;padding:10px}.booking-notes strong{color:#6b46c1}.no-items{background:#f8bbd91a;border:1px solid #f8bbd9;border-radius:10px;color:#666;font-style:italic;padding:30px 20px;text-align:center}@media (max-width:768px){.client-profile{padding:15px}.profile-header{gap:15px}.client-title,.profile-header{align-items:flex-start;flex-direction:column}.client-title{gap:10px}.info-grid{grid-template-columns:1fr}.class-details{flex-direction:column;gap:8px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.197efba3.css.map*/