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}.auth-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.auth-modal{animation:slideIn .3s ease-in-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:400px;overflow-y:auto;width:90%}.auth-modal-header{align-items:center;border-bottom:1px solid #e8eaed;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.auth-modal-header h2{color:#2d5a87;font-size:1.5rem;font-weight:600;margin:0}.close-btn{background:none;border-radius:4px;color:#5f6368;padding:8px}.close-btn:hover{background:#f1f3f4;color:#ea4335}.auth-modal-body{padding:0 24px 24px}.form-group input{border:2px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .15s ease-in-out;width:100%}.form-group input:focus{border-color:#2d5a87;box-shadow:0 0 0 3px #2d5a871a;outline:none}.password-input{position:relative}.password-toggle{background:none;border:none;color:#5f6368;cursor:pointer;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .15s ease-in-out}.password-toggle:hover{color:#2d5a87}.error-message{background:#feeeed;border:1px solid #fbcbc9;border-radius:8px;color:#ea4335;font-size:.9rem;margin-bottom:20px;padding:12px 16px}.auth-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:14px 20px;transition:all .15s ease-in-out;width:100%}.auth-btn:disabled{cursor:not-allowed;opacity:.6}.auth-btn.primary{background:#2d5a87;color:#fff}.auth-btn.primary:hover:not(:disabled){background:#1f4566;transform:translateY(-1px)}.auth-btn.secondary{background:#e8eaed;color:#3c4043;margin-top:12px}.auth-btn.secondary:hover:not(:disabled){background:#dadce0;transform:translateY(-1px)}.auth-divider{align-items:center;color:#5f6368;display:flex;font-size:.9rem;margin:24px 0}.auth-divider:after,.auth-divider:before{background:#dadce0;content:"";flex:1 1;height:1px}.auth-divider span{padding:0 16px}.auth-switch{color:#5f6368;font-size:.9rem;margin-top:24px;text-align:center}.text-btn{background:none;border:none;color:#2d5a87;cursor:pointer;font-size:inherit;text-decoration:underline;transition:color .15s ease-in-out}.text-btn:hover{color:#1f4566}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.auth-modal{margin:20px;width:95%}.auth-modal-body,.auth-modal-header{padding-left:20px;padding-right:20px}}.main-header{background:linear-gradient(135deg,#2d5a87,#4a90a4);box-shadow:0 4px 6px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-container{height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.logo,.nav-container{align-items:center;display:flex}.logo{color:#fff;cursor:pointer;font-size:20px;font-weight:600;gap:12px;transition:all .15s ease-in-out}.logo:hover{transform:translateY(-1px)}.logo svg{color:#f4a261;font-size:24px}.nav-controls,.user-menu{align-items:center;display:flex;gap:12px}.user-menu{background:#ffffff1a;border-radius:8px;padding:0 12px}.user-name{color:#fff;font-size:.9rem;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-btn{background:#ffffff1a!important}.auth-btn:hover{background:#fff3!important}.nav-btn{background:#ffffff1a;border-radius:8px;color:#fff;font-size:16px}.nav-btn:hover{background:#fff3;transform:translateY(-1px)}.nav-btn.active{background:#f4a261;color:#264653}@media (max-width:768px){.nav-container{padding:0 16px}.logo{font-size:18px}.logo svg{font-size:20px}}.dashboard{margin:0 auto;max-width:1200px;min-height:calc(100vh - 84px);padding:20px}.dashboard-header{margin-bottom:40px;text-align:center}.dashboard-header h1{color:#2d5a87;font-size:2.5rem;font-weight:600;margin-bottom:20px}.dashboard-stats{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.stat-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;min-width:140px;padding:24px;text-align:center;transition:transform .15s ease-in-out}.stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.stat-number{color:#2d5a87;font-size:2rem;font-weight:700}.stat-label{color:#5f6368;font-size:.9rem;margin-top:4px}.dashboard-controls{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.search-container{flex:1 1;max-width:300px;position:relative}.search-input{border:2px solid #dadce0;border-radius:8px;font-size:16px;padding:12px 40px 12px 16px;transition:all .15s ease-in-out;width:100%}.search-input:focus{border-color:#2d5a87;box-shadow:0 0 0 3px #2d5a871a;outline:none}.search-icon{color:#9aa0a6;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.view-controls{background:#e8eaed;border-radius:8px;display:flex;gap:4px;padding:4px}.view-btn{background:none;border:none;border-radius:4px;color:#5f6368;cursor:pointer;padding:8px 12px;transition:all .15s ease-in-out}.view-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2d5a87}.filter-controls{display:flex;gap:12px}.filter-select{background:#fff;border:2px solid #dadce0;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 12px}.filter-select:focus{border-color:#2d5a87;outline:none}.standards-container.grid-view{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.standards-container.list-view{display:flex;flex-direction:column;gap:12px}.standard-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .3s ease-in-out}.standard-card:hover{border-color:#2d5a87;box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.standard-card.grid-view{display:flex;flex-direction:column;gap:12px;padding:20px}.card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.standard-title{flex:1 1;font-size:1.1rem;line-height:1.3}.difficulty-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.standard-composer{color:#5f6368;font-size:.9rem;font-style:italic}.standard-style{color:#4a90a4;font-size:.8rem;font-weight:500;text-transform:capitalize}.standard-progress{align-items:center;display:flex;gap:8px;margin:8px 0}.progress-text{font-weight:500}.progress-text,.standard-meta{color:#5f6368;font-size:.8rem}.meta-item{gap:4px}.card-footer,.meta-item{align-items:center;display:flex}.card-footer{border-top:1px solid #f1f3f4;justify-content:space-between;margin-top:auto;padding-top:8px}.completion-count{color:#5f6368;font-size:.8rem}.completion-badge{background:#34a8531a;border-radius:12px;color:#34a853;font-size:.75rem;font-weight:600;padding:2px 8px}.standard-card.list-view{align-items:center;display:flex;gap:20px;padding:16px 20px}.list-view .standard-title{margin-bottom:4px}.list-view .standard-composer{font-size:.85rem}.list-view .standard-meta{min-width:200px}.progress-info{min-width:120px;text-align:right}.list-view .progress-bar{margin-top:4px;width:100px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e8eaed;border-radius:50%;border-top-color:#2d5a87;height:40px;margin:40px auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{color:#5f6368;padding:60px 20px;text-align:center}.empty-state h3{color:#3c4043;margin-bottom:8px}.error-banner{align-items:center;background:#fee;border-radius:8px;color:#c5221f;display:flex;justify-content:space-between;margin-top:20px;padding:12px 16px}.error-banner button{background:none;border:none;color:#c5221f;cursor:pointer;text-decoration:underline}@media (max-width:768px){.dashboard{padding:16px}.dashboard-header h1{font-size:2rem}.dashboard-controls{align-items:stretch;flex-direction:column}.search-container{max-width:none}.standards-container.grid-view{grid-template-columns:1fr}.dashboard-stats{gap:12px}.stat-card{min-width:100px;padding:16px}.stat-number{font-size:1.5rem}}@media (max-width:480px){.standard-card.list-view{align-items:flex-start;flex-direction:column;gap:12px}.list-view .standard-meta,.progress-info{min-width:auto;width:100%}.progress-info{text-align:left}.list-view .progress-bar{width:100%}}.standard-page{margin:0 auto;max-width:1200px;min-height:calc(100vh - 84px);padding:20px}.standard-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px}.back-btn{align-items:center;background:#e8eaed;border:none;border-radius:8px;color:#5f6368;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;transition:all .15s ease-in-out}.back-btn:hover{background:#dadce0;transform:translateY(-1px)}.standard-info{flex:1 1}.standard-title{color:#2d5a87;font-size:2.5rem;font-weight:600;line-height:1.2;margin:0 0 12px}.standard-meta{display:flex;flex-direction:column;gap:12px}.composer{color:#5f6368;font-size:1.2rem;font-style:italic}.meta-tags{display:flex;flex-wrap:wrap;gap:16px}.meta-tag{align-items:center;background:#f8f9fa;border-radius:6px;color:#5f6368;display:flex;font-size:.9rem;gap:6px;padding:4px 8px}.style-tag{background:#e3f2fd;color:#1976d2;text-transform:capitalize}.header-actions{display:flex;gap:12px}.favorite-btn,.practice-btn{align-items:center;background:#2d5a87;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px;transition:all .15s ease-in-out}.favorite-btn:hover,.practice-btn:hover{background:#1f4566;transform:translateY(-1px)}.favorite-btn{background:#e8eaed;color:#5f6368;padding:12px}.favorite-btn:hover{background:#dadce0;color:#ea4335}.progress-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;padding:20px}.progress-info{align-items:center;color:#5f6368;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between;margin-bottom:12px}.progress-bar{background:#e8eaed;border-radius:4px;height:8px}.progress-fill{background:linear-gradient(90deg,#34a853,#f4a261);transition:width .3s ease-in-out}.tab-navigation{background:#e8eaed;border-radius:8px;display:flex;gap:4px;margin-bottom:30px;overflow-x:auto;padding:4px}.tab-btn{background:none;border:none;border-radius:4px;color:#5f6368;cursor:pointer;font-weight:500;padding:12px 20px;transition:all .15s ease-in-out;white-space:nowrap}.tab-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#2d5a87}.tab-btn:hover:not(.active){background:#ffffff80}.tab-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;min-height:400px}.overview-tab{padding:30px}.standard-details{display:flex;flex-direction:column;gap:30px}.detail-section h3{color:#2d5a87;font-size:1.3rem;font-weight:600;margin:0 0 16px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:#5f6368;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:#3c4043;font-size:1rem;font-weight:500}.chord-display{border-radius:8px;padding:20px}.chord-progression{color:#2d5a87;font-family:Courier New,monospace;font-size:1.1rem;line-height:1.6}.chord-measures{display:flex;flex-wrap:wrap;line-height:2.2}.chord-measure{align-items:center;background:#fff;border-left:1px solid #000;color:#000;display:inline-flex;font-family:Courier New,monospace;font-size:1rem;font-weight:500;justify-content:center;margin-bottom:8px;min-width:120px;padding:8px 12px;text-align:center;white-space:nowrap}.chord-measure:nth-child(4n){margin-right:0}.chord-measure:nth-child(4n+1){margin-left:0}.measure-separator{display:none}.lyrics-display{background:#f8f9fa;border-radius:8px;padding:20px}.lyrics-display pre{color:#3c4043;font-family:inherit;line-height:1.8;margin:0;white-space:pre-wrap}.no-data{color:#5f6368;font-style:italic;margin:0}.practice-tab{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr;padding:30px}.practice-checklist h3{color:#2d5a87;font-size:1.3rem;font-weight:600;margin:0 0 20px}.checklist-items{display:flex;flex-direction:column;gap:12px}.checklist-item{align-items:center;border-radius:8px;display:flex;gap:12px;padding:12px;transition:all .15s ease-in-out}.checklist-item:hover{background:#f8f9fa}.checkbox{background:none;border:none;color:#dadce0;cursor:pointer;font-size:1.2rem;transition:all .15s ease-in-out}.checkbox.checked{color:#34a853}.checkbox:hover{transform:scale(1.1)}.item-text{color:#3c4043;flex:1 1;font-size:.95rem}.practice-stats h3{color:#2d5a87;font-size:1.3rem;font-weight:600;margin:0 0 20px}.stats-grid{gap:16px}.stat-item,.stats-grid{display:flex;flex-direction:column}.stat-item{background:#f8f9fa;border-radius:8px;gap:4px;padding:16px}.stat-item label{color:#5f6368;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-item span{color:#2d5a87;font-size:1.1rem;font-weight:600}.recordings-tab{padding:30px}.recordings-section{margin-bottom:40px}.recordings-section:last-child{margin-bottom:0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{color:#2d5a87;font-size:1.3rem;font-weight:600;margin:0}.add-btn{align-items:center;background:#34a853;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease-in-out}.add-btn:hover{background:#2e7d32;transform:translateY(-1px)}.recordings-list{display:flex;flex-direction:column;gap:12px}.recording-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .15s ease-in-out}.recording-item:hover{background:#e8f0fe}.recording-info{align-items:center;display:flex;flex:1 1;gap:16px}.artist{color:#3c4043;font-weight:500}.recording-link{color:#1976d2;font-size:.9rem;font-weight:500;text-decoration:none}.recording-link:hover{text-decoration:underline}.delete-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:8px;transition:all .15s ease-in-out}.delete-btn:hover{transform:scale(1.1)}.no-recordings{color:#5f6368;font-style:italic;margin:0;padding:40px 20px;text-align:center}.add-recording-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{box-shadow:0 8px 16px #0003;max-width:400px;padding:30px}.modal-content h3{color:#2d5a87;font-size:1.3rem;font-weight:600;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#5f6368;font-weight:500}.form-group input,.form-group select{border:2px solid #dadce0;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .15s ease-in-out;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2d5a87;box-shadow:0 0 0 3px #2d5a871a;outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.save-btn:hover{background:#1f4566}.variations-tab{padding:30px}.variations-tab h3{color:#2d5a87;font-size:1.3rem;font-weight:600;margin:0 0 24px}.variations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.variation-card{background:#f8f9fa;border-left:4px solid #2d5a87;border-radius:8px;padding:20px}.variation-card h4{color:#2d5a87;font-size:1.1rem;font-weight:600;margin:0 0 12px}.variation-card ul{color:#3c4043;margin:0;padding-left:16px}.variation-card li{font-size:.9rem;margin-bottom:6px}.notes-tab{padding:30px}.notes-tab h3{color:#2d5a87;font-size:1.3rem;font-weight:600;margin:0 0 20px}.notes-textarea{border:2px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;line-height:1.6;min-height:300px;padding:16px;resize:vertical;transition:all .15s ease-in-out;width:100%}.notes-textarea:focus{border-color:#2d5a87;box-shadow:0 0 0 3px #2d5a871a;outline:none}@media (max-width:768px){.standard-page{padding:16px}.standard-header{align-items:stretch;flex-direction:column}.standard-title{font-size:2rem}.meta-tags{gap:8px}.header-actions{justify-content:center}.tab-navigation{-ms-overflow-style:none;overflow-x:scroll;scrollbar-width:none}.tab-navigation::-webkit-scrollbar{display:none}.practice-tab{gap:20px}.practice-tab,.variations-grid{grid-template-columns:1fr}.modal-content{margin:20px;width:calc(100% - 40px)}}@media (max-width:480px){.standard-title{font-size:1.8rem}.meta-tags{flex-direction:column;gap:8px}.tab-btn{padding:10px 16px}.recording-item{align-items:flex-start;flex-direction:column;gap:12px}.recording-info{width:100%}}.week-planner{margin:0 auto;max-width:1400px;min-height:calc(100vh - 84px);padding:20px}.planner-header{margin-bottom:30px}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.planner-header h1{color:#2d5a87;font-size:2.5rem;font-weight:600;margin:0}.week-navigation{gap:12px}.nav-btn,.week-navigation{align-items:center;display:flex}.nav-btn{background:#e8eaed;border:none;border-radius:50%;color:#5f6368;cursor:pointer;height:40px;justify-content:center;transition:all .15s ease-in-out;width:40px}.nav-btn:hover{background:#dadce0;transform:scale(1.05)}.week-display{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:8px 16px}.week-range{color:#2d5a87;font-size:1.1rem;font-weight:600}.today-btn{align-items:center;background:#2d5a87;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;padding:8px 12px;transition:all .15s ease-in-out}.today-btn:hover{background:#1f4566;transform:translateY(-1px)}.week-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(7,1fr);min-height:600px}.day-column{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .15s ease-in-out}.day-column.today{border:2px solid #2d5a87;box-shadow:0 4px 12px #2d5a8726}.day-column.past{opacity:.7}.day-column:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.day-header{background:linear-gradient(135deg,#2d5a87,#4a90a4);color:#fff;display:flex;flex-direction:column;gap:8px;padding:16px}.day-info{align-items:center;display:flex;justify-content:space-between}.day-name{font-size:1.1rem;font-weight:600;margin:0}.day-date{font-size:.85rem;opacity:.9}.day-stats{align-items:center;display:flex;font-size:.8rem;justify-content:space-between;opacity:.9}.session-count{font-weight:500}.total-duration{color:#f4a261;font-weight:600}.add-session-btn{align-items:center;align-self:flex-end;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease-in-out;width:32px}.add-session-btn:hover{background:#ffffff4d;transform:scale(1.05)}.sessions-list{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.session-card{background:#f8f9fa;border-left:4px solid #dadce0;border-radius:8px;padding:12px;transition:all .15s ease-in-out}.session-card.completed{background:#e8f5e8;border-left-color:#34a853;opacity:.8}.session-card:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.session-header{align-items:flex-start;display:flex;gap:10px;margin-bottom:8px}.completion-toggle{align-items:center;background:#e8eaed;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;flex-shrink:0;font-size:10px;height:24px;justify-content:center;transition:all .15s ease-in-out;width:24px}.completion-toggle.completed{background:#34a853;color:#fff}.completion-toggle:hover{transform:scale(1.1)}.session-info{flex:1 1;min-width:0}.session-standard{color:#2d5a87;font-size:.9rem;font-weight:600;margin-bottom:2px}.session-composer,.session-standard{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-composer{color:#5f6368;font-size:.75rem;font-style:italic}.session-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease-in-out}.session-card:hover .session-actions{opacity:1}.action-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:10px;height:24px;justify-content:center;transition:all .15s ease-in-out;width:24px}.edit-btn{color:#1976d2}.edit-btn:hover{background:#e3f2fd}.delete-btn{color:#ea4335}.delete-btn:hover{background:#feeeed}.session-details{margin-top:8px}.session-meta{display:flex;gap:12px;margin-bottom:6px}.session-meta span{align-items:center;color:#5f6368;display:flex;font-size:.75rem;gap:4px}.duration{color:#f4a261;font-weight:500}.focus{color:#4a90a4;font-weight:500}.session-notes{border-top:1px solid #e8eaed;color:#5f6368;font-size:.75rem;font-style:italic;line-height:1.4;margin-top:6px;padding:4px 0}.empty-day{align-items:center;color:#9aa0a6;display:flex;flex:1 1;flex-direction:column;font-size:.9rem;gap:8px;justify-content:center;padding:20px;text-align:center}.empty-day svg{font-size:2rem;opacity:.3}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#2d5a87,#4a90a4);color:#fff;display:flex;justify-content:space-between;padding:20px}.modal-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;height:32px;justify-content:center;transition:all .15s ease-in-out;width:32px}.close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.modal-body{max-height:60vh;overflow-y:auto;padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#3c4043;display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:2px solid #dadce0;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .15s ease-in-out;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2d5a87;box-shadow:0 0 0 3px #2d5a871a;outline:none}.form-group textarea{font-family:inherit;line-height:1.4;resize:vertical}.modal-footer{background:#f8f9fa;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.cancel-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .15s ease-in-out}.cancel-btn{background:#e8eaed;color:#5f6368}.cancel-btn:hover{background:#dadce0}.save-btn{background:#2d5a87;color:#fff}.save-btn:hover:not(:disabled){background:#1f4566;transform:translateY(-1px)}.save-btn:disabled{cursor:not-allowed;opacity:.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:1200px){.week-grid{gap:12px}.day-header,.sessions-list{padding:12px}}@media (max-width:768px){.week-planner{padding:16px}.planner-header h1{font-size:2rem}.header-content{align-items:stretch;flex-direction:column}.week-navigation{justify-content:center}.week-grid{gap:16px;grid-template-columns:1fr}.day-column{min-height:auto}.day-header{align-items:center;flex-direction:row}.day-info{flex:1 1}.day-stats{margin:0 12px}.modal-content{margin:20px;width:calc(100% - 40px)}}@media (max-width:480px){.week-planner{padding:12px}.planner-header h1{font-size:1.8rem}.week-navigation{flex-wrap:wrap;gap:8px}.week-range{font-size:1rem}.session-header{flex-wrap:wrap;gap:8px}.session-actions{opacity:1}.modal-body,.modal-header{padding:16px}.modal-footer{padding:12px 16px}}.audio-player{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#2d5a87,#4a90a4);bottom:0;box-shadow:0 -4px 12px #00000026;color:#fff;left:0;position:fixed;right:0;z-index:200}.player-content{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:1fr 2fr 1fr;margin:0 auto;max-width:1200px;padding:12px 20px}.track-info{gap:12px;min-width:0}.track-icon,.track-info{align-items:center;display:flex}.track-icon{background:#ffffff1a;border-radius:8px;color:#f4a261;flex-shrink:0;font-size:16px;height:40px;justify-content:center;width:40px}.track-details{min-width:0}.track-title{color:#fff;font-size:.95rem;font-weight:600;margin-bottom:2px}.track-artist,.track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artist{color:#ffffffb3;font-size:.8rem}.player-controls{flex-direction:column}.control-buttons,.player-controls{align-items:center;display:flex;gap:8px}.control-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .15s ease-in-out;width:36px}.control-btn:hover{background:#fff3;transform:scale(1.05)}.control-btn.active,.play-btn{background:#f4a261;color:#264653}.play-btn{font-size:16px;height:44px;width:44px}.play-btn:hover{background:#e08e3e;transform:scale(1.05)}.progress-section{align-items:center;display:flex;gap:12px;max-width:400px;width:100%}.time-display{color:#fffc;font-size:.75rem;font-weight:500;min-width:35px;text-align:center}.progress-bar{background:#fff3;border-radius:3px;cursor:pointer;flex:1 1;height:6px;overflow:hidden;position:relative}.progress-bar:hover{transform:scaleY(1.2)}.progress-fill{background:linear-gradient(90deg,#f4a261,#e08e3e);border-radius:3px;height:100%;transition:width .1s ease-out}.player-extras{justify-content:flex-end}.player-extras,.volume-controls{align-items:center;display:flex;gap:8px}.volume-btn{font-size:14px}.volume-slider{-webkit-appearance:none;appearance:none;background:#fff3;border-radius:2px;cursor:pointer;height:4px;outline:none;width:80px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#f4a261;border:none;border-radius:50%;box-shadow:0 1px 3px #0000004d;cursor:pointer;height:12px;width:12px}.volume-slider::-moz-range-thumb{background:#f4a261;border:none;border-radius:50%;box-shadow:0 1px 3px #0000004d;cursor:pointer;height:12px;width:12px}.close-btn{font-size:12px;opacity:.7}.close-btn:hover{background:#ea433533;opacity:1}@media (max-width:768px){.player-content{gap:12px;grid-template-columns:1fr;padding:16px}.track-info{justify-content:center;order:1}.player-controls{order:2}.player-extras{justify-content:center;order:3}.volume-controls{gap:6px}.volume-slider{width:60px}}@media (max-width:480px){.player-content{padding:12px 16px}.control-buttons{gap:6px}.control-btn{font-size:12px;height:32px;width:32px}.play-btn{font-size:14px;height:40px;width:40px}.progress-section{gap:8px}.time-display{font-size:.7rem;min-width:30px}.track-icon{font-size:14px;height:36px;width:36px}.track-title{font-size:.9rem}.track-artist{font-size:.75rem}.player-extras{gap:6px}.volume-slider{width:50px}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.audio-player{animation:slideUp .3s ease-out}.audio-player.loading .progress-fill{background:linear-gradient(90deg,#f4a2614d,#e08e3e4d)}.audio-player.loading .control-btn{cursor:not-allowed;opacity:.5}.audio-player.loading .play-btn{opacity:.7}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.90d56226.css.map*/