/* =============================================================================
   메인 홈 개편 + 안전보건이벤트 (2026-10-03)
   - 범위: body.home-v2-page(통합 홈일 때만) · .home-v2 · .home-ne · .ne-*(홈 '공지 / 일정') · .hev-*(공통 배지)
           body.ev-page(안전보건이벤트 화면일 때만) · .ev-*
   - 분류 색(배지·캘린더·카드 공통): 공지=빨강 · 안전교육=파랑 · 안전보건이벤트=청록 · 시상/우수혁신인=황금. 세부유형은 같은 색 + 작은 글씨.
   - 그림자·그라데이션·움직임은 쓰지 않는다(얇은 테두리 + 적당한 둥근 모서리).
   ========================================================================== */
:root{
  --hc-notice:#D63A2F; --hc-notice-ink:#B02A20; --hc-notice-tint:#FDECEA;
  --hc-edu:#2D69CF; --hc-edu-ink:#1F55AD; --hc-edu-tint:#EAF1FC;
  --hc-event:#11806C; --hc-event-ink:#0B6455; --hc-event-tint:#E3F4F0;
  --hc-award:#F2B233; --hc-award-ink:#7A5200; --hc-award-tint:#FDF4DD;
}

/* ── 공통: 분류 배지 · 세부유형 · 중요 ── */
.hev-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:40px;height:22px;padding:0 7px;border-radius:4px;
  font-size:12px;font-weight:800;line-height:1;color:#fff;white-space:nowrap;letter-spacing:-.2px;}
.hev-badge.hc-notice{background:var(--hc-notice);} .hev-badge.hc-edu{background:var(--hc-edu);}
.hev-badge.hc-event{background:var(--hc-event);} .hev-badge.hc-award{background:var(--hc-award);color:#3B2800;}
.hev-sub{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;background:var(--hc-event-tint);color:var(--hc-event-ink);font-size:11.5px;font-weight:700;white-space:nowrap;}
.hev-imp{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;border:1px solid var(--hc-notice);color:var(--hc-notice-ink);background:#fff;font-size:11.5px;font-weight:800;white-space:nowrap;}
.hev-imp.sm{height:18px;font-size:11px;padding:0 5px;}
.hev-ico{display:inline-block;flex:0 0 auto;vertical-align:-3px;}
.ev-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
.ev-dot.hc-notice{background:var(--hc-notice);} .ev-dot.hc-edu{background:var(--hc-edu);} .ev-dot.hc-event{background:var(--hc-event);} .ev-dot.hc-award{background:var(--hc-award);}

/* =============================================================================
   통합 홈 (2026-10-03 2차) — 영상 → 공지 / 일정 → 무재해 현황 → 전체 업무 (PC·모바일 같은 순서)
   업무 이동은 상단 Global Navigation(css/gnb.css)이 맡아 별도 바로가기 카드는 없다.
   ========================================================================== */
@media (min-width:1100px){ body.home-v2-page #app{max-width:1240px;padding-left:20px;padding-right:20px;} }
.home-v2{display:flex;flex-direction:column;}
.home-v2>*{min-width:0;}
.home-v2 h2{letter-spacing:-.2px;}

/* ① 영상 배너 — 영상·문구·버튼 동작은 기존 그대로, PC 에서 조금 크게 */
.home-hero{margin-bottom:16px;}
.home-hero .video-banner{margin-bottom:0;}
@media (min-width:1024px){
  body.home-v2-page .home-hero .video-banner{height:330px;}
  .home-hero .vb-text{left:40px;right:38%;}
  .home-hero .vb-headline{font-size:clamp(24px, 2.4vw, 34px);line-height:1.3;word-break:keep-all;}
  .home-hero .vb-sub{font-size:16px;margin-top:10px;}
  .home-hero .vb-controls{right:18px;bottom:16px;}
  .home-hero .vb-btn{min-height:36px;padding:6px 14px;font-size:13px;}
}

/* ② 공지 / 일정 — 왼쪽 중요 공지/일정 큰 카드(직접 넘김) + 오른쪽 다가오는 일정(작은 달력 + 가까운 일정) */
.home-ne{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px 20px;margin-bottom:16px;}
.ne-head{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-bottom:12px;}
.ne-ttl{display:flex;align-items:center;gap:12px;min-width:0;}
.ne-ico{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:var(--mint-tint);color:var(--mint-ink);display:flex;align-items:center;justify-content:center;}
.ne-ttl h2{margin:0;font-size:20px;font-weight:800;line-height:1.3;}
.ne-ttl p{margin:2px 0 0;font-size:13.5px;color:var(--ink-2);}
.ne-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ne-act .btn{min-height:42px;font-size:14px;text-decoration:none;}
.ne-act .btn .hev-ico{margin-left:-2px;}
.ne-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 12px;margin-bottom:14px;border-bottom:1px solid var(--line);scrollbar-width:thin;}
.ne-tabs button{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:40px;padding:5px 15px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);
  font:inherit;font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap;cursor:pointer;}
.ne-tabs button.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.ne-tabs button:focus-visible{outline:2px solid var(--mint);outline-offset:2px;}
.ne-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
@media (min-width:1024px){ .ne-grid{grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr);align-items:start;} }   /* 달력 아래 일정 목록이 없으므로 오른쪽 카드를 왼쪽 높이로 늘리지 않는다(빈 공간 방지) */
@media (min-width:1024px){ .ne-feat{align-self:stretch;} }   /* 왼쪽이 달력보다 낮아지는 경우(일정 없는 날 안내 등)에는 왼쪽을 달력 높이까지 */
.home-ne.ne-busy .ne-grid{opacity:.55;}

