:root{color-scheme:dark;--bg:#080f1a;--panel:#111b28;--raised:#172333;--line:rgba(203,169,92,.28);--gold:#e4bf6d;--gold-light:#f5d99b;--text:#eef0f4;--muted:#97a7bb;--blue:#81b5ed;--green:#8fd0a1;--red:#ef9690;--focus:#92c9ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,input,select,textarea{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus)}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2{font-family:Georgia,"Times New Roman",serif}h2{font-size:27px;font-weight:500}fieldset{border:0;padding:0;margin:0;min-width:0}select,input,textarea{width:100%;color:var(--text);background:#0b1522;border:1px solid #394657;border-radius:6px;padding:10px 11px}select{min-height:42px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#7d8da0}label{display:block;font-size:13px;color:#d4dbe6;margin:15px 0 7px}a{color:var(--blue)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--gold);line-height:1.6}.demo-banner{background:#433416;color:#ffe2a1;text-align:center;padding:9px 16px;font-size:11px;letter-spacing:.06em;border-bottom:1px solid #806334}.hero{position:relative;isolation:isolate;min-height:215px;padding:18px 28px 14px;background:#101d2d url('/assets/calendar.png') center 38%/cover;border-bottom:1px solid var(--line)}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,12,21,.75),rgba(7,17,30,.25) 60%,rgba(7,14,24,.45)),linear-gradient(0deg,rgba(8,15,26,.96),transparent 75%)}.topline,.hero-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center}.brand{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.15em;font-weight:600;color:#d6dce5}.brand-mark{display:grid;place-items:center;font-family:Georgia,serif;font-size:23px;color:var(--gold);border:1px solid var(--gold);border-radius:50%;width:31px;height:31px;letter-spacing:0;box-shadow:0 0 20px #0008}.brand-dot{color:var(--gold)}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:#c0cbd7}.status-dot{width:6px;height:6px;border-radius:50%;background:#bd9b52;box-shadow:0 0 9px #bd9b5244}.status-dot.online{background:var(--green)}.status-dot.offline{background:var(--red)}.hero-title{margin:25px 0 22px}.hero-title h1{font-variant:small-caps;font-weight:500;letter-spacing:.035em;font-size:clamp(32px,4vw,58px);line-height:1.13;color:var(--gold-light);text-shadow:0 2px 4px #000}.hero-caption{color:#ccd5e2;font-size:13px;margin-top:9px}.hero-bottom{font-size:11px}.notice{margin:15px 24px 0;padding:12px 16px;border:1px solid #75623c;border-radius:6px;background:#302a1b;color:#f1dcaa;line-height:1.5}.notice.error{background:#2d1d22;border-color:#82474d;color:#ffc5c7}.notice.inline{margin:0 0 14px;font-size:12px}.app{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start;padding:25px 24px 20px;max-width:2400px;margin:auto}.calendar-section{min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.calendar-toolbar h2{color:var(--gold-light);font-size:31px;margin-top:5px}.toolbar-actions{display:flex;align-items:center;gap:12px}.button,.segmented button,.panel-tabs button{border:1px solid #394657;border-radius:6px;background:linear-gradient(#1c2939,#162130);color:#e1e7f0;padding:10px 16px;line-height:1.2;transition:background .15s,border-color .15s,transform .15s}.button:hover:not(:disabled){background:#28374b;border-color:#67758a}.button:active:not(:disabled){transform:translateY(1px)}.button.gold{background:linear-gradient(#f0ca72,#c7983d);border-color:#e8c46d;color:#211909;font-weight:700;box-shadow:inset 0 1px #ffe5a380,0 2px 10px #0003}.button.gold:hover:not(:disabled){background:linear-gradient(#ffdb89,#d6a74e);border-color:#f7d891}.button.subtle{padding:6px 10px;font-size:11px}.full-width{width:100%;margin-top:19px}.segmented{display:flex;border:1px solid #354458;border-radius:7px;padding:3px;background:#0c1624}.segmented button{background:none;border:0;border-radius:4px;padding:9px 14px;font-size:12px;color:var(--muted)}.segmented .is-active{background:#2c3540;color:var(--gold-light)}.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:13px}.navigation{display:flex;gap:7px}.navigation .button{padding:8px 13px;font-size:12px}.timezone-control{display:flex;align-items:center;gap:8px;margin:0;font-size:11px;color:var(--muted)}.timezone-control select{font-size:11px;min-height:32px;max-width:230px;padding:6px 25px 6px 8px;background:#101b2a;border-color:#2d3a4d}.calendar-wrap{border:1px solid #8b703d;border-radius:5px;overflow:auto;background:linear-gradient(#0c1829ed,#0b1421f0),url('/assets/calendar.png') center bottom/cover;box-shadow:0 4px 22px #0003}.calendar-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed}.calendar-table th{height:37px;color:var(--gold);font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:500;background:#101c2b;border-bottom:1px solid #8b703d}.calendar-table th+th,.calendar-table td+td{border-left:1px solid var(--line)}.calendar-table tr+tr td{border-top:1px solid var(--line)}.calendar-table td{height:clamp(108px,9.2vw,170px);vertical-align:top;padding:7px 5px 5px;position:relative;transition:background .2s}.calendar-table td:hover{background:#d0b56b08}.calendar-table td.outside{background:#070d1666}.date-button{position:relative;display:flex;align-items:center;justify-content:center;width:27px;height:27px;margin-bottom:6px;padding:0;background:none;border:0;border-radius:50%;color:#d9e0e9;font-family:Georgia,serif;font-size:14px}.date-button:hover:not(:disabled){background:#d6b66833}.date-button:disabled{opacity:1;cursor:default}.outside .date-button{color:#5b6d83}.today-cell{background:#6b90bb14}.today-cell .date-button{background:var(--gold);color:#182130;font-weight:bold}.today-word{position:absolute;left:35px;top:16px;color:var(--gold);font-size:8px;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}.raid-event{display:block;width:100%;text-align:left;overflow:hidden;position:relative;margin:4px 0 0;padding:9px 8px 8px;border:1px solid #96723b;border-left:2px solid #e7c475;border-radius:4px;background:linear-gradient(0deg,#091321ee,#09132160),url('/assets/raid.png') center 40%/cover;color:#fff;min-height:62px;transition:border-color .15s,box-shadow .15s}.raid-event:hover{border-color:#eed08a;box-shadow:0 0 0 1px #eed08a55}.raid-event.selected{border-color:#f3cb71;box-shadow:0 0 0 1px #f3cb71,inset 0 0 25px #d9a34715}.raid-event strong{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere;text-shadow:0 1px 3px #000}.raid-event span{display:block;margin-top:3px;color:#eed292;font-size:10px}.raid-event .event-attending{display:none}.calendar-footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px;color:var(--muted);font-size:10px;line-height:1.5}.raid-list{display:flex;flex-direction:column;gap:10px}.list-event{display:flex;text-align:left;gap:16px;align-items:center;width:100%;padding:15px;border-radius:7px;border:1px solid #374355;background:#121d2d;color:var(--text)}.list-event:hover,.list-event.selected{border-color:var(--gold)}.list-date{display:flex;flex-direction:column;align-items:center;min-width:52px;border-right:1px solid var(--line);padding-right:16px;color:var(--gold);font-size:11px;text-transform:uppercase}.list-date strong{font-size:27px;font-family:Georgia,serif;font-weight:400}.list-info{min-width:0}.list-info strong{display:block;font-size:15px;overflow-wrap:anywhere}.list-info span{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.list-empty{padding:60px 20px;border:1px dashed #374355;border-radius:7px;text-align:center;color:var(--muted);line-height:1.7}.raid-panel{border:1px solid #8b703d;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,#162131,#0c1521);box-shadow:0 6px 24px #0003}.empty-selection{text-align:center;padding:65px 28px;color:var(--muted);line-height:1.8}.empty-symbol{font-size:45px;color:var(--gold);display:block;margin-bottom:20px}.empty-selection h2{color:var(--gold-light);margin:10px 0 14px}.raid-art{height:185px;position:relative;isolation:isolate;overflow:hidden;background:#1b1820}.raid-art img{width:100%;height:100%;object-fit:cover;object-position:center 38%;position:absolute;inset:0;z-index:-2}.raid-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101a28,transparent 85%);z-index:-1}.raid-art>div{position:absolute;bottom:14px;left:21px;right:21px}.raid-art h2{color:var(--gold-light);font-size:26px;line-height:1.15;margin-top:5px;overflow-wrap:anywhere}.raid-panel-body{padding:4px 21px 19px}.raid-date{font-size:14px;font-weight:600;margin-bottom:5px;line-height:1.5}.raid-description{font-size:12px;line-height:1.65;color:#c6d0df;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.role-counts{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0 10px;padding:16px 0;border-block:1px solid var(--line);gap:4px}.role-counts>div{display:grid;grid-template-columns:19px 1fr;gap:5px;font-size:12px;align-items:center}.role-counts strong{grid-column:2;font-family:Georgia,serif;font-size:24px;font-weight:400}.tank{color:var(--blue)}.healer{color:var(--green)}.dps{color:var(--red)}.attendance-counts{font-size:11px;line-height:1.8;color:#bfccdb;margin-bottom:19px}.panel-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:18px;gap:18px}.panel-tabs button{background:none;border:0;border-radius:0;padding:9px 0;color:var(--muted);font-size:12px}.panel-tabs button.is-active{border-bottom:2px solid var(--gold);color:var(--gold-light)}#roster-count{background:#293548;border-radius:9px;padding:2px 6px;margin-left:4px;font-size:10px}.character-row{display:flex;gap:7px}.character-row select{min-width:0}.icon-button{padding:9px 12px;font-size:18px}.class-line{font-size:12px;margin-top:8px}.checkbox-label{display:flex;align-items:start;gap:8px;line-height:1.6;margin:18px 0 12px}.checkbox-label input{width:15px;height:15px;margin:3px 0 0;accent-color:var(--gold);flex:none}.role-tag{float:right;color:var(--gold);font-size:10px;font-weight:600;line-height:1.6}.privacy-note{margin-top:13px;font-size:10px}.form-feedback{min-height:0;font-size:12px;line-height:1.5;margin-top:11px;color:var(--green)}.form-feedback:empty{margin:0}.form-feedback.error{color:#ffb8b5}.roster-entry{padding:11px 0;border-bottom:1px solid #2a3647}.roster-entry:first-child{padding-top:0}.roster-entry strong{display:block;color:#e8edf6;font-size:13px;overflow-wrap:anywhere}.roster-entry p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.roster-entry .roster-status{color:var(--gold)}.page-footer{display:flex;justify-content:space-between;gap:12px;margin:10px 24px 24px;border-top:1px solid #223044;padding-top:16px;color:#708299;font-size:9px;letter-spacing:.08em}.page-footer span:first-child{color:#b19457}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:20px}.dialog-heading h2{color:var(--gold-light);margin-top:5px}.dialog-close{border:0;background:none;color:#c0cbd9;font-size:27px;line-height:1;padding:3px 5px;border-radius:4px}.dialog-close:hover{background:#29374a}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}dialog{width:min(520px,calc(100% - 30px));max-height:calc(100dvh - 36px);overflow:auto;background:linear-gradient(140deg,#1b283b,#0e1725);color:var(--text);border:1px solid #98763f;border-radius:10px;padding:25px;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#050a13bd;backdrop-filter:blur(4px)}
@media(min-width:1700px){.app{grid-template-columns:minmax(0,1fr) 390px;gap:28px;padding:30px 32px}.raid-art{height:220px}.raid-panel-body{padding-inline:25px}.raid-event strong{font-size:13px}.raid-event span{font-size:11px}.hero{padding-inline:32px}.calendar-table td{padding:9px}.today-word{top:18px;left:39px}.raid-event{min-height:76px}.raid-event .event-attending{display:block;font-size:9px;color:#c1cbd9}}
@media(max-width:1050px){.app{grid-template-columns:minmax(0,1fr);gap:24px}.raid-panel{width:100%}.raid-panel-body{padding:18px 24px}.raid-art{height:190px}.role-counts{max-width:500px}.calendar-table td{height:115px}.hero{min-height:205px}.empty-selection{padding:35px 24px}#signup-form{max-width:650px}}
@media(max-width:650px){.hero{padding:14px 16px;min-height:193px}.brand{font-size:8px;gap:6px;letter-spacing:.06em}.brand-mark{width:26px;height:26px;font-size:18px}.brand-dot,#guild-name{display:none}.connection{font-size:10px}.hero-title{margin-top:26px}.hero-title h1{font-size:34px}.hero-caption{font-size:11px}.app{padding:20px 12px}.calendar-toolbar{gap:15px;margin-bottom:15px}.calendar-toolbar h2{font-size:28px}.toolbar-actions{width:100%;justify-content:space-between}.calendar-controls{gap:14px}.timezone-control{width:100%;justify-content:space-between}.timezone-control select{max-width:none;width:auto;flex:1}.calendar-footer{flex-direction:column;gap:4px}.calendar-table td{height:112px}.calendar-table{min-width:560px}.calendar-wrap{overscroll-behavior-x:contain}.raid-panel-body{padding:8px 18px 19px}.raid-art{height:170px}.page-footer{margin:4px 14px 20px;font-size:8px;line-height:1.6;flex-wrap:wrap}.notice{margin:12px 12px 0}.demo-banner{font-size:9px;line-height:1.5}.hero-bottom{font-size:10px}.form-columns{gap:9px}dialog{padding:20px}.dialog-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep the desktop Activity within the available Discord panel. */
@media(min-width:1051px){
 .hero{min-height:170px;padding-top:13px;padding-bottom:11px}.hero-title{margin:13px 0 12px}.hero-title h1{font-size:clamp(32px,3.3vw,48px)}.hero-caption{margin-top:5px}.hero-title .eyebrow{font-size:9px}.hero-bottom{font-size:10px}
 .app{padding-top:19px;grid-template-columns:minmax(0,1fr) 370px;gap:20px;min-height:610px}
 .calendar-toolbar{margin-bottom:15px}.calendar-toolbar h2{font-size:29px}.calendar-table td{height:clamp(84px,10.5vh,126px)}
 .raid-art{height:116px}.raid-art h2{font-size:24px}.raid-art>div{left:17px;right:17px;bottom:11px}
 .raid-panel-body{padding:5px 17px 14px}.raid-date{font-size:12px}.raid-description{font-size:11px;max-height:65px;overflow:auto;margin:7px 0}.role-counts{margin:10px 0 7px;padding:10px 0}.role-counts strong{font-size:21px}.attendance-counts{margin-bottom:10px;font-size:10px}.panel-tabs{margin-bottom:12px}.panel-tabs button{padding:7px 0}
 #signup-fields{display:grid;grid-template-columns:91px minmax(0,1fr);gap:10px 9px;align-items:center}
 #signup-fields>label{margin:0;font-size:11px;line-height:1.5}#signup-fields select{font-size:12px;min-height:36px;padding:8px}
 #signup-fields .character-row{grid-column:2}#character-class{grid-column:2;margin:0;font-size:10px}
 #signup-fields>.checkbox-label{grid-column:1/-1;margin:3px 0}
 #main-feral-wrap,#alt-wrap{grid-column:1/-1;display:grid;grid-template-columns:91px minmax(0,1fr);gap:9px;align-items:center}
 #main-feral-wrap>label,#alt-wrap>label{margin:0;font-size:11px}#alt-feral-wrap{grid-column:1/-1;display:grid;grid-template-columns:91px minmax(0,1fr);gap:9px;align-items:center}#alt-feral-wrap>label{margin:0;font-size:11px}
 #save-signup{grid-column:1/-1;margin-top:4px}.role-tag{display:block;float:none;font-size:9px}.icon-button{padding:8px 10px}.privacy-note{margin-top:9px}.form-feedback{font-size:11px}
 .page-footer{margin-top:0;margin-bottom:15px}
}
@media(min-width:1700px){.app{grid-template-columns:minmax(0,1fr) 390px}.raid-art{height:130px}}

.raid-management{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.raid-management:not(:has(button:not([hidden]))){display:none}.button.danger{color:#fff;background:#922f38;border-color:#c75862}.button.danger:hover{background:#b83d48}.button.danger.subtle{color:#ffc0c0;background:transparent;border-color:#a65358}.button.danger.subtle:hover{background:#6b2632}.remove-summary{padding:16px;border:1px solid #66505b;border-radius:7px;margin-bottom:18px}.remove-summary strong{font-size:20px;color:var(--gold-light);overflow-wrap:anywhere}.remove-summary p{margin-top:9px;line-height:1.5}.leave-note{margin:10px 24px 14px;color:var(--muted);font-size:11px;line-height:1.6}.leave-note strong{color:var(--gold-light)}
@media(max-width:650px){.leave-note{margin-inline:14px}.raid-management .button{min-height:44px}#remove-dialog .dialog-actions{flex-wrap:wrap}}

/* Raid attendance uses class colors and role/class/spec groups. */
.class-warrior{color:#c79c6e}.class-paladin{color:#f58cba}.class-hunter{color:#abd473}.class-rogue{color:#fff569}.class-priest{color:#fff}.class-shaman{color:#4f9fff}.class-mage{color:#69ccf0}.class-warlock{color:#b49cfa}.class-druid{color:#ff943b}.class-death-knight{color:#f26b83}.class-unknown{color:var(--text)}
.attendance-dialog{width:min(1140px,calc(100% - 36px));padding:0;max-height:calc(100dvh - 36px);background:#0c1522}
.attendance-header{padding:24px 28px 0;background:linear-gradient(115deg,#1a2b41,#101b2b);border-bottom:1px solid var(--line)}
.attendance-dialog .dialog-heading{margin-bottom:22px}.attendance-dialog h2{font-size:32px;overflow-wrap:anywhere}.attendance-dialog #attendance-date{margin-top:8px}.attendance-dialog .dialog-close{min-width:44px;min-height:44px;flex-shrink:0}
.attendance-filters{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:18px}.attendance-filters button{display:flex;gap:10px;align-items:center;min-height:42px;padding:9px 14px;border-radius:6px;border:1px solid #35465c;background:#111d2d;color:#b7c5d8;font-size:13px}
.attendance-filters button[aria-pressed=true]{color:var(--gold-light);border-color:#c5a052;background:#3a311f}.attendance-filters button:hover{border-color:var(--gold)}.attendance-filters span{border-radius:10px;background:#ffffff0d;min-width:22px;padding:2px 6px;text-align:center;font-weight:700}
.attendance-body{padding:20px 28px 28px;min-height:200px}.attendance-body>.small{margin-bottom:16px}.attendance-body .form-feedback:not(:empty){margin:0 0 16px}
.roster-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.roster-role-group{min-width:0;background:#101d2c;border:1px solid #2a3b50;border-radius:8px;overflow:hidden}.roster-role-heading{display:flex;align-items:center;gap:9px;padding:16px;margin:0;border-bottom:1px solid #2a3b50;font-size:16px;font-weight:650;background:#17273a;color:#e4edf7}
.roster-group-count{margin-left:auto;color:#f5d99b;background:#24354a;border-radius:12px;min-width:27px;text-align:center;padding:3px 8px;font-size:13px}
.roster-role-icon{width:19px;height:19px;flex:0 0 19px;fill:currentColor;stroke:#0c1522;stroke-width:1.2;stroke-linejoin:round}.role-tank{color:#81b5ed}.role-healer{color:#8fd0a1}.role-dps{color:#ef9690}.role-unknown{color:#b5bfd0}
.roster-class-group{padding:17px 15px;border-bottom:1px solid #26374b}.roster-class-group:last-child{border-bottom:0}.roster-class-heading{font-size:14px;display:flex;align-items:center;gap:8px;margin:0 0 14px;font-weight:700}.roster-class-count{margin-left:auto;font-size:11px;color:#b0bfd0}
.roster-spec-group+.roster-spec-group{margin-top:17px}.roster-spec-heading{margin:0 0 9px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#a6b6ca;overflow-wrap:anywhere}.roster-players{list-style:none;margin:0;padding:0}.roster-player+.roster-player{margin-top:13px}.roster-name-line{display:flex;align-items:start;gap:8px;line-height:1.5}.roster-name-line .roster-role-icon{width:16px;height:16px;flex-basis:16px;margin-top:3px}.roster-character{font-size:13px;overflow-wrap:anywhere;font-weight:650}.roster-dual{margin:4px 0 0 24px;font-size:11px;line-height:1.5;color:#a9b9cc}.roster-role-empty{padding:17px 15px;color:#a1b2c6;font-size:12px;line-height:1.6}
.attendance-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 28px;border-top:1px solid var(--line);background:#111d2c}.attendance-footer .button{flex-shrink:0;min-height:44px}.attendance-footer p{max-width:440px;font-size:11px}
#roster-entries .roster-groups{grid-template-columns:minmax(0,1fr);gap:12px}.sidebar-attendance+.sidebar-attendance{margin-top:24px}.sidebar-attendance-heading{font-size:13px;color:var(--gold-light);margin:0 0 12px}
@media(max-width:800px){.attendance-dialog{width:calc(100% - 24px)}.attendance-header{padding:19px 18px 0}.attendance-dialog h2{font-size:27px}.attendance-body{padding:18px}.attendance-dialog .roster-groups{grid-template-columns:minmax(0,1fr)}.attendance-filters{gap:7px}.attendance-filters button{flex:1 1 calc(50% - 8px);justify-content:space-between;min-height:44px}.attendance-footer{padding:16px 18px;flex-wrap:wrap;gap:12px}.attendance-footer .button{width:100%}.attendance-footer p{max-width:none}}

.attendance-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.attendance-header,.attendance-footer{flex-shrink:0}.attendance-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1 1 auto}

/* Raid editing shares the accessible create-form layout. */
.raid-management{display:flex;flex-wrap:wrap;gap:10px}.attendance-actions{display:flex;gap:10px;flex-wrap:wrap}#edit-dialog .dialog-actions{flex-wrap:wrap}#edit-dialog .dialog-close{flex-shrink:0;min-width:44px;min-height:44px}
@media(max-width:800px){.attendance-actions{width:100%}.attendance-actions .button{flex:1 1 180px}}
