*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#2c3e50;color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-content h1{font-size:1.5rem}.user-info{display:flex;align-items:center;gap:1rem}.btn-logout{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.btn-logout:hover{background:#c0392b}.app-main{flex:1;padding:2rem}.auth-container{display:flex;justify-content:center;align-items:center;min-height:80vh}.auth-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px}.auth-card h1{margin-bottom:1.5rem;color:#2c3e50}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto}button[type=submit]{width:100%;padding:.75rem;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer}button[type=submit]:hover{background:#2980b9}button[type=submit]:disabled{background:#95a5a6;cursor:not-allowed}.error-message{background:#ffe6e6;color:#c0392b;padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid #ffcccc}.auth-link{text-align:center;margin-top:1rem;color:#7f8c8d}.auth-link a{color:#3498db;text-decoration:none}.auth-link a:hover{text-decoration:underline}.events-page{max-width:1200px;margin:0 auto}.events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.events-header h1{color:#2c3e50}.events-header button{background:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.events-header button:hover{background:#229954}.filters{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.filter-group{margin-bottom:1rem}.filter-group:last-child{margin-bottom:0}.filter-group label{font-weight:500;color:#2c3e50;margin-bottom:.5rem;display:block}.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.participant-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.export-button{background:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;margin-top:1rem}.export-button:hover{background:#2980b9}.year-group{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.year-group h2{color:#2c3e50;margin-bottom:1rem}.events-table{width:100%;border-collapse:collapse}.events-table th,.events-table td{text-align:left;padding:.75rem;border-bottom:1px solid #ecf0f1}.events-table th{background:#ecf0f1;font-weight:500;color:#2c3e50}.events-table tbody tr:hover{background:#f8f9fa}.btn-small{padding:.4rem .8rem;font-size:.875rem;margin-right:.5rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-small:hover{background:#2980b9}.btn-danger{background:#e74c3c}.btn-danger:hover{background:#c0392b}.no-events{text-align:center;padding:3rem;background:#fff;border-radius:8px;color:#7f8c8d}.event-form-page{max-width:600px;margin:0 auto}.form-container{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.form-container h1{margin-bottom:1.5rem;color:#2c3e50}.participant-input{margin-bottom:.5rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.form-actions button{flex:1;padding:.75rem;border-radius:4px;font-size:1rem;cursor:pointer}.form-actions button[type=submit]{background:#27ae60;color:#fff;border:none}.form-actions button[type=submit]:hover{background:#229954}.form-actions button[type=button]{background:#95a5a6;color:#fff;border:none}.form-actions button[type=button]:hover{background:#7f8c8d}.autocomplete{position:relative}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;box-shadow:0 2px 8px #0000001a;max-height:200px;overflow-y:auto;z-index:1000}.autocomplete-suggestion{padding:.75rem;cursor:pointer;border-bottom:1px solid #f5f5f5}.autocomplete-suggestion:last-child{border-bottom:none}.autocomplete-suggestion:hover,.autocomplete-suggestion.selected{background:#f0f8ff}.loading{text-align:center;padding:2rem;color:#7f8c8d}.header-left{display:flex;align-items:center;gap:2rem}.main-nav{display:flex;gap:1rem}.main-nav a{color:#fffc;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:all .2s}.main-nav a:hover{background:#ffffff1a;color:#fff}.main-nav a.active{background:#fff3;color:#fff;font-weight:500}.calendar-settings-page{max-width:800px;margin:0 auto}.settings-container{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.settings-container h1{color:#2c3e50;margin-bottom:1.5rem}.settings-container h2{color:#2c3e50;margin-bottom:1rem;font-size:1.25rem}.settings-container h3{color:#34495e;margin-bottom:.75rem;font-size:1rem}.info-box{background:#e8f4f8;border-left:4px solid #3498db;padding:1rem;margin-bottom:2rem;border-radius:4px}.info-box p{margin:0;color:#2c3e50;line-height:1.6}.no-token{text-align:center;padding:2rem}.no-token p{color:#7f8c8d;margin-bottom:1.5rem}.btn-primary{background:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer}.btn-primary:hover{background:#2980b9}.btn-primary:disabled{background:#95a5a6;cursor:not-allowed}.token-section{margin-top:2rem}.url-display{display:flex;gap:.5rem;margin-bottom:2rem}.url-display input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:.875rem;background:#f8f9fa}.url-display input:focus{outline:none;border-color:#3498db}.btn-copy{background:#27ae60;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;white-space:nowrap}.btn-copy:hover{background:#229954}.instructions{background:#f8f9fa;padding:1.5rem;border-radius:4px;margin-bottom:2rem}.instructions ul{margin:0;padding-left:1.5rem}.instructions li{margin-bottom:.75rem;line-height:1.6}.instructions strong{color:#2c3e50}.warning-box{background:#fff3cd;border-left:4px solid #f39c12;padding:1.5rem;border-radius:4px}.warning-box h3{color:#d68910;margin-top:0}.warning-box p{color:#856404;margin-bottom:1rem;line-height:1.6}
