/* Fit the available content column, including when the desktop window is resized. */
#bossReportPage,#rosterPage{min-width:0;container-type:inline-size}
.hunt-report-wrap,#rosterTableWrap{width:100%;max-width:100%;overflow-x:hidden}
.hunt-report-table,#rosterTableWrap table{width:100%;min-width:0;table-layout:fixed;white-space:normal}
/* Fixed columns avoid rescanning every attendance cell during window resizing. */
.hunt-report-table{table-layout:fixed}
.hunt-report-table :is(th,td){min-width:0;padding:10px 4px;white-space:normal;overflow-wrap:anywhere;font-size:12px}
.hunt-report-table :is(th,td):first-child{width:120px;min-width:0;max-width:none;position:static;padding-inline:8px}
.hunt-report-table th:first-child{position:sticky;top:0;left:auto;z-index:4}
.hunt-report-table :is(th,td):nth-child(2){width:88px;font-variant-numeric:tabular-nums}
.hunt-report-table .hunt-boss-name{display:block;white-space:normal;overflow-wrap:anywhere}
.hunt-report-table th small{font-size:9px;line-height:1.5;letter-spacing:0}
.hunt-report-table th small span{display:block;white-space:nowrap}
.hunt-report-table :is(th,td):last-child{width:44px}
.hunt-report-heading>div{width:100%;min-width:0}
.hunt-report-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hunt-report-title h1{margin-bottom:0}
.hunt-report-export{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 11px;min-height:36px;font-size:12px}
.hunt-report-export svg{width:20px;height:20px;fill:none;stroke:#9bcdb5;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.hunt-report-filter{position:sticky;top:0;z-index:6;display:flex;align-items:end;gap:10px;padding:8px 0;margin-bottom:12px;background:#111b2b;box-shadow:0 3px 0 #111b2b}
.hunt-report-dates{display:grid;grid-template-columns:146px 146px 48px;align-items:end;gap:6px}
.hunt-report-filter label{min-width:0;font-size:11px;gap:4px}
.hunt-report-filter input{min-width:0;width:100%;min-height:36px;height:36px;padding:6px;font-size:12px}
.hunt-report-filter .button{min-height:36px;height:36px;padding:6px 10px;font-size:12px;white-space:nowrap}
.hunt-report-filter .hunt-report-query{padding:6px}
.hunt-report-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
/* Long names must shrink within their own identity column. Full text remains in title/row label. */
#rosterTableWrap .identity-name{min-width:0;max-width:100%;flex-wrap:nowrap}
#rosterBody .identity-name>span:first-child{min-width:0;max-width:100%;flex:1;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rosterBody .identity-name .my-tag{flex-shrink:0}
@container (max-width:1100px){
 #rosterTableWrap table,#rosterTableWrap tbody{display:block}
 #rosterTableWrap{border:0;overflow:visible;max-height:none;height:auto}
 #rosterTableWrap thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 #rosterTableWrap tbody{display:grid;gap:8px}
 #rosterBody tr{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:auto auto;border:1px solid #64718466;border-left:3px solid rgba(var(--row-rgb),.65);border-radius:10px;overflow:hidden}
 #rosterBody tr.me{border-left-color:var(--row-color)}
 #rosterTableWrap td{display:flex;flex-direction:column;justify-content:center;text-align:left;gap:3px;padding:9px 6px;min-width:0;font-size:11px;border-right:1px solid #64718422;border-bottom:0;line-height:1.4}
 #rosterTableWrap td[data-label]:before,#rosterTableWrap td.updated-time:before{content:attr(data-label);font-size:9px;font-weight:400;color:#aebbd0;white-space:nowrap}
 #rosterTableWrap td.updated-time:before{content:'갱신시간'}
 #rosterTableWrap td.identity-cell{display:flex;grid-column:1/5;grid-row:1;min-width:0;width:auto;padding:9px 3px;background:transparent;box-shadow:none}
 #rosterBody tr td.identity-cell,#rosterBody tr.me td.identity-cell,#rosterBody tr:hover td.identity-cell,#rosterBody tr.me:hover td.identity-cell{background:transparent;box-shadow:none}
 #rosterTableWrap .identity-layout{width:100%;grid-template-columns:17px minmax(0,.9fr) minmax(0,1.1fr);gap:2px}
 #rosterTableWrap #rosterBody .identity-guild{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:10px;margin:0;padding:3px 2px;border:0;background:transparent;line-height:1.4}
 #rosterTableWrap .identity-name{padding:0 2px;gap:2px;font-size:11px;flex-wrap:nowrap}
 #rosterBody .identity-name>span:first-child{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;line-height:1.4;max-width:100%}
 #rosterTableWrap .rank-slot{padding:0;font-size:9px}
 #rosterTableWrap .my-tag{font-size:8px;padding:0 2px}
 #rosterTableWrap td[data-label='직업']{grid-column:5/7;grid-row:1}
 #rosterTableWrap td[data-label='무기']{grid-column:7/9;grid-row:1;border-right:0;font-size:10px}
 #rosterTableWrap td[data-label='직업']:before,#rosterTableWrap td[data-label='무기']:before{display:none}
 #rosterTableWrap .job-label{font-size:10px;padding:0;gap:3px;border:0;background:transparent;flex-wrap:nowrap;white-space:nowrap}
 #rosterTableWrap .job-label svg{width:13px;height:16px}
 #rosterTableWrap td[data-label='전투력']{grid-column:1/3;grid-row:2}
 #rosterTableWrap td[data-label='명중']{grid-column:3/5;grid-row:2}
 #rosterTableWrap td[data-label='보스컬렉션']{grid-column:5/7;grid-row:2}
 #rosterTableWrap td.updated-time{grid-column:7/9;grid-row:2;border-right:0}
 #rosterTableWrap td:is([data-label='전투력'],[data-label='명중'],[data-label='보스컬렉션'],.updated-time){border-top:1px solid #64718433}
 #rosterTableWrap .updated-auto-badge{align-self:flex-start;margin:0;font-size:8px;padding:0 4px}
 #rosterPage .table-foot{flex-wrap:wrap;gap:8px}
}
/* Attendance owns its responsive rules independently from the member roster. */
.hunt-report-table td:nth-child(2){white-space:nowrap;overflow-wrap:normal}
@container (max-width:1280px){
 .hunt-report-table,.hunt-report-table tbody{display:block}
 .hunt-report-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .hunt-report-wrap{max-height:none;border:0;overflow:visible}
 .hunt-report-table tbody{display:grid;gap:12px}
 .hunt-report-table tr{content-visibility:auto;contain-intrinsic-size:auto 284px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #64718466;border-radius:10px;overflow:hidden}
 .hunt-report-table :is(td,td:first-child,td:nth-child(2),td:last-child){width:auto;min-width:0;max-width:none;position:static;padding:9px 6px;min-height:48px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:4px;border-right:1px solid #b6bec324;border-bottom:1px solid #b6bec324;line-height:1.4}
 .hunt-report-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:#bcc6d5;font-weight:400;white-space:nowrap;overflow-wrap:normal}
 .hunt-report-table td.hunt-member-cell{grid-column:1/-1;text-align:left;display:block;font-size:15px;padding:10px 12px;min-height:0;word-break:keep-all;overflow-wrap:anywhere}
 .hunt-report-table .hunt-guild{display:inline-block;margin:0 10px 0 0;font-size:11px}
 .hunt-report-table td:nth-child(2){grid-row:2;grid-column:1/3;white-space:nowrap;flex-direction:row;gap:10px;background:#192839}
 .hunt-report-table td:last-child{grid-row:2;grid-column:3/5;flex-direction:row;gap:10px;background:#192839}
 .hunt-report-table .hunt-self{border-color:#b59a62;box-shadow:inset 3px 0 #b59a62}
 .hunt-report-table .hunt-self td{border-block:none;border-bottom:1px solid #b6bec324}
}
@container (max-width:700px){
 .hunt-report-filter{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .hunt-report-dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
 .hunt-report-shortcuts .button{padding-inline:4px}
}
@container (max-width:600px){
 .hunt-report-table tr{contain-intrinsic-size:auto 380px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hunt-report-table td:last-child{grid-column:3/4}
}
@container (max-width:360px){
 .hunt-report-table tr{contain-intrinsic-size:auto 476px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .hunt-report-table td:nth-child(2){grid-column:1/2;gap:5px}
 .hunt-report-table td:last-child{grid-column:2/3}
}