/* 큰 카드 */
.ne-feat{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;}
.ne-track{flex:1 1 auto;display:flex;flex-direction:column;touch-action:pan-y;}
.ne-slide{flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr);}
@media (min-width:768px){ .ne-slide.has-media{grid-template-columns:minmax(0,1fr) minmax(0,42%);} }
.ne-body{display:flex;flex-direction:column;gap:10px;min-width:0;padding:22px 24px 20px;}
.ne-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.ne-badges .hev-badge{height:24px;font-size:12.5px;}
.ne-badges .hev-imp,.ne-badges .ev-pin-tag,.ne-badges .hev-sub{height:24px;font-size:12.5px;}
.ne-kind{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--ink-2);}
.ne-t{margin:0;font-size:24px;font-weight:800;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ne-t a{color:var(--ink);text-decoration:none;}
@media (hover:hover){ .ne-t a:hover{text-decoration:underline;} }
.ne-t a:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:4px;}
.ne-meta{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.ne-meta li{display:flex;align-items:flex-start;gap:8px;min-width:0;font-size:15px;font-weight:700;color:var(--ink);}
.ne-meta li .hev-ico{margin-top:2px;color:var(--mint-ink);}
.ne-meta li span{min-width:0;overflow-wrap:anywhere;word-break:keep-all;}   /* '2/3회' 같은 묶음이 '회'만 다음 줄로 떨어지지 않게 */
.ne-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px;}
.ne-b{min-height:46px;font-size:15px;text-decoration:none;}
.ne-gcal{background:#fff;color:#174ea6;border:1.5px solid #1a73e8;}
.ne-gcal:active{background:#eef4fe;}
.ne-fn{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--white);border:1px solid var(--line-strong);font-size:12.5px;font-weight:800;}
.ne-media{position:relative;display:block;min-height:240px;background:var(--surface-2);overflow:hidden;}
.ne-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;}
.ne-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;}
.ne-ph b{font-size:42px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;}
.ne-ph span{font-size:15px;font-weight:700;}
.ne-ph .ne-ph-ico{opacity:.85;}
.ne-ph.hc-notice{background:var(--hc-notice-tint);color:var(--hc-notice-ink);}
.ne-ph.hc-edu{background:var(--hc-edu-tint);color:var(--hc-edu-ink);}
.ne-ph.hc-event{background:var(--hc-event-tint);color:var(--hc-event-ink);}
.ne-ph.hc-award{background:var(--hc-award-tint);color:var(--hc-award-ink);}
/* 넘기기(← · 점 · →) — 자동으로 넘어가지 않는다 */
.ne-nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;border-top:1px solid var(--line);background:var(--surface-2);}
.ne-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;background:var(--white);color:var(--ink);cursor:pointer;}
.ne-arrow:active{background:var(--mint-tint);}
.ne-dots{display:flex;gap:2px;flex:0 1 auto;min-width:0;overflow:hidden;}   /* 점이 많아도 ← → 를 밀어내지 못한다 — 자리가 모자라면 JS(fitNav)가 .ne-many 로 점을 숨긴다 */
.ne-dot{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:36px;padding:0;border:0;background:none;cursor:pointer;}
.ne-nav.ne-many .ne-dots{display:none;}   /* 하루 일정이 많을 때: 점 대신 ← 'n / N' → 만 */
.ne-nav.ne-many .ne-count{display:block;min-width:4.2em;font-size:14.5px;}   /* (아주 좁은 폰에서 숨기던 규칙보다 우선) 점이 없으면 n / N 이 위치 표시 */
.ne-dot::before{content:"";width:10px;height:10px;border-radius:5px;background:var(--line-strong);}
.ne-dot[aria-current="true"]::before{width:24px;background:var(--mint);}
.ne-count{min-width:3.4em;text-align:center;font-size:13.5px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.ne-count b{color:var(--ink);}
.ne-arrow:focus-visible,.ne-dot:focus-visible,.ne-cb:focus-visible,.ne-thism:focus-visible,.ne-link:focus-visible{outline:2px solid var(--mint);outline-offset:2px;}
.ne-dot:focus-visible{outline-offset:-4px;}   /* .ne-dots 가 overflow:hidden 이라 바깥 윤곽이 잘리지 않게 안쪽으로 */
.ne-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:240px;padding:24px 16px;text-align:center;color:var(--ink-2);font-size:15px;}
.ne-empty p{margin:0;}
.ne-empty .btn{text-decoration:none;}
.ne-empty-ico{width:56px;height:56px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--ink-2);}
.ne-wait{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--ink-2);font-size:14px;}
.ne-wait.sm{min-height:0;padding:14px 4px;font-size:13.5px;}

