:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-x:hidden}*{box-sizing:border-box}html,body,#root{width:100%;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;color:#213547;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.arrival-form-container{width:100%;min-height:100vh;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:transparent;display:block;box-sizing:border-box}@media (prefers-color-scheme: dark){.arrival-form-container{color:#fff;background-color:#1a1a1a}input,select,textarea{background-color:#2d2d2d!important;color:#fff!important;border-color:#444!important}input:focus,select:focus,textarea:focus{background-color:#333!important;border-color:#667eea!important;color:#fff!important}.form-section{background-color:#222!important}label{color:#fff!important}.form-group{background-color:transparent!important}.field-help{color:#ccc!important}.readonly-field{background-color:#333!important;color:#ccc!important}button{background-color:#333!important;color:#fff!important;border-color:#444!important}button:hover{background-color:#444!important}.passcode-section{background-color:#222!important}.passcode-form{background-color:#2d2d2d!important}.success-message{background-color:#1e4620!important;color:#90ee90!important}.error-message,.form-closure-notice{background-color:#4a1515!important;color:#ffcccb!important}}.form-header{background:var(--accent-primary);color:#fff;padding:2rem 0;margin-bottom:2rem;box-shadow:var(--shadow-lg);width:100%}.header-content{max-width:none;width:100%;margin:0;padding:0 2rem;box-sizing:border-box}.form-intro{background:var(--bg-secondary);margin:0 0 2rem;padding:2rem;border-radius:0;box-shadow:var(--shadow);border-left:4px solid var(--accent-color);width:100%;box-sizing:border-box}.form-intro h2{color:var(--text-primary);margin:0 0 1rem;font-size:1.8rem;font-weight:600}.form-intro p{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.info-note{background:var(--info-bg);border:1px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;align-items:center;gap:.75rem;color:var(--info-text);font-weight:500}.arrival-form{background:var(--bg-secondary);margin:0;padding:0;border-radius:0;box-shadow:var(--shadow-lg);overflow:hidden;width:100%;box-sizing:border-box}.form-section{padding:2rem;border-bottom:1px solid var(--border-color)}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.section-icon{font-size:1.5rem;background:var(--bg-tertiary);padding:.75rem;border-radius:8px;border:1px solid var(--border-color)}.section-header h3{color:var(--text-primary);margin:0;font-size:1.4rem;font-weight:600}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box;background-color:var(--bg-secondary);color:var(--text-primary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow);background-color:var(--bg-primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);font-style:italic}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.field-help{display:block;margin-top:.25rem;color:var(--text-muted);font-size:.8rem;font-style:italic}.success-message{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.error-message{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text)}.form-footer{padding:2rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.footer-note{background:var(--bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);margin-bottom:1.5rem;text-align:center}.footer-note p{margin:0;color:var(--text-secondary);line-height:1.5}.submit-button{width:100%;background:var(--accent-primary);color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px var(--accent-shadow)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-shadow)}.submit-button:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.App{padding:0}.arrival-form-container{padding:0;width:100%}.header-content{padding:0 1rem}.logo-section{flex-direction:column;text-align:center;gap:1rem}.org-info h1{font-size:1.8rem}.form-intro,.arrival-form{margin:0 0 2rem;width:100%}.form-section{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.section-icon{align-self:flex-start}}@media (max-width: 480px){.header-content{padding:0 .75rem}.form-intro,.arrival-form{margin:0 .75rem}.form-section{padding:1rem}.org-info h1,.form-intro h2{font-size:1.5rem}}.form-group input:invalid:not(:focus):not(:placeholder-shown),.form-group select:invalid:not(:focus){border-color:var(--error-border);background-color:var(--error-bg)}.form-group input:valid:not(:focus):not(:placeholder-shown),.form-group select:valid:not(:focus){border-color:var(--success-border);background-color:var(--success-bg)}.form-group label[for*=name]:after,.form-group label[for*=whatsappNumber]:after,.form-group label[for*=email]:after,.form-group label[for*=university]:after,.form-group label[for*=degree]:after,.form-group label[for*=semester]:after,.form-group label[for*=nationality]:after,.form-group label[for*=arrivalDate]:after,.form-group label[for*=arrivalTime]:after,.form-group label[for*=accommodationType]:after,.form-group label[for*=pickupNeeded]:after{content:" *";color:var(--error-primary);font-weight:700}.form-group select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;appearance:none}.form-section{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-group:focus-within label{color:var(--accent-color);transform:translateY(-2px);transition:all .2s ease}.autofill-button{background:linear-gradient(135deg,#fd79a8,#fdcb6e);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #fd79a84d}.autofill-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #fd79a866}.passcode-section{max-width:600px;margin:2rem auto;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;border:2px solid #e0e6ed}.passcode-form .section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.passcode-form .section-header h3{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.passcode-form .section-icon{font-size:1.5rem}.passcode-form p{color:#7f8c8d;margin-bottom:1.5rem;line-height:1.6}.passcode-input-group{display:flex;gap:1rem;margin-bottom:1rem}.passcode-input{flex:1;padding:1rem;border:2px solid #e0e6ed;border-radius:8px;font-size:1.1rem;text-align:center;text-transform:uppercase;transition:all .3s ease}.passcode-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.passcode-input.error{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.verify-button{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;min-width:120px;justify-content:center}.verify-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.verify-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.passcode-error{display:flex;align-items:center;gap:.5rem;color:#e74c3c;font-weight:500;margin-bottom:1rem;padding:.75rem;background:#fdf2f2;border-radius:8px;border:1px solid #fecaca}.passcode-help{margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.passcode-help p{margin:.5rem 0;color:#495057;font-size:.95rem}.passcode-help strong{color:#2c3e50}.verified-user-info{max-width:800px;margin:1rem auto 2rem;padding:0 2rem}.verification-success{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:8px;font-weight:500}.verification-success .success-icon{font-size:1.25rem}.readonly-field{background:#f8f9fa!important;border-color:#28a745!important;cursor:not-allowed}.readonly-field:focus{border-color:#28a745!important;box-shadow:0 0 0 3px #28a7451a!important}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.passcode-section{margin:1rem;padding:1.5rem}.passcode-input-group{flex-direction:column}.verify-button{width:100%}.verified-user-info{padding:0 1rem}}.form-closure-notice{max-width:800px;margin:2rem auto;padding:2rem;background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;border-radius:12px;text-align:center}.closure-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.closure-icon{font-size:2rem}.closure-header h3{color:#721c24;margin:0;font-size:1.5rem;font-weight:600}.form-closure-notice p{color:#721c24;font-size:1rem;line-height:1.6;margin:1rem 0}.contact-info{background:#fffc;padding:1rem;border-radius:8px;margin-top:1.5rem;color:#721c24;font-size:.95rem;line-height:1.5}.loading-status{max-width:800px;margin:2rem auto;padding:2rem;text-align:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px}.loading-status p{color:#6c757d;font-size:1rem;margin:1rem 0 0}@media (max-width: 768px){.form-closure-notice,.loading-status{margin:1rem;padding:1.5rem}.closure-header{flex-direction:column;gap:.5rem}.closure-header h3{font-size:1.25rem}}:root{--accent-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #2c3e50;--text-secondary: #495057;--text-muted: #6c757d;--border-color: #dee2e6;--border-hover: #ced4da;--shadow-light: rgba(0, 0, 0, .1);--shadow: rgba(0, 0, 0, .15);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .1);--accent-color: #667eea;--accent-glow: rgba(102, 126, 234, .2);--accent-shadow: rgba(102, 126, 234, .3);--success-primary: #28a745;--success-bg: #d4edda;--success-text: #155724;--success-border: #c3e6cb;--error-primary: #dc3545;--error-dark: #c82333;--error-bg: #f8d7da;--error-text: #721c24;--error-border: #f5c6cb;--info-bg: #d1ecf1;--info-text: #0c5460}@media (prefers-color-scheme: dark){:root{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #333333;--text-primary: #ffffff;--text-secondary: #e9ecef;--text-muted: #cccccc;--border-color: #444444;--border-hover: #555555;--shadow-light: rgba(255, 255, 255, .1);--shadow: rgba(255, 255, 255, .15);--shadow-lg: 0 10px 30px rgba(255, 255, 255, .1);--success-bg: #1e4620;--success-text: #90ee90;--success-border: #2d5a2f;--error-bg: #4a1515;--error-text: #ffcccb;--error-border: #6b2424;--info-bg: #1a3a42;--info-text: #7dd3fc}input,select,textarea{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}input:focus,select:focus,textarea:focus{background-color:var(--bg-tertiary)!important;border-color:var(--accent-color)!important;color:var(--text-primary)!important}.field-help{color:var(--text-muted)!important}}.admin-container{width:100%;min-height:100vh;margin:0;padding:0;background:var(--bg-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:background .3s ease;box-sizing:border-box;overflow-x:hidden}.admin-header{background:var(--bg-secondary);padding:2rem 0;margin:0;box-shadow:0 2px 10px var(--shadow-light);transition:all .3s ease;width:100%}.header-content{max-width:1200px;width:100%;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.logo-section{display:flex;align-items:center;gap:1rem}.logo-image{width:60px;height:60px;object-fit:contain;background:#fff;border-radius:12px;padding:.25rem}.logo-placeholder{width:60px;height:60px;background:var(--accent-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff}.org-info h1{margin:0;color:var(--text-primary);font-size:2rem;font-weight:700;transition:color .3s ease}.org-info p{margin:.25rem 0 0;color:var(--text-muted);font-size:1rem;transition:color .3s ease}.admin-user{color:var(--text-secondary);font-weight:600;padding:.5rem 1rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease}.logout-button{padding:.5rem 1rem;background:var(--error-primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.logout-button:hover{transform:translateY(-1px);background:var(--error-dark)}.admin-content{width:100%;max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2rem;box-sizing:border-box}.admin-navigation{margin-bottom:2rem;background:var(--bg-secondary);border-radius:12px;padding:1rem;box-shadow:0 2px 8px var(--shadow-light);border:1px solid var(--border-color)}.nav-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.nav-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:.95rem;font-weight:500;color:var(--text-secondary);text-decoration:none}.nav-tab:hover{border-color:var(--accent-color);background:var(--bg-tertiary);transform:translateY(-1px)}.nav-tab.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 12px var(--accent-shadow)}.tab-icon{font-size:1.1rem}.tab-label{font-weight:600}.admin-section.hidden{display:none}.admin-section.visible{display:block}.admin-section{background:var(--bg-secondary);border-radius:16px;padding:2rem;box-shadow:0 4px 20px var(--shadow-light);border:1px solid var(--border-color);transition:all .3s ease;width:100%;max-width:none}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;justify-content:space-between}.section-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:.75rem;transition:color .3s ease}.header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.bulk-email-button{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff;border:none;padding:.6rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.bulk-email-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ed89364d;background:linear-gradient(135deg,#dd6b20,#c05621)}.bulk-email-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.section-icon{font-size:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;font-size:.95rem;transition:color .3s ease}.email-input{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;font-family:inherit;transition:all .3s ease;resize:vertical;min-height:120px;background:var(--bg-secondary);color:var(--text-primary)}.email-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}.field-help{display:block;margin-top:.5rem;color:var(--text-muted);font-size:.85rem;transition:color .3s ease}.generate-button{background:var(--accent-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;min-width:200px;justify-content:center}.generate-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-shadow)}.generate-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-buttons{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.email-button{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;min-width:180px;justify-content:center}.email-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #48bb784d}.email-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.download-button{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;min-width:160px;justify-content:center}.download-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ed89364d}.refresh-button{background:var(--bg-tertiary);color:var(--text-secondary);border:2px solid var(--border-color);padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.refresh-button:hover:not(:disabled){border-color:var(--border-hover);transform:translateY(-1px)}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.status-message{padding:1rem;border-radius:8px;font-weight:500;margin:1rem 0}.status-message.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.status-message.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}.status-message.info{background:var(--info-bg);color:var(--info-text);border:1px solid var(--border-color)}.code-display{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;font-family:Courier New,monospace;font-size:.9rem;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:var(--text-muted)}.loading-spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.generated-codes{margin-top:2rem;padding:1.5rem;background:var(--success-bg);border-radius:12px;border:2px solid var(--success-border)}.generated-codes h3{margin:0 0 1rem;color:var(--success-text);font-size:1.25rem}.existing-codes{margin-top:1rem}.codes-stats{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.codes-list{display:flex;flex-direction:column;gap:.75rem}.code-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease;gap:1rem}.code-item:hover{box-shadow:0 2px 8px var(--shadow)}.code-item.new-code{border-color:var(--success-border);background:var(--success-bg)}.code-item.used{background:var(--bg-secondary);opacity:.7}.code-item.available{background:var(--bg-primary)}.code-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.code-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:150px}.code-info .email{font-weight:600;color:var(--text-primary);font-size:1rem}.code-info .passcode{font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;color:var(--accent-primary);background:var(--bg-secondary);padding:.25rem .5rem;border-radius:4px;cursor:pointer;position:relative;display:inline-block;max-width:fit-content}.code-info .passcode:hover{background:var(--bg-tertiary)}.copy-hint{position:absolute;bottom:-1.5rem;left:0;font-size:.7rem;color:var(--text-muted);font-family:inherit;font-weight:400;opacity:0;transition:opacity .3s ease}.code-info .passcode:hover .copy-hint{opacity:1}.code-info .date{font-size:.85rem;color:var(--text-muted)}.code-status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase}.code-status.new{background:var(--success-bg);color:var(--success-text)}.code-status.used{background:var(--error-bg);color:var(--error-text)}.code-status.available{background:var(--info-bg);color:var(--info-text)}.send-individual-email-btn{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.25rem;white-space:nowrap}.send-individual-email-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4299e14d;background:linear-gradient(135deg,#3182ce,#2b77cb)}.send-individual-email-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-code-btn{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.25rem;white-space:nowrap}.delete-code-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e53e3e4d;background:linear-gradient(135deg,#c53030,#9c2626)}.delete-code-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-arrival-btn{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff;border:none;padding:.4rem .7rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.25rem;white-space:nowrap;margin-left:.5rem}.delete-arrival-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e53e3e4d;background:linear-gradient(135deg,#c53030,#9c2626)}.delete-arrival-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.email-sent-indicator{font-size:.75rem;color:var(--success-text);background:var(--success-bg);padding:.2rem .5rem;border-radius:4px;border:1px solid var(--success-border);margin-top:.25rem}.instructions{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;border-left:4px solid var(--accent-primary)}.instructions ol{margin:0;padding-left:1.5rem}.instructions li{margin-bottom:.5rem;color:var(--text-secondary);line-height:1.5}@media (max-width: 768px){.admin-container{width:100%;overflow-x:hidden}.nav-tabs{flex-direction:column;gap:.75rem}.nav-tab{justify-content:center;padding:1rem;font-size:1rem}.tab-label{display:block}.admin-content{padding:1rem}.admin-section{padding:1.5rem}.header-content{padding:0 1rem}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.codes-stats{flex-direction:column;gap:.5rem}.code-item{flex-direction:column;align-items:flex-start;gap:.75rem}.code-status{align-self:flex-end}.code-actions{min-width:auto;align-items:stretch}.send-individual-email-btn,.delete-code-btn{font-size:.75rem;padding:.4rem .6rem}.delete-arrival-btn{font-size:.7rem;padding:.3rem .5rem}.header-actions{flex-direction:column;align-items:stretch;width:100%}.bulk-email-button{justify-content:center}.login-container{padding:1rem}.login-form{padding:1.5rem}.header-content{flex-direction:column;gap:1rem;align-items:flex-start}.auth-controls{width:100%;justify-content:space-between}}.header-content{display:flex;justify-content:space-between;align-items:center}.admin-user{color:var(--text-secondary);font-weight:500;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.logout-button{background:var(--error-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.logout-button:hover{background:var(--error-dark);transform:translateY(-1px)}.login-container{width:100%;max-width:1200px;margin:0 auto;padding:2rem;box-sizing:border-box}.login-form{background:var(--bg-primary);border-radius:16px;padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:100%;max-width:600px;margin:0 auto;box-sizing:border-box}.login-header{text-align:center;margin-bottom:2rem}.lock-icon{font-size:3rem;display:block;margin-bottom:1rem}.login-header h2{margin:0 0 .5rem;color:#2c3e50;font-size:1.75rem;font-weight:600}.login-header p{margin:0;color:#7f8c8d;font-size:1rem}.auth-form{margin-bottom:2rem}.auth-form .form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:600;font-size:.95rem}.auth-form input{width:100%;padding:1rem;border:2px solid #e0e6ed;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.auth-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-error{display:flex;align-items:center;gap:.5rem;color:#e74c3c;font-weight:500;margin-bottom:1rem;padding:.75rem;background:#fdf2f2;border-radius:8px;border:1px solid #fecaca}.login-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-help{padding:1.5rem;background:#f8f9fa;border-radius:12px;border-left:4px solid #667eea}.login-help h4{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.login-help p{margin:.5rem 0;color:#495057;line-height:1.5;font-size:.95rem}.security-note{margin-top:1rem;padding:.75rem;background:#e3f2fd;border-radius:6px;display:flex;align-items:center;gap:.5rem}.security-note small{color:#1565c0;font-weight:500}@media (max-width: 768px){.login-container{margin:0;padding:1rem}.login-form{padding:1.5rem}.header-content{flex-direction:column;gap:1rem;align-items:flex-start}.auth-controls{width:100%;justify-content:space-between}}.calendar-container{margin-top:1rem}.calendar-legend{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.legend-color{width:16px;height:16px;border-radius:4px;border:2px solid transparent}.legend-color.assigned{background:#d4edda;border-color:#28a745}.legend-color.unassigned{background:#f8d7da;border-color:#dc3545}.view-selector{padding:.5rem 1rem;border:2px solid #e9ecef;border-radius:6px;background:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-selector:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #667eea1a}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.calendar-day{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease;position:relative;min-height:150px}.calendar-day:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.calendar-day.today{border-color:#ffc107;background:#fff9c4}.calendar-day.past{opacity:.7;background:#f8f9fa}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.day-date{font-weight:600;color:#495057;font-size:.95rem}.today-indicator{background:#ffc107;color:#212529;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase}.day-content{margin-bottom:1rem}.arrival-stats{display:flex;gap:1rem;margin-bottom:.75rem}.stat-item{flex:1;text-align:center;padding:.5rem;border-radius:6px}.stat-item.assigned{background:#d4edda;border:1px solid #c3e6cb}.stat-item.unassigned{background:#f8d7da;border:1px solid #f5c6cb}.stat-number{display:block;font-size:1.5rem;font-weight:700;line-height:1}.stat-item.assigned .stat-number{color:#155724}.stat-item.unassigned .stat-number{color:#721c24}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.total-arrivals{text-align:center;font-size:.85rem;color:#6c757d;font-weight:500;margin-bottom:.5rem}.arrival-times{margin-top:.75rem;border-top:1px solid #e9ecef;padding-top:.75rem}.arrival-time-item{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;margin-bottom:.25rem;padding:.25rem 0}.student-name{font-weight:500;color:#495057;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.arrival-time{font-weight:700;color:#6c63ff;font-family:monospace;white-space:nowrap}.more-arrivals{text-align:center;font-size:.7rem;color:#6c757d;font-style:italic;margin-top:.25rem}.day-details{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid var(--accent-color);border-radius:8px;padding:1rem;box-shadow:0 8px 25px #00000026;z-index:10;margin-top:.5rem}.day-details h4{margin:0 0 1rem;color:#495057;font-size:1rem}.arrival-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;border-radius:6px;border:1px solid #e9ecef}.arrival-info{display:flex;flex-direction:column;gap:.25rem}.arrival-info strong{color:#495057;font-size:.95rem}.arrival-time,.arrival-email,.arrival-university{font-size:.8rem;color:#6c757d}.buddy-status{font-size:.8rem;font-weight:500}.status-assigned{color:#155724}.status-unassigned{color:#721c24}.arrival-list{margin-bottom:2rem}.date-group{margin-bottom:2rem;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.date-header{background:var(--accent-primary);color:#fff;padding:1rem 1.5rem;margin:0;font-size:1.1rem;font-weight:600}.arrivals-for-date{padding:1rem}.arrival-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:6px;margin-bottom:.75rem;border:1px solid #e9ecef}.arrival-row.assigned{background:#d4edda;border-color:#c3e6cb}.arrival-row.unassigned{background:#f8d7da;border-color:#f5c6cb}.arrival-row:last-child{margin-bottom:0}.arrival-details{flex:1}.arrival-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem}.arrival-row-actions{display:flex;align-items:center;gap:1rem}.buddy-assignment{display:flex;align-items:center;text-align:right}.arrival-item{padding:1rem;border:1px solid #e9ecef;border-radius:6px;margin-bottom:.75rem;background:#fff}.arrival-item.assigned{background:#d4edda;border-color:#c3e6cb}.arrival-item.unassigned{background:#f8d7da;border-color:#f5c6cb}.student-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.student-info strong{font-size:1rem;color:#495057}.student-info span{font-size:.85rem;color:#6c757d}.academic-info{font-size:.8rem;color:#6c757d;font-style:italic}.buddy-assignment{text-align:right}.buddy-assigned,.buddy-unassigned{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.status-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.assigned{background:#28a745;color:#fff}.status-badge.unassigned{background:#dc3545;color:#fff}.buddy-email{font-size:.8rem;color:#6c757d;font-weight:500}.calendar-summary{margin-top:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{text-align:center;padding:1rem;border-radius:8px;border:2px solid #e9ecef;background:#f8f9fa;transition:all .3s ease}.stat-card.assigned{border-color:#28a745;background:#d4edda}.stat-card.unassigned{border-color:#dc3545;background:#f8d7da}.stat-value{display:block;font-size:2rem;font-weight:700;color:#495057;line-height:1;margin-bottom:.25rem}.stat-card.assigned .stat-value{color:#155724}.stat-card.unassigned .stat-value{color:#721c24}.stat-card .stat-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:#6c757d}@media (max-width: 768px){.calendar-grid{grid-template-columns:1fr}.calendar-legend{flex-direction:column;gap:1rem}.arrival-stats{flex-direction:column;gap:.5rem}.arrival-row{flex-direction:column;align-items:flex-start;gap:.75rem}.buddy-assignment{text-align:left;width:100%}.arrival-actions,.arrival-row-actions{flex-direction:column;gap:.5rem;align-items:stretch}.arrival-item{padding:.75rem}.buddy-assigned,.buddy-unassigned{align-items:flex-start}.summary-stats{grid-template-columns:1fr;gap:.75rem}.day-details{position:static;margin-top:1rem;border:1px solid #e9ecef}}.input-group{display:flex;gap:.75rem;align-items:flex-end}.field-input{flex:1;padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.field-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #667eea1a}.add-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.add-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.add-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.existing-items{margin-top:2rem}.existing-items h3{color:#495057;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.items-list{display:flex;flex-direction:column;gap:.75rem}.item-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #e9ecef;border-radius:8px;transition:all .3s ease}.item-row:hover{border-color:var(--accent-color);box-shadow:0 2px 8px #667eea1a}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-name{font-weight:600;color:#495057;font-size:1rem}.item-date{font-size:.85rem;color:#6c757d}.delete-button{background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.delete-button:hover{transform:translateY(-1px);box-shadow:0 3px 8px #dc35454d}.delete-button:active{transform:translateY(0)}@media (max-width: 768px){.input-group{flex-direction:column;align-items:stretch}.add-button{justify-content:center;padding:1rem}.item-row{flex-direction:column;align-items:flex-start;gap:1rem}.delete-button{align-self:flex-end}.item-info{width:100%}}.settings-section{display:flex;flex-direction:column;gap:2rem}.setting-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.setting-info h3{color:#495057;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.setting-info p{color:#6c757d;margin:0;font-size:1rem;line-height:1.5}.setting-control{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.toggle-container{display:flex;align-items:center;gap:1rem}.toggle-switch{position:relative;display:inline-block;width:60px;height:30px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:30px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#28a745}input:focus+.toggle-slider{box-shadow:0 0 1px #28a745}input:checked+.toggle-slider:before{transform:translate(30px)}input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.status-text{font-weight:600;font-size:1rem;padding:.5rem 1rem;border-radius:20px;white-space:nowrap}.status-text.accepting{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-text.stopped{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.updating-indicator{display:flex;align-items:center;gap:.5rem;color:#6c757d;font-size:.9rem}.setting-description{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-top:1rem}.setting-description h4{color:#495057;margin:0 0 1rem;font-size:1.1rem}.setting-description ul{margin:0;padding-left:1.5rem;color:#6c757d}.setting-description li{margin-bottom:.5rem;line-height:1.4}.setting-description strong{color:#495057}@media (max-width: 768px){.setting-item{flex-direction:column;align-items:stretch;gap:1.5rem}.setting-control{align-items:stretch}.toggle-container{justify-content:space-between;align-items:center}.status-text{text-align:center;flex:1}}.matching-content{display:flex;flex-direction:column;gap:2rem}.matching-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.auto-match-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.auto-match-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #28a7454d}.auto-match-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.matches-section,.unmatched-section,.buddies-section{background:var(--bg-primary);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.matches-section h3,.unmatched-section h3,.buddies-section h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.2rem}.matches-grid,.students-grid,.buddies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.match-card,.student-card,.buddy-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem;transition:all .3s ease}.match-card:hover,.student-card:hover,.buddy-card:hover{border-color:var(--accent-color);box-shadow:0 4px 12px var(--shadow-light);transform:translateY(-2px)}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.match-date{font-weight:600;color:var(--accent-color);padding:4px 8px;background:var(--accent-glow);border-radius:4px;font-size:.85rem}.remove-match-button{background:none;border:none;font-size:1rem;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease}.remove-match-button:hover{background:#dc35451a}.match-details{display:flex;flex-direction:column;gap:.5rem}.buddy-info,.student-info{font-size:.9rem;line-height:1.4}.buddy-info strong,.student-info strong{color:var(--text-primary)}.buddy-info small,.student-info small{color:var(--text-muted);display:block;margin-top:2px}.student-details{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.student-details span{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:.8rem;color:var(--text-secondary)}.buddy-contact{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0}.buddy-contact span{font-size:.85rem;color:var(--text-secondary)}.buddy-availability{margin-top:.5rem}.buddy-availability strong{color:var(--text-primary);font-size:.9rem}.availability-dates{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.availability-dates .date-chip{background:var(--accent-glow);color:var(--accent-color);padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:500}.matching-instructions{background:var(--info-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-top:1rem}.matching-instructions h4{margin:0 0 1rem;color:var(--info-text)}.matching-instructions ul{margin:0;padding-left:1.5rem;color:var(--info-text)}.matching-instructions li{margin-bottom:.5rem;line-height:1.5}.matching-instructions strong{color:var(--text-primary)}@media (max-width: 768px){.matching-stats,.matches-grid,.students-grid,.buddies-grid{grid-template-columns:1fr}.match-header{flex-direction:column;align-items:flex-start;gap:.5rem}.student-details{flex-direction:column;gap:.25rem}.availability-dates{flex-direction:column;align-items:flex-start}.matched-students-grid{grid-template-columns:1fr}.match-details{grid-template-columns:1fr;gap:1rem}}.matched-students-section{margin-bottom:2rem}.matched-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1rem;margin-top:1rem}.matched-student-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease;border-left:4px solid #28a745}.matched-student-card:hover{border-color:var(--accent-color);box-shadow:0 6px 20px var(--shadow-light);transform:translateY(-2px)}.student-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.student-basic-info{flex:1}.student-basic-info strong{display:block;font-size:1.1rem;color:var(--text-primary);margin-bottom:.25rem}.student-basic-info small{color:var(--text-muted);font-size:.85rem}.unmatch-button{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.unmatch-button:hover{background:linear-gradient(135deg,#ee5a24,#d63031);transform:translateY(-1px);box-shadow:0 4px 12px #ee5a244d}.matched-student-card .match-details{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.student-arrival-info,.buddy-assignment-info{display:flex;flex-direction:column;gap:.5rem}.arrival-detail{padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.buddy-header{font-weight:600;color:var(--accent-color);font-size:.9rem;margin-bottom:.25rem}.buddy-name{font-weight:600;color:var(--text-primary);font-size:1rem}.matched-student-card .buddy-contact{color:var(--text-muted);font-size:.85rem;margin:0}.no-selection{color:var(--text-muted);font-style:italic;font-size:.85rem;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px}.accommodations-content{display:flex;flex-direction:column;gap:2rem}.accommodations-summary{background:var(--bg-primary);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.accommodations-summary h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.accommodations-summary h3:before{content:"📊";font-size:1.1rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.stat-card{background:linear-gradient(135deg,var(--accent-color) 0%,#764ba2 100%);color:#fff;padding:1.25rem;border-radius:10px;text-align:center;box-shadow:0 4px 15px var(--accent-shadow);transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,#ffffff1a,#ffffff0d);pointer-events:none}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-shadow)}.stat-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.25rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.stat-label{display:block;font-size:.85rem;opacity:.9;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.accommodations-list{display:flex;flex-direction:column;gap:1.5rem}.accommodation-card{background:var(--bg-primary);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);transition:all .3s ease;position:relative}.accommodation-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:var(--accent-color)}.accommodation-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:1.5rem;border-bottom:2px solid var(--border-color);position:relative}.accommodation-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-primary)}.accommodation-name{margin:0 0 .75rem;font-size:1.35rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.accommodation-name:before{content:"🏢";font-size:1.2rem}.accommodation-stats{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.total-count{background:var(--accent-color);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;box-shadow:0 2px 8px var(--accent-shadow)}.buddy-count{color:var(--text-secondary);font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.buddy-count:before{content:"👥";font-size:.9rem}.students-list{padding:0;background:var(--bg-secondary)}.student-row{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);transition:all .2s ease;position:relative}.student-row:last-child{border-bottom:none}.student-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;transition:all .2s ease}.student-row.has-buddy{background:linear-gradient(90deg,rgba(40,167,69,.05) 0%,transparent 100%)}.student-row.has-buddy:before{background:var(--success-primary)}.student-row.needs-buddy{background:linear-gradient(90deg,rgba(220,53,69,.05) 0%,transparent 100%)}.student-row.needs-buddy:before{background:var(--error-primary)}.student-row:hover{background:#667eea0d;transform:translate(2px)}.student-info{display:flex;flex-direction:column;gap:.4rem;flex:1}.student-name{font-weight:600;font-size:1.05rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.student-name:before{content:"👤";font-size:.9rem;opacity:.7}.student-email{color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center;gap:.5rem}.student-email:before{content:"📧";font-size:.8rem;opacity:.6}.arrival-info{color:var(--text-muted);font-size:.85rem;display:flex;align-items:center;gap:.5rem;font-weight:500}.arrival-info:before{content:"📅";font-size:.8rem;opacity:.6}.buddy-info{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem;min-width:200px}.buddy-name{font-weight:600;color:var(--text-primary);font-size:.95rem;display:flex;align-items:center;gap:.5rem}.buddy-name:before{content:"🤝";font-size:.9rem}.buddy-email{color:var(--text-secondary);font-size:.85rem;display:flex;align-items:center;gap:.5rem}.buddy-email:before{content:"📧";font-size:.75rem;opacity:.6}.status-badge{padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:.3rem;box-shadow:0 2px 6px #0000001a;transition:all .2s ease}.status-badge.assigned{background:linear-gradient(135deg,var(--success-primary) 0%,#20c997 100%);color:#fff;box-shadow:0 2px 8px #28a7454d}.status-badge.unassigned{background:linear-gradient(135deg,var(--error-primary) 0%,#e74c3c 100%);color:#fff;box-shadow:0 2px 8px #dc35454d}.status-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.export-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 12px #28a7454d}.export-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #28a74566;background:linear-gradient(135deg,#218838,#1abc9c)}.export-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.summary-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.student-row{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.buddy-info{align-items:flex-start;min-width:auto}.accommodation-stats{flex-direction:column;align-items:flex-start;gap:.75rem}.stat-number{font-size:1.5rem}.accommodation-name{font-size:1.2rem}}@media (max-width: 480px){.summary-stats{grid-template-columns:1fr}.accommodations-summary,.accommodation-header{padding:1rem}.student-row{padding:.75rem}}.buddy-match-container{width:100%;min-height:100vh;padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:transparent;display:block;box-sizing:border-box;overflow-x:hidden}.buddy-header{background:linear-gradient(135deg,#fd79a8,#fdcb6e);color:#fff;padding:2rem 0;margin:0;margin-bottom:2rem;box-shadow:var(--shadow-lg);width:100%}.header-content{max-width:1200px;width:100%;margin:0 auto;padding:0 2rem;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center}.logo-section{display:flex;align-items:center;gap:1.5rem}.logo-image{height:80px;width:80px;object-fit:contain;background:#ffffffe6;border-radius:12px;padding:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo-placeholder{font-size:3rem;background:#fff3;border-radius:12px;padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.org-info h1{margin:0;font-size:2.2rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.org-info p{margin:.5rem 0 0;font-size:1.1rem;opacity:.9;font-weight:300}.auth-controls{display:flex;align-items:center;gap:1rem}.buddy-user{color:#ffffffe6;font-weight:500;font-size:.95rem;display:flex;align-items:center;gap:.5rem;background:#ffffff1a;padding:.5rem 1rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-button:hover{background:#ffffff4d;transform:translateY(-1px)}.auth-container{width:100%;margin:0 auto;padding:0 2rem;max-width:1200px;box-sizing:border-box}.auth-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 8px 32px #0000001a;border:1px solid #e2e8f0;width:100%;max-width:600px;margin:0 auto;box-sizing:border-box}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{font-size:3rem;display:block;margin-bottom:1rem}.auth-header h2{margin:0 0 .5rem;color:#2d3748;font-size:1.75rem;font-weight:600}.auth-header p{margin:0;color:#718096;font-size:1rem}.auth-form .form-group{margin-bottom:1.5rem}.auth-form input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;text-align:center;font-family:monospace;font-weight:700;letter-spacing:2px}.auth-form input:focus{outline:none;border-color:#fd79a8;box-shadow:0 0 0 3px #fd79a81a}.auth-error{display:flex;align-items:center;gap:.5rem;color:#e53e3e;font-weight:500;margin-bottom:1rem;padding:.75rem;background:#fed7d7;border-radius:8px;border:1px solid #feb2b2}.auth-button{width:100%;background:linear-gradient(135deg,#fd79a8,#fdcb6e);color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #fd79a84d}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-help{margin-top:2rem;padding:1.5rem;background:#f7fafc;border-radius:12px;border-left:4px solid #fd79a8}.auth-help h4{margin:0 0 1rem;color:#2d3748;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.auth-help p{margin:.5rem 0;color:#4a5568;line-height:1.5;font-size:.95rem}.buddy-content{width:100%;margin:0 auto;padding:0 2rem;max-width:1200px;box-sizing:border-box}.availability-section{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 8px 32px #00000014;border:1px solid #f1f5f9;margin:0 0 2rem;width:100%;box-sizing:border-box;position:relative;overflow:hidden}.availability-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#fd79a8,#fdcb6e,#74b9ff)}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin:2rem 0;padding:.5rem}.calendar-day{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;min-height:180px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 8px #0000000a}.calendar-day:hover:not(.past){border-color:#fd79a8;transform:translateY(-4px);box-shadow:0 12px 40px #fd79a826}.calendar-day.has-selected{border-color:#667eea;background:linear-gradient(135deg,#f8faff,#f1f5f9);box-shadow:0 8px 32px #667eea26}.calendar-day.has-selected:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);z-index:1}.calendar-day.selected{border-color:#fd79a8;background:linear-gradient(135deg,#fff8fb,#ffebf0);box-shadow:0 8px 32px #fd79a833;transform:translateY(-2px)}.calendar-day.selected:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#fd79a8,#e84393);z-index:1}.calendar-day.today{border-color:#fdcb6e;background:linear-gradient(135deg,#fffbf0,#fff4e6);box-shadow:0 8px 32px #fdcb6e33}.calendar-day.today:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#fdcb6e,#e17055);z-index:1}.calendar-day.past{opacity:.6;cursor:not-allowed;background:#f8fafc;border-color:#e2e8f0}.day-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 0;margin-bottom:1rem;position:relative;z-index:2}.day-date{font-weight:700;color:#2d3748;font-size:1rem;line-height:1.2;display:flex;flex-direction:column;gap:.25rem}.day-date .date-main{font-size:1.1rem;font-weight:800}.day-date .date-weekday{font-size:.8rem;font-weight:500;color:#718096;text-transform:uppercase;letter-spacing:.5px}.today-indicator{background:linear-gradient(135deg,#fdcb6e,#e17055);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #fdcb6e4d;border:2px solid rgba(255,255,255,.9)}.day-content{flex:1;display:flex;flex-direction:column;padding:0 1.5rem 1.5rem;gap:1rem}.arrival-count{text-align:center;padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:.5rem;border:1px solid #e2e8f0}.count-number{display:block;font-size:2.5rem;font-weight:900;color:#fd79a8;line-height:1;margin-bottom:.25rem;text-shadow:0 2px 4px rgba(253,121,168,.1)}.count-label{font-size:.75rem;color:#718096;text-transform:uppercase;letter-spacing:1px;font-weight:600}.arrival-details{flex:1;display:flex;flex-direction:column;gap:.75rem;max-height:200px;overflow-y:auto;padding-right:.25rem}.arrival-details::-webkit-scrollbar{width:4px}.arrival-details::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.arrival-details::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px}.arrival-details::-webkit-scrollbar-thumb:hover{background:#a0aec0}.arrival-item{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .3s ease;position:relative;box-shadow:0 1px 3px #0000000d;cursor:pointer;display:flex;flex-direction:column;gap:.75rem}.arrival-item:hover:not(.past):not(.selected){border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.arrival-item.selected{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);box-shadow:0 6px 20px #10b98133;transform:translateY(-2px)}.arrival-item.past{opacity:.6;cursor:not-allowed}.arrival-item.matched{opacity:.4;cursor:not-allowed;background:#f8fafc;border-color:#cbd5e0}.arrival-item.matched .arrival-info{opacity:.6}.arrival-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.student-name{font-weight:600;color:#2d3748;font-size:.9rem}.arrival-item.selected .student-name{color:#1a365d;font-weight:700}.arrival-time-info{display:flex;flex-direction:column;gap:.25rem}.arrival-time,.arrival-method{font-size:.8rem;color:#4a5568;font-weight:500;display:flex;align-items:center;gap:.25rem}.transport-number{font-size:.75rem;color:#718096;background:#f7fafc;padding:.25rem .5rem;border-radius:6px;border:1px solid #e2e8f0;font-weight:600;font-family:Courier New,monospace}.selected-indicator{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:center;box-shadow:0 2px 8px #10b9814d;border:2px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;flex-shrink:0}.selected-indicator:before{content:"✓";font-size:1rem;font-weight:900}.past-indicator{color:#a0aec0;font-size:.75rem;font-style:italic;text-align:center;padding:.5rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0;margin-top:.75rem}.matched-indicator{color:#718096;font-size:.75rem;font-style:italic;text-align:center;padding:.5rem;background:#f1f5f9;border-radius:8px;border:1px solid #cbd5e0;margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.matched-indicator:before{content:"🤝";font-size:.8rem}.day-summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600;text-align:center;box-shadow:0 4px 12px #667eea40;margin-top:.5rem}.availability-summary{margin:2.5rem 0;padding:2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:1px solid #e2e8f0;position:relative;overflow:hidden}.availability-summary:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2)}.availability-summary h4{margin:0 0 1.5rem;color:#2d3748;font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.availability-summary h4:before{content:"🎯";font-size:1.3rem}.selected-dates p,.selected-students p{margin:0 0 1.5rem;color:#4a5568;font-size:1rem;line-height:1.6}.student-chips{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}.student-chip{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 1.25rem;border-radius:12px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 12px #667eea40;transition:all .3s ease;border:2px solid rgba(255,255,255,.9);min-width:200px}.student-chip:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea59}.chip-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.chip-content .student-name{font-weight:700;font-size:.9rem;margin:0}.chip-content .student-name:before{content:none}.chip-content .student-date{font-size:.75rem;opacity:.9;font-weight:500}.chip-content .student-time{font-size:.7rem;opacity:.8;font-weight:400}.remove-student{background:#fff3;border:none;color:#fff;font-size:1.3rem;cursor:pointer;padding:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:900;line-height:1;flex-shrink:0}.remove-student:hover{background:#ffffff4d;transform:scale(1.1)}.date-chips{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.date-chip{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.25rem;border-radius:25px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #667eea40;transition:all .3s ease;border:2px solid rgba(255,255,255,.9)}.date-chip:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea59}.remove-date{background:#fff3;border:none;color:#fff;font-size:1.3rem;cursor:pointer;padding:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:900;line-height:1}.remove-date:hover{background:#ffffff4d;transform:scale(1.1)}.status-message{padding:1rem;border-radius:8px;font-weight:500;margin:1rem 0;display:flex;align-items:center;gap:.5rem}.status-message.success{background:#f0fff4;color:#22543d;border:1px solid #9ae6b4}.status-message.error{background:#fed7d7;color:#742a2a;border:1px solid #feb2b2}.status-message.warning{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}.status-message.info{background:#ebf8ff;color:#2c5282;border:1px solid #90cdf4}.help-section{margin-top:2rem;padding:1.5rem;background:#f7fafc;border-radius:12px;border-left:4px solid #fd79a8}.help-section h4{margin:0 0 1rem;color:#2d3748;font-size:1.1rem}.help-section ul{margin:0;padding-left:1.5rem;color:#4a5568;line-height:1.6}.help-section li{margin-bottom:.5rem}.buddy-intro{background:#fff;margin:0 0 2rem;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid #fd79a8;width:100%;box-sizing:border-box}.buddy-intro h2{color:#2d3748;margin:0 0 1rem;font-size:1.8rem;font-weight:600}.buddy-intro p{color:#4a5568;line-height:1.6;margin-bottom:1.5rem}.info-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1rem;display:flex;align-items:center;gap:.75rem;color:#856404;font-weight:500}.note-icon{font-size:1.2rem}.buddy-form{background:#fff;margin:0;padding:0;border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:hidden;width:100%;box-sizing:border-box}.form-section{padding:2rem;border-bottom:1px solid #e2e8f0}.form-section:last-of-type{border-bottom:none}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.section-icon{font-size:1.5rem;background:#f7fafc;padding:.75rem;border-radius:8px;border:1px solid #e2e8f0}.section-header h3{color:#2d3748;margin:0;font-size:1.4rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2d3748;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box;background-color:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#fd79a8;box-shadow:0 0 0 3px #fd79a81a;background-color:#fff8fb}.form-group input::placeholder{color:#a0aec0;font-style:italic}.field-help{display:block;margin-top:.25rem;color:#718096;font-size:.8rem;font-style:italic}.arrivals-list{margin-top:1rem}.arrivals-list select{min-height:50px}.arrivals-list option{padding:.5rem;line-height:1.4}.loading-state,.empty-state{text-align:center;padding:2rem;color:#718096}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem}.refresh-button{background:#fd79a8;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;margin-top:1rem;transition:background-color .2s ease}.refresh-button:hover{background:#e056a3}.arrival-details{background:#f8fafc;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0}.detail-row{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.detail-row:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-row strong{color:#2d3748;margin-right:.5rem}.success-message,.error-message{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;margin:2rem;border-radius:8px;font-weight:500;line-height:1.5}.success-message{background:#f0fff4;border:1px solid #9ae6b4;color:#22543d}.error-message{background:#fed7d7;border:1px solid #feb2b2;color:#742a2a}.success-icon,.error-icon{font-size:1.5rem;flex-shrink:0}.success-message strong,.error-message strong{display:block;margin-bottom:.25rem}.form-footer{padding:2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.footer-note{background:#fff;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:1.5rem;text-align:left}.footer-note p{margin:0;color:#4a5568;line-height:1.5}.submit-button{width:100%;background:linear-gradient(135deg,#fd79a8,#fdcb6e);color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #fd79a84d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #fd79a866}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background:#cbd5e0;cursor:not-allowed;transform:none;box-shadow:none}.submit-icon{font-size:1.2rem}.loading-spinner{width:1.2rem;height:1.2rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dev-controls{margin-top:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;text-align:center}.autofill-button{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #6c5ce74d}.autofill-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6c5ce766}.autofill-button:active{transform:translateY(0)}.form-group select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;appearance:none}.form-group label[for*=buddyName]:after,.form-group label[for*=buddyEmail]:after,.form-group label[for*=buddyWhatsapp]:after,.arrivals-list label:after{content:" *";color:#e53e3e;font-weight:700}@media (max-width: 768px){.buddy-match-container{width:100%;overflow-x:hidden}.header-content{padding:0 1rem;flex-direction:column;gap:1rem;align-items:flex-start}.auth-controls{width:100%;justify-content:space-between}.logo-section{flex-direction:column;text-align:center;gap:1rem}.org-info h1{font-size:1.8rem}.auth-container,.buddy-content{padding:0 1rem}.form-section{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.section-icon{align-self:flex-start}.calendar-grid{grid-template-columns:1fr;gap:1rem;padding:0}.calendar-day{min-height:160px}.availability-section{padding:1.5rem}.day-header{padding:1rem 1.25rem 0}.day-content{padding:0 1.25rem 1.25rem}.arrival-count{padding:.75rem}.count-number{font-size:2rem}.arrival-details{max-height:150px}.arrival-item{padding:.75rem}.availability-summary{padding:1.5rem;margin:2rem 0}.date-chips{justify-content:center;gap:.5rem}.date-chip{padding:.6rem 1rem;font-size:.8rem}.auth-form{padding:1rem;border-radius:8px}}@media (max-width: 480px){.header-content{padding:0 .75rem}.form-section{padding:1rem}.org-info h1,.buddy-intro h2{font-size:1.5rem}.calendar-grid{grid-template-columns:1fr;gap:.75rem}.calendar-day{min-height:140px;border-radius:12px}.day-header{padding:.75rem 1rem 0}.day-content{padding:0 1rem 1rem;gap:.75rem}.arrival-count{padding:.5rem}.count-number{font-size:1.8rem}.count-label{font-size:.7rem}.arrival-details{max-height:120px;gap:.5rem}.arrival-item{padding:.6rem}.arrival-time,.arrival-method{font-size:.75rem}.transport-number{font-size:.7rem;padding:.2rem .4rem}.availability-summary{padding:1rem}.availability-summary h4{font-size:1.1rem}.date-chip{padding:.5rem .8rem;font-size:.75rem;gap:.5rem}.today-indicator{padding:.3rem .6rem;font-size:.65rem}.selected-indicator{padding:.5rem 1rem;font-size:.7rem}}@media (prefers-color-scheme: dark){.buddy-match-container{background-color:#1a1a1a;color:#fff}.auth-container,.main-content,.buddy-calendar-container,.dates-grid,.availability-section{background-color:#2d2d2d;color:#fff}.auth-card,.date-card,.arrival-card{background-color:#3a3a3a;border-color:#555;color:#fff}.auth-card h2,.date-card h3,.arrival-card h4{color:#fff}.input-field{background-color:#404040;border-color:#666;color:#fff}.input-field:focus{background-color:#4a4a4a;border-color:#fd79a8;color:#fff}.input-field::placeholder{color:#ccc}.btn-primary{background:linear-gradient(135deg,#fd79a8,#fdcb6e);color:#fff}.btn-secondary{background-color:#555;border-color:#777;color:#fff}.btn-secondary:hover{background-color:#666;border-color:#888}.status-message.success{background-color:#2d5a2d;border-color:#4a7c4a;color:#90ee90}.status-message.error{background-color:#5a2d2d;border-color:#7c4a4a;color:#ffb3b3}.status-message.info{background-color:#2d4a5a;border-color:#4a6a7c;color:#add8e6}.legend{background-color:#3a3a3a;border-color:#555;color:#fff}.legend-item{color:#fff}.header-info,.arrival-details{color:#ccc}.time-info{color:#ddd}.buddy-user{color:#fff}.logout-button{background-color:#dc3545;border-color:#dc3545;color:#fff}.logout-button:hover{background-color:#c82333;border-color:#bd2130}.form-group label,.form-row .form-group label{color:#fff}select,textarea{background-color:#404040;border-color:#666;color:#fff}select:focus,textarea:focus{background-color:#4a4a4a;border-color:#fd79a8;color:#fff}option{background-color:#404040;color:#fff}}:root{--bg-primary: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);--bg-secondary: #ffffff;--bg-tertiary: #f7fafc;--text-primary: #2d3748;--text-secondary: #4a5568;--text-muted: #7f8c8d;--border-color: #e2e8f0;--border-hover: #cbd5e0;--shadow-light: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .15);--accent-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-color: #667eea;--accent-shadow: rgba(102, 126, 234, .3);--accent-glow: rgba(102, 126, 234, .1);--nav-bg: rgba(255, 255, 255, .95);--scrollbar-track: #f1f5f9;--scrollbar-thumb: #cbd5e0;--scrollbar-thumb-hover: #a0aec0;--selection-bg: rgba(102, 126, 234, .2);--success-bg: #d4edda;--success-text: #155724;--success-border: #c3e6cb;--error-bg: #f8d7da;--error-text: #721c24;--error-border: #f5c6cb;--error-primary: #dc3545;--error-dark: #c82333;--info-bg: #d1ecf1;--info-text: #0c5460;--shadow: rgba(0, 0, 0, .1);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .15)}[data-theme=dark]{--bg-primary: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);--bg-secondary: #2d3748;--bg-tertiary: #4a5568;--text-primary: #f7fafc;--text-secondary: #e2e8f0;--text-muted: #a0aec0;--border-color: #4a5568;--border-hover: #718096;--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--accent-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent-color: #667eea;--accent-shadow: rgba(102, 126, 234, .4);--accent-glow: rgba(102, 126, 234, .2);--nav-bg: rgba(45, 55, 72, .95);--scrollbar-track: #2d3748;--scrollbar-thumb: #4a5568;--scrollbar-thumb-hover: #718096;--selection-bg: rgba(102, 126, 234, .3);--success-bg: rgba(72, 187, 120, .2);--success-text: #9ae6b4;--success-border: #68d391;--error-bg: rgba(245, 101, 101, .2);--error-text: #feb2b2;--error-border: #fc8181;--error-primary: #f56565;--error-dark: #e53e3e;--info-bg: rgba(66, 153, 225, .2);--info-text: #90cdf4;--shadow: rgba(0, 0, 0, .3);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .4)}html{margin:0;padding:0;width:100%;box-sizing:border-box}*{margin:0;padding:0;box-sizing:border-box}.App{min-height:100vh;width:100vw;margin:0;padding:0;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s ease,color .3s ease;box-sizing:border-box;overflow-x:hidden}.app-navigation{width:100vw;position:sticky;top:0;z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-light);transition:all .3s ease;box-sizing:border-box;margin:0}.nav-left{display:flex;align-items:center;gap:1rem}.nav-logo{display:flex;align-items:center;gap:.75rem;margin-right:1rem;padding-right:1rem;border-right:1px solid var(--border-color)}.nav-logo-img{height:32px;width:32px;object-fit:contain}.nav-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);text-decoration:none}.nav-button{padding:.75rem 1.5rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.nav-button:hover{border-color:var(--border-hover);background:var(--bg-tertiary);transform:translateY(-1px)}.nav-button.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 12px #667eea4d}.theme-toggle-button{padding:.5rem;border:2px solid var(--border-color);border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);font-size:1.2rem;cursor:pointer;transition:all .2s ease;width:45px;height:45px;display:flex;align-items:center;justify-content:center}.theme-toggle-button:hover{border-color:var(--accent-color);background:var(--bg-tertiary);transform:scale(1.05) rotate(15deg)}@media (max-width: 768px){.app-navigation{padding:.75rem 1rem;flex-direction:column;gap:1rem}.nav-left{flex-direction:column;width:100%}.nav-button{justify-content:center;padding:1rem}.theme-toggle-button{align-self:center}}body{margin:0;padding:0;width:100vw;overflow-x:hidden;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;box-sizing:border-box}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;transition:color .3s ease}p{line-height:1.6;color:var(--text-secondary);transition:color .3s ease}::selection{background-color:var(--selection-bg);color:var(--text-primary)}.dark-theme{color-scheme:dark}.dark-theme .nav-button.active{box-shadow:0 4px 12px #667eea66}
