:root{
  --uw-primary:#1f6feb;
  --uw-primary-dark:#1657c0;
  --uw-text:#222;
  --uw-muted:#888;
  --uw-border:#e3e3e3;
  --uw-bg:#fff;
  --uw-bg-soft:#f6f7f9;
  --uw-star:#f5c518;
  --uw-max:1200px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",system-ui,sans-serif;
  color:var(--uw-text);background:var(--uw-bg);font-size:15px;line-height:1.5;
}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
input,select{font-family:inherit;font-size:15px;}
::placeholder{color:var(--uw-muted);}

/* ===================== Header ===================== */
.uw-header{position:sticky;top:0;z-index:100;background:var(--uw-bg);border-bottom:1px solid var(--uw-border);}

.uw-row1{border-bottom:1px solid var(--uw-border);}
.uw-row1-inner,.uw-row2-inner{max-width:var(--uw-max);margin:0 auto;padding:0 16px;display:flex;align-items:center;}
.uw-row1-inner{height:64px;gap:20px;}

.uw-logo{font-size:24px;font-weight:800;color:var(--uw-primary);letter-spacing:-.5px;flex-shrink:0;}

.uw-search{flex:1;display:flex;align-items:center;max-width:520px;border:2px solid var(--uw-primary);border-radius:24px;padding:4px 6px 4px 16px;background:#fff;}
.uw-search-input{flex:1;border:none;outline:none;height:34px;background:transparent;}
.uw-search-btn{border:none;background:transparent;font-size:18px;padding:0 8px;}

.uw-row1-right{margin-left:auto;display:flex;align-items:center;gap:16px;flex-shrink:0;}
.uw-auth{font-size:14px;color:#555;white-space:nowrap;}
.uw-divider{margin:0 6px;color:#ccc;}
.uw-company-btn{font-size:14px;font-weight:600;color:#fff;background:var(--uw-primary);padding:8px 14px;border-radius:6px;white-space:nowrap;}
.uw-company-btn:hover{background:var(--uw-primary-dark);}

/* 사용자 드롭다운 */
.uw-userbox{position:relative;}
.uw-user-toggle{display:flex;align-items:center;gap:6px;border:1px solid var(--uw-border);background:#fff;border-radius:20px;padding:6px 12px;font-size:14px;}
.uw-user-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--uw-border);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12);list-style:none;margin:0;padding:6px 0;min-width:140px;display:none;}
.uw-userbox.is-open .uw-user-menu{display:block;}
.uw-user-menu li a{display:block;padding:9px 16px;font-size:14px;}
.uw-user-menu li a:hover{background:var(--uw-bg-soft);}

/* 2번째 줄 카테고리 */
.uw-row2{background:var(--uw-bg);transition:max-height .2s ease,opacity .2s ease;overflow:hidden;}
.uw-row2-inner{height:48px;gap:28px;}
.uw-cat{font-size:16px;font-weight:600;color:#444;height:48px;display:flex;align-items:center;border-bottom:3px solid transparent;}
.uw-cat:hover,.uw-cat.is-active{color:var(--uw-primary);border-bottom-color:var(--uw-primary);}

/* 스크롤 다운 시 카테고리 숨김 */
.uw-header.is-scrolled .uw-row2{max-height:0;opacity:0;border:none;}

/* 모바일 헤더 (기본 숨김) */
.uw-mobile{display:none;}

/* ===================== Body ===================== */
.uw-body{max-width:var(--uw-max);margin:0 auto;padding:24px 16px;min-height:50vh;}
.uw-placeholder{padding:80px 16px;text-align:center;color:var(--uw-muted);font-size:18px;}

/* ===================== Footer ===================== */
.uw-footer{border-top:1px solid var(--uw-border);background:var(--uw-bg-soft);margin-top:40px;}
.uw-footer-links{max-width:var(--uw-max);margin:0 auto;padding:18px 16px;display:flex;flex-wrap:wrap;gap:18px;border-bottom:1px solid var(--uw-border);}
.uw-footer-links a{font-size:14px;color:#555;}
.uw-footer-links a:hover{color:var(--uw-primary);}
.uw-footer-links .uw-strong{font-weight:700;color:#333;}
.uw-footer-info{max-width:var(--uw-max);margin:0 auto;padding:18px 16px 32px;color:#777;font-size:13px;}
.uw-footer-info p{margin:4px 0;}

/* ===================== 채용정보 ===================== */
.uw-detail-toggle{width:100%;font-size:18px;font-weight:800;padding:16px;border:2px solid var(--uw-primary);background:#fff;color:var(--uw-primary);border-radius:8px;}
.uw-detail-toggle:hover{background:#f0f6ff;}

.uw-conditions{border:1px solid var(--uw-border);border-radius:8px;padding:8px 16px;margin-top:12px;background:#fff;}
.uw-cond-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--uw-border);flex-wrap:wrap;}
.uw-cond-row:last-child{border-bottom:none;}
.uw-cond-label{width:64px;font-weight:700;flex-shrink:0;}
.uw-region-btn{border:1px solid var(--uw-primary);color:var(--uw-primary);background:#fff;border-radius:6px;padding:8px 16px;font-weight:600;}

.uw-sal-type{padding:8px;border:1px solid var(--uw-border);border-radius:6px;}
.uw-sal-value{padding:8px;border:1px solid var(--uw-border);border-radius:6px;width:160px;}
.uw-sal-unit{color:#555;}
.uw-sal-error{color:#d33;font-size:13px;}
.uw-text-long{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--uw-border);border-radius:6px;}

/* 지역선택 패널 */
.uw-region-panel{display:flex;border:1px solid var(--uw-border);border-radius:8px;margin-top:8px;overflow:hidden;max-height:340px;}
.uw-region-left{width:120px;flex-shrink:0;border-right:1px solid var(--uw-border);overflow-y:auto;background:var(--uw-bg-soft);}
.uw-region-big{display:block;width:100%;text-align:left;border:none;background:transparent;padding:11px 14px;font-size:15px;}
.uw-region-big:hover{background:#eef3fb;}
.uw-region-big.is-active{background:#fff;color:var(--uw-primary);font-weight:700;border-left:3px solid var(--uw-primary);}
.uw-region-right{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:2px 8px;padding:12px 16px;overflow-y:auto;align-content:start;}
.uw-region-small{border:none;background:transparent;text-align:left;padding:8px 6px;font-size:14px;border-radius:4px;}
.uw-region-small:hover{background:#eef3fb;color:var(--uw-primary);}
.uw-region-small.is-picked{color:var(--uw-primary);font-weight:700;}

/* 검색조건 줄 + 칩 */
.uw-selected{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--uw-border);border-radius:8px;padding:12px 16px;margin-top:12px;background:#fff;}
.uw-selected-title{font-weight:700;flex-shrink:0;}
.uw-chips{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-height:24px;}
.uw-chip{display:inline-flex;align-items:center;gap:6px;background:#eef3fb;color:var(--uw-primary);border:1px solid #cfe0fb;border-radius:16px;padding:5px 10px;font-size:14px;}
.uw-chip-x{border:none;background:transparent;color:var(--uw-primary);font-size:15px;line-height:1;padding:0;}
.uw-reset{border:1px solid var(--uw-border);background:#fff;border-radius:6px;padding:8px 14px;}
.uw-search-do{border:none;background:var(--uw-primary);color:#fff;font-weight:700;border-radius:6px;padding:9px 20px;margin-left:auto;}
.uw-search-do:hover{background:var(--uw-primary-dark);}

/* 목록 도구 (개수/정렬) */
.uw-list-tools{display:flex;justify-content:flex-end;gap:8px;margin:18px 0 8px;}
.uw-list-tools select{padding:8px 10px;border:1px solid var(--uw-border);border-radius:6px;}

/* 목록 */
.uw-job-head{display:grid;grid-template-columns:1.4fr 2fr 1.6fr 1.2fr;gap:12px;padding:10px 12px;background:var(--uw-bg-soft);border-top:2px solid #333;border-bottom:1px solid var(--uw-border);font-weight:700;font-size:14px;}
.uw-job-items{list-style:none;margin:0;padding:0;}
.uw-job{display:grid;grid-template-columns:1.4fr 2fr 1.6fr 1.2fr;gap:12px;padding:16px 12px;border-bottom:1px solid var(--uw-border);cursor:pointer;}
.uw-job:hover{background:#fafcff;}
.uw-col-company{display:flex;align-items:flex-start;gap:8px;}
.uw-star{font-size:20px;line-height:1;color:#ccc;border:none;background:transparent;padding:0;flex-shrink:0;}
.uw-star.is-on{color:var(--uw-star);}
.uw-company-name{font-weight:600;}
.uw-job-title{display:block;font-weight:600;color:#1a1a1a;}
.uw-job-subtitle{display:block;color:var(--uw-muted);font-size:13px;margin-top:4px;}
.uw-col-info,.uw-col-period{display:flex;flex-direction:column;gap:3px;font-size:14px;color:#555;}
.uw-info-line{min-height:1.2em;}
.uw-period-until{font-weight:800;color:#d35400;}

.uw-empty{padding:60px 16px;text-align:center;color:var(--uw-muted);}

/* 페이지네이션 */
.uw-pagination{display:flex;justify-content:center;gap:6px;padding:24px 0;flex-wrap:wrap;}
.uw-page{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--uw-border);border-radius:6px;padding:0 8px;font-size:14px;background:#fff;}
.uw-page:hover{border-color:var(--uw-primary);color:var(--uw-primary);}
.uw-page.is-current{background:var(--uw-primary);color:#fff;border-color:var(--uw-primary);}
.uw-page.disabled{color:#ccc;cursor:default;}
.uw-page-dots{padding:0 4px;color:var(--uw-muted);}

/* 상세 */
.uw-back{border:1px solid var(--uw-border);background:#fff;border-radius:6px;padding:8px 14px;margin:8px 0;}
.uw-detail-title{font-size:22px;margin:12px 0 4px;}
.uw-detail-company{color:#555;margin:0 0 16px;}
.uw-detail-table{width:100%;border-collapse:collapse;font-size:14px;}
.uw-detail-table th{width:180px;text-align:left;background:var(--uw-bg-soft);padding:8px 12px;border:1px solid var(--uw-border);vertical-align:top;color:#444;}
.uw-detail-table td{padding:8px 12px;border:1px solid var(--uw-border);vertical-align:top;word-break:break-word;}

/* 모바일 드로어 */
.uw-drawer{position:fixed;inset:0;z-index:200;}
.uw-drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);}
.uw-drawer-panel{position:absolute;top:0;right:0;width:78%;max-width:320px;height:100%;background:#fff;padding:20px;overflow-y:auto;box-shadow:-4px 0 20px rgba(0,0,0,.2);}
.uw-drawer-close{position:absolute;top:12px;right:16px;border:none;background:transparent;font-size:28px;line-height:1;}
.uw-drawer-list{list-style:none;margin:40px 0 0;padding:0;}
.uw-drawer-list li a,.uw-drawer-logout{display:block;width:100%;text-align:left;padding:14px 6px;font-size:16px;border:none;background:transparent;border-bottom:1px solid var(--uw-border);}
.uw-drawer-sep{height:8px;background:var(--uw-bg-soft);margin:8px -20px;border:none;}

/* ===================== 반응형 ===================== */
@media (max-width:768px){
  .uw-pc{display:none;}
  .uw-mobile{display:block;}

  .uw-m-row{display:flex;align-items:center;gap:10px;padding:10px 14px;}
  .uw-m-row--top{justify-content:space-between;border-bottom:1px solid var(--uw-border);}
  .uw-logo--mobile{font-size:20px;}
  .uw-m-top-right{display:flex;align-items:center;gap:10px;}
  .uw-m-top-right .uw-company-btn{padding:6px 10px;font-size:13px;}
  .uw-m-top-right .uw-auth{font-size:13px;}
  .uw-search--mobile{flex:1;max-width:none;}
  .uw-menu-icon{font-size:26px;border:none;background:transparent;padding:0 4px;flex-shrink:0;}

  .uw-body{padding:16px 12px;}

  /* 목록: 모바일은 세로 카드형 */
  .uw-job-head{display:none;}
  .uw-job{grid-template-columns:1fr;gap:6px;}
  .uw-col-info,.uw-col-period{font-size:13px;}

  .uw-region-panel{max-height:60vh;}
  .uw-region-left{width:96px;}
  .uw-region-right{grid-template-columns:repeat(2,1fr);}

  .uw-selected{flex-direction:column;align-items:stretch;}
  .uw-search-do{margin-left:0;}
}