/* 다가오는 일정 */
.ne-side{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px 16px 14px;background:var(--surface);}
.ne-side-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;}
.ne-side-h h3{margin:0;font-size:17px;font-weight:800;}
.ne-more{display:inline-flex;align-items:center;gap:2px;min-height:38px;font-size:14px;font-weight:700;color:var(--mint-ink);text-decoration:none;white-space:nowrap;}
.ne-more:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:4px;}
.ne-cal-h{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 0 4px;}
.ne-cal-h b{min-width:7.4em;text-align:center;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;}
.ne-cb{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);cursor:pointer;}
.ne-thism{min-height:32px;padding:3px 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--white);font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer;}
.ne-wk,.ne-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}
.ne-wk span{padding:3px 0;text-align:center;font-size:12px;font-weight:800;color:var(--ink-2);}
.ne-wk .sun{color:#c23a2b;} .ne-wk .sat{color:#2d69cf;}
.ne-d{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;min-height:40px;padding:3px 0 2px;border:0;border-radius:8px;background:none;font:inherit;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;}
span.ne-d{cursor:default;}
.ne-dn{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;font-size:13.5px;font-weight:700;font-variant-numeric:tabular-nums;}
.ne-d.sun .ne-dn{color:#c23a2b;} .ne-d.sat .ne-dn{color:#2d69cf;}
.ne-d.today .ne-dn{background:var(--mint);color:#000;}
.ne-d.sel{background:var(--mint-tint);box-shadow:inset 0 0 0 2px var(--mint);}
.ne-dd{display:flex;align-items:center;gap:2px;height:7px;}
.ne-dd .ev-dot{width:6px;height:6px;}
@media (hover:hover){ button.ne-d:hover{background:var(--surface-2);} button.ne-d.sel:hover{background:var(--mint-tint);} }
.ne-d:focus-visible{outline:2px solid var(--mint);outline-offset:-2px;}
.ne-link{min-height:36px;padding:4px 2px;border:0;background:none;font:inherit;font-size:13.5px;font-weight:700;color:var(--mint-ink);text-decoration:underline;cursor:pointer;}
.ne-fd-t{margin:0 0 8px;font-weight:800;overflow-wrap:anywhere;}
/* 날짜를 누른 뒤 왼쪽 카드 맨 위 안내 줄(10.21(수) 일정 1건 · [중요 공지로 돌아가기]) — 달력 아래 목록을 대신하는 복귀 수단 */
.ne-selbar{display:flex;align-items:center;justify-content:space-between;gap:2px 12px;flex-wrap:wrap;padding:4px 14px 4px 18px;border-bottom:1px solid var(--line);background:var(--mint-tint);}
.ne-selbar b{font-size:14.5px;font-weight:800;color:var(--mint-ink);font-variant-numeric:tabular-nums;}
.ne-selmore{flex:1 1 100%;padding:0 0 6px;font-size:13px;line-height:1.5;color:var(--ink-2);}   /* 하루 20건을 넘을 때: 나머지는 전체 일정 보기로 안내 */
.ne-selmore a{display:inline-block;padding:5px 2px;margin:-5px 0;font-weight:800;color:var(--mint-ink);text-decoration:underline;}
.ne-selmore a:focus-visible{outline:2px solid var(--mint);outline-offset:1px;border-radius:3px;}
.ne-feat{scroll-margin-top:calc(var(--hdr-h,0px) + 8px);scroll-margin-bottom:12px;}   /* 모바일: 날짜를 누른 뒤 카드가 위로 밀려나 있으면 고정 머리글 아래로 보이게 */
.ne-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}   /* 화면에는 안 보이고 읽어 주기만(aria-live) */
/* 태블릿(640~1023): 한 줄 배치이므로 달력만 있는 카드가 화면 가득 늘어나지 않게 폭을 제한하고 가운데 */
@media (min-width:640px) and (max-width:1023.98px){
  .ne-side{width:100%;max-width:460px;margin:0 auto;}
}
/* 모바일: 한 줄로 — 공지 카드(사진 → 제목 → 일정/장소 → 버튼) → 다가오는 일정(달력 → 목록) */
@media (max-width:767.98px){
  .home-ne{padding:14px 12px;border-radius:10px;}
  .ne-ico{flex-basis:40px;width:40px;height:40px;}
  .ne-ttl h2{font-size:19px;}
  .ne-act{width:100%;}
  .ne-act .btn{flex:1 1 0;}
  .ne-tabs{margin:0 -12px 12px;padding:2px 12px 12px;}
  .ne-body{padding:16px 14px 14px;gap:9px;}
  .ne-t{font-size:20px;}
  .ne-slide.has-media .ne-media{order:-1;}
  .ne-slide.has-media a.ne-media{min-height:0;aspect-ratio:16/9;}
  .ne-slide.has-media .ne-ph{min-height:84px;flex-direction:row;gap:12px;}
  .ne-ph b{font-size:30px;}
  .ne-b{flex:1 1 100%;}
  .ne-empty,.ne-wait{min-height:180px;}
  .ne-side{padding:12px 12px 12px;}
}
/* 좁은 휴대폰: 공지가 5건이어도 ← · 점 · → 가 한 줄에 들어가게(화살표는 44px 그대로) */
@media (max-width:420px){ .ne-nav{gap:8px;padding:8px 10px;} .ne-dot{width:22px;} }
@media (max-width:359.98px){ .ne-dot{width:18px;} .ne-nav{gap:6px;padding:8px 6px;} }   /* 320px 이하 작은 폰·접는 폰 바깥 화면 — 'n / N' 은 그대로 보이고, 점이 모자라면 fitNav 가 점을 숨긴다 */

/* ③ 무재해 현황 — 기존 그대로(.nacc). 넓은 화면에서 숫자만 조금 크게 */
@media (min-width:1100px){ body.home-v2-page .nacc{padding:16px 18px;} body.home-v2-page .nacc-days{font-size:30px;} body.home-v2-page .nacc-head h2{font-size:17px;} }

/* ④ 전체 업무(기존 카드) */
.home-all{margin-top:4px;}
.home-all .home-lead{font-size:16px;font-weight:800;margin:4px 0 12px;}
@media (min-width:1100px){ body.home-v2-page .home-grid{grid-template-columns:repeat(3,1fr);} }

/* =============================================================================
   안전보건이벤트 화면 (body.ev-page)
   ========================================================================== */
@media (min-width:1100px){ body.ev-page #app{max-width:1240px;padding-left:20px;padding-right:20px;} }
.ev-wrap{min-width:0;}
.ev-loading{padding:28px 8px;text-align:center;color:var(--ink-2);font-size:14px;}
.ev-loading.sm{padding:12px 4px;font-size:13px;}
.ev-empty{padding:28px 8px;text-align:center;color:var(--ink-2);font-size:14px;border:1px dashed var(--line);border-radius:var(--radius);}
.ev-empty.sm{padding:12px 6px;font-size:13px;border:0;}
.ev-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-bottom:10px;}
.ev-head-t h2{margin:0;font-size:20px;font-weight:800;}
.ev-head-t p{margin:2px 0 0;font-size:13px;color:var(--ink-2);}
.ev-head-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ev-head-act .btn{text-decoration:none;}
.ev-seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface);}
.ev-seg button{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:5px 14px;border:0;border-left:1px solid var(--line);background:none;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink-2);cursor:pointer;}
.ev-seg button:first-child{border-left:0;}
.ev-seg button.on{background:var(--mint-tint);color:var(--mint-ink);}
.ev-seg.sm button{min-height:34px;padding:4px 12px;font-size:13px;}
.ev-seg button:focus-visible,.ev-tabs button:focus-visible,.ev-ib:focus-visible,.ev-pager button:focus-visible,.ev-tr:focus-visible,.ev-md:focus-visible,.ev-chip:focus-visible{outline:2px solid var(--mint);outline-offset:-2px;}
/* 분류 탭 — 좁은 화면은 옆으로 밀어 보기 */
.ev-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;border-bottom:1px solid var(--line);margin-bottom:14px;scrollbar-width:thin;}
.ev-tabs button{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:38px;padding:5px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);
  font:inherit;font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;cursor:pointer;}
