.recruitment-section{padding:22px;margin:0 0 28px}.recruitment-section .filters{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.recruitment-section label{display:grid;gap:6px;min-width:0}.recruitment-section input,.recruitment-section select{max-width:100%;min-height:42px}.recruitment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recruitment-card{min-width:0;padding:18px;border:1px solid #6858a5;border-radius:16px;background:linear-gradient(145deg,#252047,#111327);overflow-wrap:anywhere}.recruit-logo{width:100%;height:140px;display:grid;place-items:center}.recruit-logo img{max-width:100%;height:140px;object-fit:contain}.recruit-logo span{font-size:40px}.recruitment-card h3{margin:14px 0 8px}.recruit-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.recruit-info{white-space:pre-wrap}.recruitment-card details[open]+.recruit-preview{display:none}.recruitment-card summary{cursor:pointer;padding:12px 0;color:#b9a8ff}.recruit-full button{min-height:40px}.recruitment-section nav{margin-top:18px}.recruit-editor{margin-top:24px;border-top:1px solid #494265;padding-top:16px}.recruit-editor textarea{width:100%;resize:vertical}.recruit-editor input[type=checkbox]{width:auto}.recruit-editor label{min-width:0}
.recruitment-grid{align-items:start}.recruitment-section input,.recruitment-section select,.recruitment-section button{font:inherit;color:#f0edff;background:#1c203e;border:1px solid #74659f;border-radius:8px;padding:10px}.recruitment-section button{cursor:pointer}.recruitment-section button:disabled{opacity:.45;cursor:default}.recruitment-section a{color:#bcaaff}.recruitment-section a:hover{color:#e3d9ff}.recruitment-section :focus-visible{outline:2px solid #bcaaff;outline-offset:3px}.recruitment-section nav{display:flex;align-items:center;gap:12px}.recruitment-section select{min-width:140px}
@media(max-width:900px){.recruitment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.recruitment-grid{grid-template-columns:minmax(0,1fr)}.recruitment-section{padding:14px}.recruitment-section .filters{display:grid;grid-template-columns:minmax(0,1fr)}.recruitment-section nav{display:flex;justify-content:space-between;gap:6px}.recruitment-section nav button{padding:8px}}
.recruitment-section{padding:0;margin:36px 0 28px;border:0;background:none;min-width:0}
.recruitment-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.recruitment-card{box-sizing:border-box;width:100%;padding:14px;border-radius:15px;font-size:13px}
.recruit-logo{height:auto;aspect-ratio:1;border:1px solid #8067c5;border-radius:11px;background:#191c42;overflow:hidden;box-sizing:border-box}
.recruit-logo img{width:100%;height:100%;object-fit:contain}
.recruitment-card h3{font-size:22px;text-align:center;line-height:1.2}
.recruitment-card>p{margin:8px 0;line-height:1.5}
.recruitment-card summary{font-size:13px}.recruit-full a{overflow-wrap:anywhere}
.recruitment-section nav{justify-content:center}
@media(max-width:1000px){.recruitment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.recruitment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.recruitment-grid{grid-template-columns:1fr}}
.recruitment-card{display:flex;flex-direction:column}
.recruitment-card .recruit-details-button{width:100%;margin-top:auto;min-height:46px;background:#38265c;border:1px solid #b491e4;color:#fff;font-weight:600;line-height:1.4}
.recruitment-card .recruit-details-button:hover{background:#4c347c}
.recruit-details-dialog{box-sizing:border-box;width:min(600px,calc(100% - 24px));max-height:85vh;max-height:85dvh;padding:0;border:1px solid #8973b8;border-radius:16px;background:#14182e;color:#f0edff;overflow:auto;overflow-wrap:anywhere;overscroll-behavior:contain}
.recruit-details-dialog::backdrop{background:#050616cc}
.recruit-details-dialog>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:#242344;border-bottom:1px solid #594a7d;z-index:1}
.recruit-details-dialog h2{margin:0;font-size:24px}.recruit-details-dialog header button{flex-shrink:0;min-height:44px}
.recruit-dialog-content{padding:16px}.recruit-dialog-content .recruit-info{line-height:1.6}
