/* ============================================================
   dkbsoft 구인구직 — 사전 빌드 스타일 (app.css)
   Tailwind 빌드 산출물의 정적 버전. 빌드 도구·CDN 없이 그대로 동작합니다.
   디자인 토큰(brand/gray/semantic)을 그대로 반영했고,
   .php / .js 에서 실제 사용하는 클래스만 포함합니다.
   재생성하려면: npm install && npm run build  (tailwind.config.js / src/input.css 사용)
   ============================================================ */

/* ---- reset ---- */
*,*::before,*::after{box-sizing:border-box;}
html{font-family:"Pretendard Variable",Pretendard,Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;-webkit-text-size-adjust:100%;}
body{margin:0;background:#eef0f3;color:#101828;line-height:1.5;}
a{color:inherit;text-decoration:none;}
button{font:inherit;}
img{display:block;max-width:100%;}
h1,h2,h3,p{margin:0;}
.no-scrollbar::-webkit-scrollbar{display:none;}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none;}

/* ============================================================
   공통 골격
   ============================================================ */
.jl-layout{display:flex;justify-content:center;align-items:flex-start;gap:28px;min-height:100vh;}
.jl-aside{width:150px;flex:none;position:sticky;top:16px;margin-top:16px;}
.jl-spacer{width:150px;flex:none;}
.jl-content{width:670px;max-width:670px;flex:none;min-height:100vh;}
@media (max-width:1023px){.jl-aside,.jl-spacer{display:none;}}
@media (max-width:670px){
  .jl-layout{gap:0;}
  .jl-content{width:100%;flex:1 1 auto;padding-left:15px;padding-right:15px;}
}

/* ============================================================
   컴포넌트 클래스
   ============================================================ */
