*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:#1d1d1f;background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}.timeline-page{overflow:hidden}.timeline-shell{display:flex;min-width:0;height:100vh;height:100dvh;flex-direction:column}.timeline-header{display:flex;min-width:0;min-height:55px;align-items:flex-start;justify-content:space-between}.timeline-header h1{flex:none;margin:0;color:#111;font-size:2.125rem;font-weight:400;line-height:1.2}.admin-link{white-space:nowrap}.timeline-filters{display:flex;min-width:0;margin:8px;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.filter-button{display:inline-flex;min-width:40px;min-height:38px;flex:none;align-items:center;justify-content:center;gap:8px;padding:4px 8px;border:1px solid #ececec;border-radius:5px;background:#fff;color:inherit;cursor:pointer;font-size:14px}.filter-button.inactive{background:#ececec;filter:grayscale(100%)}.filter-button:hover,.filter-button:focus-visible{border-color:#111;background:#ececec}.timeline-status{padding:1rem;text-align:center}.timeline-status.error{color:#a40000}.timeline{min-width:0;min-height:0;flex:1 1 auto}.admin-page{min-height:100vh;background:#f5f6f8}.admin-page a{color:#075ec7}.admin-shell,.edit-shell{width:min(100% - 2rem,90rem);margin:0 auto;padding:1.5rem 0 3rem}.edit-shell{width:min(100% - 2rem,64rem)}.admin-header,.section-heading,.table-actions,.form-actions{display:flex;align-items:center}.admin-header{justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-header h1,.edit-shell h1{margin:.25rem 0 0}.admin-panel,.login-card{border:1px solid #dfe2e7;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0000000f}.admin-panel{margin-bottom:1.5rem;padding:1.25rem}.admin-panel h2{margin-top:0}.login-card{width:min(100% - 2rem,30rem);margin:8vh auto 0;padding:2rem}.login-card h1{margin-top:0}.stack-form{display:grid;gap:1rem;margin:1.5rem 0}.stack-form label,.event-form label{display:grid;gap:.35rem;color:#34373c;font-size:.9rem;font-weight:600}input,select{width:100%;min-height:2.75rem;padding:.55rem .7rem;border:1px solid #aeb4bd;border-radius:5px;background:#fff;color:#1d1d1f}input:focus,select:focus{border-color:#075ec7;outline:2px solid rgb(7 94 199 / 20%);outline-offset:1px}input[aria-invalid=true],select[aria-invalid=true]{border-color:#b42318}.primary-button,.secondary-button,.danger-button,.small-button{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;padding:.55rem .9rem;border:1px solid transparent;border-radius:5px;cursor:pointer;font-weight:600;text-decoration:none}.primary-button{background:#075ec7;color:#fff}.secondary-button,.small-button{border-color:#aeb4bd;background:#fff;color:#1d1d1f}.danger-button{border-color:#d92d20;background:#fff;color:#b42318}.small-button{min-height:2rem;padding:.35rem .55rem;font-size:.85rem}.event-form{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(11rem,1fr) minmax(15rem,1fr);gap:1rem;align-items:start}.form-wide{grid-column:1 / -1}.date-fields{display:contents}.date-fields[hidden],[hidden]{display:none!important}.date-inputs{display:grid;min-width:0;margin:0;padding:0;border:0;grid-template-columns:minmax(8rem,1fr) minmax(9rem,1fr);gap:.5rem}.field-error{display:block;grid-column:1 / -1;color:#b42318;font-size:.82rem;font-weight:400}.message{padding:.75rem 1rem;border-radius:5px}.message.success{border:1px solid #75c28b;background:#edf9f0;color:#176b32}.message.error{border:1px solid #f0a6a0;background:#fff1f0;color:#9f1c13}.section-heading{justify-content:space-between}.table-scroll{overflow-x:auto}.event-table{width:100%;border-collapse:collapse;font-size:.9rem}.event-table th,.event-table td{padding:.7rem .6rem;border-top:1px solid #e2e4e8;text-align:left;vertical-align:middle}.event-table th{white-space:nowrap}.event-table td:first-child{width:36%}.event-table td:nth-child(2),.event-table td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}.table-actions{gap:.5rem}@media(max-width:900px){.event-form{grid-template-columns:1fr 1fr}}@media(max-width:700px){.timeline-header{flex-direction:column}.timeline-header h1{font-size:2rem}.timeline-filters{width:100%;margin:6px 0;padding:0 8px 3px}.admin-shell,.edit-shell{width:min(100% - 1rem,90rem);padding-top:.75rem}.admin-header{align-items:flex-start}.event-form,.date-inputs{grid-template-columns:1fr}}
