.recruitment-dialog{width:min(680px,calc(100% - 32px));max-width:calc(100% - 16px);max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;overflow:auto;overscroll-behavior:contain}.recruitment-dialog::backdrop{background:#243e3670}.recruitment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}.recruitment-heading h2{margin:0;font-size:19px}.recruitment-dialog button,.recruitment-dialog a,.recruitment-dialog summary{min-height:44px}.recruitment-heading button{width:44px;font-size:26px;background:transparent;color:var(--ink)}.recruitment-tabs{display:flex;gap:4px;padding:8px 16px;overflow-x:auto}.recruitment-tabs button{white-space:nowrap;padding:8px 12px;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px}.recruitment-tabs [aria-pressed=true]{background:var(--green);color:var(--surface)}.recruitment-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 20px}.recruitment-filters input[type=search]{flex:1;min-width:160px}.recruitment-filters label{min-height:44px;display:flex;align-items:center;gap:6px;font-size:13px}.recruitment-dialog input:not([type=checkbox]){min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px 10px;font:inherit;box-sizing:border-box;max-width:100%}.recruitment-dialog input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}.recruitment-status{padding:0 20px;font-size:12px;color:var(--muted);line-height:1.6}.recruitment-content{padding:0 20px 24px;overflow-wrap:anywhere}.recruitment-row{padding:18px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.7}.recruitment-row h3{font-size:16px;line-height:1.6;margin:8px 0}.recruitment-row h4{font-size:14px;margin:0}.recruitment-row p{margin:5px 0}.recruitment-row a{display:inline-flex;align-items:center;color:var(--green);text-underline-offset:3px}.recruitment-stage{display:inline-block;padding:3px 9px;border-radius:5px;background:var(--tint);color:var(--green);font-size:12px;font-weight:700}.recruitment-stage[data-accepting=true]{background:#b77b391c;color:#805019}.recruitment-muted{color:var(--muted);font-size:12px}.recruitment-dialog summary{display:flex;align-items:center;cursor:pointer;color:var(--green);font-weight:700}.recruitment-dialog summary:before{content:'＋';margin-right:7px}.recruitment-dialog details[open]>summary:before{content:'−'}.recruitment-unit{padding:14px 12px;margin:4px 0 12px;border-left:3px solid var(--line);background:var(--tint)}.recruitment-dialog .recruitment-actions{display:flex;gap:8px;flex-wrap:wrap}.recruitment-content button,.recruitment-filters button{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green);font:inherit;font-size:12px}.recruitment-photos{display:flex;gap:10px;overflow-x:auto}.recruitment-photos figure{margin:0;min-width:190px;max-width:300px}.recruitment-photos img{width:100%;height:190px;object-fit:contain;border-radius:6px}.recruitment-photos figcaption{font-size:11px;color:var(--muted)}.recruitment-dialog form{display:grid;gap:12px;padding:10px 0}.recruitment-dialog form label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}.recruitment-dialog form label input:not([type=checkbox]){width:100%}.recruitment-dialog :focus-visible,.recruitment-pin:focus-visible{outline:3px solid var(--green);outline-offset:3px}.recruitment-pin{max-width:220px;min-height:44px;border:2px solid var(--surface);border-radius:10px;background:var(--green);color:var(--surface);font-size:12px;line-height:1.4;padding:7px 12px;box-shadow:0 2px 8px #243e3630;overflow-wrap:anywhere}.recruitment-pin[data-accepting=true]{background:#805019}.recruitment-filters[hidden]{display:none}@media(max-width:700px){.recruitment-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 24px);border-radius:14px;margin:auto 8px 8px}.recruitment-heading{padding:8px 14px}.recruitment-content{padding:0 14px 20px}.recruitment-tabs{padding:8px 10px}.recruitment-filters{padding:4px 14px}.recruitment-filters input[type=search]{font-size:16px;width:100%}.recruitment-status{padding:0 14px}.recruitment-pin{max-width:170px}}



.recruitment-row>a{margin-inline-end:12px}
.recruitment-notice-shortcut{display:block;min-width:0}
.recruitment-notice-shortcut>a{display:block;min-width:0;margin-inline-end:0;overflow-wrap:anywhere}
.recruitment-notice-date{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:5px}
.recruitment-notice-date>time{white-space:nowrap}
.recruitment-elapsed{color:var(--green);font-size:20px;line-height:1.4;white-space:nowrap}
.recruitment-unit h5{font-size:13px;margin:14px 0 8px}.recruitment-condition{padding:10px 0;border-top:1px solid var(--line)}.recruitment-condition h6{font-size:13px;margin:0 0 6px}.recruitment-condition dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.recruitment-condition dt{color:var(--muted)}.recruitment-condition dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
/* Keep the usual housing label and place the notice status in its own yellow tab. */
.map-pin.recruitment-pin{display:flex;flex-direction:column;align-items:center;max-width:none;min-height:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;z-index:3}
.map-pin.recruitment-pin[data-accepting=true]{background:transparent}
.recruitment-pin .recruitment-badge{position:relative;display:block;align-self:flex-start;margin:0 0 3px 12px;padding:4px 10px;border:1px solid #caa83a;border-radius:6px;background:#ffe58b;color:#574413;font-size:11px;line-height:18px;font-weight:700;box-shadow:0 2px 4px #243e3618}
.recruitment-pin .pin-body{display:flex;align-items:center;gap:5px;min-height:44px;max-width:320px;padding:6px 12px;border-radius:24px;line-height:1.4}
.recruitment-pin .pin-body>span{display:flex;align-items:center}
@media(max-width:700px){.recruitment-pin .pin-body{max-width:240px}}

.recruitment-schedule-target{font-weight:650}.recruitment-schedule-dates{margin:4px 0 10px;padding-left:20px;display:flex;flex-wrap:wrap;gap:2px 26px;font-size:12px;line-height:1.6}
.recruitment-schedule-dates li{white-space:nowrap}.recruitment-row,.recruitment-row em{font-style:normal}
.housing-media{margin:16px 0}.recruitment-photos{padding-bottom:8px;scroll-snap-type:x proximity}.recruitment-photos figure{flex:0 0 150px;min-width:0;max-width:150px;scroll-snap-align:start}.recruitment-photos .recruitment-photo-open{display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:zoom-in}.recruitment-photos .recruitment-photo-open img{display:block;width:100%;height:112px;border-radius:0;object-fit:contain}.recruitment-photo-open:focus-visible{outline:3px solid var(--green);outline-offset:3px}.recruitment-photos figcaption{margin-top:6px;line-height:1.5}.recruitment-photo-dialog{box-sizing:border-box;width:min(1120px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);overflow:auto}.recruitment-photo-dialog::backdrop{background:rgba(16,28,24,.78)}.recruitment-photo-dialog .recruitment-heading{gap:12px;margin-bottom:12px}.recruitment-photo-dialog h2{flex:1;min-width:0;margin:0;font-size:16px;line-height:1.5}.recruitment-photo-counter{flex-shrink:0;color:var(--muted);font-size:13px}.recruitment-photo-dialog button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:30px;cursor:pointer}.recruitment-photo-dialog button:focus-visible{outline:3px solid var(--green);outline-offset:2px}.recruitment-photo-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}.recruitment-photo-image{grid-column:2;grid-row:1;display:grid;place-items:center;min-width:0;min-height:160px}.recruitment-photo-stage>button:first-child{grid-column:1;grid-row:1}.recruitment-photo-stage>button:last-child{grid-column:3;grid-row:1}.recruitment-photo-image img{display:block;max-width:100%;max-height:calc(100dvh - 136px);object-fit:contain}.recruitment-photo-dialog [hidden]{display:none}@media(max-width:480px){.recruitment-photo-dialog{padding:10px}.recruitment-photo-dialog .recruitment-heading{gap:6px}.recruitment-photo-dialog h2{font-size:14px}.recruitment-photo-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}.recruitment-photo-image img{max-height:calc(100dvh - 150px)}}
