@charset "UTF-8";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--navy: #153243;--navy-hover: #1A3D52;--dark-gray: #333333;--purple: #737ACB;--green: #7BB863;--green-hover: #6BA855;--white: #FFFFFF;--light-gray: #F5F5F5;--border: #E0E0E0;--text-muted: #757575;--text-light: #E0E0E0;--text-secondary: #B0B0B0;--navbar-bg: #1a1a1a;--navbar-hover: #252525;--danger: #E57373;--danger-hover: #EF5350}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--light-gray);color:var(--dark-gray)}a{font-weight:500;color:var(--navy);text-decoration:none;transition:color .2s}a:hover{color:var(--navy-hover)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--navy);color:var(--white);cursor:pointer;transition:all .2s}button:hover{background-color:var(--navy-hover)}button:focus,button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.home-container{max-width:1400px;margin:0 auto;padding:24px 20px}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.home-header>div{flex:1}.home-header h1{font-size:2rem;color:#1f2937;margin:0 0 4px;font-weight:700}.subtitle{font-size:.95rem;color:#6b7280;margin:0}.header-actions{display:flex;gap:12px}.create-user-header-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 20px;font-size:.9rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #3b82f640;white-space:nowrap}.create-user-header-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.create-team-header-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;font-size:.9rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #10b98140;white-space:nowrap}.create-team-header-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ab98166}.auth-prompt{display:flex;justify-content:center;align-items:center;min-height:350px}.auth-prompt-content{text-align:center;max-width:450px;padding:40px 32px;background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014}.auth-prompt-content h2{font-size:1.5rem;color:#1f2937;margin:0 0 12px}.auth-prompt-content p{color:#6b7280;font-size:.95rem;margin:0 0 24px;line-height:1.5}.auth-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 28px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #3b82f640}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.auth-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;transform:none}.dashboard-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000d}.auth-status{display:flex;align-items:center;gap:12px;font-size:.95rem;color:#374151}.status-indicator{color:#10b981;font-size:1.5rem;line-height:0;animation:pulse 2s ease-in-out infinite}.revoke-link{background:none;border:none;color:#ef4444;text-decoration:underline;cursor:pointer;font-size:.9rem;padding:0}.revoke-link:hover{color:#dc2626}.refresh-btn{background:#fff;border:2px solid #e5e7eb;color:#374151;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.refresh-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.teams-section{margin-top:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.section-header-buttons{display:flex;align-items:center;gap:12px}.section-header h2{font-size:1.4rem;color:#1f2937;margin:0;font-weight:700}.team-count{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-state p{margin:0;font-size:1rem}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;border:2px dashed #e5e7eb}.empty-icon{font-size:3.5rem;margin-bottom:16px}.empty-state h3{font-size:1.3rem;color:#1f2937;margin:0 0 8px}.empty-state p{color:#6b7280;margin:0 0 24px;font-size:.95rem}.create-team-link{display:inline-block;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;text-decoration:none;padding:10px 20px;border-radius:8px;font-weight:600;font-size:.9rem;transition:all .2s;box-shadow:0 2px 8px #3b82f640}.create-team-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.team-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000f;transition:all .3s;border:2px solid transparent}.team-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#3b82f6}.team-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.team-icon{font-size:2rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.team-info{flex:1;min-width:0}.team-name{font-size:1.1rem;color:#1f2937;margin:0 0 4px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-email{font-size:.8rem;color:#6b7280;margin:0;font-family:Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-description{color:#4b5563;font-size:.9rem;line-height:1.5;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.team-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb}.team-stats{display:flex;gap:12px}.stat{display:flex;align-items:center;gap:4px;color:#6b7280;font-size:.85rem;font-weight:500}.stat-icon{font-size:1rem}.view-team-btn{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:none;color:#374151;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.view-team-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;transform:translate(4px)}@media(max-width:1024px){.teams-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:768px){.home-container{padding:20px 16px}.home-header{flex-direction:column;align-items:flex-start;gap:20px}.home-header h1{font-size:2rem}.header-actions{flex-direction:column;width:100%}.create-user-header-btn,.create-team-header-btn{width:100%}.dashboard-actions{flex-direction:column;gap:16px;align-items:stretch}.auth-status{justify-content:center}.refresh-btn{width:100%}.teams-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.section-header-left{flex-direction:column;align-items:flex-start;width:100%}.section-header-buttons{width:100%;flex-direction:column}.section-header-buttons .create-team-header-btn,.section-header-buttons .refresh-btn{width:100%}}.folder-name-preview{margin-top:20px}.preview-label{font-size:1rem;font-weight:600;color:#374151;margin-bottom:8px}.preview-box{background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:16px;font-family:Courier New,Consolas,Monaco,monospace;font-size:14px;color:#111827;min-height:24px;display:flex;align-items:center;word-break:break-all;transition:border-color .2s ease}.preview-box:hover{border-color:#3b82f6}.preview-box.complete{border-color:#10b981;background-color:#ecfdf5}.team-member-selector{margin-top:10px}.selector-header{margin-bottom:16px}.selector-header label{display:block;font-weight:600;color:#374151;margin-bottom:4px;font-size:1rem}.selector-header .field-help{display:block;font-size:.85rem;color:#6b7280;margin-bottom:4px}.selector-header .field-error{display:block;color:#dc2626;font-size:.85rem;margin-top:4px}.selected-members{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:16px;margin-bottom:20px}.selected-members-header{margin-bottom:12px}.selected-count{font-weight:600;color:#374151;font-size:.9rem}.selected-members-list{display:flex;flex-direction:column;gap:8px}.selected-member-chip{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px;transition:all .2s}.selected-member-chip:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.member-chip-info{display:flex;flex-direction:column;gap:2px}.member-chip-name{font-weight:600;color:#1f2937;font-size:.95rem}.member-chip-email{color:#6b7280;font-size:.85rem}.member-chip-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600;margin-top:4px;width:fit-content}.member-chip-badge.new{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.remove-member-chip{background:none;border:none;color:#9ca3af;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;line-height:1}.remove-member-chip:hover{background:#fee2e2;color:#dc2626}.mode-toggle{display:flex;gap:10px;margin-bottom:20px}.toggle-btn{flex:1;padding:10px 16px;border:2px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.error-message-inline{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444;padding:10px 14px;border-radius:8px;color:#7f1d1d;font-size:.85rem;margin-bottom:16px}.search-section{margin-bottom:10px}.search-container{margin-bottom:12px}.search-input{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;transition:all .2s}.search-input:focus{outline:none;border-color:#7bb863;box-shadow:0 0 0 3px #7bb8631a}.search-loading{position:absolute;right:14px;font-size:1rem;color:#7bb863;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.search-results{max-height:250px;overflow-y:auto;border:2px solid #e5e7eb;border-radius:10px;background:#f9fafb}.no-results{display:flex;align-items:center;justify-content:center;padding:30px 20px;text-align:center;color:#6b7280}.no-results p{margin:0;font-size:.9rem}.user-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:all .2s}.user-item:hover:not(.already-selected):not(.suspended){background:#f0f9f4}.user-item.already-selected{opacity:.6;cursor:not-allowed;background:#f3f4f6}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7bb863,#6ba855);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0;overflow:hidden}.user-name{font-weight:600;color:#1f2937;font-size:.9rem;margin-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#6b7280;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{padding:3px 8px;border-radius:10px;font-size:.7rem;font-weight:600;flex-shrink:0}.status-badge.selected{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-badge.suspended{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.add-indicator{color:#7bb863;font-size:.85rem;font-weight:600;flex-shrink:0}.create-user-form{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:20px}.create-user-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.create-user-form .form-group{margin-bottom:0}.create-user-form .form-group:last-of-type{margin-bottom:16px}.create-user-form label{display:block;font-weight:600;color:#374151;margin-bottom:6px;font-size:.9rem}.create-user-form input{width:100%;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:all .2s;box-sizing:border-box}.create-user-form input:focus{outline:none;border-color:#7bb863;box-shadow:0 0 0 3px #7bb8631a}.create-user-form .field-help{display:block;font-size:.8rem;color:#6b7280;margin-top:4px;font-style:italic}.generated-email-preview{background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:12px 16px;border-radius:8px;margin-bottom:16px;border-left:4px solid #3b82f6}.generated-email-preview strong{display:block;color:#1e40af;margin-bottom:4px;font-size:.85rem}.generated-email-preview code{background:#fff;color:#1e40af;padding:4px 8px;border-radius:6px;font-size:.9rem;display:inline-block;font-family:Courier New,monospace;font-weight:600}.add-new-user-btn{width:100%;padding:12px 20px;background:linear-gradient(135deg,#7bb863,#6ba855);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #7bb8634d}.add-new-user-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7bb86366}.add-new-user-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:640px){.create-user-form .form-row{grid-template-columns:1fr}.mode-toggle{flex-direction:column}}.team-container{max-width:900px;margin:40px auto;padding:0 20px}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.team-header h1{font-size:2rem;color:#1f2937;margin:0 0 8px}.auth-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:20px;border-radius:12px;margin-bottom:30px;box-shadow:0 4px 6px #10b98133}.auth-success strong{display:block;font-size:1.1rem;margin-bottom:8px}.auth-success p{margin:0 0 15px;opacity:.95}.revoke-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.revoke-btn:hover{background:#ffffff4d;border-color:#ffffff80}.team-form{background:#fff;padding:35px;border-radius:16px;box-shadow:0 4px 6px #00000012;margin-bottom:30px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .2s;font-family:inherit;box-sizing:border-box}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.form-group textarea{resize:vertical;min-height:100px}.form-section{margin-bottom:40px;padding:25px;background:#fafafa;border-radius:12px;border:1px solid #e5e7eb}.form-section h3{color:#1f2937;margin:0 0 12px;font-size:1.2rem;font-weight:600}.section-description{color:#6b7280;margin:0 0 20px;font-size:.95rem;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0}@media(max-width:768px){.form-row{grid-template-columns:1fr;gap:0}}.form-row .form-group{margin-bottom:20px}.member-input-row{display:flex;align-items:center;margin-bottom:10px;gap:0}.member-input-row .form-group{flex:1;margin-bottom:0}.add-member-btn{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;margin-top:10px}.add-member-btn:hover{background:#059669;transform:translateY(-1px)}.remove-member-btn{background:#ef4444;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;min-width:40px;height:40px;transition:all .2s ease;margin-left:10px}.remove-member-btn:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.remove-member-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.checkbox-label{display:flex!important;align-items:center;gap:10px;font-weight:500!important;color:#374151!important;margin-bottom:0!important;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto!important;margin:0;transform:scale(1.2)}.form-actions{margin-top:30px;padding-top:20px;border-top:1px solid #e5e7eb}.info-section{background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding:30px;border-radius:16px;border:1px solid #e5e7eb}.info-section h3{color:#1f2937;margin:0 0 16px;font-size:1.2rem}.info-section ol{margin:0;padding-left:24px;color:#4b5563}.info-section li{margin-bottom:10px;line-height:1.6}.info-section li:last-child{margin-bottom:0}@media(max-width:768px){.team-container{margin:20px auto}.team-header{flex-direction:column;align-items:flex-start}.team-header h1{font-size:1.6rem}.team-form{padding:25px 20px}.submit-btn{font-size:1rem}}.create-user-container{max-width:900px;margin:40px auto;padding:0 20px}.create-user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.create-user-header h1{font-size:2rem;color:#1f2937;margin:0 0 8px}.welcome-text{font-size:1rem;color:#6b7280;margin:0}.success-message{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:20px;border-radius:12px;margin-bottom:30px;box-shadow:0 4px 6px #10b98133}.success-message strong{display:block;font-size:1.1rem;margin-bottom:8px}.success-message p{margin:0;opacity:.95}.error-message{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:20px;border-radius:12px;margin-bottom:30px;box-shadow:0 4px 6px #ef444433}.error-message strong{display:block;font-size:1.1rem;margin-bottom:8px}.error-message p{margin:0;opacity:.95}.create-user-form{background:#fff;padding:35px;border-radius:16px;box-shadow:0 4px 6px #00000012;margin-bottom:30px}.form-group{margin-bottom:28px}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:1rem}.required{color:#ef4444}.form-group input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .2s;font-family:inherit;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:#ef4444}.field-help{display:block;font-size:.85rem;color:#6b7280;margin-top:6px}.field-error{display:block;color:#ef4444;font-size:.875rem;margin-top:6px;font-weight:500}.email-preview{background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:16px 20px;border-radius:10px;margin-bottom:20px;border-left:4px solid #3b82f6}.email-preview strong{display:block;color:#1e40af;margin-bottom:8px;font-size:.95rem}.email-preview code{background:#fff;color:#1e40af;padding:8px 12px;border-radius:6px;font-size:1rem;display:inline-block;font-family:Courier New,monospace;font-weight:600}.submit-btn{width:100%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:14px 24px;font-size:1.05rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #3b82f633}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #3b82f64d}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;box-shadow:none}.auth-notice{text-align:center;color:#6b7280;font-size:.9rem;margin-top:16px;font-style:italic}@media(max-width:768px){.create-user-container{margin:20px auto}.create-user-header{flex-direction:column;align-items:flex-start}.create-user-header h1{font-size:1.6rem}.create-user-form{padding:25px 20px}.submit-btn{font-size:1rem}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:2px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.5rem;color:#1f2937;font-weight:700}.close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#1f2937}.modal-body{padding:24px;flex:1;overflow-y:auto}.team-info{margin:0 0 20px;color:#6b7280;font-size:.95rem}.team-info strong{color:#1f2937}.search-container{margin-bottom:20px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;font-size:1.2rem;color:#6b7280}.search-input{width:100%;padding:12px 40px 12px 44px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-loading{position:absolute;right:14px;font-size:1.2rem;color:#3b82f6;animation:spin 1s linear infinite}.error-message-inline{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444;padding:12px 16px;border-radius:8px;color:#7f1d1d;font-size:.9rem;margin-bottom:16px}.search-results{min-height:300px;max-height:400px;overflow-y:auto;border:2px solid #e5e7eb;border-radius:10px;background:#f9fafb}.search-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.hint-icon{font-size:3rem;margin-bottom:16px}.search-hint p{margin:0;font-size:1rem}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#6b7280}.no-results-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.no-results p{margin:0;font-size:1rem}.user-list{display:flex;flex-direction:column}.user-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-bottom:1px solid #e5e7eb;cursor:pointer;transition:all .2s}.user-item:last-child{border-bottom:none}.user-item:hover:not(.already-member):not(.suspended){background:#eff6ff}.user-item.selected{background:#dbeafe;border-left:4px solid #3b82f6}.user-item.already-member{opacity:.6;cursor:not-allowed;background:#f3f4f6}.user-item.suspended{opacity:.5;cursor:not-allowed}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;flex-shrink:0;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-info{flex:1;min-width:0}.user-name{font-weight:600;color:#1f2937;font-size:.95rem;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#6b7280;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-badge{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;flex-shrink:0}.suspended-badge{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;flex-shrink:0}.selected-check{color:#3b82f6;font-size:1.5rem;font-weight:700;flex-shrink:0}.selection-section{margin-top:20px;padding:16px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:10px;border-left:4px solid #3b82f6}.selected-user-info{color:#1e40af;margin-bottom:12px;font-size:.95rem}.selected-user-info strong{font-weight:600}.role-selection{display:flex;align-items:center;gap:12px}.role-selection label{font-weight:600;color:#1e40af;font-size:.95rem}.role-selection select{flex:1;padding:8px 12px;border:2px solid #3b82f6;border-radius:8px;font-size:.95rem;background:#fff;color:#1f2937;cursor:pointer;font-weight:500}.role-selection select:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}.modal-footer{padding:16px 24px;border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px}.btn-cancel,.btn-add{padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:#fff;border:2px solid #e5e7eb;color:#374151}.btn-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.btn-add{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.btn-add:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-add:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-body{padding:16px}.search-results{max-height:300px}.modal-footer{flex-direction:column}.btn-cancel,.btn-add{width:100%}}.mode-toggle{display:flex;gap:10px;margin-bottom:25px}.toggle-btn{flex:1;padding:12px 20px;border:2px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.95rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s}.toggle-btn:hover{border-color:#7bb863;color:#7bb863;background:#f0f9f4}.toggle-btn.active{border-color:#7bb863;background:linear-gradient(135deg,#7bb863,#6ba855);color:#fff}.create-user-form{margin-top:20px}.create-user-form .form-group{margin-bottom:20px}.create-user-form label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:.95rem}.create-user-form input,.create-user-form select{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s;box-sizing:border-box}.create-user-form input:focus,.create-user-form select:focus{outline:none;border-color:#7bb863;box-shadow:0 0 0 3px #7bb8631a}.generated-email-preview{background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:14px 18px;border-radius:8px;margin-bottom:20px;border-left:4px solid #3b82f6}.generated-email-preview strong{display:block;color:#1e40af;margin-bottom:6px;font-size:.9rem}.generated-email-preview code{background:#fff;color:#1e40af;padding:6px 10px;border-radius:6px;font-size:.95rem;display:inline-block;font-family:Courier New,monospace;font-weight:600}.field-help{display:block;font-size:.85rem;color:#6b7280;margin-top:6px;font-style:italic}.team-details-container{max-width:1000px;margin:0 auto;padding:40px 20px}.team-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.back-btn{background:#fff;border:2px solid #e5e7eb;color:#374151;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.back-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.refresh-btn-small{background:#fff;border:2px solid #e5e7eb;color:#374151;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.refresh-btn-small:hover{border-color:#10b981;color:#10b981;background:#ecfdf5}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#6b7280}.spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-state p{margin:0;font-size:1.1rem}.error-banner{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444;padding:20px;border-radius:12px;margin-bottom:32px}.error-banner strong{display:block;color:#991b1b;margin-bottom:8px;font-size:1.05rem}.error-banner p{margin:0;color:#7f1d1d}.team-info-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 8px 24px #0000001a;margin-bottom:40px}.team-header-section{display:flex;align-items:center;gap:24px}.team-icon-large{font-size:4rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);width:100px;height:100px;display:flex;align-items:center;justify-content:center;border-radius:20px;flex-shrink:0}.team-header-info{flex:1}.team-header-info h1{font-size:2rem;color:#1f2937;margin:0 0 12px;font-weight:700}.team-email-large{font-size:1rem;color:#6b7280;font-family:Courier New,monospace;margin:0 0 12px;background:#f9fafb;padding:8px 12px;border-radius:6px;display:inline-block}.team-description-large{font-size:1rem;color:#4b5563;line-height:1.6;margin:12px 0 0}.mentor-section{margin-top:24px;padding-top:24px;border-top:2px solid #e5e7eb}.mentor-label{display:block;font-size:.95rem;font-weight:600;color:#374151;margin-bottom:8px}.mentor-select-wrapper{display:flex;align-items:center;gap:12px}.mentor-select{flex:1;max-width:400px;padding:12px 16px;font-size:1rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#1f2937;cursor:pointer;transition:all .2s}.mentor-select:hover{border-color:#3b82f6}.mentor-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mentor-select:disabled{background:#f3f4f6;cursor:not-allowed}.saving-indicator{font-size:.9rem;color:#3b82f6;font-weight:500}.mentor-hint{margin:8px 0 0;font-size:.85rem;color:#6b7280}.members-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 12px #00000014;margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.section-header h2{font-size:1.5rem;color:#1f2937;margin:0;font-weight:700}.section-header-actions{display:flex;align-items:center;gap:16px}.member-count{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600}.add-member-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;font-size:.95rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #10b9814d;white-space:nowrap}.add-member-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.empty-members{text-align:center;padding:60px 20px;background:#f9fafb;border-radius:12px;border:2px dashed #e5e7eb}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-members h3{font-size:1.3rem;color:#1f2937;margin:0 0 8px}.empty-members p{color:#6b7280;margin:0;font-size:1rem}.members-list{display:flex;flex-direction:column;gap:12px}.member-card{display:flex;align-items:center;gap:16px;padding:20px;background:#f9fafb;border-radius:12px;border:2px solid transparent;transition:all .2s}.member-card:hover{background:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.member-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:600;flex-shrink:0}.member-info{flex:1;min-width:0}.member-email{font-size:1rem;color:#1f2937;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-meta{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#6b7280}.member-type{text-transform:capitalize}.meta-divider{color:#d1d5db}.member-status{text-transform:capitalize}.member-role{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.role-owner{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.role-manager{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.role-member{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151}.actions-section{display:flex;gap:16px;justify-content:center}.action-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:14px 28px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #3b82f64d}.action-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.action-btn-secondary{background:#fff;color:#374151;border:2px solid #e5e7eb;padding:14px 28px;font-size:1rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.action-btn-secondary:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}@media(max-width:768px){.team-details-container{padding:20px 16px}.team-details-header{flex-direction:column;align-items:stretch;gap:12px}.back-btn,.refresh-btn-small{width:100%}.team-info-card{padding:24px}.team-header-section{flex-direction:column;text-align:center}.team-header-info h1{font-size:1.6rem}.members-section{padding:20px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.section-header-actions{flex-direction:column;width:100%;align-items:stretch}.add-member-btn{width:100%}.member-card{flex-direction:column;text-align:center}.member-info{width:100%}.member-email{white-space:normal;word-break:break-all}.actions-section{flex-direction:column}.action-btn-primary,.action-btn-secondary{width:100%}}.upload-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.upload-modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:480px;box-shadow:0 20px 40px #0003}.upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.upload-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.close-btn{background:none;border:none;font-size:1.75rem;color:#6b7280;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover:not(:disabled){background:#f3f4f6;color:#1f2937}.close-btn:disabled{opacity:.5;cursor:not-allowed}.drop-zone{border:2px dashed #d1d5db;border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .2s}.drop-zone:hover,.drop-zone.dragging{border-color:#3b82f6;background:#eff6ff}.drop-zone.has-file{border-color:#10b981;background:#ecfdf5}.drop-hint{color:#6b7280}.upload-icon{width:48px;height:48px;margin:0 auto 16px;background:#e5e7eb;border-radius:50%;position:relative}.upload-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:3px solid #6b7280;border-radius:4px;border-top:none}.upload-icon:after{content:"";position:absolute;top:12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid #6b7280}.or-text{font-size:.875rem;color:#9ca3af;margin-top:8px}.selected-file{display:flex;flex-direction:column;align-items:center;gap:8px}.file-icon-large{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center}.file-icon-large.video{background:#fce7f3}.file-icon-large.image{background:#d1fae5}.file-icon-large.pdf{background:#fee2e2}.file-icon-large.doc{background:#dbeafe}.file-icon-large.sheet{background:#d1fae5}.file-icon-large.slides{background:#fef3c7}.file-icon-large.file{background:#f3f4f6}.file-name{font-weight:600;color:#1f2937;word-break:break-all;text-align:center;max-width:100%}.file-size{font-size:.875rem;color:#6b7280}.progress-container{margin-top:20px;display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#3b82f6,#2563eb);transition:width .3s ease}.progress-text{font-size:.875rem;font-weight:600;color:#3b82f6;min-width:40px;text-align:right}.upload-error{margin-top:16px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.upload-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.cancel-btn{padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.upload-btn{padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.upload-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.upload-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.folder-browser{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f}.breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f3f4f6;border-radius:8px;margin-bottom:16px}.breadcrumb-path{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.breadcrumb-segment{display:flex;align-items:center}.breadcrumb-separator{color:#9ca3af;margin:0 4px}.breadcrumb-item{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.9rem;padding:4px 8px;border-radius:4px;transition:all .2s}.breadcrumb-item.current{color:#1f2937;font-weight:600;cursor:default}.toolbar-btn{padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.toolbar-btn.upload-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.toolbar-btn.upload-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.file-list{display:flex;flex-direction:column;gap:8px}.file-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent}.file-item:hover{background:#f9fafb;border-color:#e5e7eb}.file-item.folder:hover{border-color:#3b82f6}.file-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.25rem;flex-shrink:0;overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.file-icon.folder{background:#dbeafe}.file-icon.folder:before{content:"";width:24px;height:20px;background:#3b82f6;border-radius:2px 6px 6px;position:relative}.file-icon.folder:after{content:"";position:absolute;width:12px;height:4px;background:#3b82f6;border-radius:2px 2px 0 0;top:8px;left:8px}.file-icon.video{background:#fce7f3}.file-icon.image{background:#d1fae5}.file-icon.pdf{background:#fee2e2}.file-icon.doc{background:#dbeafe}.file-icon.sheet{background:#d1fae5}.file-icon.slides{background:#fef3c7}.file-icon.file{background:#f3f4f6}.file-info{flex:1;min-width:0}.file-name{flex:1;font-weight:500;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.file-date{display:block;font-size:.8rem;color:#6b7280;margin-top:2px}.open-external{font-size:.8rem;color:#3b82f6;text-decoration:none;padding:4px 8px;border-radius:4px;flex-shrink:0}.open-external:hover{background:#eff6ff;text-decoration:underline}.play-video-btn{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0}.play-video-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ec489959}.folder-loading,.folder-empty,.folder-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6b7280}.folder-error{color:#dc2626}.folder-error button{margin-top:12px;padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:6px;cursor:pointer}.folder-error button:hover{background:#b91c1c}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.folder-empty p{font-size:.9rem}.video-player-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.video-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.video-title{margin:0 12px 0 0;font-size:1rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.close-video-btn{background:#fff;border:1px solid #e5e7eb;padding:6px 12px;border-radius:6px;cursor:pointer;color:#6b7280;font-size:.875rem;transition:all .2s}.close-video-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;background:#000}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.student-dashboard{max-width:1400px;margin:0 auto;padding:24px 20px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:2rem;color:#1f2937;margin:0 0 4px;font-weight:700}.dashboard-header .subtitle{font-size:.95rem;color:#6b7280;margin:0}.onboarding-section{margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;border:1px solid #bae6fd}.onboarding-section .section-header{margin-bottom:20px}.onboarding-section h2{color:#0369a1;font-size:1.4rem;margin:0;font-weight:700}.section-subtitle{font-size:.9rem;color:#6b7280;margin:4px 0 0}.video-player-wrapper{background:#fff;border-radius:12px;overflow:hidden}.video-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;color:#6b7280}.video-loading p{margin:12px 0 0}.no-video-message{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;border:2px dashed #d1d5db}.no-video-message p{margin:0;color:#6b7280}.onboarding-files-dropdown{margin-top:20px}.dropdown-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:14px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;color:#374151;transition:all .2s;text-align:left}.dropdown-toggle:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.dropdown-arrow{display:inline-block;font-size:.75rem;transition:transform .2s;color:#6b7280}.dropdown-arrow.open{transform:rotate(90deg)}.dropdown-content{margin-top:12px;background:#fff;border-radius:10px;overflow:hidden}.project-folder-section{margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:16px;border:1px solid #86efac}.project-folder-section .section-header{margin-bottom:20px}.project-folder-section h2{color:#15803d;font-size:1.4rem;margin:0;font-weight:700}.no-folder-message{text-align:center;padding:40px 20px;background:#fff;border-radius:12px;border:2px dashed #d1d5db}.no-folder-message p{margin:0 0 8px;color:#6b7280}.no-folder-message p:last-child{margin-bottom:0;font-size:.9rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.loading-container h2{color:#1f2937;margin:0 0 8px}.loading-container p{color:#6b7280;margin:0 0 24px}.loading-spinner{font-size:2rem;animation:spin 1s linear infinite;color:#3b82f6}@media(max-width:768px){.student-dashboard{padding:20px 16px}.dashboard-header h1{font-size:1.75rem}.onboarding-section,.project-folder-section{padding:16px}}.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;inset: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{inset:0;position:absolute;margin-right:10px}.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}.mentor-calendar-container{position:relative;background:#fff;height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0}.back-to-month-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.back-to-month-button:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937}.back-to-month-button:active{transform:translateY(1px)}.back-arrow{font-size:1.2rem;line-height:1}.current-view-info{font-size:1rem;font-weight:600;color:#1f2937}.calendar-loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;border-radius:8px}.calendar-loading-overlay .spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.calendar-loading-overlay p{margin:0;color:#6b7280;font-size:.95rem}.calendar-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px;margin-bottom:16px}.calendar-error p{margin:0;color:#991b1b;font-size:.95rem}.calendar-wrapper{flex:1;overflow:auto;padding:16px}.calendar-legend{display:flex;gap:24px;padding:12px 16px;background:#f9fafb;border-top:1px solid #e5e7eb;flex-shrink:0}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#4b5563}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid #d1d5db}.legend-color.busy{background-color:#ef4444;border-color:#dc2626}.legend-color.available{background-color:#fff;border-color:#d1d5db}.rbc-calendar{font-family:inherit}.rbc-header{padding:12px 4px;font-weight:600;color:#1f2937;background:#f9fafb;border-bottom:2px solid #e5e7eb}.rbc-today{background-color:#eff6ff}.rbc-event{border-radius:4px;padding:2px 5px;font-size:.85rem}.rbc-toolbar button{color:#374151;border:1px solid #d1d5db;background:#fff;padding:8px 16px;border-radius:6px;font-weight:500;transition:all .2s}.rbc-toolbar button:hover{background:#f3f4f6;border-color:#9ca3af}.rbc-toolbar button.rbc-active{background:#3b82f6;color:#fff;border-color:#3b82f6}.rbc-toolbar button.rbc-active:hover{background:#2563eb;border-color:#2563eb}.rbc-time-slot{min-height:40px}.rbc-current-time-indicator{background-color:#3b82f6;height:2px}.rbc-allday-cell{min-height:0!important;height:0!important;padding:0!important;border-bottom:none!important}.rbc-time-header-content>.rbc-row.rbc-row-resource{min-height:0!important;height:0!important}.rbc-time-header-content{border-bottom:none!important}.rbc-time-content>.rbc-allday-cell{display:none!important}.rbc-month-view .rbc-event{padding:2px 4px;font-size:.75rem;margin:1px 0}.rbc-month-view .rbc-date-cell{padding:4px;font-size:.9rem}.rbc-month-view .rbc-date-cell.rbc-now{font-weight:700;color:#3b82f6}.rbc-month-view .rbc-day-bg{cursor:pointer;transition:background-color .2s}.rbc-month-view .rbc-day-bg:hover{background-color:#f0f9ff}.rbc-month-view .rbc-off-range{background-color:#fafafa;color:#9ca3af}.rbc-month-view .rbc-event-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.booking-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.booking-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover:not(:disabled){background:#f3f4f6;color:#4b5563}.close-button:disabled{opacity:.5;cursor:not-allowed}.booking-modal-content{padding:24px}.booking-time-info{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:24px;text-align:center}.booking-date{font-size:1.1rem;font-weight:600;color:#111827;margin:0 0 8px}.booking-time{font-size:1rem;color:#3b82f6;font-weight:500;margin:0 0 4px}.booking-duration{font-size:.875rem;color:#6b7280;margin:0}.booking-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:500;color:#374151}.form-group .required{color:#ef4444}.form-group input,.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group textarea:disabled{background:#f3f4f6;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.input-help-text{margin-top:6px;font-size:.85rem;color:#6b7280;font-style:italic}.input-help-text:before{content:"Preview: ";font-weight:600;color:#374151}.booking-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px;color:#991b1b;font-size:.875rem;display:flex;align-items:center;gap:8px}.booking-modal-actions{display:flex;gap:12px;margin-top:24px}.booking-modal-actions button{flex:1;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.cancel-button{background:#fff;color:#374151;border:1px solid #d1d5db!important}.cancel-button:hover:not(:disabled){background:#f9fafb}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.confirm-button{background:#3b82f6;color:#fff}.confirm-button:hover:not(:disabled){background:#2563eb}.confirm-button:disabled{opacity:.7;cursor:not-allowed}.booking-success{text-align:center;padding:32px 16px}.success-icon{width:64px;height:64px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 16px;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.booking-success p{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 8px}.booking-success .success-details{font-size:.95rem;font-weight:400;color:#6b7280}.calendar-page{display:flex;flex-direction:column;height:calc(100vh - 64px);width:100%;background:#f9fafb;overflow:hidden}.calendar-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:20px 32px;flex-shrink:0}.calendar-title{font-weight:600;margin-bottom:8px;color:#1f2937}.calendar-info{margin-top:12px;font-size:.95rem;color:#6b7280}.info-label{font-weight:600;color:#374151}.info-separator{margin:0 12px;color:#d1d5db}.calendar-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.calendar-page-loading,.calendar-page-error,.calendar-page-message{display:flex;align-items:center;justify-content:center;height:calc(100vh - 64px);padding:32px}.calendar-page-error{background:#f9fafb}.calendar-page-message{background:#fff}.calendar-page-message p{color:#000;font-size:1rem;line-height:1.6;max-width:600px;text-align:center;margin:0}.profile-page{min-height:100vh;background:linear-gradient(to bottom,#f8f9fa,#e9ecef);padding:0}.profile-header{background:#fff;border-bottom:1px solid #e9ecef;padding:40px 60px;margin-bottom:0}.profile-title{font-weight:600;margin-bottom:8px;font-size:2rem;color:#153243;letter-spacing:-.5px}.profile-header .MuiTypography-body2{color:#6c757d;font-size:1rem}.profile-content{padding:48px 60px;max-width:100%}.profile-content>div{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;border:1px solid #e9ecef;max-width:100%!important;transition:box-shadow .3s ease}.profile-content>div:hover{box-shadow:0 6px 28px #0000001f}.profile-content .MuiGrid-container{border-bottom:2px solid #e9ecef;padding-bottom:32px;margin-bottom:32px!important}.profile-content .MuiAvatar-root{background:linear-gradient(135deg,#737acb,#5a63b8);font-size:32px;font-weight:700;box-shadow:0 4px 12px #737acb4d;transition:transform .3s ease,box-shadow .3s ease}.profile-content .MuiAvatar-root:hover{transform:scale(1.05);box-shadow:0 6px 16px #737acb66}.profile-content h6{font-size:1.65rem;font-weight:700;margin-bottom:4px;color:#153243;letter-spacing:-.3px}.profile-content .MuiGrid-item .MuiTypography-root[color="text.secondary"]{color:#737acb!important;font-weight:500}.profile-content .MuiTableContainer-root{border:none;border-radius:8px;overflow:hidden}.profile-content .MuiTable-root{margin-top:0}.profile-content .MuiTableRow-root{transition:all .2s ease}.profile-content .MuiTableRow-root:hover{background-color:#737acb0a;transform:translate(4px)}.profile-content .MuiTableCell-root{padding:16px 28px;border-bottom:1px solid #f0f0f0;font-size:1rem;transition:all .2s ease;height:64px}.profile-content .MuiTableRow-root:last-child .MuiTableCell-root{border-bottom:none}.profile-content .MuiTableCell-root:first-child{font-weight:600;color:#153243;width:250px;background:linear-gradient(to right,rgba(115,122,203,.05) 0%,transparent 100%);font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.profile-content .MuiTableCell-root:last-child{color:#333;font-weight:500;min-height:48px;vertical-align:middle}.profile-content .MuiTableCell-root:last-child>*{min-height:40px;display:flex;transition:all .3s ease}.profile-content .MuiButton-root{border-radius:8px;padding:12px 28px;text-transform:none;font-weight:600;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.3px}.profile-content .MuiButton-outlined{border:2px solid #737ACB;color:#737acb;background:#fff}.profile-content .MuiButton-outlined:hover{background:#737acb;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #737acb4d}.profile-content .MuiButton-contained{background:linear-gradient(135deg,#7bb863,#6ba654);box-shadow:0 4px 12px #7bb8634d;color:#fff}.profile-content .MuiButton-contained:hover{background:linear-gradient(135deg,#6ba654,#5a9445);transform:translateY(-2px);box-shadow:0 6px 20px #7bb86366}.profile-content .MuiButton-contained:active{transform:translateY(0)}.profile-content .MuiTextField-root{width:100%;transition:all .3s ease}.profile-content .MuiTextField-root .MuiInputBase-root{height:40px}.profile-content .MuiTextField-root input{padding:8px 14px;font-size:1rem;background:linear-gradient(to bottom,#f0f9ed,#e8f5e3);color:#153243;border-radius:6px;transition:all .3s ease;font-weight:500;line-height:1.5;height:40px;box-sizing:border-box}.profile-content .MuiTextField-root input:focus{background:linear-gradient(to bottom,#e8f5e3,#d4f1cc);box-shadow:0 0 0 3px #7bb8631a}.profile-content .MuiTextField-root .MuiOutlinedInput-root{background:linear-gradient(to bottom,#f0f9ed,#e8f5e3);transition:all .3s ease;border-radius:6px;height:40px;padding:0}.profile-content .MuiTextField-root .MuiOutlinedInput-root:hover{box-shadow:0 2px 8px #7bb86326}.profile-content .MuiTextField-root .MuiOutlinedInput-notchedOutline{border:2px solid #7BB863;transition:all .3s ease}.profile-content .MuiTextField-root .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#6ba654}.profile-content .MuiTextField-root .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#7bb863;border-width:2px}.profile-page-loading,.profile-page-error,.profile-page-message{display:flex;justify-content:center;align-items:center;min-height:60vh;text-align:center;padding:24px}.profile-page-message p{font-size:1.1rem;color:#153243;line-height:1.6;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-content>div{animation:fadeIn .5s ease-out}@media(max-width:1200px){.profile-header,.profile-content{padding:40px}}@media(max-width:960px){.profile-header,.profile-content{padding:32px}.profile-title{font-size:2rem}.profile-content .MuiTableCell-root:first-child{width:180px}.profile-content .MuiGrid-container{flex-direction:column;text-align:center}.profile-content .MuiAvatar-root{margin:0 auto 16px}}@media(max-width:600px){.profile-header,.profile-content{padding:24px 20px}.profile-title{font-size:1.75rem}.profile-content>div{padding:24px 20px!important;border-radius:8px}.profile-content .MuiTableCell-root{display:block;width:100%!important;padding:8px 0;border-bottom:none;background:transparent!important}.profile-content .MuiTableCell-root:first-child{padding-bottom:6px;font-size:.8rem;color:#737acb}.profile-content .MuiTableCell-root:last-child{padding-top:0;padding-bottom:20px;font-weight:600;font-size:1.05rem}.profile-content .MuiTableRow-root{display:block;border-bottom:1px solid #e9ecef;padding:16px 0;transform:none!important}.profile-content .MuiTableRow-root:last-child{border-bottom:none}.profile-content .MuiButton-root{width:100%;margin-bottom:12px!important;margin-left:0!important}.profile-content .MuiAvatar-root{width:72px!important;height:72px!important;font-size:30px!important}.profile-content h6{font-size:1.4rem}}@media(max-width:400px){.profile-title{font-size:1.5rem}.profile-content .MuiAvatar-root{width:64px!important;height:64px!important;font-size:26px!important}.profile-content h6{font-size:1.25rem}}#root{width:100%;min-height:100vh}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.app-loading h2{color:var(--navy);font-size:1.5rem}.app-login{display:flex;flex-direction:row;align-items:stretch;justify-content:center;min-height:100vh;text-align:center}.login-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--dark-gray);padding:2rem;gap:2rem}.login-left h1{font-size:2rem;color:var(--white)}.app-logo{width:100%;max-width:500px;height:auto;margin-bottom:1.5rem}.login-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:var(--white)}.login-right p{color:var(--dark-gray);font-size:1.2rem;margin-bottom:2rem}.login-content{width:100%;max-width:450px;display:flex;flex-direction:column;align-items:center}.login-buttons{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 2rem;font-size:1.05rem;font-weight:500;background-color:var(--white);color:var(--dark-gray);border:2px solid var(--navy);border-radius:8px;cursor:pointer;transition:all .2s;width:100%;box-shadow:0 2px 8px #0000001a}.google-login-btn:hover{background-color:#f8f9fa;box-shadow:0 4px 16px #1532434d;transform:translateY(-2px)}.google-icon{width:20px;height:20px}.divider{display:flex;align-items:center;width:100%;margin:.5rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background-color:var(--border)}.divider span{padding:0 1rem;color:var(--text-muted);font-size:.875rem;font-weight:500}.login-btn{padding:1rem 2rem;font-size:1.1rem;font-weight:500;background-color:var(--navy);color:var(--white);border:none;border-radius:8px;cursor:pointer;transition:all .2s;width:100%;box-shadow:0 2px 8px #1532434d}.login-btn:hover{background-color:var(--navy-hover);box-shadow:0 4px 16px #15324366;transform:translateY(-2px)}.login-links{display:flex;gap:1rem;margin-top:2rem;justify-content:center}.link-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background-color:transparent;color:var(--navy);border:2px solid var(--navy);border-radius:8px;text-decoration:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;line-height:1}.link-btn:hover{background-color:var(--navy);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px #1532434d}@media(max-width:768px){.app-login{flex-direction:column}.login-left,.login-right{min-height:50vh}.app-logo{max-width:300px}.login-content{max-width:100%;padding:0 1rem}}.public-page{max-width:100%;width:100%;margin:0;padding:3rem 2rem;text-align:center;background-color:var(--white);min-height:100vh}.public-page>*{max-width:600px;margin-left:auto;margin-right:auto}.public-page h1{font-size:2.5rem;margin-bottom:1rem;color:var(--dark-gray)}.public-page p{font-size:1.1rem;color:var(--navy);margin-bottom:.5rem}.public-page h2{font-size:1.8rem;margin-bottom:1rem;color:var(--dark-gray);text-align:left}.public-page ul{color:var(--dark-gray);font-size:1rem;line-height:1.8;text-align:left;list-style-position:inside}.public-page ul li{margin-bottom:.5rem}.back-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background-color:var(--navy);color:var(--white);border:none;border-radius:8px;cursor:pointer;transition:all .2s;margin-top:2rem;box-shadow:0 2px 8px #1532434d}.back-btn:hover{background-color:var(--navy-hover);transform:translateY(-2px);box-shadow:0 4px 16px #15324366}a.main{padding-right:0!important;position:relative;display:inline-block}a.main.active:after{content:"";position:absolute;bottom:-20px;left:0;width:100%;height:5px;background-color:var(--ttg-green)}a.vertical{position:relative;width:100%}a.vertical:hover,a.vertical.active{background-color:#7bb86314;color:var(--green)}a.vertical.active:before{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background-color:var(--green)}
