*{box-sizing:border-box}body{color:#1f2937;background:#f3f4f6;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.pad{padding:1rem}header{color:#fff;background:#1e3a5f;flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}header nav{flex:1;gap:.3rem;display:flex}header button{color:#fff;background:0 0;border:1px solid #fff5}header button.active{background:#fff2}.who{opacity:.85;font-size:.9rem}main{padding:1rem}button{cursor:pointer;font:inherit;background:#fff;border:1px solid #9ca3af;border-radius:6px;padding:.4rem .8rem}button[type=submit]{color:#fff;background:#1e3a5f;border-color:#1e3a5f}button.danger{color:#b91c1c;border-color:#b91c1c}input,select,textarea{font:inherit;border:1px solid #9ca3af;border-radius:6px;padding:.35rem .5rem}label{flex-direction:column;gap:.2rem;margin-bottom:.5rem;font-size:.9rem;display:flex}label.inline,label.chip{flex-direction:row;align-items:center;gap:.4rem}.card{background:#fff;border-radius:10px;margin-bottom:1rem;padding:1rem 1.2rem;box-shadow:0 1px 3px #0002}.narrow{flex-direction:column;max-width:380px;margin:4rem auto;display:flex}.error{color:#b91c1c}.ok{background:#ecfdf5;border:1px solid #10b981;border-radius:6px;margin:.5rem 0;padding:.5rem}.hint{color:#6b7280;font-size:.8rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.row>label{flex:1;min-width:10rem}.calendar-layout{grid-template-columns:220px 1fr;gap:1rem;display:grid}.calendar-layout aside{background:#fff;border-radius:10px;height:fit-content;padding:.8rem}.calendar-layout aside h3{margin:.5rem 0 .3rem;font-size:1rem}.cal{background:#fff;border-radius:10px;padding:.8rem}.dot{border-radius:50%;width:.8rem;height:.8rem;display:inline-block}.member-event{flex-direction:column;gap:2px;min-width:0;padding:1px 2px;display:flex;overflow:hidden}.member-event .fc-event-time,.member-event .fc-event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-event-month .fc-event-time{flex:none;margin-right:.25rem;font-weight:600;overflow:visible}.member-event-line .fc-event-title{flex:auto;min-width:0}.member-event-line{align-items:center;min-width:0;display:flex}.member-strip{background:#fff;border-radius:2px;flex:none;gap:2px;width:100%;height:5px;display:flex;overflow:hidden;box-shadow:0 0 0 1px #0003}.member-strip-seg{min-width:0;height:100%;display:block}.member-dots{flex:none;gap:2px;margin-right:.3rem;display:inline-flex}.member-dot{border-radius:50%;width:.55rem;height:.55rem;display:inline-block;box-shadow:0 0 0 1px #0004}.member-event-list{flex-direction:row;align-items:center;gap:.5rem}.member-event-list .member-strip{width:2.6rem;height:.7rem}.fc .fc-multi-member .fc-list-event-dot{display:none}.fc .fc-daygrid-event.fc-multi-member{display:block}.modal{z-index:10;background:#0006;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow:auto}.editor{width:min(640px,100%)}.editor fieldset{border:none;margin:0;padding:0}.editor fieldset.scope{border:1px solid #e5e7eb;border-radius:6px;flex-wrap:wrap;gap:1rem;margin-bottom:.6rem;padding:.4rem .6rem;display:flex}.recurrence{margin-bottom:.5rem}.recurrence label.interval input{width:4.5rem}.editor fieldset.weekdays,.editor fieldset.ends{flex-wrap:wrap;align-items:center;gap:.3rem .8rem;margin-bottom:.5rem;display:flex}.weekdays legend,.ends legend{width:100%;margin-bottom:.2rem;padding:0;font-size:.9rem}.weekdays label.day{cursor:pointer;border:1px solid #9ca3af;border-radius:6px;flex-direction:row;align-items:center;gap:.2rem;margin:0;padding:.2rem .45rem}.weekdays label.day:has(input:checked){color:#fff;background:#1e3a5f;border-color:#1e3a5f}.weekdays label.day:has(input:focus-visible){outline-offset:2px;outline:2px solid #2563eb}.ends label{margin:0}.ends input[type=number]{width:5rem}.advanced summary{cursor:pointer;margin-bottom:.3rem;font-size:.9rem}.members{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.actions{justify-content:flex-end;gap:.5rem;display:flex}table{border-collapse:collapse;width:100%;margin-bottom:.6rem}th,td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.3rem .4rem}@media (width<=760px){.calendar-layout{grid-template-columns:1fr}}.settings{max-width:860px;margin:0 auto}