.ev-tabs button.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.ev-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
@media (min-width:1200px){ .ev-layout{grid-template-columns:minmax(0,1fr) 300px;} }
.ev-side-box{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:var(--surface);}
@media (min-width:1200px){ .ev-side-box{position:sticky;top:calc(var(--hdr-h, 96px) + 10px);} }
.ev-side-box h3{margin:0 0 6px;font-size:15px;font-weight:800;}
.ev-up{display:flex;flex-direction:column;}
.ev-up-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;}
.ev-up-row:first-child{border-top:0;}
.ev-up-d{flex:0 0 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:46px;border-radius:6px;line-height:1.15;}
.ev-up-d b{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;} .ev-up-d small{font-size:11px;font-weight:700;}
.ev-up-d.hc-notice{background:var(--hc-notice-tint);color:var(--hc-notice-ink);} .ev-up-d.hc-edu{background:var(--hc-edu-tint);color:var(--hc-edu-ink);}
.ev-up-d.hc-event{background:var(--hc-event-tint);color:var(--hc-event-ink);} .ev-up-d.hc-award{background:var(--hc-award-tint);color:var(--hc-award-ink);}
.ev-up-b{min-width:0;display:flex;flex-direction:column;gap:1px;}
.ev-up-t{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ev-up-m{font-size:12px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ev-side-more{display:inline-flex;align-items:center;gap:2px;min-height:36px;margin-top:4px;font-size:13px;font-weight:700;color:var(--mint-ink);text-decoration:none;}

/* 목록 조건 */
.ev-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.ev-search{position:relative;flex:1 1 240px;display:flex;align-items:center;}
.ev-search .hev-ico{position:absolute;left:12px;color:var(--ink-2);}
.ev-search input{width:100%;min-height:42px;padding:8px 12px 8px 36px;border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;font-size:14px;}
.ev-filters select{min-height:42px;padding:6px 30px 6px 10px;border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;font-size:14px;background-color:var(--surface);max-width:100%;}
.ev-impchk{min-height:42px;}
.ev-count{font-size:13px;color:var(--ink-2);margin:0 0 6px;}
#evList.ev-busy{opacity:.55;}   /* 조건을 바꿔 다시 받는 동안(검색칸은 그대로 둔 채 목록만 흐리게) */
.ev-count b{color:var(--ink);}
/* 목록 표 — PC: 한 줄, 모바일: 카드 */
.ev-table{border-top:2px solid var(--ink);}
.ev-tr{display:grid;grid-template-columns:84px minmax(0,1fr) 190px 96px 64px;align-items:center;gap:10px;min-height:52px;padding:8px 8px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;}
.ev-th{min-height:40px;background:var(--surface-2);font-size:13px;font-weight:800;color:var(--ink-2);}
.ev-th span:nth-child(n+3){text-align:center;}
a.ev-tr.pinned{background:#fffaf8;}
a.ev-tr.is-hidden{opacity:.72;}
@media (hover:hover){ a.ev-tr:hover{background:#f6fbfb;} a.ev-tr:hover .ev-tt{text-decoration:underline;} }
.ev-c-cat{display:flex;}
.ev-c-title{display:flex;align-items:center;gap:6px;min-width:0;}
.ev-tt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;}
.ev-pin{color:var(--hc-notice);display:inline-flex;vertical-align:-2px;margin-right:4px;}
.ev-att{color:var(--ink-2);display:inline-flex;}
.ev-hid{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line-strong);font-size:11.5px;font-weight:700;color:var(--ink-2);white-space:nowrap;}
.ev-c-sched{display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;}
.ev-c-sched .hev-ico{color:var(--ink-2);}
.ev-c-date{text-align:center;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums;}
.ev-c-views{display:flex;align-items:center;justify-content:center;gap:3px;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums;}
@media (max-width:820px){
  .ev-table{border-top:0;display:flex;flex-direction:column;gap:8px;}
  .ev-th{display:none;}
  .ev-tr{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"cat sched" "title title" "date views";gap:6px 10px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;min-height:0;}
  .ev-c-cat{grid-area:cat;} .ev-c-title{grid-area:title;flex-wrap:wrap;}
  .ev-tt{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1 1 100%;order:-1;font-size:15px;word-break:keep-all;overflow-wrap:anywhere;}
  .ev-c-sched{grid-area:sched;justify-content:flex-end;font-size:12.5px;}
  .ev-c-date{grid-area:date;text-align:left;font-size:12px;}
  .ev-c-views{grid-area:views;justify-content:flex-end;font-size:12px;}
}
.ev-pager{display:flex;justify-content:center;gap:4px;margin:16px 0 4px;flex-wrap:wrap;}
.ev-pager button{min-width:40px;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font:inherit;font-size:14px;font-weight:700;cursor:pointer;color:var(--ink);}
.ev-pager button.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.ev-pager button:disabled{color:var(--gray);cursor:default;}

/* 캘린더 */
.ev-cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.ev-cal-nav{display:flex;align-items:center;gap:6px;}
.ev-cal-nav h3{margin:0 4px;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;min-width:7.5em;text-align:center;}
.ev-ib{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;}
.ev-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin:0 0 8px;}
.ev-legend span{display:inline-flex;align-items:center;gap:5px;}
.ev-month{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.ev-mh,.ev-mw{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}
.ev-mh span{padding:7px 4px;text-align:center;font-size:12.5px;font-weight:800;color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--line);}
.ev-mh .sun,.ev-md.sun .ev-mdn{color:#c23a2b;} .ev-mh .sat,.ev-md.sat .ev-mdn{color:#2d69cf;}
.ev-mw+.ev-mw{border-top:1px solid var(--line);}
.ev-md{position:relative;min-height:104px;padding:5px 5px 6px;border-left:1px solid var(--line);cursor:pointer;display:flex;flex-direction:column;gap:3px;min-width:0;background:var(--surface);}
.ev-md:first-child{border-left:0;}
.ev-md.out{background:#fafbfb;} .ev-md.out .ev-mdn{opacity:.45;}
.ev-mdn{font-size:12.5px;font-weight:700;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-variant-numeric:tabular-nums;}
.ev-md.today .ev-mdn{background:var(--mint);color:#000 !important;}
.ev-md.sel{box-shadow:inset 0 0 0 2px var(--mint);}
.ev-chips{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ev-chip{display:block;min-width:0;padding:2px 5px;border-radius:3px;border-left:3px solid;font-size:11.5px;line-height:1.35;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ev-chip b{font-weight:800;font-variant-numeric:tabular-nums;}
.ev-chip.hc-notice{background:var(--hc-notice-tint);border-color:var(--hc-notice);}
.ev-chip.hc-edu{background:var(--hc-edu-tint);border-color:var(--hc-edu);}
.ev-chip.hc-event{background:var(--hc-event-tint);border-color:var(--hc-event);}
.ev-chip.hc-award{background:var(--hc-award-tint);border-color:var(--hc-award);}
@media (hover:hover){ .ev-chip:hover{text-decoration:underline;} .ev-md:hover{background:#f7fbfb;} }
.ev-more{font-size:11.5px;font-weight:700;color:var(--ink-2);padding-left:4px;}
.ev-dots{display:none;gap:3px;justify-content:center;flex-wrap:wrap;}
.ev-day{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;}
.ev-day h4{margin:0 0 4px;font-size:15px;font-weight:800;}
.ev-today-tag{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;background:var(--mint-tint);color:var(--mint-ink);font-size:11.5px;font-weight:800;vertical-align:1px;}
.ev-dr{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;}
.ev-day h4+.ev-dr,.ev-ag-l .ev-dr:first-child{border-top:0;}
.ev-dr-time{flex:0 0 44px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink-2);}
.ev-dr-b{min-width:0;display:flex;flex-direction:column;}
.ev-dr-t{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ev-dr-m{font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (hover:hover){ .ev-dr:hover .ev-dr-t{text-decoration:underline;} }
.ev-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.ev-wd{border-left:1px solid var(--line);min-height:220px;display:flex;flex-direction:column;min-width:0;}
.ev-wd:first-child{border-left:0;}
.ev-wd-h{display:flex;align-items:baseline;justify-content:center;gap:5px;padding:7px 4px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:13px;}
.ev-wd.sun .ev-wd-h b{color:#c23a2b;} .ev-wd.sat .ev-wd-h b{color:#2d69cf;}
.ev-wd.today .ev-wd-h{background:var(--mint-tint);}
.ev-wd-b{display:flex;flex-direction:column;gap:3px;padding:6px 5px;}
.ev-wd-b .ev-chip{white-space:normal;}
.ev-wd-none{font-size:12px;color:var(--gray);text-align:center;}
.ev-agenda{border:1px solid var(--line);border-radius:var(--radius);}
.ev-ag{display:flex;gap:12px;padding:10px 12px;border-top:1px solid var(--line);}
.ev-ag:first-child{border-top:0;}
.ev-ag-d{flex:0 0 52px;display:flex;flex-direction:column;align-items:center;line-height:1.2;padding-top:6px;}
.ev-ag-d b{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;} .ev-ag-d span{font-size:12px;color:var(--ink-2);}
.ev-ag-d.today b{color:var(--mint-ink);}
.ev-ag-l{flex:1 1 auto;min-width:0;}
/* 모바일 캘린더: 날짜 칸에는 점만, 고른 날의 일정은 아래 목록으로(글자를 억지로 줄이지 않는다) */
@media (max-width:767px){
  .ev-md{min-height:58px;align-items:center;padding:4px 2px;}
  .ev-chips,.ev-more{display:none;}
  .ev-dots{display:flex;}
  .ev-mdn{font-size:14px;width:30px;height:30px;}
  .ev-cal-nav h3{font-size:16px;min-width:6.5em;}
  .ev-week{grid-template-columns:1fr;}
  .ev-wd{border-left:0;border-top:1px solid var(--line);min-height:0;flex-direction:row;}
  .ev-wd:first-child{border-top:0;}
  .ev-wd-h{flex:0 0 64px;flex-direction:column;align-items:center;justify-content:center;gap:0;border-bottom:0;border-right:1px solid var(--line);}
  .ev-wd-b{flex:1 1 auto;padding:8px;}
  .ev-wd-b .ev-chip{font-size:13px;padding:5px 7px;}
  .ev-wd-none{text-align:left;padding:4px 2px;}
}

/* 상세 */
.ev-dwrap{max-width:1080px;margin:0 auto;}
.ev-d-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.ev-backbtn{gap:4px;}
.ev-adm{display:flex;gap:6px;flex-wrap:wrap;}
.ev-adm .btn{text-decoration:none;}
.ev-d{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--surface);}
@media (min-width:900px){ .ev-d.has-cover{grid-template-columns:minmax(0,1fr) minmax(0,40%);} .ev-d.has-cover .ev-d-content,.ev-d.has-cover .ev-d-files{grid-column:1/-1;} }
.ev-d-badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:8px;}
.ev-pin-tag{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 6px;border-radius:4px;background:var(--hc-notice-tint);color:var(--hc-notice-ink);font-size:11.5px;font-weight:800;}
.ev-d-title{margin:0 0 12px;font-size:23px;font-weight:800;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere;}
.ev-d-info{margin:0;display:flex;flex-direction:column;gap:8px;}
.ev-d-info>div{display:flex;gap:10px;align-items:flex-start;}
.ev-d-info dt{flex:0 0 84px;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--ink-2);}
.ev-d-info dd{margin:0;font-size:15px;font-weight:600;min-width:0;overflow-wrap:anywhere;}
.ev-calbtns{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 4px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);}
.ev-calbtns-l{flex:0 0 100%;font-size:13px;font-weight:800;color:var(--ink-2);}
.ev-calbtns .btn{text-decoration:none;min-height:46px;}
.ev-gcal{background:#fff;color:#174ea6;border:1.5px solid #1a73e8;}
.ev-gcal:active{background:#eef4fe;}
.ev-calnote{flex:0 0 100%;margin:2px 0 0;font-size:12px;color:var(--ink-2);line-height:1.5;}
.ev-d-meta{margin:12px 0 0;font-size:12.5px;color:var(--ink-2);}
.ev-d-cover{margin:0;}
.ev-cover-btn{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);overflow:hidden;cursor:zoom-in;}
.ev-cover-btn img{display:block;width:100%;max-height:420px;object-fit:contain;}
.ev-d-content{padding-top:14px;border-top:1px solid var(--line);font-size:15.5px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;}
.ev-d-content a{color:var(--mint-ink);text-decoration:underline;}
.ev-d-files{border-top:1px solid var(--line);padding-top:12px;}
.ev-d-files h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:15px;font-weight:800;}
.ev-d-files h3 small{font-size:13px;color:var(--ink-2);}
.ev-d-files ul,.ev-fl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.ev-d-files li,.ev-fl li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line);}
.ev-d-files li:first-child,.ev-fl li:first-child{border-top:0;}
.ev-f-n{flex:1 1 200px;min-width:0;font-size:14px;font-weight:600;overflow-wrap:anywhere;}
.ev-f-s{font-size:12.5px;color:var(--ink-2);}
.ev-f-s .err{color:var(--red-ink);}
.ev-d-files .btn{text-decoration:none;}
@media (max-width:560px){
  .ev-d{padding:14px;}
  .ev-d-title{font-size:20px;}
  .ev-d-info dt{flex-basis:72px;font-size:13.5px;}
  .ev-calbtns .btn{flex:1 1 100%;}
}

/* 등록/수정 */
.ev-fwrap{max-width:860px;margin:0 auto;}
.ev-form-head h2{margin:0;font-size:20px;font-weight:800;}
.ev-form-head p{margin:4px 0 12px;}
.ev-form .panel h3{margin:0 0 10px;font-size:15px;font-weight:800;}
.ev-cats,.ev-rads{display:flex;gap:8px;flex-wrap:wrap;}
.ev-rad{display:inline-flex;align-items:center;cursor:pointer;}
.ev-rad input{position:absolute;opacity:0;width:1px;height:1px;}
.ev-rad span{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:6px 14px;border:1px solid var(--line-strong);border-radius:999px;font-size:14px;font-weight:700;background:var(--surface);}
.ev-rad input:checked+span{background:var(--mint-tint);border-color:var(--mint);color:var(--mint-ink);box-shadow:inset 0 0 0 1px var(--mint);}
.ev-rad input:focus-visible+span{outline:2px solid var(--mint);outline-offset:2px;}
.ev-opts{display:flex;gap:6px 18px;flex-wrap:wrap;margin:4px 0 10px;}
.ev-form .opt small,.ev-sw small{font-weight:400;color:var(--ink-2);}
.ev-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;}
@media (max-width:560px){ .ev-grid2{grid-template-columns:1fr;} }
.ev-cover-edit{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.ev-cover-edit img{width:200px;max-width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:var(--radius);}
.ev-cover-none{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);}
.ev-cover-act{display:flex;gap:6px;flex-wrap:wrap;}
.ev-fl li.gone .ev-f-n{text-decoration:line-through;color:var(--ink-2);}
.ev-fl li.none{font-size:13px;color:var(--ink-2);}
.field>label.ev-filebtn{display:inline-flex;margin:6px 0 0;font-size:13px;}   /* 공통 .field>label(block) 이 버튼을 칸 전체로 늘리지 않게 */
.ev-form-btns{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 20px;}
.ev-form-btns .btn{flex:1 1 160px;}

/* =============================================================================
   여러 날짜 일정 (2026-10-04) — 같은 게시물의 일정이 여러 개: 홈 카드 요약 · [Google 캘린더에 추가 ▼] · 상세 일정 목록 · 등록/수정 일정 줄
   ========================================================================== */
.hev-gmenu{position:relative;display:inline-flex;max-width:100%;}
.hev-gbtn{gap:6px;}
.hev-gpop{position:absolute;left:0;top:calc(100% + 4px);z-index:40;display:flex;flex-direction:column;gap:2px;min-width:min(340px,86vw);max-height:min(60vh,340px);overflow:auto;padding:6px;
  background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.16);}
.hev-gpop[hidden]{display:none;}
.hev-gitem{display:flex;flex-direction:column;gap:2px;min-height:48px;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.4;}
.hev-gitem b{font-size:12.5px;font-weight:800;color:#174ea6;}
.hev-gitem span{font-weight:600;overflow-wrap:anywhere;}
@media (hover:hover){ .hev-gitem:hover{background:#eef4fe;} }
.hev-gitem:focus-visible{outline:2px solid #1a73e8;outline-offset:-2px;}
.ne-btns .hev-gpop{top:auto;bottom:calc(100% + 4px);}      /* 홈 카드(overflow 가림) 안에서는 위로 펼친다 */
.ne-btns .hev-gpop.dn{top:calc(100% + 4px);bottom:auto;}    /* 위쪽 공간이 모자라 아래가 더 넓으면 아래로(events.js fitGpop — 카드 안에서 잘리지 않게, 모자라면 max-height 를 줄여 안에서 스크롤) */
.ne-btns .hev-gmenu,.ev-calbtns .hev-gmenu{flex:0 1 auto;}
@media (max-width:560px){ .ne-btns .hev-gmenu{flex:1 1 100%;} .ne-btns .hev-gbtn{width:100%;} .ne-btns .hev-gpop{left:0;right:0;min-width:0;} .ev-calbtns .hev-gmenu{flex:1 1 100%;} .ev-calbtns .hev-gbtn{width:100%;} .ev-calbtns .hev-gpop{left:0;right:0;min-width:0;} }
.ev-occ-n{font-size:11.5px;font-weight:800;color:var(--hc-event-ink);}
.ev-chip small{font-weight:700;opacity:.75;}
/* 상세: 일정 목록 */
.ev-occ-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.ev-occ-list li{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);}
.ev-occ-list li.past{background:var(--surface-2);color:var(--ink-2);}
.ev-occ-t{min-width:0;flex:1 1 220px;font-size:15px;font-weight:600;overflow-wrap:anywhere;}
.ev-occ-t b{display:inline-block;min-width:2.2em;color:var(--hc-event-ink);}
.ev-occ-past{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;background:#e6e8e8;font-size:11px;font-weight:700;color:var(--ink-2);}
.ev-occ-del{flex:0 0 auto;}
/* 등록/수정: 일정 줄 */
.ev-occs{display:flex;flex-direction:column;gap:10px;margin:10px 0;}
.ev-occ-row{padding:10px 12px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);}
.ev-occ-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.ev-occ-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;}
@media (max-width:760px){ .ev-occ-g{grid-template-columns:repeat(2,minmax(0,1fr));} }
.ev-ofl{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0;font-size:13px;font-weight:700;color:var(--ink-2);}
.ev-ofl small{font-weight:500;}
.ev-ofl input{width:100%;min-height:44px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;font-size:15px;color:var(--ink);background:#fff;}
.ev-ofl input:disabled{background:#eef0f0;color:var(--gray);}
.ev-occ-allday{margin:6px 0 4px;}
.ev-occ-loc{margin-top:6px;}
.ev-occ-add{margin:2px 0 8px;}
.ev-calon{display:flex;margin-top:6px;}
.ev-occ-hint{margin:8px 0 0;}

/* ── 회사·사업장(2026-10-14 다회사 통합): 출처 배지 · 대상범위 표시 · 필터 칩(출처 기준) ── */
.hev-src{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:11.5px;font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.hev-src .hev-ico{flex:0 0 auto;color:var(--ink-2);}
.hev-tgt{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;border:1px dashed var(--line-strong);color:var(--ink-2);background:var(--surface);font-size:11.5px;font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.ne-badges .hev-src,.ne-badges .hev-tgt{height:24px;font-size:12px;}
.ev-scl{display:inline-flex;gap:4px;flex:0 1 auto;min-width:0;}
.ev-scl:empty{display:none;}
.ev-aud{color:var(--ink-2);font-size:12px;}
.hev-sc{display:flex;flex-direction:column;gap:6px;margin:-4px 0 12px;min-width:0;}
.hev-sc-row{display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:thin;min-width:0;}
.hev-sc-chip{display:inline-flex;align-items:center;flex:0 0 auto;min-height:32px;padding:3px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);
  color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;}
.hev-sc-chip.on{background:var(--mint-tint, #e3f4f0);border-color:var(--mint, #11806c);color:var(--ink);}
.hev-sc-chip:focus-visible{outline:2px solid var(--mint, #11806c);outline-offset:2px;}
.hev-sc-sub .hev-sc-chip{min-height:30px;font-size:12.5px;font-weight:600;}
.ne-sc:empty{display:none;}
.ne-sc .hev-sc{margin:-6px 0 12px;}
.ev-tgtf .ev-rads{margin-bottom:6px;}
.ev-tgt-sel{margin:6px 0 2px;max-width:420px;}
.ev-tgt-sel select{width:100%;}
.ev-srcnote{margin:8px 0 0;}
@media (max-width:820px){ .ev-scl{flex:1 1 100%;flex-wrap:wrap;} }
@media (hover:hover){ .hev-sc-chip:hover{background:var(--surface-2);} .hev-sc-chip.on:hover{background:var(--mint-tint, #e3f4f0);} }