/* Raid preparation: one roster, automatic assignments, visible exceptions. */
.aq-main-intro { display:grid; gap:8px; margin:0 0 22px; padding:17px 20px; border:1px solid #5e61504f; border-radius:8px; background:#b9a16a09; color:#a8b5c5; font-size:12px; line-height:1.7; }
.aq-main-intro strong { color:#d7c49b; font-size:13px; }
.raid-aq40 #mainAttribCount { display:none; }
.aq-main-board { display:grid; grid-template-columns:minmax(250px,.9fr) minmax(0,1.9fr); gap:22px; align-items:start; }
.aq-main-right { display:grid; gap:22px; min-width:0; }
.aq-main-board .attrib-card { min-width:0; padding:18px; }
.aq-main-board .attrib-card>header { display:flex; align-items:center; gap:10px; padding:0 0 18px; margin-bottom:6px; border-bottom:1px solid #536077; }
.aq-main-board .attrib-card h3 { font-size:20px; margin:0; color:#dbc7a3; }
.aq-tank-order-row { display:grid; grid-template-columns:74px minmax(0,1fr); align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid #344257; }
.aq-tank-order-row:nth-child(5) { border-top:2px solid #657184; margin-top:10px; padding-top:20px; }
.aq-tank-order-row>span { display:flex; align-items:center; gap:12px; font-size:12px; color:#c5cfdd; }
.aq-tank-order-row>div { display:grid; gap:7px; min-width:0; }
.aq-tank-order-row small { font-size:10px; color:#8f9fb5; line-height:1.5; }
.aq-main-board select { width:100%; min-width:0; min-height:35px; border:1px solid #50627b; background:#162337; color:#dce6f3; padding:6px 8px; border-radius:5px; font:12px 'DM Sans',sans-serif; }
.aq-no-marker { display:inline-grid; width:20px; color:#78879c; text-align:center; }
.aq-healing-head,.aq-healing-row { display:grid; grid-template-columns:minmax(130px,1fr) minmax(180px,1.5fr) 75px; gap:18px; }
.aq-healing-head { color:#8294ad; font-size:9px; letter-spacing:.09em; padding:16px 0 10px; }
.aq-healing-row { padding:16px 0; border-bottom:1px solid #42516a; align-items:center; }
.aq-tank-target { display:grid; grid-template-columns:20px 1fr; gap:8px; align-items:center; color:#bdcadd; font-size:12px; }
.aq-tank-target .attrib-player,.aq-tank-target>.attrib-vacant { grid-column:1/-1; justify-self:start; margin-top:4px; }
.aq-healer-slots { display:grid; gap:12px; }
.aq-healer-slots label { display:grid; grid-template-columns:57px minmax(0,1fr); gap:9px; align-items:center; min-width:0; }
.aq-healer-slots label>span:first-child { font-size:10px; color:#91a3ba; }
.aq-main-board .attrib-player { max-width:100%; width:max-content; padding:5px 7px; font-size:11px; }
.aq-main-board .attrib-player b { overflow-wrap:anywhere; }
.aq-group-label { font-size:11px; color:#cfb78b; border:1px solid #80704a55; background:#bd9e6b09; border-radius:5px; padding:6px 8px; text-align:center; }
.aq-support-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; padding-top:16px; }
.aq-support-row { display:grid; grid-template-columns:50px minmax(0,1fr); align-items:center; gap:8px; min-width:0; }.aq-support-row>b { font-size:11px; color:#95a8c1; }
.aq-binding-label { display:block; margin-bottom:6px; color:#92a5c0; font:10px 'DM Sans',sans-serif; }
.aq-collective { display:grid; gap:10px; }.aq-collective>strong { font-size:12px; color:#d5c5a6; }.aq-collective>div { display:flex; flex-wrap:wrap; gap:6px; }.aq-collective>small { color:#7c8fa8; font:10px 'DM Sans',sans-serif; line-height:1.5; }
.aq-member { background:var(--class-bg,#a6b3c6); color:#111820; padding:3px 6px; border-radius:4px; font:11px 'DM Sans',sans-serif; }
.aq-marker-transition { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#aab9cc; font-size:11px; }
.aq-transition-arrow { color:#ddc18e; font-size:27px; line-height:1; font-weight:600; }
/* AQ40: compact responsibilities, with no empty table columns. */
.raid-aq40 .hero { min-height:98px; padding:20px 26px; margin:18px 0; }
.raid-aq40 .hero h1 { font-size:30px; }
.raid-aq40 .panel-head { padding-bottom:10px; }
.raid-aq40 #page-raids .table-toolbar { justify-content:flex-end; min-height:48px; padding:4px 0 10px; }
.raid-aq40 .boss-jump { gap:6px; padding-bottom:10px; }
.raid-aq40 .wing-boss-section { margin-bottom:22px; padding-top:6px; }
.raid-aq40 .wing-boss-heading { padding:8px 0 10px; margin-bottom:12px; gap:9px; }
.raid-aq40 .wing-boss-heading h3 { font-size:20px; }
.raid-aq40 .wing-boss-heading>span { height:27px; min-width:27px; font-size:10px; }
.aq-boss-board { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); gap:10px; }
.aq-boss-card { min-width:0; align-self:start; border:1px solid #39485b; border-radius:8px; background:#152031; overflow:hidden; }
.aq-boss-card>h4 { font:600 12px 'DM Sans',sans-serif; color:#e5ceaa; background:#233044; padding:10px 12px; margin:0; border-bottom:1px solid #3a495b; }
.aq-compact-rows { display:grid; }
.aq-compact-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:10px 12px; border-bottom:1px solid #3b495c; min-width:0; }
.aq-compact-row:last-child { border:0; }
.aq-compact-player { flex:1; min-width:0; }
.aq-compact-target { flex:0 0 auto; max-width:100%; }
.aq-compact-instruction { margin:0; flex:1 0 100%; font:12px/1.5 'DM Sans',sans-serif; color:#d3dfed; border-left:2px solid #c4a267; padding-left:8px; }
.aq-person-binding { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.aq-binding-label { margin:0; font-size:11px; min-width:36px; }
.aq-boss-board .raid-player-badge { padding:4px 7px; background:var(--class-bg,#8193a9); color:#131b23; max-width:100%; font-size:12px; }
.aq-boss-board .raid-player-badge .player-name { color:inherit; }
.aq-boss-board .inline-attribution,.aq-rotation .inline-attribution { display:grid; grid-template-columns:48px minmax(0,1fr); max-width:none; align-items:center; gap:4px 6px; }
.aq-boss-board .inline-attribution .attribution-mode,.aq-rotation .attribution-mode { grid-column:2; }
.aq-boss-board .inline-attribution select,.aq-rotation select { min-height:30px; padding:4px 6px; }
.aq-collective { gap:6px; }
.aq-collective>div { gap:4px; }.aq-member { padding:3px 5px; }
.aq-boss-B2 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.aq-boss-B2 .aq-compact-row:has(.aq-collective) { align-items:flex-start; }
.aq-kick-label { font-size:11px; color:#e6c68c; }
.aq-boss-E2 { grid-template-columns:minmax(210px,1fr) minmax(0,1.8fr); }
.aq-boss-H2 .aq-compact-rows,.aq-boss-U2 .aq-compact-rows { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aq-boss-H2 .aq-compact-row,.aq-boss-U2 .aq-compact-row { border:0; border-bottom:1px solid #3b495c; }
.aq-boss-U2 .aq-compact-rows { grid-template-columns:repeat(5,minmax(0,1fr)); }
.aq-boss-U2 .aq-compact-row { flex-direction:column; align-items:flex-start; border-right:1px solid #3b495c; }
.aq-boss-K2,.aq-boss-Q2 { max-width:380px; }
.aq-boss-N2 { max-width:680px; grid-template-columns:1fr; }
.aq-boss-T2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aq-twins-tanks { grid-column:1/-1; }
.aq-twins-tanks .aq-compact-rows { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aq-boss-T2 .aq-compact-player { width:100%; }
.aq-rotation { display:flex; align-items:center; gap:16px; padding:14px; border:1px solid #3a495e; border-radius:8px; background:#152031; }
.aq-rotation>div { flex:1; min-width:0; }
.raid-aq40 .admin-boss { padding:14px 0; margin-top:8px; }
.raid-aq40 .admin-boss>strong { font-size:20px; display:block; margin-bottom:12px; }
.aq-main-board { grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr); gap:16px; }
.aq-main-board .attrib-card { padding:14px; }
.aq-main-board .attrib-card>header { padding-bottom:10px; margin-bottom:2px; }
.aq-main-board .attrib-card h3 { font-size:18px; }
.aq-tank-order-row { padding:10px 0; gap:10px; }
.aq-tank-order-row:nth-child(5) { margin-top:4px; padding-top:13px; }
.aq-healing-row { padding:10px 0; gap:12px; }
.aq-healing-head { padding:12px 0 7px; }
.aq-tank-target { display:flex; flex-wrap:wrap; gap:6px; }
.aq-tank-target .attrib-player,.aq-tank-target>.attrib-vacant { margin:0; }
.aq-healer-slots { gap:6px; }
/* C’Thun: roster-backed group placements and shared annotations. */
.cthun-layout { display:grid; grid-template-columns:minmax(0,650px) minmax(230px,1fr); max-width:1000px; gap:14px; align-items:start; }
.cthun-room { position:relative; isolation:isolate; width:100%; aspect-ratio:1/1.04; overflow:hidden; border:1px solid #536257; border-radius:44% 44% 21% 21%; background:radial-gradient(ellipse at 50% 49%,#544d2b18 0 20%,transparent 21%),repeating-conic-gradient(from 0deg at 50% 49%,#a18c4f06 0deg 30deg,#131f240d 30deg 60deg),radial-gradient(ellipse at 50% 48%,#645431 0%,#3b3b2c 43%,#1e2931 69%,#141d29 85%); box-shadow:inset 0 0 45px #090f19; }
.cthun-room::before { content:''; position:absolute; z-index:-1; inset:6%; border:2px solid #8f855840; border-radius:50%; }
.cthun-room-ring { position:absolute; inset:27% 27% 30%; border:1px dashed #c5ae6760; border-radius:50%; background:#dbc28407; }
.cthun-core { position:absolute; left:50%; top:49%; transform:translate(-50%,-50%); display:grid; justify-items:center; gap:7px; color:#f1e7cb; font-size:18px; text-shadow:0 2px 8px #000; }
.cthun-eye { display:block; width:54px; height:54px; border:1px solid #8c855c; border-radius:50%; background:radial-gradient(ellipse 6px 22px at center,#140b1e 45%,#f8d760 53% 67%,#a0823b 75%,transparent 84%),radial-gradient(ellipse at center,#633b72,#261333 57%,#0e1123 70%); box-shadow:0 0 25px #d2bc3c35; }
.cthun-sector { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); width:29%; max-width:190px; padding:8px; border:1px solid #79755377; border-radius:7px; background:#101b27df; box-shadow:0 4px 14px #0003; min-width:0; }
.cthun-sector>header { display:flex; justify-content:center; align-items:center; gap:7px; margin-bottom:6px; color:#d9d6b9; font:600 11px 'DM Sans',sans-serif; }
.cthun-sector .raid-marker { width:25px; height:25px; }
.cthun-sector>div { display:flex; flex-wrap:wrap; justify-content:center; gap:3px; }
.cthun-player { display:inline-flex; align-items:center; gap:4px; max-width:100%; overflow-wrap:anywhere; border-radius:3px; padding:3px 5px; color:#141a20; background:var(--class-bg,#95a4b8); font:11px/1.2 'DM Sans',sans-serif; }
.cthun-player .category-icon { width:13px; height:13px; }
.cthun-entrance { position:absolute; bottom:3%; left:50%; transform:translateX(-50%); display:grid; justify-items:center; color:#ddcc9e; letter-spacing:.18em; font:600 11px 'DM Sans',sans-serif; }
.cthun-entrance>span { font-size:30px; line-height:1.2; color:#a6c599; }
.cthun-map-caption { display:flex; justify-content:space-between; color:#8d9daf; font:10px 'DM Sans',sans-serif; padding:8px 2px; }
.cthun-tools { display:grid; gap:12px; min-width:0; }
.cthun-tools>section { padding:12px; border:1px solid #3b495c; border-radius:8px; background:#152031; }
.cthun-tools h4 { font:600 12px 'DM Sans',sans-serif; color:#decca7; margin:0 0 10px; }
.cthun-empty { font:11px 'DM Sans',sans-serif; color:#93a4b8; margin:0; }
.cthun-mapping>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cthun-mapping label { display:flex; align-items:center; gap:5px; min-width:0; }
.cthun-tools select,.cthun-tools textarea { width:100%; min-width:0; font:11px/1.5 'DM Sans',sans-serif; border:1px solid #4d5e77; border-radius:4px; padding:6px; color:#e3eaf3; background:#111c2a; }
.cthun-tools select { padding:5px 2px; }.cthun-tools textarea { resize:vertical; box-sizing:border-box; }
.cthun-tools button { font:11px 'DM Sans',sans-serif; background:#253348; color:#d8c9ab; border:1px solid #536074; border-radius:4px; padding:6px 9px; cursor:pointer; }
.cthun-annotations ol { padding:0; margin:0; list-style:none; display:grid; gap:10px; }
.cthun-annotations li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:7px; align-items:start; }
.cthun-annotations li p { margin:0; font:12px/1.5 'DM Sans',sans-serif; color:#ced8e7; white-space:pre-wrap; overflow-wrap:anywhere; }
.cthun-note-number,.cthun-map-note { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#d0ae6f; color:#141a24; font:700 11px 'DM Sans',sans-serif; }
.cthun-map-note { position:absolute; transform:translate(-50%,-50%); border:2px solid #f4ddb5; box-shadow:0 2px 9px #0009; z-index:5; }
.cthun-map-note.is-moving { outline:3px solid #d3e6b9; }
.cthun-room.is-placing { cursor:crosshair; outline:2px solid #c6b580; outline-offset:2px; }
.cthun-note-actions { display:flex; gap:6px; margin-top:5px; }
.cthun-note-form { display:grid; gap:7px; margin-top:12px; border-top:1px solid #3b495c; padding-top:10px; }
.cthun-note-form label { display:grid; gap:6px; font:11px 'DM Sans',sans-serif; color:#a8b9cb; }
.cthun-placement-hint { font:12px/1.5 'DM Sans',sans-serif; color:#d7c48e; margin:6px 0; }
.cthun-placement-hint button { border:0; padding:0; background:none; font:inherit; color:inherit; text-decoration:underline; cursor:pointer; }
.cthun-unplaced>div { display:grid; gap:6px; margin-top:10px; }.cthun-unplaced b { font:11px 'DM Sans',sans-serif; color:#a2b3c9; }.cthun-unplaced>div>div { display:flex; gap:4px; flex-wrap:wrap; }
@media(max-width:1100px){.aq-boss-B2 { grid-template-columns:repeat(3,minmax(0,1fr)); }.aq-boss-U2 .aq-compact-rows { grid-template-columns:repeat(3,minmax(0,1fr)); }.cthun-layout { grid-template-columns:minmax(0,1fr); }.cthun-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }.cthun-tools .cthun-annotations { grid-row:span 2; }.cthun-room { max-width:680px; margin:auto; }}
@media(max-width:760px){.aq-boss-B2,.aq-boss-E2 { grid-template-columns:1fr; }.aq-boss-H2 .aq-compact-rows,.aq-boss-U2 .aq-compact-rows { grid-template-columns:repeat(2,minmax(0,1fr)); }.aq-rotation { gap:7px; padding:10px; flex-wrap:wrap; }.aq-rotation>div { flex:1 0 36%; }.cthun-tools { grid-template-columns:1fr; }.cthun-tools .cthun-annotations { grid-row:auto; }.cthun-sector { padding:5px; }.cthun-sector>header { font-size:9px; gap:4px; }.cthun-sector .raid-marker { width:20px; height:20px; }.cthun-player { font-size:9px; padding:2px 3px; }.cthun-player .category-icon { width:11px; height:11px; }.cthun-core { font-size:15px; }.cthun-eye { width:42px; height:42px; }}
@media(max-width:1100px){.aq-main-board { grid-template-columns:minmax(225px,.8fr) minmax(0,1.4fr); gap:16px; }.aq-healing-head,.aq-healing-row { grid-template-columns:minmax(85px,.8fr) minmax(130px,1.4fr) 65px; gap:10px; }.aq-healer-slots label { grid-template-columns:1fr; gap:6px; }.aq-main-board .attrib-card { padding:14px; }.aq-support-grid { grid-template-columns:1fr; }}
@media(max-width:760px){.aq-main-board { grid-template-columns:1fr; }.aq-tank-order-row { grid-template-columns:75px 1fr; }.aq-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.aq-main-board .attrib-card h3 { font-size:19px; }}
@media(max-width:440px){.aq-healing-head,.aq-healing-row { grid-template-columns:minmax(75px,.9fr) minmax(90px,1.2fr) 60px; gap:8px; }.aq-main-board .attrib-player { font-size:10px; padding:4px; }.aq-main-board .category-icon { display:none; }.aq-group-label { font-size:10px; padding:5px 3px; }.aq-support-grid { grid-template-columns:1fr; }}
html { scrollbar-gutter: stable; scroll-behavior: smooth; }
.app-shell { max-width: 1640px; }
.topbar { min-height: 84px; }
.main-nav .nav-link { font-size: 13px; }
.raid-context { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding:20px 0; border-bottom:1px solid #354050; }
.raid-picker { display:grid; gap:7px; min-width:250px; }
.raid-picker>span { color:#b49c75; font-size:10px; letter-spacing:.12em; font-weight:700; }
.raid-picker select { width:100%; min-height:44px; padding:8px 36px 8px 12px; background:#1a2331; color:#f0e4cf; border:1px solid #566174; border-radius:8px; font:600 15px 'DM Sans',sans-serif; }
.raid-state-label { color:#8ecbb5; background:#8ecbb510; border:1px solid #8ecbb530; border-radius:30px; padding:5px 9px; font-size:11px; }
.raid-context-status { display:grid; gap:6px; font-size:12px; color:#b9c6d6; }
.raid-context-status small { font-size:11px; color:#8baf9d; max-width:420px; line-height:1.5; }
.raid-context-status [data-status=pending],.raid-context-status [data-status=saving] { color:#d9bb80; }
.raid-context-status [data-status=error],.raid-context-status [data-status=conflict] { color:#f2a19d; }
.raid-context-actions { margin-left:auto; display:flex; flex-wrap:wrap; gap:8px; }
.raid-context-actions button,.raid-card-actions button { border:1px solid #455368; background:#1b2636; border-radius:6px; color:#d6dfeb; font:12px 'DM Sans',sans-serif; padding:10px 12px; cursor:pointer; }
.raid-context-actions button:hover,.raid-card-actions button:hover { border-color:#bfa57c; color:#f0ddb9; background:#263246; }
.hero { min-height:142px; margin-top:24px; margin-bottom:24px; padding:28px 32px; border-radius:12px; }
.hero h1 { font-size:38px; }
.hero-copy p { margin:12px 0 0; color:#bdc6d2; font-size:13px; text-transform:capitalize; }
.raid-aq40 .hero { background:radial-gradient(ellipse at 85% 90%,#a67f333b 0%,transparent 50%),linear-gradient(120deg,#1a2030 0%,#292720 70%,#4a3c25); border:1px solid #77603b; }
.raid-layout { grid-template-columns:210px minmax(0,1fr); gap:24px; align-items:start; }
.wing-sidebar { width:210px; min-height:0; padding:22px 15px; border-radius:10px; }
.wing-button { min-height:49px; font-size:13px; padding:12px 10px; margin-bottom:6px; }
.sidebar-footer { padding-top:24px; font-size:11px; line-height:1.8; }
.sidebar-footer small { font-size:10px; }
.content-panel { border-radius:10px; }
.panel-head { padding-bottom:20px; gap:18px; }
.panel-head h2 { font-size:28px; }
.panel-head p { font-size:12px; line-height:1.8; }
.breadcrumb { font-size:10px; margin-bottom:10px; }
.table-toolbar { min-height:68px; gap:16px; padding:14px 0; }
.table-title { font-size:14px; }
.search-wrap input { font-size:12px; min-height:38px; }
.my-assignments { min-height:38px; font-size:12px; }
.wing-boss-section { margin:0 0 38px; padding-top:16px; scroll-margin-top:24px; }
.wing-boss-heading { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:14px 0 18px; border-bottom:1px solid #485668; margin-bottom:18px; }
.wing-boss-heading>span { display:grid; place-items:center; min-width:32px; height:32px; background:#bfa57c14; border:1px solid #9b805f55; border-radius:7px; font-size:12px; color:#d6b987; }
.wing-boss-heading h3 { font-size:23px; margin:0; }
.wing-boss-heading>small { margin-left:auto; font:11px 'DM Sans',sans-serif; color:#8fa69f; }
.boss-section-title { font-size:12px; letter-spacing:.04em; margin:24px 0 12px; color:#adbcd0; }
.assignment-table { table-layout:fixed; width:100%; border-collapse:collapse; }
.assignment-table th { padding:12px; font-size:10px; letter-spacing:.07em; color:#8e9eb4; }
.assignment-table td { padding:17px 12px; border-bottom:1px solid #3d4b5f; font-size:13px; line-height:1.7; vertical-align:middle; background:transparent; }
.assignment-table tr:last-child td { border-bottom-color:#4f5e73; }
.assignment-table tbody tr:hover td { background-color:#a6b8d905; }
.assignment-table .player-column { width:25%; }.assignment-table .role-column { width:10%; }.assignment-table .assignment-column { width:29%; }.assignment-table .instruction-column { width:36%; }
.raid-player-badge { padding:6px 9px; font-size:12px; gap:7px; border-radius:5px; }
.raid-role { font-size:11px; }
.assignment-instruction,.assignment-text { font-size:12px; line-height:1.7; }
.inline-attribution { display:grid; gap:7px; max-width:210px; }
.inline-attribution label { min-width:0; }
.inline-attribution select { width:100%; min-height:36px; padding:6px 8px; border:1px solid #617086; background:#19283a; color:#edf1f6; border-radius:6px; font:12px 'DM Sans',sans-serif; }
.attribution-mode { justify-self:start; background:none; border:0; padding:0; color:#91bca8; font:10px 'DM Sans',sans-serif; }
.attribution-mode.manual { color:#e0bb79; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.attribution-mode:disabled { opacity:.85; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.boss-jump { display:flex; flex-wrap:wrap; gap:8px; padding:0 0 20px; }
.boss-jump a { color:#c4d0df; background:#1f2b3d; border:1px solid #38485d; padding:7px 10px; border-radius:6px; font-size:11px; text-decoration:none; }
.boss-jump a:hover { color:#e4cc9e; border-color:#b69a6f; }
.raid-aq40 .source-details { display:none; }
.page-intro { padding-top:30px; padding-bottom:24px; }
.page-intro h1 { font-size:36px; }
.page-intro>p { font-size:13px; line-height:1.8; max-width:850px; }
.roster-edit-hint { display:flex; gap:18px; padding:17px 20px; margin-bottom:20px; border:1px solid #65745c55; background:#90ad7710; border-radius:8px; color:#a9b8b0; font-size:12px; line-height:1.7; }
.roster-edit-hint strong { color:#c5d5bf; flex-shrink:0; }
.standalone-panel { padding:22px; }
.roster-grid-wrap { overflow:visible; }
.roster-grid { display:grid; grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:repeat(9,minmax(0,1fr)); gap:10px; width:100%; min-width:0; }
.roster-class-column { width:auto; min-width:0; border-radius:8px; padding:10px 8px; }
.roster-class-column>header { display:flex; flex-wrap:nowrap; gap:3px; padding:4px 0 14px; font-size:11px; min-height:50px; }
.roster-class-column>header .category-icon,.roster-class-column>header img { width:16px; height:16px; }
.roster-class-column>header strong { font-size:10.5px; overflow-wrap:normal; min-width:0; }
.roster-class-column>header small { font-size:10px; margin-left:auto; }
.roster-class-column ul { gap:9px; }
.roster-class-column li { padding:12px 8px; min-height:70px; border:1px solid #52607755; background:#0b132138; border-radius:6px; }
.roster-player-line { font-size:12px; gap:5px; min-width:0; }
.roster-player-line strong { font-size:12px; overflow-wrap:anywhere; }
.roster-slot-number { display:none; }
.roster-class-caption { display:block; margin-top:8px; color:#b0bbca; font-size:10px; }
.roster-edit-only { display:none; }
.raid-manage .roster-edit-only { display:flex; gap:3px; }
.raid-manage .roster-class-column .roster-player-line { display:none; }
.roster-edit-only select { width:100%; min-width:0; font:11px 'DM Sans',sans-serif; min-height:31px; background:#172436; border:1px solid #526077; border-radius:4px; color:#e4eaf1; padding:4px; }
.roster-edit-only button { background:none; border:0; color:#acb5c1; cursor:pointer; padding:0; font-size:18px; }
.raid-manage select.roster-add-select { display:block; margin-top:10px; width:100%; min-width:0; min-height:32px; padding:4px; font-size:11px; color:#c5d2e3; background:#1e2b3c; border:1px dashed #53617a; border-radius:5px; }
.roster-class-empty { padding:16px 0; }
.roster-data-status { font-size:12px; padding:10px 0 18px; color:#9baebf; }
.admin-workspace { grid-template-columns:210px minmax(0,1fr); gap:24px; }
.admin-sidebar { padding:16px 12px; }
.admin-tab { min-height:46px; font-size:12px; line-height:1.5; padding:10px 12px; }
.admin-policy p { font-size:11px; line-height:1.8; }.admin-policy strong { font-size:12px; }
.admin-content { padding:26px; }
.admin-roster-item { min-height:66px; padding:14px; gap:18px; }
.admin-roster-item .player-name,.admin-role-field,.admin-role-field select,.class-cell { font-size:12px; }
.admin-roster-item .selection-state { font-size:11px; }
.admin-boss { padding:22px 0; margin-top:16px; }
.admin-boss>strong { font-size:23px; }.admin-boss>span { font-size:12px; margin:10px 0 18px; }
.advanced-attribs { margin:18px 0; padding:12px; background:#111c2b; border:1px solid #37465a; border-radius:7px; }
.advanced-attribs>summary { cursor:pointer; color:#8f9fb5; font-size:11px; }
.management-assignment label,.management-assignment .assignment-field>span { font-size:11px; }
.management-assignment select,.management-assignment textarea { font-size:12px; min-height:38px; }
.management-note,.boss-no-assignment { font-size:12px; line-height:1.8; }
.raid-empty { padding:32px; border:1px dashed #53617a; border-radius:8px; background:#142031; margin:12px 0 24px; color:#98a9be; font-size:13px; line-height:1.8; }
.raid-empty h3,.raid-empty h2 { color:#d7dfeb; margin:0 0 12px; font-size:22px; }
.raid-event-form { padding:22px; background:#192536; border:1px solid #44536a; border-radius:10px; }
.raid-event-form h3 { margin:0 0 20px; color:#ddc8a3; font-size:21px; }
.raid-event-fields { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:16px; }
.raid-event-fields label { display:grid; gap:9px; font-size:12px; color:#adbdd0; }
.raid-event-fields input,.raid-event-fields select { min-width:0; width:100%; box-sizing:border-box; min-height:42px; padding:10px; border:1px solid #4b5f77; background:#111d2c; color:#e4ebf4; border-radius:6px; font:13px 'DM Sans',sans-serif; color-scheme:dark; }
.raid-event-actions { display:flex; gap:12px; margin-top:20px; }.raid-event-actions .admin-action { font-size:12px; padding:12px 18px; }
.raid-list-heading { font-size:20px; margin:30px 0 18px; }
.raid-management-card { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px; border:1px solid #3c4f65; border-left:3px solid #76999a; border-radius:9px; background:#192432; margin:12px 0; }
.raid-management-card.is-aq { border-left-color:#c3a56e; }
.raid-management-card>div:first-child { display:grid; gap:9px; }.raid-type-label { font-size:9px; letter-spacing:.14em; color:#b2a082; }.raid-management-card strong { font-size:17px; color:#e0e6ee; }.raid-management-card small { color:#8f9fb4; font-size:12px; }
.raid-card-actions { display:flex; flex-wrap:wrap; gap:8px; }
.raid-archives { margin:28px 0 4px; border-top:1px solid #46536a; padding-top:22px; color:#9baac0; font-size:13px; }.raid-archives summary { cursor:pointer; }.raid-archives summary span { margin-left:12px; }
.main-player-edit { min-width:0; width:100%; }.main-attrib-editor select { min-height:34px; font-size:12px; }
.no-active-raid #page-raids,.no-active-raid #page-roster,.no-active-raid #page-main-attrib,.no-active-raid [data-admin-pane=roster],.no-active-raid [data-admin-pane=wings],.no-active-raid [data-admin-pane=main-attrib] { display:none!important; }
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible { outline:2px solid #d1b47f; outline-offset:3px; }
@media(min-width:1100px){.wing-sidebar { position:sticky; top:24px; }}
@media(max-width:1100px){.main-nav { gap:12px; }.main-nav .nav-link { font-size:11px; }.raid-context-status { margin-left:auto; }.raid-context-actions { margin-left:0; width:100%; }.roster-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }.raid-layout,.admin-workspace { grid-template-columns:180px minmax(0,1fr); gap:18px; }.wing-sidebar { width:180px; }.wing-button { font-size:12px; }.raid-event-fields { grid-template-columns:1fr 1fr; }.raid-event-fields label:last-child { grid-column:1/-1; }}
@media(max-width:760px){.raid-layout,.admin-workspace { display:block; }.wing-sidebar { width:auto; margin-bottom:20px; padding:15px; }.wing-list { display:flex; flex-wrap:wrap; gap:6px; }.wing-button { width:auto; margin:0; min-height:40px; }.sidebar-footer { display:none; }.raid-picker { min-width:0; flex:1; }.raid-context-status { width:100%; margin:0; }.hero { min-height:112px; padding:24px; }.hero h1 { font-size:30px; }.roster-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.roster-edit-hint { display:grid; gap:8px; }.assignment-table td { padding:14px 7px; }.assignment-table th { padding:10px 7px; font-size:9px; }.assignment-table .player-column { width:30%; }.assignment-table .role-column { width:12%; }.assignment-table .assignment-column { width:26%; }.assignment-table .instruction-column { width:32%; }.inline-attribution select { font-size:11px; }.assignment-text,.assignment-instruction { font-size:11px; }.wing-boss-heading h3 { font-size:20px; }.wing-boss-heading small { width:100%; margin-left:44px; }.admin-sidebar { display:flex; flex-wrap:wrap; margin-bottom:18px; }.admin-tab { flex:1; min-width:115px; }.raid-management-card { align-items:flex-start; flex-direction:column; }.raid-context-actions button { flex:1; }.panel-head h2 { font-size:24px; }}
@media(max-width:440px){.app-shell { padding:0 12px; }.standalone-panel,.admin-content { padding:15px 12px; }.roster-grid { gap:7px; }.roster-class-column { padding:8px 5px; }.roster-class-column>header strong { font-size:10px; }.raid-event-fields { grid-template-columns:1fr; }.raid-event-fields label:last-child { grid-column:auto; }.assignment-table td { padding:12px 5px; }.inline-attribution select { padding:5px 2px; font-size:10px; }.hero h1 { font-size:25px; }}

/* Imported roster: aligned fields, real class colors and role-specific icons. */
.admin-roster-list { max-height:none; overflow:visible; display:block; }
.leader-roster-heading,.leader-roster-row { display:grid; grid-template-columns:minmax(180px,1.5fr) minmax(100px,1fr) 110px 110px 32px; gap:16px; align-items:center; }
.leader-roster-heading { padding:10px 14px; color:#879bb3; font-size:9px; letter-spacing:.07em; }
.leader-roster-row { min-height:66px; padding:13px 14px; border:1px solid #35455a; border-radius:7px; margin-bottom:9px; background:#172233; }
.leader-character-name { border:0; background:none; padding:0; color:var(--class-bg,#b9c9dc); display:flex; align-items:center; gap:9px; min-width:0; cursor:pointer; text-align:left; font:13px 'DM Sans',sans-serif; }
.leader-character-name strong { overflow-wrap:anywhere; }
.leader-character-name>span:last-child { color:#8a9db5; margin-left:2px; font-size:13px; }
.leader-class { color:var(--class-bg,#b9c9dc); font-size:12px; }
.leader-role { display:block; min-width:0; margin:0; }
.leader-role select { width:100%; min-height:36px; height:36px; padding:6px 9px; border:1px solid #566b84; border-radius:5px; color:#e4edf6; background:#101d2c; font:12px 'DM Sans',sans-serif; }
.leader-group { color:#aebdd0; font-size:11px; }
.leader-group { position:relative; min-width:0; }.leader-group summary { cursor:pointer; white-space:nowrap; }.leader-group>div { position:absolute; right:0; top:28px; z-index:12; width:220px; display:grid; gap:12px; padding:14px; border:1px solid #61718a; border-radius:7px; background:#172335; box-shadow:0 8px 28px #0008; }.leader-group label { display:grid; gap:6px; color:#aebdd0; font-size:11px; }.leader-group select { width:100%; min-width:0; min-height:34px; padding:5px; background:#101b2b; border:1px solid #536781; border-radius:4px; color:#dfe8f3; font:11px 'DM Sans',sans-serif; }
.leader-remove { display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid #644c50; background:#4b303522; color:#e4a5a5; font-size:22px; border-radius:5px; cursor:pointer; }
.leader-remove:hover { background:#69404755; border-color:#d59999; }
.leader-roster-empty { padding:24px 0; color:#9eafc5; font-size:13px; }
.raidhelper-status:empty { display:none; }
#leaderRosterMessage button { background:none; border:0; color:#d5bc8e; text-decoration:underline; cursor:pointer; font:inherit; }
.roster-character-dialog { width:min(480px,calc(100vw - 32px)); padding:24px; color:#dbe5f0; background:#152033; border:1px solid #65758a; border-radius:12px; }
.roster-character-dialog::backdrop { background:#080d18b3; }
.roster-character-dialog h3 { margin:0 0 18px; font-size:21px; color:#e0ccab; }.roster-character-dialog p { font-size:13px; line-height:1.6; }
.roster-character-dialog>button { margin-top:20px; padding:9px 15px; background:#26364b; color:#dfd4c0; border:1px solid #667287; border-radius:5px; cursor:pointer; }
.leader-alt-options { display:grid; gap:9px; }.leader-alt-options button { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:12px; background:#1c2b3f; color:var(--class-bg,#c4cfdf); border:1px solid #43566f; border-radius:7px; text-align:left; cursor:pointer; font:13px 'DM Sans',sans-serif; }.leader-alt-options button span:last-child { margin-left:auto; font-size:11px; }.leader-alt-options button:disabled { opacity:.55; cursor:default; }
.raid-manage #page-roster .roster-player-line { display:flex; }
#page-roster .roster-class-caption { margin-top:7px; }
#page-roster .roster-grid .roster-player-line { color:var(--class-bg,#bdcbdc); }
#page-roster .group-drag-grip,#page-roster .group-player-menu { display:none; }
.admin-sidebar { min-height:0; align-self:start; }
.raid-context-status { min-height:26px; }.raid-context-status #raidSaveStatus { font-size:12px; }
.raid-aq40 .aq-boss-board .inline-attribution,.raid-aq40 .aq-rotation .inline-attribution,.aq-trash-player .inline-attribution { grid-template-columns:60px minmax(0,1fr); gap:8px; width:100%; max-width:300px; }
.aq-boss-board .inline-attribution label,.aq-rotation .inline-attribution label,.aq-trash-player .inline-attribution label { min-width:0; }
.aq-boss-board .inline-attribution select,.aq-rotation .inline-attribution select,.aq-trash-player select { min-height:34px; height:34px; width:100%; font-size:12px; }
.aq-boss-board .aq-binding-label,.aq-rotation .aq-binding-label,.aq-trash-player .aq-binding-label { font-size:11px; }
.aq-boss-card .aq-compact-player { flex:1 1 140px; }
.aq-boss-H2 .aq-compact-rows { grid-template-columns:repeat(4,minmax(0,1fr)); }
.aq-boss-H2 .aq-compact-row { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:12px; }
.aq-boss-H2 .aq-compact-player { width:100%; }
.aq-boss-T2 { max-width:800px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.aq-boss-T2 .aq-compact-rows { grid-template-columns:1fr; }
.aq-boss-T2 .aq-compact-row:nth-child(2) { border-bottom:2px solid #61718a; margin-bottom:4px; }
.aq-trash-board { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.aq-trash-card { min-width:0; padding:12px; border:1px solid #44556d; border-radius:8px; background:#172334; }
.aq-trash-card>header { display:flex; justify-content:center; align-items:center; gap:8px; padding-bottom:11px; margin-bottom:10px; border-bottom:1px solid #43536a; font-size:11px; color:#c7d3e2; }
.aq-trash-player { min-width:0; margin-top:10px; }.aq-trash-player .inline-attribution { grid-template-columns:38px minmax(0,1fr); max-width:none; }.aq-trash-player .aq-binding-label { min-width:0; }
.aq-trash-player .aq-person-binding { font-size:11px; gap:6px; }.aq-trash-player .raid-player-badge { padding:4px 6px; font-size:11px; }
.aq-rotation { max-width:1050px; gap:12px; }.aq-rotation>div { max-width:240px; }
@media(max-width:1100px){.leader-roster-heading,.leader-roster-row { grid-template-columns:minmax(140px,1.4fr) minmax(75px,1fr) 90px 85px 30px; gap:10px; }.aq-boss-H2 .aq-compact-rows { grid-template-columns:repeat(2,minmax(0,1fr)); }.aq-trash-board { grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media(max-width:760px){.leader-roster-heading { display:none; }.leader-roster-row { grid-template-columns:minmax(120px,1fr) 95px 30px; gap:10px 12px; padding:14px; }.leader-character-name { grid-column:1/3; }.leader-remove { grid-column:3; grid-row:1; }.leader-class { grid-column:1; grid-row:2; }.leader-role { grid-column:2; grid-row:2; }.leader-group { grid-column:1/3; grid-row:3; }.aq-boss-T2 { gap:10px; }.aq-trash-board { grid-template-columns:repeat(2,minmax(0,1fr)); }.aq-boss-T2 .inline-attribution { grid-template-columns:1fr; }.aq-boss-T2 .inline-attribution .aq-binding-label { margin-bottom:2px; }}