.card{background:#fff;border:1px solid #eaecf0;border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.card-flush{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.section{padding-top:18px;}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-left:16px;margin-right:16px;margin-bottom:9px;}
.section-title{font-size:15px;font-weight:700;color:#475467;letter-spacing:-0.01em;}
.section-more{display:flex;align-items:center;gap:1px;font-size:12px;color:#98a2b3;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;cursor:pointer;border:0;transition:background-color .15s,color .15s,border-color .15s,filter .15s;}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;cursor:pointer;border:0;background:#7f56d9;color:#fff;border-radius:8px;padding:10px 16px;font-size:14px;}
.btn-primary:hover{background:#6941c6;}
.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:0;background:#ffd83d;color:#1d2939;border-radius:10px;padding:14px 20px;font-size:16px;font-weight:800;}
.btn-cta:hover{filter:brightness(.95);}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;cursor:pointer;background:#fff;color:#475467;border:1px solid #eaecf0;border-radius:10px;padding:10px 16px;font-size:14px;}
.btn-ghost:hover{background:#f9fafb;}
.btn-dark{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;cursor:pointer;border:0;background:#344054;color:#fff;border-radius:10px;padding:14px 20px;font-size:16px;}
.btn-dark:hover{background:#1d2939;}
.chip{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:5px 9px;border-radius:8px;background:#f2f4f7;color:#475467;white-space:nowrap;}
.chip-brand{background:#f4ebff;color:#6941c6;}
.chip-info{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:5px 9px;border-radius:8px;white-space:nowrap;background:#eff8ff;color:#1570ef;}
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;}
.badge-urgent{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;background:#fef3f2;color:#d92d20;}
.badge-short{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;background:#eff8ff;color:#1570ef;}
.badge-kitchen{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;background:#f2f4f7;color:#475467;}
.badge-full{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;background:#f4ebff;color:#6941c6;}
.badge-new{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;white-space:nowrap;background:#ecfdf3;color:#039855;}
.field{width:100%;padding:12px 14px;border:1px solid #eaecf0;border-radius:10px;font-size:14px;color:#101828;outline:none;background:#fff;}
.field:focus{border-color:#7f56d9;box-shadow:0 0 0 4px rgba(158,119,237,.24);}
.opt{padding:11px 6px;border-radius:6px;text-align:center;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;border:1px solid #eaecf0;background:#f9fafb;color:#667085;}
.opt-on{padding:11px 6px;border-radius:6px;text-align:center;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap;border:1.5px solid #101828;background:#fff;color:#101828;font-weight:700;}
.region-pill{display:flex;align-items:stretch;border:1px solid #eaecf0;border-radius:9999px;background:#fff;box-shadow:0 4px 14px -4px rgba(16,24,40,.12),0 1px 2px rgba(16,24,40,.05);overflow:hidden;}
.side-card{background:#fff;border:1px solid #eaecf0;border-radius:12px;padding:16px;text-align:center;box-shadow:0 1px 2px rgba(16,24,40,.05);}
.side-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;font-size:13px;font-weight:500;color:#344054;width:100%;}
.side-link:hover{background:#f9fafb;}

/* ============================================================
   레이아웃 / 디스플레이
   ============================================================ */
.block{display:block;}
.flex{display:flex;}
.inline-flex{display:inline-flex;}
.grid{display:grid;}
.hidden{display:none;}
.relative{position:relative;}
.absolute{position:absolute;}
.fixed{position:fixed;}
.sticky{position:sticky;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.flex-1{flex:1 1 0%;}
.flex-none{flex:none;}
.flex-\[0_0_100\%\]{flex:0 0 100%;}
.flex-\[0_0_44\%\]{flex:0 0 44%;}
.flex-\[0_0_40\%\]{flex:0 0 40%;}
.items-start{align-items:flex-start;}
.items-center{align-items:center;}
.items-baseline{align-items:baseline;}
.items-end{align-items:flex-end;}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr));}
.overflow-hidden{overflow:hidden;}
.overflow-x-auto{overflow-x:auto;}
.overflow-y-auto{overflow-y:auto;}
.aspect-square{aspect-ratio:1/1;}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tabular-nums{font-variant-numeric:tabular-nums;}
.select-none{user-select:none;}
.object-contain{object-fit:contain;}
.cursor-pointer{cursor:pointer;}
.cursor-grab{cursor:grab;}
.cursor-default{cursor:default;}
.whitespace-nowrap{white-space:nowrap;}

/* ---- gap ---- */
.gap-0\.5{gap:2px;}
.gap-1{gap:4px;}
.gap-1\.5{gap:6px;}
.gap-2{gap:8px;}
.gap-2\.5{gap:10px;}
.gap-3{gap:12px;}
.gap-3\.5{gap:14px;}
.gap-x-4{column-gap:16px;}
.gap-y-1\.5{row-gap:6px;}

/* ============================================================
   위치 / z-index
   ============================================================ */
.top-0{top:0;}
.top-14{top:56px;}
.left-0{left:0;}
.right-0{right:0;}
.bottom-0{bottom:0;}
.bottom-\[88px\]{bottom:88px;}
.left-1\/2{left:50%;}
.top-\[calc\(100\%\+6px\)\]{top:calc(100% + 6px);}
.right-\[calc\(50\%-335px\+14px\)\]{right:calc(50% - 335px + 14px);}
.-translate-x-1\/2{transform:translateX(-50%);}
.ml-auto{margin-left:auto;}
.mx-auto{margin-left:auto;margin-right:auto;}
.z-20{z-index:20;}
.z-30{z-index:30;}
.z-40{z-index:40;}

/* ============================================================
   여백
   ============================================================ */
.m-0{margin:0;}
.mt-px{margin-top:1px;}
.mt-0\.5{margin-top:2px;}
.mt-1{margin-top:4px;}
.mt-1\.5{margin-top:6px;}
.mt-2{margin-top:8px;}
.mt-2\.5{margin-top:10px;}
.mt-3{margin-top:12px;}
.mt-3\.5{margin-top:14px;}
.mt-4{margin-top:16px;}
.mt-auto{margin-top:auto;}
.mb-0{margin-bottom:0;}
.mb-1{margin-bottom:4px;}
.mb-1\.5{margin-bottom:6px;}
.mb-2{margin-bottom:8px;}
.mb-2\.5{margin-bottom:10px;}
.mb-3{margin-bottom:12px;}
.mb-3\.5{margin-bottom:14px;}
.ml-0\.5{margin-left:2px;}
.ml-2{margin-left:8px;}
.my-3{margin-top:12px;margin-bottom:12px;}

/* ---- padding ---- */
.p-0{padding:0;}
.p-0\.5{padding:2px;}
.p-1{padding:4px;}
.p-1\.5{padding:6px;}
.p-3{padding:12px;}
.p-3\.5{padding:14px;}
.p-4{padding:16px;}
.p-5{padding:20px;}
.p-\[18px\]{padding:18px;}
.p-\[7px\]{padding:7px;}
.px-1{padding-left:4px;padding-right:4px;}
.px-2{padding-left:8px;padding-right:8px;}
.px-2\.5{padding-left:10px;padding-right:10px;}
.px-3{padding-left:12px;padding-right:12px;}
.px-3\.5{padding-left:14px;padding-right:14px;}
.px-4{padding-left:16px;padding-right:16px;}
.px-5{padding-left:20px;padding-right:20px;}
.px-\[18px\]{padding-left:18px;padding-right:18px;}
.py-0\.5{padding-top:2px;padding-bottom:2px;}
.py-1{padding-top:4px;padding-bottom:4px;}
.py-1\.5{padding-top:6px;padding-bottom:6px;}
.py-2{padding-top:8px;padding-bottom:8px;}
.py-2\.5{padding-top:10px;padding-bottom:10px;}
.py-3{padding-top:12px;padding-bottom:12px;}
.py-3\.5{padding-top:14px;padding-bottom:14px;}
.py-4{padding-top:16px;padding-bottom:16px;}
.py-5{padding-top:20px;padding-bottom:20px;}
.py-12{padding-top:48px;padding-bottom:48px;}
.py-\[3px\]{padding-top:3px;padding-bottom:3px;}
.py-\[11px\]{padding-top:11px;padding-bottom:11px;}
.py-\[15px\]{padding-top:15px;padding-bottom:15px;}
.py-\[18px\]{padding-top:18px;padding-bottom:18px;}
.py-\[22px\]{padding-top:22px;padding-bottom:22px;}
.pt-1{padding-top:4px;}
.pt-3{padding-top:12px;}
.pt-3\.5{padding-top:14px;}
.pt-4{padding-top:16px;}
.pt-5{padding-top:20px;}
.pt-\[18px\]{padding-top:18px;}
.pt-\[22px\]{padding-top:22px;}
.pt-\[27px\]{padding-top:27px;}
.pb-1\.5{padding-bottom:6px;}
.pb-3{padding-bottom:12px;}
.pb-3\.5{padding-bottom:14px;}
.pb-4{padding-bottom:16px;}
.pb-8{padding-bottom:32px;}
.pb-\[18px\]{padding-bottom:18px;}
.pb-\[22px\]{padding-bottom:22px;}
.pl-3{padding-left:12px;}
.pl-10{padding-left:40px;}
.pr-2{padding-right:8px;}

/* ============================================================
   크기
   ============================================================ */
.w-8{width:32px;}.w-9{width:36px;}.w-10{width:40px;}.w-11{width:44px;}.w-12{width:48px;}.w-16{width:64px;}.w-24{width:96px;}
.w-px{width:1px;}.w-auto{width:auto;}.w-full{width:100%;}.w-side{width:150px;}
.w-\[18px\]{width:18px;}.w-\[22px\]{width:22px;}.w-\[34px\]{width:34px;}.w-\[62px\]{width:62px;}.w-\[70px\]{width:70px;}
.min-w-0{min-width:0;}
.min-w-\[34px\]{min-width:34px;}.min-w-\[140px\]{min-width:140px;}.min-w-\[150px\]{min-width:150px;}
.max-w-\[64\%\]{max-width:64%;}
.h-1\.5{height:6px;}.h-5{height:20px;}.h-8{height:32px;}.h-9{height:36px;}.h-10{height:40px;}.h-11{height:44px;}.h-12{height:48px;}.h-14{height:56px;}.h-24{height:96px;}
.h-full{height:100%;}
.h-\[15px\]{height:20px;}.h-\[18px\]{height:18px;}.h-\[21px\]{height:28px;}.h-\[22px\]{height:22px;}.h-\[34px\]{height:34px;}.h-\[45px\]{height:45px;}.h-\[54px\]{height:54px;}.h-\[62px\]{height:62px;}.h-\[70px\]{height:70px;}.h-\[248px\]{height:248px;}.h-\[520px\]{height:520px;}
.min-h-\[24px\]{min-height:24px;}.min-h-\[92px\]{min-height:92px;}
.h-16{height:64px;}
.h-\[120px\]{height:120px;}
.inset-0{inset:0;}
.px-\[30px\]{padding-left:30px;padding-right:30px;}

/* ============================================================
   타이포그래피
   ============================================================ */
.text-xs{font-size:12px;line-height:16px;}
.text-sm{font-size:14px;line-height:20px;}
.text-base{font-size:16px;line-height:24px;}
.text-xl{font-size:20px;line-height:28px;}
.text-\[9px\]{font-size:9px;}
.text-\[10px\]{font-size:10px;}
.text-\[11px\]{font-size:11px;}
.text-\[13px\]{font-size:13px;}
.text-\[15px\]{font-size:15px;}
.text-\[17px\]{font-size:17px;}
.text-\[19px\]{font-size:19px;}
.text-\[22px\]{font-size:22px;}
.text-\[26px\]{font-size:26px;}
.font-medium{font-weight:500;}
.font-semibold{font-weight:600;}
.font-bold{font-weight:700;}
.font-extrabold{font-weight:800;}
.leading-none{line-height:1;}
.leading-tight{line-height:1.25;}
.leading-snug{line-height:1.375;}
.leading-normal{line-height:1.5;}
.leading-relaxed{line-height:1.625;}
.tracking-wide{letter-spacing:0.025em;}
.tracking-\[-0\.01em\]{letter-spacing:-0.01em;}
.tracking-\[-0\.02em\]{letter-spacing:-0.02em;}
.tracking-\[0\.02em\]{letter-spacing:0.02em;}
.text-left{text-align:left;}
.text-center{text-align:center;}
.text-right{text-align:right;}
.\[text-wrap\:pretty\]{text-wrap:pretty;}
.outline-none{outline:none;}

/* ---- 색상: 텍스트 ---- */
.text-white{color:#fff;}
.text-gray-300{color:#d0d5dd;}
.text-gray-400{color:#98a2b3;}
.text-gray-500{color:#667085;}
.text-gray-600{color:#475467;}
.text-gray-700{color:#344054;}
.text-gray-900{color:#101828;}
.text-brand-600{color:#7f56d9;}
.text-info-500{color:#2e90fa;}
.text-info-600{color:#1570ef;}
.text-error-600{color:#d92d20;}
.text-error-700{color:#b42318;}
.text-warning-500{color:#f79009;}

/* ---- 색상: 배경 ---- */
.bg-white{background-color:#fff;}
.bg-white\/20{background-color:rgba(255,255,255,.2);}
.bg-canvas{background-color:#eef0f3;}
.bg-transparent{background-color:transparent;}
.bg-gray-25{background-color:#fcfcfd;}
.bg-gray-50{background-color:#f9fafb;}
.bg-gray-100{background-color:#f2f4f7;}
.bg-gray-200{background-color:#eaecf0;}
.bg-brand-600{background-color:#7f56d9;}
.bg-info-50{background-color:#eff8ff;}
.bg-error-50{background-color:#fef3f2;}
.bg-\[\#1428a0\]{background-color:#1428a0;}

/* ---- 보더 ---- */
.border{border-width:1px;border-style:solid;border-color:#eaecf0;}
.border-0{border-width:0;}
.border-\[1\.5px\]{border-width:1.5px;border-style:solid;}
.border-b{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#eaecf0;}
.border-b-2{border-bottom-width:2px;border-bottom-style:solid;}
.border-b-8{border-bottom-width:8px;border-bottom-style:solid;}
.border-r{border-right-width:1px;border-right-style:solid;border-right-color:#eaecf0;}
.border-t{border-top-width:1px;border-top-style:solid;border-top-color:#eaecf0;}
.border-transparent{border-color:transparent;}
.border-gray-100{border-color:#f2f4f7;}
.border-gray-200{border-color:#eaecf0;}
.border-gray-300{border-color:#d0d5dd;}
.border-brand-300{border-color:#d6bbfb;}
.border-brand-600{border-color:#7f56d9;}
.border-info-100{border-color:#d1e9ff;}
.border-info-500{border-color:#2e90fa;}
.border-error-100{border-color:#fee4e2;}
.border-success-100{border-color:#dcfae6;}
.border-warning-100{border-color:#fef0c7;}

/* ---- radius ---- */
.rounded-md{border-radius:8px;}
.rounded-lg{border-radius:10px;}
.rounded-xl{border-radius:12px;}
.rounded-2xl{border-radius:16px;}
.rounded-full{border-radius:9999px;}
.rounded-\[5px\]{border-radius:5px;}
.rounded-\[9px\]{border-radius:9px;}
.rounded-\[16px_16px_16px_4px\]{border-radius:16px 16px 16px 4px;}

/* ---- shadow ---- */
.shadow-xs{box-shadow:0 1px 2px rgba(16,24,40,.05);}
.shadow-sm{box-shadow:0 1px 3px rgba(16,24,40,.10),0 1px 2px rgba(16,24,40,.06);}
.shadow-card{box-shadow:0 1px 2px rgba(16,24,40,.04);}
.shadow-md{box-shadow:0 4px 8px -2px rgba(16,24,40,.10),0 2px 4px -2px rgba(16,24,40,.06);}
.shadow-lg{box-shadow:0 12px 16px -4px rgba(16,24,40,.08),0 4px 6px -2px rgba(16,24,40,.03);}
.shadow-pop{box-shadow:0 16px 42px -10px rgba(16,24,40,.30);}
.shadow-bar{box-shadow:0 -4px 16px -8px rgba(16,24,40,.18);}
.shadow-pill{box-shadow:0 4px 14px -4px rgba(16,24,40,.12),0 1px 2px rgba(16,24,40,.05);}

/* ---- opacity / transition / ring ---- */
.opacity-85{opacity:.85;}
.opacity-90{opacity:.9;}
.transition-all{transition:all .15s;}
.transition-colors{transition:background-color .15s,color .15s,border-color .15s;}
.transition-transform{transition:transform .15s;}
.duration-200{transition-duration:.2s;}
.ring-4{box-shadow:0 0 0 4px rgba(158,119,237,.24);}
.ring-brand-100{box-shadow:0 0 0 4px rgba(127,86,217,.08);}

/* ============================================================
   상태 변형
   ============================================================ */
.hover\:bg-brand-25:hover{background-color:#fcfaff;}
.hover\:bg-brand-50:hover{background-color:#f9f5ff;}
.hover\:bg-brand-700:hover{background-color:#6941c6;}
.hover\:bg-gray-50:hover{background-color:#f9fafb;}
.hover\:border-brand-300:hover{border-color:#d6bbfb;}
.hover\:border-brand-600:hover{border-color:#7f56d9;}
.hover\:border-gray-300:hover{border-color:#d0d5dd;}
.hover\:shadow-sm:hover{box-shadow:0 1px 3px rgba(16,24,40,.10),0 1px 2px rgba(16,24,40,.06);}
.hover\:text-brand-600:hover{color:#7f56d9;}
.focus\:border-brand-600:focus{border-color:#7f56d9;}
.focus\:ring-4:focus{box-shadow:0 0 0 4px rgba(158,119,237,.24);}
.focus\:ring-brand:focus{box-shadow:0 0 0 4px rgba(158,119,237,.24);}

/* data-on (선택 칩 상태: filter.js / region 등) */
.data-\[on\=true\]\:border-\[1\.5px\][data-on="true"]{border-width:1.5px;border-style:solid;}
.data-\[on\=true\]\:border-info-500[data-on="true"]{border-color:#2e90fa;}
.data-\[on\=true\]\:text-info-600[data-on="true"]{color:#1570ef;}
.data-\[on\=true\]\:text-brand-600[data-on="true"]{color:#7f56d9;}
.data-\[on\=true\]\:font-bold[data-on="true"]{font-weight:700;}

/* ============================================================
   keyframes
   ============================================================ */
@keyframes spin{to{transform:rotate(360deg);}}
.animate-spin{animation:spin .8s linear infinite;}

/* ============================================================
   관리자 진입(메인) — 헤더 토글 · 관리 버튼 · 구역 관리 모달
   (구인구직 메인의 관리자 모달 통합)
   ============================================================ */
.jl-admin-on{display:inline-flex;align-items:center;gap:6px;border:0;background:#7f56d9;color:#fff;font-size:12px;font-weight:700;padding:6px 11px;border-radius:9999px;cursor:pointer;}
.jl-admin-in{display:inline-flex;align-items:center;gap:5px;border:1px solid #e4e7ec;background:#fff;color:#475467;font-size:12px;font-weight:600;padding:6px 11px;border-radius:9999px;}
.jl-admin-in:hover{border-color:#d6bbfb;color:#7f56d9;}
.jl-admin-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;}
.jl-admin-link{display:inline-flex;align-items:center;gap:7px;border:1px solid #d6bbfb;background:#f4ebff;color:#6941c6;font-size:13px;font-weight:700;padding:9px 14px;border-radius:8px;}
.jl-admin-link:hover{background:#e9d7fe;}
.jl-manage{display:inline-flex;align-items:center;gap:4px;border:1px solid #d6bbfb;background:#f4ebff;color:#6941c6;font-size:11px;font-weight:700;padding:5px 10px;border-radius:9999px;cursor:pointer;}
.jl-manage:hover{background:#e9d7fe;}

.jl-mm-overlay{position:fixed;inset:0;z-index:90;background:rgba(16,24,40,.7);display:flex;align-items:center;justify-content:center;padding:20px;}
.jl-mm{width:100%;max-width:440px;max-height:84vh;background:#fff;border-radius:14px;box-shadow:0 20px 48px -12px rgba(16,24,40,.35);display:flex;flex-direction:column;overflow:hidden;}
.jl-mm-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid #eaecf0;}
.jl-mm-title{margin:0;font-size:17px;font-weight:700;color:#101828;}
.jl-mm-desc{margin:5px 0 0;font-size:13px;color:#667085;line-height:1.5;}
.jl-mm-body{flex:1;overflow-y:auto;padding:16px 22px;}
.jl-mm-foot{flex:0 0 auto;display:flex;gap:10px;padding:14px 22px;border-top:1px solid #eaecf0;background:#fcfcfd;}
.jl-mm-row{display:flex;align-items:center;gap:10px;border:1px solid #eaecf0;background:#fff;border-radius:10px;padding:10px 12px;}
.jl-mm-handle{flex:0 0 auto;color:#d0d5dd;cursor:grab;font-size:14px;user-select:none;letter-spacing:-2px;}
.jl-mm-name{font-size:14px;font-weight:600;color:#101828;}
.jl-mm-sub{font-size:12px;color:#98a2b3;margin-top:2px;}
.jl-mm-vis{flex:0 0 auto;border:1px solid #e4e7ec;background:#f9fafb;color:#98a2b3;font-size:12px;font-weight:700;padding:5px 11px;border-radius:9999px;cursor:pointer;}
.jl-mm-vis.is-on{border-color:#a6f4c5;background:#ecfdf3;color:#067647;}
.jl-mm-del{flex:0 0 auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e4e7ec;background:#fff;border-radius:8px;color:#98a2b3;cursor:pointer;}
.jl-mm-del:hover{border-color:#fda29b;color:#d92d20;}
.jl-mm .ci-add-line{border:1px dashed #d0d5dd;background:#fff;color:#667085;font-size:13px;font-weight:600;padding:9px 0;border-radius:8px;cursor:pointer;width:100%;}
.jl-mm .ci-x{border:0;background:none;padding:4px;cursor:pointer;color:#98a2b3;display:flex;}
.jl-mm .ci-btn-cancel{flex:1;height:44px;border:1px solid #d0d5dd;background:#fff;border-radius:8px;font-size:14px;font-weight:600;color:#344054;cursor:pointer;}
.jl-mm .ci-btn-save{flex:1;height:44px;border:0;background:#7f56d9;color:#fff;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;}
.relative{position:relative;}.absolute{position:absolute;}.top-2\.5{top:10px;}.right-2\.5{right:10px;}
[hidden]{display:none !important;}

/* ============================================================
   로그인 페이지(login.php) 보강 — 빌드 스캔에서 누락됐던 유틸리티
   ============================================================ */
.font-sans{font-family:"Pretendard Variable",Pretendard,Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;}
.min-h-screen{min-height:100vh;}
.p-6{padding:24px;}
.max-w-\[420px\]{max-width:420px;}
.p-\[36px_32px_30px\]{padding:36px 32px 30px;}
.mb-6{margin-bottom:24px;}
.mb-5{margin-bottom:20px;}
.mt-5{margin-top:20px;}
.mt-\[7px\]{margin-top:7px;}
.mb-\[26px\]{margin-bottom:26px;}
.mb-\[18px\]{margin-bottom:18px;}
.mb-\[22px\]{margin-bottom:22px;}
.gap-\[9px\]{gap:9px;}
.gap-0\.5{gap:2px;}
.h-6{height:24px;}
.py-\[3px\]{padding-top:3px;padding-bottom:3px;}
.text-\[22px\]{font-size:22px;}
.text-\[13px\]{font-size:13px;}
.text-\[10px\]{font-size:10px;}
.text-\[8px\]{font-size:8px;}
.hover\:text-brand-700:hover{color:#6941c6;}

/* ---- 누락 보강: 관리자 상단바/탭/목록 레이아웃에 쓰이는 임의값 유틸 ----
   (companies.php / admin_jobs.php / admin_faqs.php 상단·리스트 레이아웃 복구) */
.h-\[46px\]{height:46px;}
.h-\[52px\]{height:52px;}
.h-\[60px\]{height:60px;}
.w-\[52px\]{width:52px;}
.leading-\[46px\]{line-height:46px;}
.max-w-\[1240px\]{max-width:1240px;}
.max-w-\[380px\]{max-width:380px;}
.ml-1\.5{margin-left:6px;}
.px-\[13px\]{padding-left:13px;padding-right:13px;}
.py-\[7px\]{padding-top:7px;padding-bottom:7px;}
.py-\[13px\]{padding-top:13px;padding-bottom:13px;}
.text-\[28px\]{font-size:28px;}
