:root{--green:#0d6b63;--ink:#173936;--paper:#fbfcfa;--line:#e5e9e5}body{background:linear-gradient(135deg,#f7f9f7,#f3f5f3);color:var(--ink)}aside{background:#f0f4f1;padding-top:34px}.brand{font-family:"STKaiti","KaiTi",serif;color:#123f3b}nav button{font-size:15px;border-radius:9px}nav button.active{background:#dceae5;box-shadow:inset 3px 0 #0d6b63}main>header{height:66px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px)}#workspace{max-width:1500px;margin:auto;padding-top:28px}.title{margin-bottom:22px}.title h1{font-weight:650;letter-spacing:.03em}.group,table,.org-form{box-shadow:0 8px 30px rgba(31,61,52,.045)}table{border:1px solid var(--line)}th{background:#f6f8f6;color:#65766f}td,th{padding:15px 16px}td{background:#fff}.member-tabs{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:20px}.member-tabs button{border:0;background:transparent;padding:8px 4px}.member-tabs button.active{color:var(--green);font-weight:650;border-bottom:2px solid var(--green)}.member-tabs input{margin-left:auto;width:190px}.member-chart{padding:20px 24px}.job-bars{height:140px;display:flex;align-items:end;gap:28px}.job-bar{flex:1;text-align:center;display:grid;gap:6px}.job-bar .bar{width:28px;justify-self:center;border-radius:3px 3px 0 0}.member-count{color:#74837d;margin:16px 0 8px}.member-admin{display:block;color:#89958f;font-size:11px;margin-top:4px}.member-name-line{display:inline-flex;align-items:center;gap:7px;max-width:100%;white-space:nowrap}.member-name-line .member-admin{display:inline-flex;align-items:center;margin:0;padding:2px 7px;border-radius:999px;background:#e8eff6;color:#305c83;font-size:10px;font-weight:500;line-height:16px}.job-mark{display:inline-block;width:5px;height:18px;border-radius:2px;vertical-align:middle;margin-right:8px}.note-cell{min-width:190px;color:#53665f}.groups>.group{border-left:4px solid #168078}.group h2 button,.team h3 button{font-size:12px;padding:5px 8px;margin-left:6px}.team{background:#fbfcfb;border:1px solid var(--line);border-radius:9px;padding:12px}.slot{background:#fff;min-height:70px}.signed-out #login{margin-top:10vh;box-shadow:0 20px 70px rgba(32,59,51,.08)}@media(max-width:900px){.member-tabs{flex-wrap:wrap}.member-tabs input{margin-left:0}.job-bars{gap:8px}.note-cell{min-width:120px}}
.lineup-toolbar{position:sticky;top:66px;z-index:4;background:#f6f8f6;padding:10px 0}.lineup-board{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}.participant-pool{position:sticky;top:132px;max-height:calc(100vh - 150px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}.pool-title{display:grid;gap:10px;margin-bottom:15px}.pool-title>div{display:flex;justify-content:space-between}.pool-title small{color:#7c8983}.pool-title input{width:100%;padding:8px}.pool-section{margin:15px 0}.pool-section h3{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:#52645d}.pool-section h3 span{width:7px;height:22px;border-radius:3px}.pool-section h3 b{margin-left:auto;font-weight:500}.muted-dot{background:#b8c1bc}.pool-card{display:grid;width:100%;padding:0;margin:7px 0;overflow:hidden;text-align:left;border-color:#e5e9e5;border-left:6px solid var(--job);background:#fff}.pool-card:hover,.pool-card.selected{border-color:var(--job);box-shadow:0 0 0 2px color-mix(in srgb,var(--job) 20%,transparent)}.pool-head{display:flex;justify-content:space-between;padding:9px 10px 5px}.pool-head em{font-style:normal;color:#63736c;font-size:11px}.pool-card small{padding:0 10px 9px;color:#718079;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pool-empty{padding:35px 10px;text-align:center;color:#87958e}.lineup-groups{display:grid;gap:18px;min-width:0}.lineup-group{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px}.lineup-group>header{display:flex;align-items:center;gap:9px;margin-bottom:14px}.lineup-group>header h2{margin:0;font-size:18px}.lineup-group>header p{margin:4px 0 0;color:#7b8982;font-size:11px}.group-stat{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;color:#687870;font-size:11px}.group-stat span{display:flex;align-items:center;gap:4px}.group-stat i{width:5px;height:15px;border-radius:2px}.dense-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px}.dense-team{border:1px solid #e6eae6;border-radius:8px;background:#fafcf9;padding:8px}.dense-team h3{display:flex;align-items:center;margin:0 0 7px;font-size:13px}.dense-team h3 span{margin-right:auto}.dense-team h3 button{border:0;background:transparent;padding:4px;font-size:10px}.dense-slot{display:flex;min-height:78px;margin:6px 0;border:1px solid #e4e8e4;border-radius:6px;background:#fff;overflow:hidden}.dense-slot.drop-ready{outline:2px solid #2b8b7e}.dense-slot .role-strip{width:8px;background:var(--job);flex:none}.slot-copy{display:grid;grid-template-columns:1fr auto;gap:2px 7px;min-width:0;flex:1;padding:8px}.slot-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-copy em{font-style:normal;color:#67766f;font-size:10px}.slot-copy small,.slot-copy p{grid-column:1/-1;margin:0;line-height:1.45;font-size:11px;overflow-wrap:anywhere}.slot-copy small{color:#4f6962}.slot-copy p{color:#8a7460}.dense-slot>button{align-self:center;border:0;background:transparent;padding:5px;font-size:10px}.add-team-space{width:100%;margin-top:7px;border-style:dashed;background:transparent;font-size:11px}.lineup-group+.lineup-group{margin-top:0}@media(max-width:1050px){.lineup-board{grid-template-columns:220px minmax(0,1fr)}.dense-teams{grid-template-columns:repeat(2,minmax(170px,1fr))}.group-stat{display:none}}
.lineup-toolbar{top:0}.participant-pool{top:66px;max-height:calc(100vh - 84px)}
.member-overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px;align-items:stretch;margin-bottom:24px}.member-overview-grid>.group{margin:0;min-height:292px}.member-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.member-panel-heading h2{margin:0 0 4px;font-size:18px}.member-panel-heading span{font-size:12px;color:#829089}.chart-switch{display:flex;padding:3px;background:#eef3f0;border-radius:8px}.chart-switch button{border:0;background:transparent;padding:6px 11px;font-size:12px}.chart-switch button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #173d3414}.member-chart .job-bars{height:188px;gap:14px}.member-chart .job-bar .bar{width:24px}.job-pie-wrap{min-height:205px;display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:28px}.job-pie{width:176px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative}.job-pie:after{content:"";position:absolute;inset:34px;border-radius:50%;background:#fff}.job-pie>span{position:relative;z-index:1;display:grid;text-align:center}.job-pie strong{font-size:24px}.job-pie small{color:#819088}.job-pie-legend{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:9px 18px}.job-pie-legend span{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;font-size:12px}.job-pie-legend i{width:8px;height:16px;border-radius:3px}.job-pie-legend b{font-weight:600}.applications-panel{padding:20px 22px}.application-list{display:grid;gap:10px;max-height:218px;overflow:auto}.application-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.application-card>div:first-child{display:grid;gap:5px}.application-card small{color:#819088}.application-card>div:last-child{display:flex;gap:7px}.application-card button{padding:6px 10px;font-size:12px}.application-empty{min-height:154px;display:grid;place-items:center;color:#8a9690;background:#f7f9f7;border-radius:8px}.member-list-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.member-list-toolbar>div:first-child{display:flex;align-items:baseline;gap:12px}.member-list-toolbar>div:first-child>span{font-size:12px;color:#7a8982}.member-list-toolbar input{width:190px}@media(max-width:1050px){.member-overview-grid{grid-template-columns:1fr}.member-overview-grid>.group{min-height:0}.member-list-toolbar{flex-wrap:wrap}.member-list-toolbar .spacer{display:none}.member-list-toolbar input{margin-left:auto}}@media(max-width:700px){.job-pie-wrap{grid-template-columns:1fr}.job-pie{margin:auto}.member-list-toolbar input,.member-list-toolbar select{width:100%}}
.registration-cell strong,.registration-cell small{display:block}.registration-cell small{margin-top:4px;color:#7d8a84;white-space:nowrap;font-size:11px}

.organization-settings-overview{width:100%;max-width:none}.organization-settings-card{width:100%;padding:0;overflow:hidden;border:1px solid #e1e8e3;border-radius:14px;background:#fff;box-shadow:0 18px 50px #1d40340b}.organization-settings-card>.settings-heading{margin:0;padding:30px 34px 24px;border-bottom:1px solid #e8ede9}.settings-heading p:last-child{margin:8px 0 0;color:#74837c}.organization-subsection{padding:30px 34px}.organization-subsection+.organization-subsection{border-top:1px solid #e8ede9}.organization-subsection .org-form{max-width:none;padding:0;border:0;box-shadow:none}.subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.subsection-heading h3{margin:5px 0 0;font-size:20px;font-weight:600}.club-subsection{background:#fbfcfb}.club-name-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr);gap:24px;align-items:end}.club-name-row label{margin:0}.club-name-row .club-summary{display:flex;align-items:center;height:41px;min-height:41px;margin:0;padding:0 20px}.organization-create-inline{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fbfcfb}.organization-create-inline h3{margin:10px 0 6px}.organization-create-inline p{margin:0;color:#71817a}.organization-create-inline button{flex:none}.member-table-wrap{overflow-x:auto;border:1px solid #e3e9e4;border-radius:12px;background:#fff}.member-table{min-width:1080px;border-radius:0}.member-table th{padding:14px 12px}.member-table td{padding:16px 12px;vertical-align:middle}.member-sort{display:inline-flex;align-items:center;gap:7px;margin:-8px;padding:8px;border:0;background:transparent;color:#66786f;font-size:12px;font-weight:600}.member-sort:hover,.member-sort:focus-visible{background:#e3ece7;color:#17574c;outline:2px solid transparent}.member-sort.active{color:#17574c}.member-sort i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#dfe8e3;font-style:normal}.member-actions-heading{min-width:218px}.member-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.member-actions button{min-height:34px;padding:6px 8px}.member-actions .danger{background:#fff;border-color:#ead3d0}.note-cell{min-width:150px;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.organization-settings-card>.settings-heading,.organization-subsection{padding:24px 20px}.club-name-row{grid-template-columns:1fr}.club-name-row .club-summary{height:auto;min-height:41px;padding:10px 14px}.organization-create-inline{align-items:flex-start;flex-direction:column}.organization-create-inline button{width:100%}}

/* Member rows must keep the same grid when switching between guild and club.
   Automatic table layout used to resize columns from the current row text. */
#memberTable{overflow-x:auto;border-radius:8px}
#memberTable table{table-layout:fixed;min-width:1120px}
#memberTable th,#memberTable td{box-sizing:border-box;text-align:left;vertical-align:middle}
#memberTable th:nth-child(1){width:12%}
#memberTable th:nth-child(2){width:9%}
#memberTable th:nth-child(3){width:8%}
#memberTable th:nth-child(4){width:8%}
#memberTable th:nth-child(5){width:26%}
#memberTable th:nth-child(6){width:9%}
#memberTable th:nth-child(7){width:14%}
#memberTable th:nth-child(8){width:14%}
#memberTable td:nth-child(1),#memberTable td:nth-child(2),#memberTable td:nth-child(3),#memberTable td:nth-child(4),#memberTable td:nth-child(6),#memberTable td:nth-child(8){white-space:nowrap}
#memberTable tbody td{height:68px}

/* Public match hall: keep the feed dense without hiding requirements or actions. */
.hall-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 24px;border:1px solid var(--line);border-radius:11px;background:#fff}.hall-intro span{font-size:10px;letter-spacing:.22em;color:#72867f}.hall-intro h2{margin:6px 0 5px;font-size:22px}.hall-intro p{margin:0;color:#74847e}.hall-intro>strong{flex:none;color:#5f746d;font-size:13px;font-weight:500}.hall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%}.hall-post{position:relative;display:flex;padding:16px;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.hall-post:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2d8177}.hall-post.signup:before{background:#587faf}.hall-post header{display:flex;align-items:center;justify-content:space-between;gap:12px}.hall-post header time{color:#71817b;font-size:12px;line-height:18px;white-space:nowrap}.hall-type{padding:4px 9px;border-radius:14px;background:#e4f1ed;color:#166c63;font-size:12px;line-height:18px}.hall-post.signup .hall-type{background:#e5edf6;color:#42688e}.hall-post-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.hall-post-title h2{min-width:0;margin:0;color:#173936;font-size:16px;line-height:22px;font-weight:650}.hall-start{display:grid;flex:none;gap:1px;color:#285b54;font-size:14px;line-height:20px;font-weight:650;text-align:right;white-space:nowrap}.hall-start small{color:#7b8983;font-size:11px;font-weight:400;line-height:16px}.hall-post-content{display:grid;gap:8px;padding:12px 0;border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef}.hall-demand-tags{display:flex;flex-wrap:wrap;gap:6px}.hall-demand-tags span{max-width:100%;padding:3px 8px;border-radius:6px;background:#f1f5f3;color:#516860;font-size:12px;line-height:18px;overflow-wrap:anywhere}.hall-demand-tags span.strong{background:#dfeee9;color:#166c63;font-weight:750}.hall-post.signup .hall-demand-tags span.strong{background:#e5edf6;color:#42688e}.hall-post-content section{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;min-width:0}.hall-post-content small{color:#7b8983;font-size:12px;line-height:20px}.hall-post-content p{margin:0;color:#405a53;font-size:13px;line-height:20px;overflow-wrap:anywhere}.hall-note p{color:#62736d}.hall-post-actions{display:flex;justify-content:flex-end;gap:8px}.hall-post-actions button{min-width:96px;min-height:44px;padding:9px 14px}.hall-post-actions button:last-child{margin-left:0}@media(max-width:560px){.hall-intro{align-items:flex-start;flex-direction:column}.hall-post-title{align-items:flex-start;flex-direction:column;gap:6px}.hall-start{text-align:left}.hall-post-actions{justify-content:stretch}.hall-post-actions button{flex:1;min-width:0}}@media(max-width:360px){.hall-post-actions{flex-direction:column}.hall-post-actions button{width:100%}}

/* Structured public challenge publisher. */
#dialog:has(.hall-publish-form){width:min(680px,calc(100vw - 36px))}
.hall-publish-form{display:grid;gap:18px}.hall-publish-form>label{margin:0}.hall-publish-form>label.checkline{display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:100%;min-height:44px;margin:0;cursor:pointer}.hall-publish-form>label.checkline input{flex:0 0 auto;width:17px;height:17px;margin:0;padding:0;accent-color:var(--green)}.hall-publish-form>label.checkline span{line-height:1.5}.hall-publish-form fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:9px}.hall-publish-form legend{padding:0 7px;font-weight:650}.hall-publish-form legend small{color:#829089;font-weight:400}.hall-time-fields{display:grid;grid-template-columns:minmax(170px,1.4fr) 1fr 1fr;gap:10px}.hall-time-fields label{margin:0}.hall-requirement-group{display:grid;gap:8px;margin-top:13px}.hall-requirement-group>small{color:#7c8b85}.choice-grid{display:flex;flex-wrap:wrap;gap:9px}.choice-chip{display:block;margin:0}.choice-chip.range-choice{padding:0;border:0;background:transparent}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip span{display:block;padding:8px 13px;border:1px solid #d6dfda;border-radius:20px;background:#f7f9f7;color:#47645e;cursor:pointer}.choice-chip input:checked+span,.choice-chip.range-endpoint span{border-color:var(--green);background:var(--green);color:#fff;font-weight:650}.choice-chip.range-between span{border-color:var(--green);background:#e8f3ef;color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.choice-chip input:focus-visible+span,.choice-chip.range-choice:focus-visible span{outline:2px solid #4b9288;outline-offset:2px}@media(max-width:620px){.hall-time-fields{grid-template-columns:1fr 1fr}.hall-time-fields label:first-child{grid-column:1/-1}}

/* Keep both chart modes inside the same viewport so the member table does not
   move when managers switch between them. */
.member-chart #memberChart{height:205px;overflow:hidden}.member-chart #memberChart>.job-bars,.member-chart #memberChart>.job-pie-wrap{height:100%;min-height:0}
@media(max-width:700px){.member-chart #memberChart{height:340px;overflow:auto}}

/* Explain the actual result of loading a saved lineup, including vacancies. */
.template-load-summary{display:grid;gap:12px;min-width:min(420px,calc(100vw - 72px));padding:18px;border:1px solid #dce4ec;border-radius:12px;background:#f8fafc}.template-load-result{display:flex;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid #dde5ed}.template-load-result strong{color:#2f6fa9;font-size:34px;line-height:1}.template-load-result span{color:#587084;font-size:14px}.template-load-summary.missing .template-load-result strong{color:#b75454}.template-load-summary h3{margin:0;color:#173947;font-size:17px}.template-load-summary p{margin:0;color:#687c88;line-height:1.6}.template-missing-jobs{display:flex;flex-wrap:wrap;gap:8px}.template-missing-jobs span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dce4ea;border-radius:18px;background:#fff;color:#3d5562;font-size:13px}.template-missing-jobs i{width:6px;height:17px;border-radius:3px;background:var(--job-color)}.template-missing-jobs b{color:#a64e4e}

/* Date and time stay as two clear controls. The time select contains only
   valid business times, avoiding separate hour/minute combinations. */
.split-time-field{margin:16px 0;padding:13px 14px 15px;border:1px solid #dfe6e1;border-radius:9px}.split-time-field legend{padding:0 7px;color:#31564e;font-weight:600}.split-time-field .hall-time-fields{grid-template-columns:minmax(160px,1.35fr) minmax(150px,1fr)}.split-time-field .time-rule{display:block;margin-top:9px;color:#75857e;line-height:1.6}.split-time-field select:disabled{cursor:not-allowed;background:#eef2f5;color:#536879;opacity:1}@media(max-width:540px){.split-time-field .hall-time-fields{grid-template-columns:1fr}}

/* Keep requirement chips aligned and close to the same visual size. */
.hall-requirement-group .choice-chip{width:68px}
.hall-requirement-group .choice-chip span{display:grid;place-items:center;width:68px;min-height:36px;padding:7px 5px;white-space:nowrap}

.hall-date-filter{display:grid;grid-template-columns:repeat(7,minmax(82px,1fr));gap:10px;margin:16px 0 12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow-x:auto}.hall-date-filter button{display:grid;place-items:center;gap:4px;min-width:82px;height:84px;padding:8px;border:1px solid #dce4de;border-radius:10px;background:#f6f8f6;color:#34554f}.hall-date-filter button small{font-size:11px;color:#7c8b85}.hall-date-filter button strong{font-size:22px;line-height:1}.hall-date-filter button span{font-size:10px;color:#85938d}.hall-date-filter button.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 7px 16px #21655c24}.hall-date-filter button.active small,.hall-date-filter button.active span{color:#d9ece7}.hall-filter-summary{display:flex;align-items:center;justify-content:space-between;margin:0 1px 12px;padding:5px 2px}.hall-filter-summary strong{font-size:16px}.hall-filter-summary span{color:#7c8b85;font-size:12px}
.hall-kind-filter{position:relative;display:flex;box-sizing:border-box;align-items:center;gap:14px;min-height:77px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.hall-kind-filter>span{flex:none;color:#71817a;font-size:11px}.hall-kind-options{display:flex;flex-wrap:wrap;gap:7px}.hall-kind-filter button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border-radius:18px}.hall-kind-filter button small{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#edf2ef;color:#71817a;font-size:10px}.hall-kind-filter button.active{border-color:var(--green);background:#e4f1ed;color:var(--green);font-weight:650}.hall-kind-filter button.active small{background:#fff;color:var(--green)}.hall-kind-filter button[data-hall-kind="organized"].active{border-color:#d99ab1;background:#f8e6ee;color:#a34568}.hall-kind-filter button[data-hall-kind="organized"].active small{color:#a34568}
.hall-tag-tools{position:relative;margin-left:auto}.hall-tag-toggle{min-width:126px;justify-content:center;border-color:#d5e0dc;background:#fff}.hall-tag-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.hall-tag-toggle.active,.hall-tag-toggle[aria-expanded="true"]{border-color:var(--green);background:#edf6f3;color:var(--green)}.hall-tag-panel{position:absolute;z-index:12;top:calc(100% + 10px);right:0;box-sizing:border-box;width:min(640px,calc(100vw - 72px));padding:14px;border:1px solid #cfddd7;border-radius:12px;background:#fff;box-shadow:0 16px 38px #173f3524}.hall-tag-panel[hidden]{display:none}.hall-tag-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hall-tag-panel header strong{font-size:14px}.hall-tag-panel header button{min-height:32px;padding:5px 8px}.hall-facet-groups{display:grid;gap:9px}.hall-facet-group{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:start;padding-top:9px;border-top:1px solid #edf1ef}.hall-facet-group>strong{padding-top:9px;color:#62736d;font-size:12px;font-weight:650}.hall-facet-group>div{display:flex;flex-wrap:wrap;gap:7px}.hall-facet-group button{min-height:36px;max-width:100%;padding:7px 10px;border-radius:8px}.hall-facet-group button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hall-facet-group button.active{border-color:var(--green);background:#e4f1ed;color:var(--green)}.hall-facet-group button:disabled:not(.active){opacity:.38}.hall-tag-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding-top:11px;border-top:1px solid #e6ece9;color:#7c8b85;font-size:11px}.hall-tag-panel>footer strong{color:#315d55;font-size:12px;white-space:nowrap}
@media(max-width:680px){.hall-kind-filter{align-items:flex-start;flex-wrap:wrap;gap:8px}.hall-kind-options{order:2;width:100%}.hall-tag-tools{margin-left:auto}.hall-tag-panel{position:fixed;top:auto;right:16px;bottom:16px;left:16px;width:auto;max-height:min(70vh,620px);overflow:auto}.hall-kind-options button{flex:1;justify-content:center}.hall-facet-group{grid-template-columns:1fr;gap:4px}.hall-facet-group>strong{padding-top:2px}.hall-tag-panel>footer{align-items:flex-start;flex-direction:column;gap:5px}}
.lineup-toolbar{display:flex;flex-wrap:wrap;gap:10px}.publish-state{padding:4px 9px;border-radius:14px;background:#e5f0ec;color:#1a6d64;font-size:11px}.publish-state.dirty{background:#f4ead2;color:#896525}.overall-stat{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px 288px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:11px}.overall-stat strong{font-size:12px;margin-right:4px}.overall-stat span,.group-stat span{display:flex;align-items:center;gap:4px}.overall-stat i{width:5px;height:15px;border-radius:2px}.readonly-banner{margin-bottom:12px;padding:11px 14px;border-radius:8px;background:#f3eee2;color:#80683e}.lineup-group{overflow-x:auto}.dense-teams{grid-template-columns:repeat(5,minmax(188px,1fr));min-width:940px}.dense-team{min-width:0}.lineup-group>.add-team-space{width:188px;margin-top:10px}.pool-card{position:relative;cursor:pointer}.pool-card>button{position:absolute;right:6px;bottom:6px;padding:3px 6px;font-size:10px}.pool-status{display:block;padding:0 10px 3px}.status{display:inline-block;padding:2px 6px;border-radius:10px;font-style:normal;font-size:9px}.status.registered{background:#e1f0ea;color:#176b62}.status.leave{background:#fae8df;color:#a45a3b}.status.unregistered{background:#edf0ee;color:#707d78}.status.temporary{background:#e9e4f6;color:#6955a0}.temporary-dot{background:#8c74c8}.job-toggle{cursor:pointer;user-select:none}.slot-copy>span{grid-column:1/-1}.dense-slot.invalid{border-color:#d99b93;background:#fff7f5}.dense-slot.invalid .role-strip{background:#c75c52}.template-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.template-row span{min-width:0}.template-row small{display:block;margin-top:4px;color:#82908b}.template-row button{padding:6px 8px;font-size:11px}@media(max-width:1050px){.overall-stat{margin-left:238px}.dense-teams{grid-template-columns:repeat(5,188px)}}@media(max-width:740px){.overall-stat{margin-left:0}.lineup-board{grid-template-columns:1fr}.participant-pool{position:relative;top:auto;max-height:380px}.dense-teams{grid-template-columns:repeat(5,188px)}}

/* Desktop hall cards stay in a predictable two-column rhythm. */
.hall-intro{align-items:center;margin-bottom:14px;padding:18px 20px;box-shadow:none}
.hall-intro h2{font-size:20px}
.hall-grid{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:290px;gap:14px;align-items:stretch}
.hall-post>header{box-sizing:border-box;height:auto;min-height:0;padding:0;border:0;background:transparent;flex-wrap:wrap;gap:6px 12px}
.hall-post-title,.hall-post-content,.hall-post-actions{min-width:0}
.hall-post-title h2{overflow-wrap:anywhere}
.hall-post-actions{flex-wrap:wrap}
.hall-post{display:inline-flex;box-sizing:border-box;width:100%;margin:0 0 14px;vertical-align:top;break-inside:avoid;page-break-inside:avoid;padding:15px 16px;gap:10px;box-shadow:0 6px 20px #27493f08}
.hall-post-content{gap:7px;padding:10px 0}
.hall-post-actions{margin-top:auto}
.hall-grid>.empty-state{display:block;box-sizing:border-box;width:100%;break-inside:avoid}
@media(max-width:760px){.hall-grid{columns:1;grid-auto-rows:auto}.hall-intro{padding:16px}.hall-post{height:auto;margin-bottom:10px}}


.hall-grid>.hall-post{margin:0}.hall-grid>.empty-state{grid-column:1/-1}
@media(max-width:760px){.hall-grid{grid-template-columns:1fr}}

/* Keep desktop hall cards aligned to the visual height of the reference card.
   Small screens return to natural height so content is never clipped. */
@media(min-width:761px){.hall-grid>.hall-post{height:290px}.hall-note{height:40px;min-height:40px}.hall-note p{height:40px;min-height:40px}}
.hall-requirement-tags{display:flex;min-width:0;flex-wrap:wrap;gap:6px}
.hall-requirement-tags span{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:3px 9px;border:1px solid #d8e4df;border-radius:999px;background:#edf5f2;color:#2f675e;font-size:12px;line-height:16px;white-space:nowrap}
.hall-note p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hall-post.signup60 .hall-post-content{gap:5px;padding:6px 0}
.hall-post.signup60 .hall-signup60-progress>div{padding:5px 8px}
.hall-post.signup60 .hall-signup60-progress i{margin-top:4px}
.hall-post.signup60 .hall-demand p{line-height:18px}
@media(max-width:760px){.hall-note p{display:block;overflow:visible}.hall-post.signup60 .hall-post-content{padding:10px 0}.hall-post.signup60 .hall-signup60-progress>div{padding:9px 10px}.hall-post.signup60 .hall-signup60-progress i{margin-top:7px}}
