.banner{width:100%;background-color:#fff;padding:0;display:flex;align-items:center;justify-content:center;margin-bottom:0}.banner-logo{height:100px;width:auto;object-fit:contain}.login-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 92px);background-color:#f5f5f5}.login-card{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px}.login-title{margin-bottom:1.5rem;text-align:center}.login-form .form-group{margin-bottom:1rem}.login-form .form-group:last-of-type{margin-bottom:1.5rem}.login-button{width:100%}.navBar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem}.navBar span{color:#777}.navBar button{padding:8px 16px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.navBar button:hover{opacity:.9}.navBar button:active{transform:scale(.98)}.navBar button{background-color:#796087;color:#fff;white-space:nowrap}.navBar button.logout{padding:8px 16px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.navBar button.logout:hover{opacity:.9}.navBar button.logout:active{transform:scale(.98)}.navBar button.logout{background-color:#c74634;color:#fff}.card,.admin-summary-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px}.checkin-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px;margin-bottom:2rem}.checkin-form-controls{margin-bottom:1.5rem;display:flex;gap:1rem;flex-wrap:wrap}.checkin-scan-label{font-size:1.1rem}.checkin-scan-input{width:100%;padding:1.5rem;font-size:2rem;border:2px solid #ddd;border-radius:8px;text-align:center;letter-spacing:.1em}.checkin-scan-input:focus{outline:none;border-color:#796087;box-shadow:0 0 0 2px #79608733}.swag-comment-input{width:100%;min-height:80px;padding:.75rem;font-size:1rem;border:2px solid #ddd;border-radius:8px;font-family:inherit;resize:vertical}.swag-comment-input:focus{outline:none;border-color:#796087;box-shadow:0 0 0 2px #79608733}.grid-auto-fit-with-swag{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.admin-summary-card-thin{padding:1.25rem}.form-input,.admin-search-input,.form-input-large{width:100%;padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:4px}.form-input:focus,.admin-search-input:focus,.form-input-large:focus{outline:none;border-color:#796087;box-shadow:0 0 0 2px #79608733}.card,.admin-summary-card,.admin-actions-section,.collapsible-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px}.admin-summary-card{padding:1.5rem}.admin-summary-label{font-size:.9rem;color:#777;margin-bottom:.5rem}.admin-summary-value,.admin-summary-value-danger,.admin-summary-value-success{font-size:2rem;font-weight:700}.admin-summary-value-success{color:#28a745}.admin-summary-value-danger{color:#c74634}.admin-actions-section{margin-top:3rem;padding:2rem}.admin-actions-title{margin-bottom:1.5rem;font-size:1.5rem}.admin-action-group{margin-bottom:2rem}.admin-action-title{margin-bottom:1rem;font-size:1.25rem}.admin-action-description{margin-bottom:1rem;color:#777}.admin-file-input{padding:.5rem;font-size:1rem;border:1px solid #ddd;border-radius:4px;width:100%;max-width:400px}.admin-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;box-shadow:0 4px 16px #0003}.modal-title{margin-bottom:1rem;font-size:1.25rem}.modal-message{margin-bottom:1.5rem;color:#777}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.collapsible-section{padding:1.5rem}.collapsible-section-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;border-bottom:2px solid #ddd;transition:border-color .2s}.collapsible-section-header:hover{border-bottom-color:#796087}.collapsible-section-title{margin:0;font-size:1.5rem;color:#796087}.collapsible-toggle-btn{background:none;border:none;font-size:1.2rem;color:#796087;cursor:pointer;padding:.25rem .5rem;transition:transform .2s}.collapsible-toggle-btn:hover{opacity:.8}.collapsible-toggle-btn:focus{outline:2px solid #796087;outline-offset:2px}.global-checkin-day-setting{background-color:#fff;border:2px solid #796087;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.global-checkin-day-title{margin-top:0;margin-bottom:.5rem;color:#796087}.global-checkin-day-description{margin-bottom:1rem;color:#555;font-size:.95rem}.global-checkin-day-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.global-checkin-day-select-wrapper{flex:1;min-width:200px}.global-checkin-day-select-changed{border-color:#ffc107!important;box-shadow:0 0 0 2px #ffc10740!important}.global-checkin-day-unsaved-indicator{display:block;margin-top:.25rem;font-size:.85rem;color:#856404;font-weight:500}.global-checkin-day-actions{display:flex;align-items:flex-end;flex-direction:row;gap:.5rem}.global-checkin-day-saved{color:#28a745;font-weight:700;font-size:.9rem;padding-bottom:.5rem}.global-checkin-day-no-changes{color:#6c757d;font-size:.9rem;padding-bottom:.5rem;font-style:italic}.global-checkin-day-meta{margin-top:.75rem;font-size:.85rem;color:#777}.loading-text{text-align:center;padding:2rem}.btn{padding:8px 16px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.btn:hover{opacity:.9}.btn:active{transform:scale(.98)}.btn{font-weight:500}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{padding:8px 16px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-primary{background-color:#796087;color:#fff}.btn-secondary{padding:8px 16px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{opacity:.9}.btn-secondary:active{transform:scale(.98)}.btn-secondary{background-color:#628f8d;color:#fff}.btn-danger{padding:8px 16px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.btn-danger:hover{opacity:.9}.btn-danger:active{transform:scale(.98)}.btn-danger{background-color:#c74634;color:#fff}.btn-success{padding:8px 16px;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease}.btn-success:hover{opacity:.9}.btn-success:active{transform:scale(.98)}.btn-success{background-color:#28a745;color:#fff}.btn-small{padding:.25rem .5rem;font-size:.875rem}.btn-large{padding:.75rem 1.5rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500}.form-input,.form-input-large{width:100%;padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:4px}.form-input:focus,.form-input-large:focus{outline:none;border-color:#796087;box-shadow:0 0 0 2px #79608733}.form-input-large{padding:1.5rem;font-size:2rem;border:2px solid #ddd;border-radius:8px;text-align:center;letter-spacing:.1em}.form-select{padding:.5rem;font-size:1rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;cursor:pointer}.form-select:focus{outline:none;border-color:#796087}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;max-height:750px;overflow-y:auto}.table{width:100%;border-collapse:collapse}.table thead{background-color:#f8f9fa}.table thead th{padding:.75rem;text-align:left;border-bottom:1px solid #ddd;position:sticky;top:0;background-color:#f8f9fa}.table tbody td{padding:.75rem;border-bottom:1px solid #eee}.table tbody tr:last-child td{border-bottom:none}.status-message{padding:.75rem;border-radius:4px;font-size:.9rem}.status-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-error{background-color:#f8d7da;border:1px solid #f5c6cb}.status-warning{background-color:#fff3cd;border:2px solid #ffc107;padding:1.5rem;border-radius:8px}.status-checked-in{color:#28a745;font-weight:700}.status-not-checked-in{color:#c74634}.link-button{padding:.5rem 1rem;background-color:#796087;color:#fff;text-decoration:none;border-radius:4px;display:inline-block}.link-button:hover{opacity:.9}.loading{text-align:center;padding:2rem}.error-page{padding:2rem;text-align:center}.page-container,.page-container-wide{padding:2rem;max-width:1200px;margin:0 auto;background-color:#f1efed;min-height:calc(100vh - 100px)}.page-container-wide{max-width:1400px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.page-title{font-size:2rem}.section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.grid-two-column{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.flex-row{display:flex;gap:1rem;flex-wrap:wrap}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.status-box,.status-box-default,.status-box-error,.status-box-warning,.status-box-success{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center;border:4px solid}.status-box-success{border-color:#28a745}.status-box-warning{border-color:#ffc107}.status-box-error{border-color:#c74634}.status-box-default{border-color:#628f8d}.status-icon{font-size:3rem;margin-bottom:1rem}.status-message-text{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.status-timestamp{color:#628f8d;font-size:1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,-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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{background-color:#f1efed}
