.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#CBD5E1;--e-global-color-accent:#F8FAFC;--e-global-color-26e3166:#0F1B2D;--e-global-color-b412f17:#48596F;--e-global-color-c65ae7f:#7D8CA1;--e-global-color-cc08053:#DCE3EC;--e-global-color-0369354:#EEF1F6;--e-global-color-210e668:#FFFFFF;--e-global-color-93dc444:#B3006B;--e-global-color-a21e659:#0E8877;--e-global-color-8d74062:#1E2A3C;--e-global-color-0302785:#7B3FBF;--e-global-color-0d766b9:#0C6FD1;--e-global-color-f483df0:#C06A05;--e-global-color-23c7f20:#C3142A;--e-global-color-5833b04:#F8FAFC;--e-global-color-d4aa755:#2563EB;--e-global-color-c87e254:#0284C7;--e-global-color-4f9bba7:#E2E8F0;--e-global-color-b3d021c:#0F172A;--e-global-color-9bbf3ad:#334155;--e-global-color-ba73d98:#64748B;--e-global-color-2b9b11d:#D97706;--e-global-color-8bfc853:#0F172A;--e-global-color-017a9cd:#1E293B;--e-global-color-c0a60ed:#334155;--e-global-color-0148b90:#F8FAFC;--e-global-color-3f6a630:#CBD5E1;--e-global-color-7ea31cc:#84A3B8;--e-global-color-50f65c6:#0284C7;--e-global-color-29b9203:#0D9488;--e-global-color-6473605:#F59E0B;--e-global-color-712248f:#EF4444;--e-global-color-5689cca:#752F8C;--e-global-color-34ddd90:#D94E41;--e-global-color-5167f16:#F26513;--e-global-color-4f4f315:#F2A03D;--e-global-color-ace1f05:#F2BB13;--e-global-color-1f22fb9:#324FA6;--e-global-color-4795a95:#4A6DD9;--e-global-color-b973c60:#3F8EBF;--e-global-color-db21600:#F2F2F2;--e-global-color-177f0de:#074259;--e-global-color-0190750:#1C818C;--e-global-color-d1cddb5:#73BFB8;--e-global-color-a891d42:#E8F29B;--e-global-color-28a60df:#09182B;--e-global-color-1e3a318:#142537;--e-global-typography-primary-font-family:"pretendard";--e-global-typography-primary-font-size:2rem;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.25em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"pretendard";--e-global-typography-secondary-font-size:1.25rem;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.35em;--e-global-typography-secondary-letter-spacing:-0.01em;--e-global-typography-text-font-family:"pretendard";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-accent-font-family:"pretendard";--e-global-typography-accent-font-size:0.9375rem;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:0em;--e-global-typography-76ee5c6-font-family:"pretendard";--e-global-typography-76ee5c6-font-size:0.8rem;--e-global-typography-76ee5c6-font-weight:500;--e-global-typography-76ee5c6-line-height:1.3em;--e-global-typography-76ee5c6-letter-spacing:0em;background-color:var( --e-global-color-5833b04 );color:var( --e-global-color-9bbf3ad );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 p{margin-block-end:0px;}.elementor-kit-5 label{color:#3C7DCA;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-ba73d98 );background-color:var( --e-global-color-5833b04 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-4f9bba7 );padding:10px 15px 9px 15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:1.5rem;}.elementor-element{--widgets-spacing:1.5rem 1.5rem;--widgets-spacing-row:1.5rem;--widgets-spacing-column:1.5rem;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================
   VNY OPS — Dashboard system
   Site Settings → Custom CSS (이 한 곳에서만 관리)
   2026-09-20 정리: 중복 제거, 번호 부여, 야간 모드 한 구역으로
   ========================================================== */

/* --- 0. 변수 · 기본 --- */
:root{
  --vny-rail:278px;
  --vny-ease:cubic-bezier(.22,.61,.36,1);
  --vny-line:#DCE3EC; --vny-line-soft:#E9EEF4;
  --vny-ink:#0F1B2D; --vny-ink-3:#7D8CA1;
}
html{ overflow-x:hidden; }


/* --- 1. 푸시 메뉴 --- */
body{ transition:padding-left .34s var(--vny-ease); }
#nav{
  width:var(--vny-rail);
  height:100vh; height:100dvh;
  transform:translateX(-100%);
  transition:transform .34s var(--vny-ease);
}
body.nav-open #nav{ transform:translateX(0); }
#navScrim{ opacity:0; pointer-events:none; transition:opacity .28s var(--vny-ease); }
body.nav-open #navScrim{ opacity:1; pointer-events:auto; }
@media (min-width:1181px){
  body.nav-open{ padding-left:var(--vny-rail); }
  body.nav-open #navScrim{ opacity:0; pointer-events:none; }
}
@media (max-width:767px){ :root{ --vny-rail:min(84vw,300px); } }

/* 1-1. 관리자 바가 있을 때 사이드 메뉴를 그 아래에서 시작 */
body.admin-bar #nav{
  top:32px;
  height:calc(100dvh - 32px) !important;
  min-height:0 !important;
}
@media (max-width:782px){
  body.admin-bar #nav{
    top:46px;
    height:calc(100dvh - 46px) !important;
  }
}


/* --- 2. 편집 화면에서만 --- */
body.elementor-editor-active #nav{ transform:none !important; }
body.elementor-editor-active #navScrim{ display:none !important; }


/* --- 3. Sticky 헤더 (Elementor Sticky 대신) --- */
.vny-header{
  position:sticky; top:0; z-index:40;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(150%) blur(10px);
}


/* --- 4. 사이드 메뉴 내부 --- */
.vny-nav-body{ flex:1; overflow-y:auto; }
.vny-nav-body::-webkit-scrollbar{ width:6px; }
.vny-nav-body::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.16); border-radius:3px; }
.vny-nav-body .elementor-icon-list-item{ border-left:1px solid rgba(255,255,255,.14); padding-left:10px; }
.vny-nav-body .elementor-icon-list-item:hover{ border-left-color:#B3006B; }
.e-n-accordion-item-title{ text-transform:none; }
.e-n-accordion-item-title i{ margin-right:10px; width:17px; text-align:center; opacity:.75; }
#navClose{ cursor:pointer; }
#navClose:hover i, #navClose:hover svg{ color:#fff; }


/* --- 5. 이니셜 아바타 --- */
.vny-avatar{
  flex:none; width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center; overflow:hidden;
  background:#B3006B; color:#fff;
  font-size:12px; font-weight:700; line-height:1;
}
.vny-avatar > .elementor-widget-container,
.vny-avatar .elementor-heading-title{ display:contents; }


/* --- 6. 카운터 --- */
.vny-ct{ position:relative; }
.vny-ct::before{
  content:""; position:absolute; top:0; left:18px;
  width:26px; height:3px; background:var(--tick); border-radius:0 0 3px 3px;
}
.vny-ct--atct{ --tick:#0E8877 } .vny-ct--night{ --tick:#1E2A3C } .vny-ct--fuel{ --tick:#7B3FBF }
.vny-ct--fod{ --tick:#0C6FD1 } .vny-ct--alert2{ --tick:#C06A05 } .vny-ct--alert3{ --tick:#C3142A }
.vny-ct .vny-num{
  color:var(--tick);
  font-family:"Barlow Semi Condensed",sans-serif;
  font-weight:600; font-size:44px; line-height:.94;
}
.vny-ct--critical{ background:linear-gradient(180deg,#FFF6F7,#fff 62%); }
.vny-counters > *{ box-shadow:inset -1px -1px 0 var(--vny-line-soft); }


/* --- 7. 기간 버튼 --- */
.vny-period .elementor-button{
  background:#fff; border:1px solid var(--vny-line); color:#48596F;
  border-radius:99px; padding:7px 15px; font-size:13px; font-weight:500;
}
.vny-period .elementor-widget.is-active .elementor-button,
.vny-period .elementor-widget.is-active .elementor-button:hover{
  background-color:#1E2A3C !important;
  border-color:#1E2A3C !important;
  color:#fff !important;
}
.vny-period .elementor-widget.is-active .elementor-button-text{ color:#fff !important; }


/* --- 8. 고정폭 글꼴 (METAR 등). 길면 다음 줄로 --- */
.vny-mono{
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  font-size:13px;
  letter-spacing:.01em;
  line-height:1.6;
  word-break:break-word;
  min-width:0;
  flex:1 1 auto;
}


/* --- 9. MAIN 2단 그리드 — 빈 행 방지 (함정 ㉓) --- */
.vny-main{ grid-template-rows:auto !important; }


/* --- 10. 표 (THEAD + 행) --- */
.vny-thead{ padding:12px 14px 10px; border-bottom:1px solid var(--vny-line); }
.vny-thead .elementor-heading-title{
  font-size:11.5px; font-weight:600; letter-spacing:.11em;
  text-transform:uppercase; color:var(--vny-ink-3);
}
.vny-row{
  border-bottom:1px solid var(--vny-line-soft);
  padding:13px 14px;
  align-items:center;
}
.vny-row:hover{ background:#F7F9FC; }
.vny-row .jet-listing-dynamic-field__content{ font-size:15px; }
.vny-row .vny-mono{ font-size:13px; color:#48596F; }
.vny-row .vny-mono .jet-listing-dynamic-field__content{ font-size:14px; }
.vny-row-name{ font-size:13.5px; font-weight:600; letter-spacing:.01em; }


/* 10-1. 목록 아래 Load more 버튼 */
.vny-more{ align-self:center; margin-top:14px; }
.vny-more .elementor-button{
  background:#fff; border:1px solid var(--vny-line); color:#48596F;
  border-radius:8px; padding:8px 18px; font-size:13px; font-weight:500;
}
.vny-more .elementor-button:hover{ background:#F7F9FC; color:var(--vny-ink); }


/* --- 11. On duty now 행 (클릭 → 로그로 이동) --- */
.vny-duty-row{ border-radius:10px; padding:11px 8px; }
.vny-duty-row:hover{ background:#F7F9FC; }
a.vny-duty-row{ width:100%; color:inherit; text-decoration:none; cursor:pointer; }
.vny-duty-go .elementor-heading-title{ font-size:18px; line-height:1; color:var(--vny-ink-3); }
a.vny-duty-row:hover .vny-duty-go .elementor-heading-title{ color:#0C6FD1; }
.jet-listing-grid__item + .jet-listing-grid__item .vny-duty-row{
  border-top:1px solid var(--vny-line-soft);
  border-radius:0;
}


/* --- 11-2. Board 글쓰기 카드 --- */
.vny-composer{ cursor:pointer; overflow:hidden; }
.vny-composer-input .elementor-heading-title{
  font-size:14.5px; font-weight:400; color:var(--vny-ink-3);
  transition:color .15s;
}
.vny-composer:hover .vny-composer-input .elementor-heading-title{ color:#48596F; }
.vny-composer-bar{ background:#F7F9FC; border-top:1px solid var(--vny-line-soft); }
.vny-composer-bar .elementor-icon{ font-size:15px; color:var(--vny-ink-3); }
.vny-composer-bar .elementor-icon svg{ width:15px; height:15px; fill:currentColor; }
.vny-composer:hover .vny-composer-bar .elementor-icon{ color:#48596F; }

/* --- 11-3. Board Notices 행 --- */
a.vny-note-row{ align-items:flex-start !important; }
.vny-note-title .jet-listing-dynamic-field__content{
  font-size:13.5px; font-weight:600; line-height:1.35; color:var(--vny-ink);
}
.vny-note-meta .jet-listing-dynamic-field__content{ font-size:12px; color:var(--vny-ink-3); }
a.vny-note-row:hover .vny-note-title .jet-listing-dynamic-field__content{ color:#0C6FD1; }

/* --- 11-4. Board 게시글 카드 (Listing 2144) --- */
.vny-post-author, .vny-post-author *{ font-size:12.5px !important; color:var(--vny-ink-3) !important; }
.vny-post-cat{
  align-self:flex-start; width:auto !important;
  background:#EEF1F6; border-radius:99px;
  padding:2px 9px !important;
  margin-left:64px !important;
}
.vny-post-cat *{
  font-size:11.5px !important; font-weight:600 !important; color:#48596F !important;
  text-transform:none !important; letter-spacing:0 !important; margin:0 !important;
}
.vny-post-title *{
  font-size:17px !important; font-weight:600 !important; line-height:1.35 !important;
  text-transform:none !important; letter-spacing:0 !important; color:var(--vny-ink) !important;
}
.vny-post-excerpt{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.vny-post-excerpt *{ font-size:13.5px !important; line-height:1.55 !important; color:#48596F !important; }
.vny-post-more *{ font-size:13px !important; font-weight:500 !important; color:#0C6FD1 !important; }
.vny-post-meta, .vny-post-meta *{ font-size:12px !important; color:var(--vny-ink-3) !important; }


/* --- 11-5. Board New Post 팝업 (JetPopup 2375 + Form D) --- */

/* 창 */
#jet-popup-2375 .jet-popup__container{ width:560px !important; max-width:calc(100vw - 32px) !important; }
#jet-popup-2375 .jet-popup__container-inner{
  padding:0 !important; background:#fff !important; border-radius:14px !important;
  box-shadow:0 24px 48px -18px rgba(15,27,45,.35) !important; overflow:hidden;
}

/* 팝업 안 위젯 간격 제거 — 간격은 제목 줄 padding 과 폼 padding 으로만 */
#jet-popup-2375 .elementor-widget{ margin-bottom:0 !important; margin-block-end:0 !important; }
#jet-popup-2375 .e-con, #jet-popup-2375 .e-con-inner{ gap:0 !important; }

/* 닫기 버튼 */
#jet-popup-2375 .jet-popup__close-button{
  top:10px !important; right:10px !important; width:32px !important; height:32px !important;
  background:transparent !important; color:var(--vny-ink-3) !important; border-radius:8px !important;
}
#jet-popup-2375 .jet-popup__close-button:hover{ background:#F7F9FC !important; color:var(--vny-ink) !important; }
#jet-popup-2375 .jet-popup__close-button svg{ width:14px; height:14px; fill:currentColor; }
#jet-popup-2375 .jet-popup__close-button i{ font-size:14px; color:inherit; }

/* 제목 줄 */
.vny-popup-title{ padding:16px 56px 16px 20px !important; border-bottom:1px solid var(--vny-line-soft); }
.vny-popup-title .elementor-heading-title{
  font-size:16px !important; font-weight:600 !important; color:var(--vny-ink) !important;
  text-transform:none !important; letter-spacing:0 !important;
}

/* 폼 본문 */
.vny-form{ padding:18px 20px 20px !important; }
.vny-form fieldset, .vny-form .jet-form-builder-row{ border:0 !important; padding:0 !important; margin:0 0 14px !important; }
.vny-form .jet-form-builder__label{ line-height:1.2 !important; margin:0 0 6px !important; min-height:0 !important; }
.vny-form .jet-form-builder__label-text{ font-size:12.5px !important; font-weight:600 !important; color:#48596F !important; }
.vny-form .jet-form-builder__required{ color:#C3142A !important; }

/* 입력칸 */
.vny-form input[type="text"], .vny-form select, .vny-form textarea{
  width:100%; padding:9px 12px !important; font-size:14px !important; color:var(--vny-ink) !important;
  background:#fff !important; border:1px solid var(--vny-line) !important; border-radius:8px !important;
  box-shadow:none !important; transition:border-color .15s, box-shadow .15s;
}
.vny-form textarea{ min-height:140px; line-height:1.5; }
.vny-form input[type="text"]:focus, .vny-form select:focus, .vny-form textarea:focus{
  outline:none; border-color:#0C6FD1 !important; box-shadow:0 0 0 3px rgba(12,111,209,.12) !important;
}
.vny-form select{
  -webkit-appearance:none; appearance:none; padding-right:36px !important; cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237D8CA1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center !important;
}

/* 첨부파일 */
.vny-form .jet-form-builder-file-upload__content{ display:flex !important; min-height:0 !important; }
.vny-form .jet-form-builder-file-upload__files{ display:flex; flex-wrap:wrap; gap:8px; margin:0 !important; min-height:0 !important; }
.vny-form .jet-form-builder-file-upload__files:has(.jet-form-builder-file-upload__file){ margin-bottom:10px !important; }
.vny-form .jet-form-builder-file-upload__file{
  position:relative; width:72px !important; height:72px !important; margin:0 !important;
  border:1px solid var(--vny-line); border-radius:8px; overflow:hidden; background:#F7F9FC;
}
.vny-form .jet-form-builder-file-upload__file img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.vny-form .jet-form-builder-file-upload__file-remove{
  position:absolute !important; top:4px !important; right:4px !important; left:auto !important; bottom:auto !important;
  width:22px !important; height:22px !important; display:grid; place-items:center; cursor:pointer;
  background:rgba(255,255,255,.92) !important; border-radius:50%; box-shadow:0 1px 3px rgba(15,27,45,.25);
}
.vny-form .jet-form-builder-file-upload__file-remove svg{ width:12px !important; height:12px !important; fill:#C3142A; }
.vny-form input[type="file"]{ font-size:13px; color:var(--vny-ink-3); }
.vny-form input[type="file"]::file-.elementor-kit-5-button{
  margin-right:10px; padding:7px 12px; cursor:pointer;
  background:#F7F9FC; color:#48596F; font-size:13px; font-weight:500;
  border:1px solid var(--vny-line); border-radius:8px;
}
.vny-form input[type="file"]::-webkit-file-upload-button{
  margin-right:10px; padding:7px 12px; cursor:pointer;
  background:#F7F9FC; color:#48596F; font-size:13px; font-weight:500;
  border:1px solid var(--vny-line); border-radius:8px;
}
.vny-form .jet-form-builder__desc,
.vny-form .jet-form-builder-file-upload__message,
.vny-form .jet-form-builder-file-upload__message small{ font-size:12px !important; color:var(--vny-ink-3) !important; }

/* Post 버튼 — 오른쪽 */
.vny-form .jet-form-builder__action-button{
  display:table !important; width:auto !important; margin-left:auto !important;
  padding:10px 20px !important; font-size:14px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important;
  background:#0C6FD1 !important; color:#fff !important; border:0 !important; border-radius:8px !important;
}
.vny-form .jet-form-builder__action-button:hover{ background:#0A5CAE !important; }


/* --- 11-6. Board 글 상세 (Single 2177) --- */

/* 뒤로 가기 */
.vny-back .elementor-heading-title, .vny-back a{
  font-size:13px !important; font-weight:500 !important; color:#48596F !important;
  text-decoration:none !important; cursor:pointer;
}
.vny-back:hover .elementor-heading-title, .vny-back:hover a{ color:#0C6FD1 !important; }

/* 작성자 이니셜 동그라미 (본문 카드) */
.vny-post-avatar{
  flex:none; width:40px !important; height:40px; border-radius:50%;
  display:grid; place-items:center; background:#EEF1F6;
}
.vny-post-avatar .elementor-widget-container,
.vny-post-avatar .jet-listing-dynamic-field,
.vny-post-avatar .jet-listing-dynamic-field__inline-wrap{ display:contents !important; }
.vny-post-avatar .jet-listing-dynamic-field__content{ font-size:13px !important; font-weight:700 !important; color:#48596F !important; }

/* 본문 카드 */
.vny-single .vny-post-cat{ margin-left:0 !important; }
.vny-single-title *{
  font-size:22px !important; font-weight:600 !important; line-height:1.3 !important;
  text-transform:none !important; letter-spacing:0 !important; color:var(--vny-ink) !important; margin:0 !important;
}
.vny-single-content, .vny-single-content *{ font-size:14.5px !important; line-height:1.65 !important; color:#2B3A4E !important; }
.vny-single-content p{ margin:0 0 10px !important; }
.vny-single-content p:last-child{ margin-bottom:0 !important; }
.vny-single-ack{ padding-top:4px !important; }

/* 댓글 폼 — 워드프레스 기본 문구 숨기고 팝업 폼과 같은 모양 */
.vny-comments .comment-reply-title,
.vny-comments .logged-in-as,
.vny-comments .comment-notes{ display:none !important; }
.vny-comments label{
  display:block; margin:0 0 6px !important;
  font-size:12.5px !important; font-weight:600 !important; color:#48596F !important;
}
.vny-comments textarea{
  width:100%; min-height:110px; padding:9px 12px !important; font-size:14px !important; line-height:1.5;
  color:var(--vny-ink) !important; background:#fff !important;
  border:1px solid var(--vny-line) !important; border-radius:8px !important; box-shadow:none !important;
}
.vny-comments textarea:focus{ outline:none; border-color:#0C6FD1 !important; box-shadow:0 0 0 3px rgba(12,111,209,.12) !important; }
.vny-comments .form-submit{ display:flex; justify-content:flex-end; margin:10px 0 0 !important; }
.vny-comments input[type="submit"], .vny-comments .submit{
  padding:10px 20px !important; font-size:14px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important;
  background:#0C6FD1 !important; color:#fff !important; border:0 !important; border-radius:8px !important; cursor:pointer;
}
.vny-comments input[type="submit"]:hover, .vny-comments .submit:hover{ background:#0A5CAE !important; }

/* 댓글 목록 — Blocksy 테마 구조 (ol.ct-comment-list) */
.vny-comments .ct-comments-title,
.vny-comments .comments-title,
.vny-comments .title-comments{ display:none !important; }

.vny-comments .ct-comment-list{ list-style:none !important; margin:0 0 18px !important; padding:0 !important; }
.vny-comments .ct-comment-list li{
  margin:0 !important; padding:14px 0 !important;
  border:0 !important; border-bottom:1px solid var(--vny-line-soft) !important;
}
.vny-comments .ct-comment-list > li:first-child{ padding-top:0 !important; }

/* 아바타 · 이름 · 날짜 한 줄 */
.vny-comments .ct-comment-meta{
  display:flex !important; align-items:center; gap:10px; flex-wrap:wrap;
  margin:0 !important; padding:0 !important;
}
.vny-comments .ct-comment-meta figure,
.vny-comments .ct-comment-meta .ct-media-container,
.vny-comments .ct-comment-meta .ct-image-container{ margin:0 !important; width:auto !important; height:auto !important; }
.vny-comments img.avatar{ width:32px !important; height:32px !important; max-width:32px !important; border-radius:50% !important; object-fit:cover; }

.vny-comments .vny-cmt-avatar{
  flex:none; width:32px; height:32px; border-radius:50%;
  display:inline-grid; place-items:center;
  background:#EEF1F6; color:#48596F; font-size:11.5px; font-weight:700; line-height:1;
}

.vny-comments .ct-comment-author,
.vny-comments .ct-comment-author a,
.vny-comments .fn, .vny-comments .fn a{
  margin:0 !important; font-size:13px !important; font-weight:600 !important;
  color:var(--vny-ink) !important; text-decoration:none !important;
}
.vny-comments .ct-comment-meta-data{ margin-left:auto !important; }
.vny-comments .ct-comment-meta-data,
.vny-comments .ct-comment-meta-data a,
.vny-comments .ct-comment-meta-data time,
.vny-comments .comment-edit-link,
.vny-comments .comment-reply-link{
  font-size:11.5px !important; font-weight:500 !important; color:var(--vny-ink-3) !important;
  text-transform:none !important; letter-spacing:0 !important; text-decoration:none !important;
}
.vny-comments .comment-edit-link:hover,
.vny-comments .comment-reply-link:hover{ color:#0C6FD1 !important; }

/* 내용 — 이니셜 오른쪽에 맞춰 들여쓰기 */
.vny-comments .ct-comment-content{ margin:4px 0 0 42px !important; padding:0 !important; }
.vny-comments .ct-comment-content p{
  margin:0 !important; font-size:14px !important; line-height:1.55 !important; color:#2B3A4E !important;
}

/* Blocksy 댓글 보정 — 떠 있는 아바타 상자를 제자리로, 테마 여백 제거 */
.vny-comments .ct-comment-meta figure.ct-media-container{ position:static !important; left:auto !important; top:auto !important; }
.vny-comments .ct-comment-inner{ margin:0 !important; padding:0 !important; }
.vny-comments .ct-comment-list, .vny-comments .ct-comment-list li{ border-top:0 !important; }
.vny-comments .ct-comment-author cite{ font-style:normal !important; }
.vny-comments .ct-comments, .vny-comments #comments{ border-top:0 !important; margin-top:0 !important; padding-top:0 !important; }
.vny-comments .ct-comment-meta-data{ gap:0 !important; align-items:center; }
.vny-comments .comment-edit-link{ margin-left:4px !important; }
.vny-comments .comment-reply-link{ padding-left:0 !important; margin-left:14px !important; }

/* 첨부파일 목록 */
.vny-single-files a{
  font-size:13.5px !important; font-weight:500 !important;
  color:var(--vny-ink) !important; text-decoration:none !important;
  word-break:break-all;
}
.vny-single-files a:hover{ color:#0C6FD1 !important; text-decoration:underline !important; }

/* 첫 댓글 위 테마 윗선 제거 */
.vny-comments .ct-comments,
.vny-comments #comments,
.vny-comments .comments-area,
.vny-comments .ct-comment-list,
.vny-comments .ct-comment-list > li:first-child,
.vny-comments .ct-comment-list > li:first-child > .ct-comment-inner,
.vny-comments .ct-comment-meta{ border-top:0 !important; box-shadow:none !important; }
.vny-comments .ct-comments::before,
.vny-comments .ct-comment-list::before,
.vny-comments .ct-comment-list > li:first-child::before{ display:none !important; }
.vny-comments hr{ display:none !important; }

/* Reply 링크 — 테마의 버튼 모양(파란 배경) 없애고 글자 링크로 */
.vny-comments .comment-reply-link,
.vny-comments .comment-reply-link:hover,
.vny-comments .comment-reply-link:focus{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  padding:0 !important; min-height:0 !important; height:auto !important;
}
.vny-comments .comment-reply-link:hover{ color:#0C6FD1 !important; text-decoration:underline !important; }

/* --- 11-7. Citation 발부 폼 (Form 2039) — 라디오 · 체크박스 · 단계 버튼 · 서명 --- */

/* 빈 문단 제거, Issuing as 작게 */
.vny-form .jet-form-builder-page > p:empty{ display:none !important; }
.vny-form .vny-badge{
  margin:0 0 14px !important; font-size:12.5px !important; color:var(--vny-ink-3) !important;
  letter-spacing:.02em;
}
.vny-form .vny-badge strong{ color:var(--vny-ink) !important; font-weight:600 !important; }

/* 라디오 · 체크박스 그룹 라벨 — legend 기본 여백 제거 */
.vny-form fieldset > legend.jet-form-builder__label{
  float:none; width:100%; padding:0 !important; margin:0 0 6px !important;
}

/* 선택지 묶음을 가로로 */
.vny-form .jet-form-builder__fields-group.checkradio-wrap{
  display:flex !important; flex-wrap:wrap; gap:8px;
}
.vny-form .radio-wrap, .vny-form .checkboxes-wrap{ margin:0 !important; padding:0 !important; }

/* 선택지 하나 = 눌러서 고르는 버튼 */
.vny-form label.for-radio,
.vny-form label.for-checkbox{
  display:inline-flex !important; align-items:center; justify-content:center;
  min-height:40px; min-width:72px; padding:8px 16px !important; margin:0 !important;
  background:#fff; border:1px solid var(--vny-line); border-radius:8px;
  font-size:14px !important; font-weight:500 !important; color:#48596F !important;
  cursor:pointer; user-select:none; transition:background .15s, border-color .15s, color .15s;
}
.vny-form label.for-radio:hover,
.vny-form label.for-checkbox:hover{ background:#F7F9FC; }

/* 실제 input 은 화면 밖으로 (클릭은 label 이 받음) */
.vny-form label.for-radio input,
.vny-form label.for-checkbox input{
  position:absolute !important; opacity:0 !important; width:1px !important; height:1px !important; margin:0 !important;
}

/* 동그라미 · 네모 칸을 직접 그림 (JetFormBuilder 기본 그림을 덮어씀) */
.vny-form label.for-radio > span,
.vny-form label.for-checkbox > span{ display:inline-flex !important; align-items:center; gap:8px; }
.vny-form label.for-radio > span::before,
.vny-form label.for-checkbox > span::before{
  content:"" !important; flex:none; box-sizing:border-box;
  width:16px !important; height:16px !important; margin:0 !important;
  border:1.5px solid #B8C4D3 !important; background:#fff no-repeat center / 10px 10px !important;
  box-shadow:none !important; transition:all .15s;
}
.vny-form label.for-radio > span::before{ border-radius:50% !important; }
.vny-form label.for-checkbox > span::before{ border-radius:4px !important; }
.vny-form label.for-radio > span::after,
.vny-form label.for-checkbox > span::after{ display:none !important; }

/* 선택됨 — 라디오: 가운데 파란 점 / 체크박스: 파란 칸 + 흰 체크 */
.vny-form label.for-radio input:checked + span::before{
  border-color:#0C6FD1 !important; background:#0C6FD1 !important; box-shadow:inset 0 0 0 3px #fff !important;
}
.vny-form label.for-checkbox input:checked + span::before{
  border-color:#0C6FD1 !important;
  background:#0C6FD1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 11px 11px !important;
}
.vny-form label.for-radio:has(input:checked),
.vny-form label.for-checkbox:has(input:checked){
  background:#EAF2FB !important; border-color:#0C6FD1 !important; color:#0C6FD1 !important; font-weight:600 !important;
}

/* 키보드로 이동할 때 테두리 표시 */
.vny-form label.for-radio:has(input:focus-visible),
.vny-form label.for-checkbox:has(input:focus-visible){ box-shadow:0 0 0 3px rgba(12,111,209,.2); }

/* 서명 패드 — 점선 상자 (크기는 건드리지 않음: 바꾸면 펜 위치가 어긋남) */
.vny-form canvas{
  display:block; width:100% !important; height:200px !important;
  border:1.5px dashed #B8C4D3 !important; border-radius:10px !important;
  background:#FBFCFE !important; cursor:crosshair; touch-action:none;
}

/* 서명 저장용 값 칸 — 제출에 필요하므로 지우지 않고 화면에서만 숨김 */
.vny-form .field-type-signature-field input[type="text"],
.vny-form canvas ~ input[type="text"],
.vny-form canvas ~ * input[type="text"]{
  position:absolute !important; left:-9999px !important;
  width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important;
}


/* 폼 안의 보조 버튼 (Use current location 등) */
.vny-form button:not(.jet-form-builder__next-page):not(.jet-form-builder__prev-page):not(.jet-form-builder__action-button){
  padding:8px 14px !important; font-size:13px !important; font-weight:500 !important;
  text-transform:none !important; letter-spacing:0 !important;
  background:#fff !important; color:#0C6FD1 !important;
  border:1px solid var(--vny-line) !important; border-radius:8px !important; cursor:pointer;
}
.vny-form button:not(.jet-form-builder__next-page):not(.jet-form-builder__prev-page):not(.jet-form-builder__action-button):hover{
  background:#F7F9FC !important; border-color:#0C6FD1 !important;
}

/* 단계 버튼 — Back 왼쪽(흰 바탕), Next · Issue citation 오른쪽(파란색) */
.vny-form .jet-form-builder__next-page-wrap,
.vny-form .jet-form-builder__action-button-wrapper{
  display:flex !important; align-items:center; gap:10px; margin-top:6px !important;
}
.vny-form .jet-form-builder__next-page{
  margin-left:auto !important;
  padding:10px 20px !important; font-size:14px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important;
  background:#0C6FD1 !important; color:#fff !important; border:0 !important; border-radius:8px !important; cursor:pointer;
}
.vny-form .jet-form-builder__next-page:hover{ background:#0A5CAE !important; }
.vny-form .jet-form-builder__prev-page{
  padding:10px 18px !important; font-size:14px !important; font-weight:500 !important;
  text-transform:none !important; letter-spacing:0 !important;
  background:#fff !important; color:#48596F !important;
  border:1px solid var(--vny-line) !important; border-radius:8px !important; cursor:pointer;
}
.vny-form .jet-form-builder__prev-page:hover{ background:#F7F9FC !important; color:var(--vny-ink) !important; }

/* 폼 안 Columns 블록 — 칸 사이 간격을 폼 표준에 맞춤 */
.vny-form .wp-block-columns{ gap:14px !important; margin:0 !important; align-items:flex-start; }
.vny-form .wp-block-columns.are-vertically-aligned-bottom{ align-items:flex-end !important; }
.vny-form .wp-block-column{ min-width:0; margin:0 !important; }
.vny-form .wp-block-column > .jet-sm-gb-wrapper:last-child .jet-form-builder-row,
.vny-form .wp-block-column > .jet-form-builder-row:last-child{ margin-bottom:14px !important; }
@media (max-width:781px){
  .vny-form .wp-block-columns{ flex-wrap:wrap !important; gap:0 !important; }
  .vny-form .wp-block-column{ flex-basis:100% !important; }
}


/* --- 11-8. Citation 옆 카드 — My recent citations (Listing "Citation Row (Side)") --- */
.vny-cit-row{ gap:4px; }
.vny-cit-no .jet-listing-dynamic-field__content{
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace !important;
  font-size:13px !important; font-weight:600 !important; letter-spacing:.01em; color:var(--vny-ink) !important;
}
.vny-cit-date .jet-listing-dynamic-field__content{ font-size:12px !important; color:var(--vny-ink-3) !important; }

/* 상태 — 작은 알약 */
.vny-cit-status .elementor-button{
  min-height:0 !important; padding:2px 9px !important; line-height:1.5 !important;
  font-size:11px !important; font-weight:600 !important; text-transform:capitalize !important; letter-spacing:0 !important;
  background:#EEF1F6 !important; color:#48596F !important; border:0 !important; border-radius:99px !important;
  pointer-events:none;
}

/* PDF — 아이콘만 */
.vny-cit-pdf .elementor-button{
  min-height:0 !important; padding:4px 6px !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:var(--vny-ink-3) !important;
}
.vny-cit-pdf .elementor-button-text{ display:none !important; }
.vny-cit-pdf .elementor-button-icon{ margin:0 !important; font-size:15px; }
.vny-cit-pdf .elementor-button-icon svg{ width:15px; height:15px; fill:currentColor; }
.vny-cit-pdf .elementor-button:hover{ color:#0C6FD1 !important; background:#EAF2FB !important; border-radius:6px !important; }

/* 카드 머리 오른쪽 링크 (View all 등) */
.vny-head-link .elementor-heading-title,
.vny-head-link a{ font-size:13px !important; font-weight:500 !important; color:#0C6FD1 !important; text-decoration:none !important; }
.vny-head-link:hover .elementor-heading-title,
.vny-head-link:hover a{ text-decoration:underline !important; }

/* --- 11-9. Open Shift 팝업 (JetPopup 4861 · Form A 1360) --- */
#jet-popup-4861 .jet-popup__container-inner{ padding:0; border-radius:14px; }
#jet-popup-4861 .vny-popup-title{ padding:16px 20px; border-bottom:1px solid var(--vny-line); }
#jet-popup-4861 .vny-popup-title .elementor-heading-title{ font-size:16px !important; font-weight:600 !important; }
#jet-popup-4861 .vny-form{ padding:18px 20px 20px; }

/* 라벨 — Shift Type 필드에 남은 30px/2.9px 상속 제거 */
#jet-popup-4861 .vny-form .jet-form-builder__label{
  font-size:13px !important; letter-spacing:0 !important; text-transform:none !important;
}

/* 제출 버튼 — 전체 폭 */
#jet-popup-4861 .vny-form .jet-form-builder__action-button-wrapper{
  width:100% !important;
}
#jet-popup-4861 .vny-form .jet-form-builder__action-button{
  width:100% !important; justify-content:center;
  background:#0F1B2D !important; color:#fff !important;
  border:0 !important; border-radius:9px !important;
  padding:12px 18px !important; font-size:14px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important;
}
#jet-popup-4861 .vny-form .jet-form-builder__action-button:hover{ background:#1E2A3C !important; }

/* 닫기 버튼 — 팝업 안쪽 오른쪽 위 */
#jet-popup-4861 .jet-popup__close-button{
  top:10px !important; right:10px !important;
  width:32px !important; height:32px !important;
  background:transparent !important; color:var(--vny-ink-3) !important;
  border-radius:8px !important;
  display:flex; align-items:center; justify-content:center;
}
#jet-popup-4861 .jet-popup__close-button:hover{
  background:#EEF1F6 !important; color:var(--vny-ink) !important;
}
#jet-popup-4861 .jet-popup__close-button svg{ width:16px; height:16px; fill:currentColor; }

/* --- 11-10. 로그 상세 (Single 1395) --- */

/* Form B · Form C 제출 버튼 — 남색, 전체 폭 */
.single-shift-log .vny-form .jet-form-builder__action-button{
  width:100% !important; margin-left:0 !important; justify-content:center;
  background:#0F1B2D !important; color:#fff !important;
}
.single-shift-log .vny-form .jet-form-builder__action-button:hover{ background:#1E2A3C !important; }

/* 마감된 로그 — PDF 버튼 */
.vny-pdf-btn .elementor-button{
  width:100%; justify-content:center;
  background:#0F1B2D !important;
  border:0 !important; border-radius:9px !important;
  padding:12px 18px !important; font-size:14px !important; font-weight:600 !important;
}
.vny-pdf-btn .elementor-button,
.vny-pdf-btn .elementor-button span,
.vny-pdf-btn .elementor-button svg{ color:#fff !important; fill:#fff !important; }
.vny-pdf-btn .elementor-button:hover{ background:#1E2A3C !important; }

/* ---------- (A) ---------- */
 
/* --- 11-11-0. Dashboard 탭 (1475, [vny_dash_tabs]) --- */
.vny-dash-tabs{
  display:inline-flex; gap:4px; padding:4px;
  background:#EEF1F6; border:1px solid var(--vny-line-soft); border-radius:12px;
  align-self:flex-start;
}
.vny-dash-tab{
  -webkit-appearance:none; appearance:none;
  border:0 !important; background:transparent !important; box-shadow:none !important;
  padding:9px 22px !important; border-radius:9px !important; min-height:0 !important;
  font-family:inherit !important; font-size:14.5px !important; font-weight:600 !important;
  line-height:1.2 !important; text-transform:none !important; letter-spacing:0 !important;
  color:var(--vny-ink-3) !important; cursor:pointer;
  transition:background .15s, color .15s, box-shadow .15s;
}
.vny-dash-tab:hover{ color:#48596F !important; }
.vny-dash-tab.is-active{
  background:#fff !important; color:var(--vny-ink) !important;
  box-shadow:0 1px 3px rgba(15,27,45,.12) !important;
}
.vny-dash-tab:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(12,111,209,.2) !important; }
@media (max-width:767px){
  .vny-dash-tabs{ display:flex; width:100%; }
  .vny-dash-tab{ flex:1; padding:9px 8px !important; }
}
.vny-dash-tabs.is-single{ display:none !important; }   /* 탭 1개면 바 숨김 */
 
/* 패널 — 선택된 것만 보임. 편집기에서는 전부 보임 */
.vny-dash-panel:not(.is-active){ display:none !important; }
body.elementor-editor-active .vny-dash-panel{ display:flex !important; }
 

/* --- 11-11. 사고 보고서 상세 (Accident Report Single) --- */
.vny-ar{ padding:18px 14px 6px; }
.vny-ar-meta{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:13px; font-weight:500; text-transform:uppercase; color:#6B7A90; }
.vny-ar-sec{ padding:18px 0; border-top:1px solid #DCE3EC; }
.vny-ar-sec:first-child{ border-top:0; padding-top:0; }
.vny-ar-h{ margin:0 0 12px; font-size:15px; font-weight:600; color:#0F1B2D; }
.vny-ar-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 18px; }
.vny-ar-w2{ grid-column:span 2; }
.vny-ar-w3{ grid-column:1 / -1; }
.vny-ar-l{ font-size:12px; color:#6B7A90; margin-bottom:3px; }
.vny-ar-v{ font-size:14px; color:#0F1B2D; word-break:break-word; }
.vny-ar-text{ white-space:pre-wrap; line-height:1.55; }
.vny-ar-muted{ color:#8A97A8; font-size:12px; }
.vny-ar-sig img{ display:block; max-width:320px; width:100%; height:auto; margin:4px 0; background:#fff; border:1px solid #DCE3EC; border-radius:8px; }
.vny-ar-ev{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; }
.vny-ar-ev img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:8px; border:1px solid #DCE3EC; }
@media (max-width:767px){
  .vny-ar-grid{ grid-template-columns:1fr 1fr; }
  .vny-ar-w2, .vny-ar-w3{ grid-column:1 / -1; }
}

/* --- 11-12. Board 상세 — 작성자 줄 오른쪽 끝 삭제 버튼 (2026-10-02) */
   .vny-post-head-del, .vny-post-del{ margin-left:auto !important; flex:none !important; }

/* --- 11-13. BOARD-EDIT. Board 글 상세 Edit · Delete  v1.0 (2026-10-03)
   Site Settings → Custom CSS 의 Board 구역(11번대) 끝에 붙일 것
   스니펫 `VNY Board — Edit & Delete` 의 [vny_board_actions] 가 쓰는 클래스
   ========================================================== */

/* --- 작성자 줄 오른쪽 버튼 묶음 --- */
.vny-bact{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.vny-bact-edited{ font-size:12px; color:#7D8CA1; white-space:nowrap; margin-right:4px; }
.vny-bact-btn{
  display:inline-flex; align-items:center; gap:6px;
  height:32px; padding:0 12px; margin:0;
  border:1px solid #DCE3EC; border-radius:8px;
  background:#FFFFFF; color:#48596F;
  font-family:inherit; font-size:13px; font-weight:600; line-height:1;
  cursor:pointer; box-shadow:none; text-transform:none; letter-spacing:0;
  transition:border-color .15s, color .15s, background .15s;
}
.vny-bact-btn:hover{ border-color:#0C6FD1; color:#0C6FD1; background:#FFFFFF; }
.vny-bact-btn--danger{ color:#C3142A; border-color:#F1C7CD; }
.vny-bact-btn--danger:hover{ color:#C3142A; border-color:#C3142A; background:#FDECEE; }
.vny-bact-btn[disabled],
.vny-bact-btn[disabled]:hover{ opacity:.5; cursor:not-allowed; border-color:#DCE3EC; color:#7D8CA1; background:#FFFFFF; }
.vny-bact-btn svg{ flex:none; }

@media (max-width:767px){
  .vny-bact-edited{ width:100%; text-align:right; margin:0; }
  .vny-bact-btn span{ display:none; }
  .vny-bact-btn{ padding:0 10px; }
}


/* --- 수정 · 삭제 창 --- */
html.vny-bmodal-open{ overflow:hidden; }
.vny-bmodal{
  position:fixed; inset:0; z-index:100000;
  display:grid; place-items:center; padding:16px;
  background:rgba(15,27,45,.45);
}
.vny-bmodal[hidden]{ display:none !important; }
.vny-bmodal-box{
  width:min(600px, 100%); max-height:calc(100dvh - 32px); overflow:auto;
  background:#FFFFFF; border:1px solid #DCE3EC; border-radius:14px;
  box-shadow:0 24px 48px -16px rgba(15,27,45,.35);
}
.vny-bmodal-box--sm{ width:min(440px, 100%); }
.vny-bmodal-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:15px 18px; border-bottom:1px solid #E9EEF4;
}
.vny-bmodal-title{ font-size:14.5px; font-weight:600; color:#0F1B2D; }
.vny-bmodal-x{
  width:32px; height:32px; padding:0; margin:0; border:0; border-radius:8px;
  background:transparent; color:#7D8CA1; font-size:22px; line-height:1; cursor:pointer;
}
.vny-bmodal-x:hover{ background:#EEF1F6; color:#0F1B2D; }
.vny-bmodal-body{ display:flex; flex-direction:column; gap:14px; padding:18px; margin:0; }
.vny-bmodal-f{ display:flex; flex-direction:column; gap:6px; margin:0; }
.vny-bmodal-f > span{ font-size:13px; font-weight:600; color:#48596F; }
.vny-bmodal-f input,
.vny-bmodal-f select,
.vny-bmodal-f textarea{
  box-sizing:border-box; width:100%; margin:0;
  padding:10px 14px; border:1px solid #DCE3EC; border-radius:10px;
  background:#FFFFFF; color:#0F1B2D;
  font-family:inherit; font-size:15px; line-height:1.45; box-shadow:none;
}
.vny-bmodal-f input,
.vny-bmodal-f select{ height:44px; padding-top:0; padding-bottom:0; }
.vny-bmodal-f textarea{ min-height:96px; resize:vertical; }
.vny-bmodal-f input:focus,
.vny-bmodal-f select:focus,
.vny-bmodal-f textarea:focus{ outline:none; border-color:#0C6FD1; box-shadow:0 0 0 3px rgba(12,111,209,.14); }
.vny-bmodal-text{ margin:0; font-size:14px; line-height:1.5; color:#48596F; }
.vny-bmodal-note{ margin:-4px 0 0; font-size:12.5px; color:#7D8CA1; }
.vny-bmodal-err{
  padding:10px 12px; border-radius:8px;
  background:#FDECEE; color:#C3142A; font-size:13.5px; line-height:1.4;
}
.vny-bmodal-err[hidden]{ display:none !important; }
.vny-bmodal-foot{
  display:flex; justify-content:flex-end; gap:8px;
  margin:4px -18px -18px; padding:12px 18px; border-top:1px solid #E9EEF4;
}
.vny-bmodal-btn{
  height:40px; padding:0 16px; margin:0;
  border:1px solid #DCE3EC; border-radius:10px;
  background:#FFFFFF; color:#48596F;
  font-family:inherit; font-size:14px; font-weight:600; line-height:1;
  cursor:pointer; box-shadow:none; text-transform:none; letter-spacing:0;
}
.vny-bmodal-btn:hover{ border-color:#B5C0CE; color:#0F1B2D; background:#FFFFFF; }
.vny-bmodal-btn--primary{ background:#0C6FD1; border-color:#0C6FD1; color:#FFFFFF; }
.vny-bmodal-btn--primary:hover{ background:#0A5DB0; border-color:#0A5DB0; color:#FFFFFF; }
.vny-bmodal-btn--danger{ background:#C3142A; border-color:#C3142A; color:#FFFFFF; }
.vny-bmodal-btn--danger:hover{ background:#A31023; border-color:#A31023; color:#FFFFFF; }
.vny-bmodal-btn[disabled]{ opacity:.6; cursor:wait; }


/* --- 야간 모드 --- */
html.ops-night .vny-bact-edited{ color:var(--ops-text-dim, #8E9AAD); }
html.ops-night .vny-bact-btn{
  background:var(--ops-surface, #151B26) !important;
  border-color:var(--ops-line, #2A3342) !important;
  color:var(--ops-text-dim, #8E9AAD) !important;
}
html.ops-night .vny-bact-btn:hover{ border-color:#D99A1A !important; color:#D99A1A !important; }
html.ops-night .vny-bact-btn--danger{ color:#E0707C !important; }
html.ops-night .vny-bmodal-box{
  background:var(--ops-surface, #151B26) !important;
  border-color:var(--ops-line, #2A3342) !important;
}
html.ops-night .vny-bmodal-head,
html.ops-night .vny-bmodal-foot{ border-color:var(--ops-line, #2A3342) !important; }
html.ops-night .vny-bmodal-title{ color:var(--ops-heading, #E8EDF4) !important; }
html.ops-night .vny-bmodal-f > span,
html.ops-night .vny-bmodal-text,
html.ops-night .vny-bmodal-note{ color:var(--ops-text-dim, #8E9AAD) !important; }
html.ops-night .vny-bmodal-f input,
html.ops-night .vny-bmodal-f select,
html.ops-night .vny-bmodal-f textarea{
  background:var(--ops-bg, #0B0F16) !important;
  border-color:var(--ops-line, #2A3342) !important;
  color:var(--ops-text, #C9D2DE) !important;
}
html.ops-night .vny-bmodal-f input:focus,
html.ops-night .vny-bmodal-f select:focus,
html.ops-night .vny-bmodal-f textarea:focus{ border-color:#D99A1A !important; box-shadow:0 0 0 3px rgba(217,154,26,.18) !important; }
html.ops-night .vny-bmodal-btn,
html.ops-night .vny-bmodal-x{
  background:transparent !important; border-color:var(--ops-line, #2A3342) !important; color:var(--ops-text-dim, #8E9AAD) !important;
}
html.ops-night .vny-bmodal-btn--primary{ background:#D99A1A !important; border-color:#D99A1A !important; color:#1A1204 !important; }
html.ops-night .vny-bmodal-btn--danger{ background:#8E1C2A !important; border-color:#8E1C2A !important; color:#FFE3E6 !important; }



/* --- 12. 상태 뱃지 --- */
.vny-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:3px 9px; border-radius:99px; font-size:11.5px; font-weight:600; white-space:nowrap;
}
.vny-pill--open{ background:#E6F4F1; color:#0A6A5C }
.vny-pill--closed{ background:#EEF1F6; color:#48596F }
.vny-pill--signed{ background:#E6F4F1; color:#0A6A5C }
.vny-pill--issued{ background:#FDF0E3; color:#9A5405 }
.vny-pill--void{ background:#FDECEE; color:#A4101F }
.vny-pill--shift{ background:#EAF2FB; color:#1B4F86 }


/* --- 13. 빈 상태 --- */
.vny-empty{
  padding:26px 18px; text-align:center;
  border:1px dashed var(--vny-line); border-radius:10px; background:#F7F9FC;
}


/* --- 14. 카드 헤더 안 검색창 --- */
.vny-search{ width:280px; max-width:100%; flex:none; }
.vny-search input[type="text"],
.vny-search .jet-search-filter__input{
  width:100%; padding:8px 12px; font-size:13px;
  border:1px solid var(--vny-line); border-radius:8px;
  background:#F7F9FC; color:var(--vny-ink);
}
.vny-search input::placeholder{ color:var(--vny-ink-3); }
.vny-search input:focus{ outline:none; border-color:#0C6FD1; background:#fff; }
@media (max-width:719px){ .vny-search{ width:100%; } }

/* 검색 줄 (카드 머리 아래) */
.vny-filters .vny-search{ width:auto; flex:1 1 0; }
@media (max-width:719px){ .vny-filters .vny-search{ flex:none; width:100%; } }

/* PDF 뷰어 페이지 */
.vny-back-link, .vny-dl-link{
  font-size:13px; font-weight:500; color:#0C6FD1; text-decoration:none;
}
.vny-back-link:hover, .vny-dl-link:hover{ text-decoration:underline; }

/* PDF 페이지 가운데 정렬 */
.pdfemb-viewer canvas,
.pdfemb-inner-div canvas{ margin:0 auto !important; display:block !important; }
.pdfemb-inner-div{ text-align:center !important; }



/* --- 15. 모바일 표 — 세로 쌓기 + 값 위에 라벨 (Base Aircrafts 등) ---
   값 위젯에 data-label 속성을 넣으면 그 라벨이 값 위에 표시됨 */
@media (max-width:719px){
  .vny-thead{ display:none; }
  .vny-row{
    grid-template-columns:1fr !important;
    row-gap:10px !important;
    padding:16px 14px !important;
  }
  .vny-row > *[data-label]::before{
    content:attr(data-label);
    display:block;
    font-size:11px; font-weight:600; letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--vny-ink-3);
    margin-bottom:1px;
  }
}


/* --- 16. 모바일 압축 행 (Ops Dashboard 등) ---
   15번 세로 쌓기를 vny-row--compact 행에서만 가로 한두 줄로 되돌림.
   PDF 버튼에 vny-push → 거기서부터 오른쪽 끝으로 */
@media (max-width:767px){
  .vny-row.vny-row--compact{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:8px !important;
    padding:12px 10px !important;
  }
  .vny-row--compact > *{ width:auto !important; text-align:left; }
  .vny-row--compact > *[data-label]::before{ display:none !important; }
  .vny-row--compact .jet-listing-dynamic-field__content{ font-size:14px; }
  .vny-row--compact .vny-push{ margin-left:auto !important; }
  .vny-row--compact .vny-mono{ flex:none !important; }
  .vny-row--compact .elementor-button{ padding:6px 10px !important; }
  .vny-row--compact .vny-push .elementor-button-text{ display:none; }
  .vny-row--compact .vny-push .elementor-button-icon{ margin:0 !important; }
}


/* --- 17. 야간 모드 (html.ops-night) --- */
html.ops-night .vny-row-name{ color:var(--ops-heading) !important; }
html.ops-night .vny-pill--shift{ background:#2A2008 !important; color:#D99A1A !important; }
html.ops-night .vny-thead{ border-bottom-color:var(--ops-line) !important; }
html.ops-night .vny-thead .elementor-heading-title{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-row > *[data-label]::before{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-search input[type="text"],
html.ops-night .vny-search .jet-search-filter__input{
  background:var(--ops-surface) !important;
  border-color:var(--ops-line) !important;
  color:var(--ops-text) !important;
}
html.ops-night .vny-composer-bar{ background:var(--ops-surface) !important; border-top-color:var(--ops-line) !important; }
html.ops-night .vny-note-title .jet-listing-dynamic-field__content{ color:var(--ops-heading) !important; }
html.ops-night .vny-post-title *{ color:var(--ops-heading) !important; }
html.ops-night .vny-post-cat{ background:var(--ops-surface) !important; }
html.ops-night .vny-post-excerpt *, html.ops-night .vny-post-cat *{ color:var(--ops-text-dim) !important; }
html.ops-night #jet-popup-2375 .jet-popup__container-inner{ background:var(--ops-surface) !important; }
html.ops-night .vny-popup-title{ border-bottom-color:var(--ops-line) !important; }
html.ops-night .vny-popup-title .elementor-heading-title{ color:var(--ops-heading) !important; }
html.ops-night .vny-form .jet-form-builder__label-text{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-form input[type="text"],
html.ops-night .vny-form select,
html.ops-night .vny-form textarea{
  background:var(--ops-surface) !important; border-color:var(--ops-line) !important; color:var(--ops-text) !important;
}
html.ops-night .vny-single-title *{ color:var(--ops-heading) !important; }
html.ops-night .vny-single-content, html.ops-night .vny-single-content *{ color:var(--ops-text) !important; }
html.ops-night .vny-post-avatar{ background:var(--ops-surface) !important; }
html.ops-night .vny-comments textarea{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; color:var(--ops-text) !important; }
html.ops-night .vny-comments .vny-cmt-avatar{ background:var(--ops-surface) !important; color:var(--ops-text-dim) !important; }
html.ops-night .vny-comments .ct-comment-content p{ color:var(--ops-text) !important; }

html.ops-night .vny-form label.for-radio,
html.ops-night .vny-form label.for-checkbox,
html.ops-night .vny-form .jet-form-builder__prev-page{
  background:var(--ops-surface) !important; border-color:var(--ops-line) !important; color:var(--ops-text-dim) !important;
}
html.ops-night .vny-form label.for-radio:has(input:checked),
html.ops-night .vny-form label.for-checkbox:has(input:checked){
  background:#2A2008 !important; border-color:#D99A1A !important; color:#D99A1A !important;
}
html.ops-night .vny-cit-status .elementor-button{ background:var(--ops-surface) !important; color:var(--ops-text-dim) !important; }

/* 야간 — Citation 폼 · 옆 카드 */
html.ops-night .vny-form .vny-badge strong{ color:var(--ops-heading) !important; }
html.ops-night .vny-cit-no .jet-listing-dynamic-field__content{ color:var(--ops-heading) !important; }
html.ops-night .vny-cit-date .jet-listing-dynamic-field__content{ color:var(--ops-text-dim) !important; }

/* 야간 — 라디오 · 체크박스 칸: 비어 있을 때는 속이 빈 칸 */
html.ops-night .vny-form label.for-radio > span::before,
html.ops-night .vny-form label.for-checkbox > span::before{
  background-color:transparent !important; border-color:var(--ops-line) !important;
}
html.ops-night .vny-form label.for-radio input:checked + span::before{
  background:#D99A1A !important; border-color:#D99A1A !important; box-shadow:inset 0 0 0 3px var(--ops-surface) !important;
}
html.ops-night .vny-form label.for-checkbox input:checked + span::before{
  background-color:#D99A1A !important; border-color:#D99A1A !important;
}

/* 야간 — 강조 버튼은 파랑 대신 앰버 (암순응 보호) */
html.ops-night .vny-form .jet-form-builder__next-page,
html.ops-night .vny-form .jet-form-builder__action-button,
html.ops-night .vny-comments input[type="submit"],
html.ops-night .vny-comments .submit{
  background:#D99A1A !important; color:#1A1204 !important;
}
html.ops-night .vny-form .jet-form-builder__next-page:hover,
html.ops-night .vny-form .jet-form-builder__action-button:hover,
html.ops-night .vny-comments input[type="submit"]:hover{ background:#E8AC2E !important; }

/* 야간 — 입력칸 포커스도 앰버 */
html.ops-night .vny-form input[type="text"]:focus,
html.ops-night .vny-form select:focus,
html.ops-night .vny-form textarea:focus,
html.ops-night .vny-comments textarea:focus{
  border-color:#D99A1A !important; box-shadow:0 0 0 3px rgba(217,154,26,.18) !important;
}

/* 야간 — 링크 */
html.ops-night .vny-head-link .elementor-heading-title,
html.ops-night .vny-head-link a{ color:#D99A1A !important; }


/* 야간 — 서명 패드: 화면에서만 색 뒤집기 (저장되는 서명 이미지는 그대로 흰 바탕·검은 선) */
html.ops-night .vny-form canvas{
  filter:invert(.92) sepia(1) saturate(2.5) hue-rotate(-8deg) brightness(.85);
  border-color:#6B5A2E !important;
}

/* 야간 — 폼 안 보조 버튼 (Use current location 등) */
html.ops-night .vny-form button:not(.jet-form-builder__next-page):not(.jet-form-builder__prev-page):not(.jet-form-builder__action-button){
  background:var(--ops-surface) !important; color:#D99A1A !important; border-color:var(--ops-line) !important;
}

/* 야간 — 드롭다운 펼친 목록 (State, Weather 등) */
html.ops-night select{ color-scheme:dark; }
html.ops-night select option{
  background-color:#1A140A !important; color:#E8C98A !important;
}
html.ops-night select option:checked{
  background-color:#3A2A0E !important; color:#F2C14E !important;
}

html.ops-night #jet-popup-4861 .jet-popup__container-inner{ background:var(--ops-surface) !important; }
html.ops-night #jet-popup-4861 .vny-popup-title{ border-bottom-color:var(--ops-line) !important; }
html.ops-night #jet-popup-4861 .vny-form .jet-form-builder__action-button{
  background:#D99A1A !important; color:#1A1204 !important;
}

html.ops-night #jet-popup-4861 .jet-popup__close-button{ color:var(--ops-text-dim) !important; }
html.ops-night #jet-popup-4861 .jet-popup__close-button:hover{ background:var(--ops-surface) !important; color:var(--ops-heading) !important; }
html.ops-night #jet-popup-4861 .jet-popup__close-button{
  background:transparent !important; border:0 !important;
  color:var(--ops-text-dim) !important;
}
html.ops-night #jet-popup-4861 .jet-popup__close-button:hover{
  background:var(--ops-surface) !important; color:var(--ops-heading) !important;
}
html.ops-night .single-shift-log .vny-form .jet-form-builder__action-button{
  background:#D99A1A !important; color:#1A1204 !important;
}

/* 야간 — 로그 상세 (Single 1395) */
html.ops-night .single-shift-log .vny-form .jet-form-builder__action-button{
  background:#D99A1A !important; color:#1A1204 !important;
}
html.ops-night .vny-pdf-btn .elementor-button{
  background:#D99A1A !important;
}
html.ops-night .vny-pdf-btn .elementor-button,
html.ops-night .vny-pdf-btn .elementor-button span,
html.ops-night .vny-pdf-btn .elementor-button svg{
  color:#1A1204 !important; fill:#1A1204 !important;
}

html.ops-night .vny-back-link,
html.ops-night .vny-dl-link{ color:#D99A1A !important; }

/* 야간 (사고 보고서) */
html.ops-night .vny-ar-sec{ border-top-color:#33240A; }
html.ops-night .vny-ar-h, html.ops-night .vny-ar-v{ color:#D99A1A; }
html.ops-night .vny-ar-l, html.ops-night .vny-ar-meta, html.ops-night .vny-ar-muted{ color:#8A6A2A; }
html.ops-night .vny-ar-sig img{ filter:invert(1) sepia(1) saturate(3) hue-rotate(-10deg); border-color:#33240A; }

/* 야간 — Dashboard 탭 */
html.ops-night .vny-dash-tabs{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; }
html.ops-night .vny-dash-tabs .vny-dash-tab{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:var(--ops-text-dim) !important;
}
html.ops-night .vny-dash-tabs .vny-dash-tab.is-active{ background:#2A2008 !important; color:#D99A1A !important; }



/* --- 18. 움직임 줄이기 설정 존중 --- */
@media (prefers-reduced-motion:reduce){ *{ transition-duration:.01ms !important; } }


/* --- 19. ==========================================================
   AUTH. 로그인 · 비밀번호 재설정 · 계정 · 강제 변경  v1.1 (2026-10-02)
   Site Settings → Custom CSS 의 AUTH 구역 전체를 이것으로 교체 (A-7 · A-8 포함)
   v1.1 — VNY 마크 대신 AirOps365 로고, 보정 A-7, View profile 숨김 A-8
   body 클래스는 스니펫 `VNY — Auth Screens` v1.0 이 붙임:
     vny-auth (+ --login / --reset) · vny-account · vny-pwgate
   UM 이 자체 CSS 에 !important 를 쓰므로 html body.… 로 한 단계 높여 잡음
   글꼴은 지정하지 않음 (사이트 글꼴 상속)
   ========================================================== */

/* --- A-0. 로그아웃 상태에서 38번이 nav-open 을 붙여 본문이 139px(=278/2) 밀리던 것 --- */
body:not(.logged-in).nav-open,
body.vny-auth.nav-open,
body.vny-pwgate.nav-open{ padding-left:0 !important; }


/* --- A-1. 로그인 · 재설정 — 헤더 · 메뉴 · 테마 제목 숨김, 바깥 상자 무력화 --- */
body.vny-auth{ background:#EEF1F6 !important; }
body.vny-auth .vny-header,
body.vny-auth #nav,
body.vny-auth #navScrim,
body.vny-auth #header,
body.vny-auth #footer,
body.vny-auth .hero-section,
body.vny-auth .entry-header{ display:none !important; }

body.vny-auth :is(.e-con, .e-con-inner, .ct-container-full, .entry-content, article, main.site-main):has(.um){
  display:block !important;
  width:auto !important; max-width:none !important; min-height:0 !important;
  margin:0 !important; padding:0 !important;
  background:none !important; border:0 !important;
}


/* --- A-2. 로그인 · 재설정 카드 --- */
html body.vny-auth .um.um-login,
html body.vny-auth .um.um-password{
  box-sizing:border-box;
  width:calc(100% - 32px) !important; max-width:400px !important;
  margin:max(32px, calc(50dvh - 270px)) auto 40px !important;
  padding:30px 30px 22px !important;
  background:#FFFFFF; border:1px solid #DCE3EC; border-radius:14px;
  box-shadow:0 8px 24px -14px rgba(15,27,45,.22);
}
html body.vny-auth--reset .um.um-password{ margin-top:max(32px, calc(50dvh - 230px)) !important; }
html body.vny-auth .um .um-form{ padding:0 !important; }

@media (max-width:480px){
  html body.vny-auth .um.um-login,
  html body.vny-auth .um.um-password{ padding:24px 20px 18px !important; margin-top:24px !important; }
}

/* 로고 · 제목 · 아래 한 줄 (스니펫이 끼움) — v1.1 AirOps365 로고 */
.vny-auth-brand{ display:flex; justify-content:center; margin:2px 0 20px; }
.vny-auth-logo{ display:block; width:auto !important; height:70px !important; max-width:100%; }
.vny-auth-logo--dark{ display:none; }
h1.vny-auth-h{
  margin:0 0 20px !important; padding:0 !important; text-align:center;
  font-size:20px !important; font-weight:600 !important; line-height:1.25 !important;
  letter-spacing:0 !important; text-transform:none !important; color:#0F1B2D !important;
}
.vny-auth-foot{
  margin-top:18px; padding-top:14px; border-top:1px solid #E9EEF4;
  text-align:center; font-size:12.5px; color:#7D8CA1;
}
.vny-auth-foot a{ color:#48596F; font-weight:600; text-decoration:none; }
.vny-auth-foot a:hover{ color:#0C6FD1; }

/* 재설정 안내 문장 */
html body.vny-auth .um .um-field-block,
html body.vny-auth .um .um-field-block div{
  font-size:14px !important; line-height:1.5 !important; color:#48596F !important;
}
html body.vny-auth .um .um-field-type_block{ padding:0 0 14px !important; }

/* Forgot your password? 링크 */
html body.vny-auth .um .um-form .um-col-alt{ margin-top:6px !important; }
html body.vny-auth .um .um-form .um-col-alt-b{ padding-top:14px !important; text-align:center !important; }
html body.vny-auth .um .um-form a.um-link-alt{
  font-size:13.5px !important; font-weight:500 !important;
  color:#48596F !important; text-decoration:none !important;
}
html body.vny-auth .um .um-form a.um-link-alt:hover{ color:#0C6FD1 !important; }


/* --- A-3. 입력칸 · 라벨 · 버튼 · 오류 (로그인 · 재설정 · 계정 공통) --- */
html :is(body.vny-auth, body.vny-account) .um .um-form .um-field{ padding:0 0 14px !important; }
html :is(body.vny-auth, body.vny-account) .um .um-form .um-field-label{ margin:0 0 6px !important; }
html :is(body.vny-auth, body.vny-account) .um .um-form .um-field-label label{
  font-size:13px !important; font-weight:600 !important; line-height:1.3 !important;
  color:#48596F !important;
}
html :is(body.vny-auth, body.vny-account) .um .um-form input.um-form-field{
  box-sizing:border-box !important;
  height:46px !important; padding:0 14px !important;
  border:1px solid #DCE3EC !important; border-radius:10px !important;
  background:#FFFFFF !important; color:#0F1B2D !important;
  font-family:inherit !important; font-size:15px !important;
  box-shadow:none !important;
  transition:border-color .15s, box-shadow .15s;
}
html :is(body.vny-auth, body.vny-account) .um .um-form input.um-form-field::placeholder{ color:#7D8CA1 !important; opacity:1; }
html :is(body.vny-auth, body.vny-account) .um .um-form input.um-form-field:focus{
  border-color:#0C6FD1 !important; box-shadow:0 0 0 3px rgba(12,111,209,.14) !important; outline:none !important;
}

html :is(body.vny-auth, body.vny-account) .um .um-form input[type="submit"].um-button{
  width:100% !important; min-width:0 !important; height:48px !important;
  padding:0 20px !important; border:0 !important; border-radius:10px !important;
  background:#0C6FD1 !important; color:#FFFFFF !important;
  font-family:inherit !important; font-size:15px !important; font-weight:600 !important;
  box-shadow:none !important; cursor:pointer;
}
html :is(body.vny-auth, body.vny-account) .um .um-form input[type="submit"].um-button:hover{ background:#0A5DB0 !important; }

html :is(body.vny-auth, body.vny-account) .um .um-field-error{
  position:static !important; margin-top:6px !important; padding:8px 10px !important;
  background:#FDECEE !important; color:#C3142A !important; border-radius:8px !important;
  font-size:13px !important; line-height:1.35 !important;
}
html :is(body.vny-auth, body.vny-account) .um .um-field-error .um-field-arrow{ display:none !important; }
html :is(body.vny-auth, body.vny-account) .um p.um-notice{
  margin:0 0 16px !important; padding:12px 14px !important; border-radius:10px !important;
  font-size:13.5px !important; line-height:1.45 !important;
}
html :is(body.vny-auth, body.vny-account) .um p.um-notice.err{ background:#FDECEE !important; color:#C3142A !important; }
html :is(body.vny-auth, body.vny-account) .um p.um-notice.success{ background:#E6F4F1 !important; color:#0E8877 !important; }


/* --- A-4. 계정 화면 (/account/) — 왼쪽 메뉴 카드 + 오른쪽 내용 카드 --- */
html body.vny-account .um.um-account{
  max-width:1040px !important; margin:28px auto 64px !important; padding:0 !important;
}
html body.vny-account .um-account .um-form > form > .um-clear{ display:none !important; }

@media (min-width:961px){
  html body.vny-account .um-account .um-form > form{
    display:grid; grid-template-columns:280px minmax(0,1fr); gap:18px; align-items:start;
  }
  html body.vny-account .um-account .um-form > form > *{ grid-column:2; }
  html body.vny-account .um-account .um-form > form > .um-account-side{ grid-column:1; grid-row:1 / span 2; }
}
@media (max-width:960px){
  html body.vny-account .um-account .um-account-side{ margin-bottom:18px !important; }
}

/* 왼쪽 카드 */
html body.vny-account .um-account .um-account-side{
  float:none !important; width:auto !important; box-sizing:border-box;
  padding:22px 12px 12px !important;
  background:#FFFFFF; border:1px solid #DCE3EC; border-radius:14px;
  box-shadow:0 8px 24px -14px rgba(15,27,45,.22);
}
html body.vny-account .um-account-side .um-account-meta{
  margin:0 0 10px !important; padding:0 0 16px !important;
  background:none !important; border-bottom:1px solid #E9EEF4; text-align:center;
}
html body.vny-account .um-account-side .um-account-meta-img{ margin:0 0 10px !important; }
html body.vny-account .um-account-side .um-account-meta-img .ops-avatar{
  width:72px !important; height:72px !important; border-radius:50% !important;
  display:inline-grid !important; place-items:center;
  background:#B3006B !important; color:#FFFFFF !important;
  font-size:24px !important; font-weight:700 !important; line-height:1 !important;
}
html body.vny-account .um-account-side .um-account-name a{
  font-size:16px !important; font-weight:600 !important; color:#0F1B2D !important; text-decoration:none !important;
}
html body.vny-account .um-account-side .um-account-profile-link a{
  font-size:12.5px !important; color:#7D8CA1 !important; text-decoration:none !important;
}
html body.vny-account .um-account-side ul{ margin:0 !important; padding:0 !important; list-style:none !important; }
html body.vny-account .um-account-side li{ margin:0 0 2px !important; padding:0 !important; }
html body.vny-account .um-account-side li a.um-account-link{
  display:flex !important; align-items:center; gap:10px;
  height:auto !important; padding:11px 12px !important;
  border:0 !important; border-radius:10px !important;
  background:transparent !important; color:#48596F !important;
  font-size:14px !important; font-weight:500 !important; text-decoration:none !important;
}
html body.vny-account .um-account-side li a.um-account-link:hover{ background:#EEF1F6 !important; color:#0F1B2D !important; }
html body.vny-account .um-account-side li a.um-account-link.current{
  background:#EEF1F6 !important; color:#0F1B2D !important; font-weight:600 !important;
}
html body.vny-account .um-account-side .um-account-icon{
  float:none !important; width:18px !important; height:auto !important; padding:0 !important;
  border:0 !important; text-align:center; color:#7D8CA1 !important; line-height:1 !important;
}
html body.vny-account .um-account-side a.current .um-account-icon{ color:#B3006B !important; }
html body.vny-account .um-account-side .um-account-title{
  float:none !important; flex:1; padding:0 !important; width:auto !important; line-height:1.3 !important;
}
html body.vny-account .um-account-side .um-account-arrow{
  float:none !important; margin-left:auto; padding:0 !important; color:#B5C0CE !important; line-height:1 !important;
}
/* 태블릿 세로(UM 이 800px 미만에서 아이콘만 보여 주는 것)에서도 글자 유지 */
html body.vny-account .um.uimob800 .um-account-side .uimob800-hide{ display:block !important; }
html body.vny-account .um.uimob800 .um-account-side .um-account-icontip{ display:none !important; }

/* Privacy 탭 숨김 (UM 설정에서 꺼도 같은 결과 — 둘 다 해 둬도 무방) */
html body.vny-account .um-account-side li:has(> a[data-tab="privacy"]),
html body.vny-account .um-account a[data-tab="privacy"],
html body.vny-account .um-account .um-account-tab-privacy{ display:none !important; }

/* 오른쪽 카드 — 카드 표준 (HEAD 15/18 + 아래 줄, BODY 18) */
html body.vny-account .um-account .um-account-main{
  float:none !important; width:auto !important; box-sizing:border-box;
  padding:0 !important;
  background:#FFFFFF; border:1px solid #DCE3EC; border-radius:14px;
  box-shadow:0 8px 24px -14px rgba(15,27,45,.22);
}
html body.vny-account .um-account .um-account-tab{ padding:0 18px 18px !important; }
html body.vny-account .um-account .um-account-heading{
  display:flex !important; align-items:center; gap:10px;
  margin:0 -18px 18px !important; padding:15px 18px !important;
  border-bottom:1px solid #E9EEF4;
  font-size:14.5px !important; font-weight:600 !important; line-height:1.3 !important;
  color:#0F1B2D !important; text-transform:none !important;
}
html body.vny-account .um-account .um-account-heading i{ font-size:15px !important; color:#B3006B !important; margin:0 !important; }
html body.vny-account .um .um-form .um-col-alt-b{ padding-top:4px !important; }
html body.vny-account .um .um-form :is(.um-left, .um-right){ float:none !important; width:auto !important; }
html body.vny-account .um .um-form input[type="submit"].um-button{ width:auto !important; min-width:180px !important; }


/* --- A-5. 임시 비밀번호 강제 변경 중 (vny-pwgate) — 메뉴 숨기고 가운데 한 장 --- */
html body.vny-pwgate #nav,
html body.vny-pwgate #navScrim,
html body.vny-pwgate #navToggle{ display:none !important; }
html body.vny-pwgate .um-account .um-account-side,
html body.vny-pwgate .um-account .um-account-meta,
html body.vny-pwgate .um-account .um-account-nav{ display:none !important; }
html body.vny-pwgate .um.um-account{ max-width:560px !important; margin-top:max(28px, calc(50dvh - 340px)) !important; }
html body.vny-pwgate .um-account .um-form > form{ grid-template-columns:minmax(0,1fr) !important; }
html body.vny-pwgate .um-account .um-form > form > *{ grid-column:1 !important; }
html body.vny-pwgate .um .um-form input[type="submit"].um-button{ width:100% !important; }

.vny-pwgate-foot{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:12px 18px; border-top:1px solid #E9EEF4;
  font-size:13px; color:#7D8CA1;
}
.vny-pwgate-foot strong{ color:#48596F; font-weight:600; }
.vny-pwgate-foot a{ color:#48596F; font-weight:600; text-decoration:none; }
.vny-pwgate-foot a:hover{ color:#C3142A; }


/* --- A-6. 야간 모드 (html.ops-night) --- */
html.ops-night body.vny-auth{ background:var(--ops-bg, #0B0F16) !important; }
html.ops-night body.vny-auth .um.um-login,
html.ops-night body.vny-auth .um.um-password,
html.ops-night body.vny-account .um-account .um-account-side,
html.ops-night body.vny-account .um-account .um-account-main{
  background:var(--ops-surface, #151B26) !important;
  border-color:var(--ops-line, #2A3342) !important;
  box-shadow:none !important;
}
html.ops-night .vny-auth-logo--light{ display:none; }
html.ops-night .vny-auth-logo--dark{ display:block; }
html.ops-night h1.vny-auth-h,
html.ops-night body.vny-account .um-account .um-account-heading,
html.ops-night body.vny-account .um-account-side .um-account-name a{ color:var(--ops-heading, #E8EDF4) !important; }
html.ops-night .vny-auth-foot,
html.ops-night .vny-pwgate-foot{ color:var(--ops-text-dim, #8E9AAD); }
html.ops-night .vny-auth-foot,
html.ops-night .vny-pwgate-foot,
html.ops-night body.vny-account .um-account .um-account-heading,
html.ops-night body.vny-account .um-account-side .um-account-meta{ border-color:var(--ops-line, #2A3342) !important; }
html.ops-night .vny-auth-foot a,
html.ops-night .vny-pwgate-foot a,
html.ops-night .vny-pwgate-foot strong{ color:var(--ops-text, #C9D2DE); }

html.ops-night :is(body.vny-auth, body.vny-account) .um .um-form .um-field-label label,
html.ops-night :is(body.vny-auth, body.vny-account) .um .um-field-block,
html.ops-night :is(body.vny-auth, body.vny-account) .um .um-field-block div,
html.ops-night body.vny-auth .um .um-form a.um-link-alt{ color:var(--ops-text-dim, #8E9AAD) !important; }
html.ops-night :is(body.vny-auth, body.vny-account) .um .um-form input.um-form-field{
  background:var(--ops-bg, #0B0F16) !important;
  border-color:var(--ops-line, #2A3342) !important;
  color:var(--ops-text, #C9D2DE) !important;
}
html.ops-night :is(body.vny-auth, body.vny-account) .um .um-form input.um-form-field:focus{
  border-color:#D99A1A !important; box-shadow:0 0 0 3px rgba(217,154,26,.18) !important;
}
html.ops-night :is(body.vny-auth, body.vny-account) .um .um-form input[type="submit"].um-button{ background:#D99A1A !important; color:#1A1204 !important; }
html.ops-night :is(body.vny-auth, body.vny-account) .um .um-form input[type="submit"].um-button:hover{ background:#E8AC2E !important; }
html.ops-night .vny-auth-foot a:hover,
html.ops-night body.vny-auth .um .um-form a.um-link-alt:hover{ color:#D99A1A !important; }

html.ops-night body.vny-account .um-account-side li a.um-account-link{ color:var(--ops-text-dim, #8E9AAD) !important; }
html.ops-night body.vny-account .um-account-side li a.um-account-link:hover,
html.ops-night body.vny-account .um-account-side li a.um-account-link.current{
  background:rgba(217,154,26,.10) !important; color:var(--ops-heading, #E8EDF4) !important;
}
html.ops-night body.vny-account .um-account-side a.current .um-account-icon,
html.ops-night body.vny-account .um-account .um-account-heading i{ color:#D99A1A !important; }
html.ops-night body.vny-account .um-account-side .um-account-meta-img .ops-avatar{ background:#2A2008 !important; color:#D99A1A !important; }

/* A-6b. 야간 — 계정 왼쪽 메뉴 칸 바탕 (2026-10-04: 흰 칸으로 보이던 것) */
html.ops-night body.vny-account .um-account-side li,
html.ops-night body.vny-account .um-account-side li a,
html.ops-night body.vny-account .um-account-side li a.um-account-link{
  background:transparent !important;
}
html.ops-night body.vny-account .um-account-side li a.um-account-link.current,
html.ops-night body.vny-account .um-account-side li a.um-account-link:hover{
  background:rgba(217,154,26,.10) !important;
}


/* --- A-7. 보정 --- */
html body.vny-auth .um .um-form .um-col-alt{ margin-top:0 !important; padding-top:4px !important; }
body.vny-account{ background:#EEF1F6 !important; }


/* --- A-8. View profile 숨김 — 다시 보이게 하려면 이 구역만 지우면 됨 --- */
html body.vny-account .um-account .um-account-profile-link{ display:none !important; }
html body.vny-account .um-account .um-account-name a,
html body.vny-account .um-account .um-account-meta-img a{ pointer-events:none !important; cursor:default !important; }





/* --- 11-12. Assets (/assets/, 2026-10-12) --- */
.vny-pill--operational{ background:#E6F4F1; color:#0A6A5C }
.vny-pill--degraded{ background:#FDF0E3; color:#9A5405 }
.vny-pill--oos{ background:#FDECEE; color:#A4101F }
.vny-pill--retired{ background:#EEF1F6; color:#48596F }
.vny-asset-row .vny-asset-name .jet-listing-dynamic-field__content{ font-weight:600; }
.vny-asset-row .jet-listing-dynamic-terms{ font-size:14px; color:#48596F; }
.vny-asset-detail__id{ font-size:13px; color:#48596F; }
.vny-asset-detail__title .jet-listing-dynamic-field__content{ font-size:20px; font-weight:600; color:#0F1B2D; }
.vny-dl-grid{ border-top:1px solid #E9EEF4; padding-top:14px; }
.vny-dl--full{ grid-column:1 / -1; }
.vny-dl-label .elementor-heading-title{ font-size:11.5px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:#7D8CA1; }
.vny-dl .jet-listing-dynamic-field__content, .vny-dl .jet-listing-dynamic-terms{ font-size:15px; color:#0F1B2D; white-space:pre-line; }


/* --- 11-13. Asset map (/asset-map/, 2026-10-12) --- */
.vny-map-legend{ border-bottom:1px solid #E9EEF4; }
.vny-map-legend .vny-pill{ margin-right:4px; }
.vny-map-card__id{ font-size:12.5px; color:#48596F; }
.vny-map-card__title .jet-listing-dynamic-field__content{ font-size:15px; font-weight:600; color:#0F1B2D; }
.vny-map-card__type, .vny-map-card__loc .jet-listing-dynamic-field__content{ font-size:13px; color:#48596F; }
/* vny-pin-ring — 위성 사진 위에서 핀이 보이도록 흰 테두리 + 그림자 (v1.4) */
.jet-map-listing .jet-map-marker svg path{ stroke:#FFFFFF; stroke-width:70px; paint-order:stroke; }
.jet-map-listing .jet-map-marker svg{ overflow:visible; filter:drop-shadow(0 1px 3px rgba(0,0,0,.55)); }


/* --- 11-14. Discrepancies (/discrepancies/ /report-discrepancy/, 2026-10-12) --- */
.vny-pill--dr-open{ background:#EAF2FB; color:#1B4F86 }
.vny-pill--dr-assigned{ background:#F1EAFB; color:#5B2E99 }
.vny-pill--dr-in_progress{ background:#FDF0E3; color:#9A5405 }
.vny-pill--dr-completed{ background:#E6F4F1; color:#0A6A5C }
.vny-pill--dr-closed{ background:#EEF1F6; color:#48596F }
.vny-pill--dr-deferred{ background:#F7F9FC; color:#48596F; box-shadow:inset 0 0 0 1px #DCE3EC }
.vny-pill--dr-cancelled{ background:#FDECEE; color:#A4101F }
.vny-pill--pr-critical{ background:#C3142A; color:#FFFFFF }
.vny-pill--pr-high{ background:#FDECEE; color:#A4101F }
.vny-pill--pr-normal{ background:#EAF2FB; color:#1B4F86 }
.vny-pill--pr-low{ background:#EEF1F6; color:#48596F }
.vny-card--narrow{ max-width:880px; width:100%; margin-left:auto; margin-right:auto; }
.vny-disc-notice{ background:#E6F4F1; color:#0A6A5C; border:1px solid #BFE3DB; border-radius:10px; padding:12px 16px; font-size:14px; }
.vny-disc-row__sub .jet-listing-dynamic-field__content{ font-size:13px; color:#48596F; }
.vny-disc-photos{ display:flex; flex-wrap:wrap; gap:8px; }
.vny-disc-photos a{ display:block; width:96px; height:96px; border-radius:8px; overflow:hidden; border:1px solid #DCE3EC; background:#F7F9FC; }
.vny-disc-photos img{ width:100%; height:100%; object-fit:cover; display:block; }
.vny-disc-nophoto{ font-size:13px; color:#7D8CA1; }
.vny-disc-activity{ border-top:1px solid #E9EEF4; padding-top:12px; }
.vny-log-row{ border-bottom:1px solid #E9EEF4; }
.vny-log-row__time .jet-listing-dynamic-field__content{ font-size:12.5px; color:#48596F; }
.vny-log-row__action .jet-listing-dynamic-field__content{ font-weight:600; font-size:14px; color:#0F1B2D; }
.vny-log-row__who .jet-listing-dynamic-field__content{ font-size:13px; color:#48596F; }
.vny-log-row__note .jet-listing-dynamic-field__content{ font-size:14px; color:#0F1B2D; white-space:pre-line; }
.vny-report-link{ display:inline-block; padding:8px 14px; border-radius:8px; background:#0F1B2D; color:#FFFFFF !important; font-size:13px; font-weight:600; text-decoration:none !important; }
.vny-report-link:hover{ background:#1E2A3C; }


/* --- 11-15. Work orders (discrepancy popup Update card, 2026-10-12) --- */
.vny-disc-update{ border-top:1px solid #E9EEF4; padding-top:12px; }
.vny-disc-update .jet-form-builder .wp-block-columns{ display:flex; gap:14px; flex-wrap:wrap; }
.vny-disc-update .jet-form-builder .wp-block-column{ flex:1 1 200px; min-width:0; }

/* 11-16 Work order PDF button (Step 6, 2026-10-12) */
.vny-disc-detail .vny-wo-btn{ margin-left:auto; }
.vny-disc-detail .vny-wo-btn .elementor-button{ padding:6px 14px; font-size:.8125rem; letter-spacing:.04em; }

/* --- 11-17. Night mode for Assets / Map / Discrepancies / Work orders (Step 6, 2026-10-12)
   Snippet 14 turns every .vny-pill amber. Here the meaning comes back by brightness;
   only Out of Service and Critical are red (long wavelength - keeps dark adaptation). --- */
html.ops-night .vny-pill.vny-pill--operational,
html.ops-night .vny-pill.vny-pill--retired,
html.ops-night .vny-pill.vny-pill--dr-closed,
html.ops-night .vny-pill.vny-pill--dr-cancelled,
html.ops-night .vny-pill.vny-pill--pr-low{ background:#1C1309 !important; color:var(--ops-text-dim) !important; box-shadow:none !important; }
html.ops-night .vny-pill.vny-pill--degraded,
html.ops-night .vny-pill.vny-pill--dr-assigned,
html.ops-night .vny-pill.vny-pill--pr-high{ background:#33240A !important; color:#FFB000 !important; }
html.ops-night .vny-pill.vny-pill--dr-open,
html.ops-night .vny-pill.vny-pill--pr-normal{ background:#2A2408 !important; color:#E0C040 !important; }
html.ops-night .vny-pill.vny-pill--dr-in_progress{ background:#3A2A10 !important; color:#FFC94D !important; }
html.ops-night .vny-pill.vny-pill--dr-completed{ background:transparent !important; color:#FFC94D !important; box-shadow:inset 0 0 0 1px #D99A1A !important; }
html.ops-night .vny-pill.vny-pill--dr-deferred{ background:transparent !important; color:var(--ops-text-dim) !important; box-shadow:inset 0 0 0 1px var(--ops-line) !important; }
html.ops-night .vny-pill.vny-pill--oos{ background:#2A1410 !important; color:#FF6B4A !important; }
html.ops-night .vny-pill.vny-pill--pr-critical{ background:#3A140C !important; color:#FF6B4A !important; box-shadow:inset 0 0 0 1px #FF6B4A !important; }

html.ops-night .vny-asset-detail__title .jet-listing-dynamic-field__content,
html.ops-night .vny-map-card__title .jet-listing-dynamic-field__content,
html.ops-night .vny-log-row__action .jet-listing-dynamic-field__content,
html.ops-night .vny-asset-row .vny-asset-name .jet-listing-dynamic-field__content{ color:var(--ops-heading) !important; }
html.ops-night .vny-dl .jet-listing-dynamic-field__content,
html.ops-night .vny-dl .jet-listing-dynamic-terms,
html.ops-night .vny-log-row__note .jet-listing-dynamic-field__content{ color:var(--ops-text) !important; }
html.ops-night .vny-dl-label .elementor-heading-title,
html.ops-night .vny-asset-detail__id,
html.ops-night .vny-asset-row .jet-listing-dynamic-terms,
html.ops-night .vny-map-card__id,
html.ops-night .vny-map-card__type,
html.ops-night .vny-map-card__loc .jet-listing-dynamic-field__content,
html.ops-night .vny-disc-row__sub .jet-listing-dynamic-field__content,
html.ops-night .vny-log-row__time .jet-listing-dynamic-field__content,
html.ops-night .vny-log-row__who .jet-listing-dynamic-field__content,
html.ops-night .vny-disc-nophoto{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-dl-grid,
html.ops-night .vny-disc-activity,
html.ops-night .vny-disc-update,
html.ops-night .vny-log-row,
html.ops-night .vny-map-legend{ border-color:var(--ops-line) !important; }
html.ops-night .vny-disc-photos a{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; }
html.ops-night .vny-disc-photos img{ filter:brightness(.55) sepia(.45); }
html.ops-night .vny-disc-photos a:hover img{ filter:none; }
html.ops-night .vny-disc-notice{ background:#2A2408 !important; color:#E0C040 !important; border-color:#6B5A2E !important; }
html.ops-night .vny-report-link{ background:#D99A1A !important; color:#1A1204 !important; }
html.ops-night .vny-report-link:hover{ background:#E8AC2E !important; }

/* map: dim the satellite picture and Google's white info window */
html.ops-night .jet-map-listing,
html.ops-night .vny-map-picker__map{ filter:brightness(.6) sepia(.45) saturate(.85); }
html.ops-night .gm-style .gm-style-iw-c,
html.ops-night .gm-style .gm-style-iw-d{ background:var(--ops-surface) !important; color:var(--ops-text) !important; }
html.ops-night .gm-style .gm-style-iw-tc::after{ background:var(--ops-surface) !important; }
html.ops-night .gm-style .gm-ui-hover-effect > span{ background-color:var(--ops-text-dim) !important; }
html.ops-night .vny-map-picker__bar,
html.ops-night .vny-map-picker__hint{ color:var(--ops-text-dim) !important; background:transparent !important; }
html.ops-night .vny-map-picker__gps{ background:var(--ops-surface) !important; color:#D99A1A !important; border-color:var(--ops-line) !important; }
html.ops-night .vny-map-credit, html.ops-night .vny-map-credit a{ color:var(--ops-text-dim) !important; }
/* --- 11-17b. Night - report / update forms (6151, 6165) --- */
html.ops-night form[data-form-id="6151"] label.for-radio > span,
html.ops-night form[data-form-id="6165"] label.for-radio > span{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; color:var(--ops-text-dim) !important; }
html.ops-night form[data-form-id="6151"] label.for-radio input:checked + span,
html.ops-night form[data-form-id="6165"] label.for-radio input:checked + span{ background:#2A2008 !important; border-color:#D99A1A !important; color:#D99A1A !important; }
html.ops-night form[data-form-id="6151"] label.for-checkbox,
html.ops-night form[data-form-id="6165"] label.for-checkbox{ background:transparent !important; color:var(--ops-text) !important; border-color:var(--ops-line) !important; }
html.ops-night .jet-form-builder-advanced-media__dropzone{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; color:var(--ops-text-dim) !important; }
html.ops-night .vny-map-picker__map{ background:var(--ops-surface) !important; }
html.ops-night .jet-form-builder-advanced-media__limit{ color:var(--ops-text-dim) !important; }
/* --- 11-18. Critical banner [vny_critical_banner] (header 3520 "Container Alert", 2026-10-12) --- */
.vny-crit-wrap:not(:has(.vny-crit)){ display:none !important; }
.vny-crit{ margin:10px 0 2px; border:1px solid #F3B7BF; border-left:5px solid #C3142A; background:#FDECEE; border-radius:10px; padding:8px 14px; color:#5E0A14; font-size:14px; }
.vny-crit__head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.vny-crit__badge{ background:#C3142A; color:#fff; font-weight:700; font-size:11.5px; letter-spacing:.12em; padding:3px 8px; border-radius:6px; animation:vnyCritPulse 2s ease-in-out infinite; }
@keyframes vnyCritPulse{ 50%{ opacity:.55; } }
.vny-crit__count{ font-weight:600; }
.vny-crit__all{ margin-left:auto; font-weight:600; color:#A4101F !important; text-decoration:underline !important; }
.vny-crit__hide{ background:transparent !important; border:1px solid #E7A1AA !important; color:#A4101F !important; border-radius:6px !important; padding:3px 10px !important; font-size:12.5px !important; line-height:1.4 !important; cursor:pointer; }
.vny-crit__list{ list-style:none; margin:6px 0 2px; padding:0; }
.vny-crit__list li{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; padding:5px 0; border-top:1px dashed #F3B7BF; }
.vny-crit__no, .vny-crit__asset{ font-family:var(--vny-mono, ui-monospace, monospace); font-size:13px; }
.vny-crit__no{ font-weight:700; }
.vny-crit__title{ font-weight:600; }
.vny-crit__meta{ font-size:13px; color:#7A2630; }
.vny-crit__notam{ font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border:1px solid #C3142A; color:#C3142A; padding:1px 6px; border-radius:5px; }
.vny-crit__wo{ font-size:13px; color:#A4101F !important; text-decoration:underline !important; }
.vny-crit.is-hidden .vny-crit__list{ display:none; }
@media (max-width:767px){ .vny-crit__all{ margin-left:0; } }
@media (prefers-reduced-motion:reduce){ .vny-crit__badge{ animation:none; } }
html.ops-night .vny-crit{ background:#2A1410 !important; border-color:#5A2418 !important; border-left-color:#FF6B4A !important; color:#FF8A6E !important; }
html.ops-night .vny-crit__badge{ background:#FF6B4A !important; color:#1A0804 !important; }
html.ops-night .vny-crit__list li{ border-top-color:#5A2418 !important; }
html.ops-night .vny-crit__meta{ color:#D9785F !important; }
html.ops-night .vny-crit__all, html.ops-night .vny-crit__wo, html.ops-night .vny-crit__hide{ color:#FF8A6E !important; border-color:#5A2418 !important; }
html.ops-night .vny-crit__notam{ color:#FF6B4A !important; border-color:#FF6B4A !important; }
/* --- 11-18b. Critical banner in Supervisor tab side column (between Active closures and Board acknowledgements, 2026-10-12) --- */
.vny-crit-side .vny-crit{ margin:0; font-size:13.5px; padding:10px 14px; }
.vny-crit-side .vny-crit__list li{ gap:2px 10px; }
.vny-crit-side .vny-crit__title{ flex-basis:100%; }

/* --- 11-19. ARFF / Field conditions / Self-inspection / PM / Import (2026-10-12) --- */
.vny-arff-head .jet-listing-dynamic-field__content{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.vny-arff-index{ font-size:30px; font-weight:700; color:#0F1B2D; letter-spacing:-.01em; }
.vny-arff-index b{ font-size:36px; }
.vny-arff-req{ font-size:13px; color:#7D8CA1; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.vny-arff-note, .vny-arff-note p{ font-size:12.5px !important; color:#7D8CA1 !important; margin:0; }
.vny-arff-vehicles{ border-left:1px solid #E9EEF4; padding-left:20px; }
@media (max-width:767px){ .vny-arff-vehicles{ border-left:0; padding-left:0; border-top:1px solid #E9EEF4; padding-top:14px; } }
.vny-arff-row .vny-disc-row__sub .jet-listing-dynamic-field__content{ white-space:pre-line; }
.vny-ficon-card{ border:1px solid #E9EEF4; border-radius:12px; padding:16px; background:#FBFCFE; }
.vny-ficon-rwy .jet-listing-dynamic-field__content{ font-size:18px; font-weight:700; color:#0F1B2D; }
.vny-ficon-sum .jet-listing-dynamic-field__content{ font-size:14px; color:#48596F; }
.vny-ficon-cc{ display:inline-flex; gap:4px; }
.vny-ficon-cc__n{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:7px; font:700 16px/1 var(--vny-mono, ui-monospace, monospace); color:#fff; }
.vny-ficon-cc__n--good{ background:#0A8F6A; }
.vny-ficon-cc__n--med{ background:#C97A06; }
.vny-ficon-cc__n--poor{ background:#C3142A; }
.vny-ficon-row .vny-ficon-cc__n{ width:24px; height:24px; font-size:13px; border-radius:6px; }
.vny-ficon-notam{ display:block; white-space:pre-wrap; word-break:break-word; font:600 13px/1.5 var(--vny-mono, ui-monospace, monospace); background:#0F1B2D; color:#E6EEF8; border-radius:8px; padding:10px 12px; }
.vny-ficon-row .vny-ficon-notam{ font-size:11.5px; padding:6px 8px; }
.vny-ficon-none{ font-size:13px; color:#0A6A5C; font-weight:600; }
.vny-si-row .vny-disc-row__sub .jet-listing-dynamic-field__content{ text-transform:capitalize; }
.vny-pm-due{ display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
.vny-pm-btn .elementor-button{ padding:6px 12px; font-size:12.5px; font-weight:600; border-radius:8px; background:#0F1B2D; }
.vny-pm-row .vny-pm-btn{ justify-self:end; }
.vny-imp{ margin-top:18px; border-top:1px solid #E9EEF4; padding-top:14px; }
.vny-imp__head{ display:flex; gap:10px; align-items:baseline; font-size:14px; color:#0F1B2D; }
.vny-imp__head span{ color:#7D8CA1; font-size:12.5px; }
.vny-imp__sum{ display:flex; gap:6px; flex-wrap:wrap; margin:8px 0 10px; }
.vny-imp__table{ width:100%; border-collapse:collapse; font-size:13px; }
.vny-imp__table th{ text-align:left; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#7D8CA1; padding:6px 8px; border-bottom:1px solid #E9EEF4; }
.vny-imp__table td{ padding:6px 8px; border-bottom:1px solid #F1F4F8; vertical-align:top; }
.vny-imp-empty{ margin-top:16px; font-size:13px; color:#7D8CA1; }
/* night */
html.ops-night .vny-arff-index{ color:var(--ops-heading) !important; }
html.ops-night .vny-arff-req, html.ops-night .vny-arff-note, html.ops-night .vny-arff-note p{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-arff-vehicles{ border-color:var(--ops-line) !important; }
html.ops-night .vny-ficon-card{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; }
html.ops-night .vny-ficon-rwy .jet-listing-dynamic-field__content{ color:var(--ops-heading) !important; }
html.ops-night .vny-ficon-sum .jet-listing-dynamic-field__content{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-ficon-cc__n--good{ background:#3A2A10 !important; color:#FFC94D !important; }
html.ops-night .vny-ficon-cc__n--med{ background:#5A3A08 !important; color:#FFB000 !important; }
html.ops-night .vny-ficon-cc__n--poor{ background:#3A140C !important; color:#FF6B4A !important; box-shadow:inset 0 0 0 1px #FF6B4A; }
html.ops-night .vny-ficon-notam{ background:#0B0704 !important; color:#FFB000 !important; border:1px solid var(--ops-line); }
html.ops-night .vny-ficon-none{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-pm-btn .elementor-button{ background:#D99A1A !important; color:#1A1204 !important; }
html.ops-night .vny-imp, html.ops-night .vny-imp__table th, html.ops-night .vny-imp__table td{ border-color:var(--ops-line) !important; }
html.ops-night .vny-imp__head{ color:var(--ops-heading) !important; }
html.ops-night .vny-imp__head span, html.ops-night .vny-imp__table th, html.ops-night .vny-imp-empty{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-imp__table td{ color:var(--ops-text) !important; }
/* --- 11-19b. Night - radio / checkbox chips in the new forms (field wrappers carry cb-ar / cb-fc / cb-si / cb-im / cb-pm) --- */
html.ops-night [class*=" cb-ar"] label.for-radio > span, html.ops-night [class*=" cb-fc"] label.for-radio > span, html.ops-night [class*=" cb-si"] label.for-radio > span,
html.ops-night [class*=" cb-im"] label.for-radio > span, html.ops-night [class*=" cb-pm"] label.for-radio > span{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; color:var(--ops-text-dim) !important; }
html.ops-night [class*=" cb-ar"] label.for-radio input:checked + span, html.ops-night [class*=" cb-fc"] label.for-radio input:checked + span, html.ops-night [class*=" cb-si"] label.for-radio input:checked + span,
html.ops-night [class*=" cb-im"] label.for-radio input:checked + span, html.ops-night [class*=" cb-pm"] label.for-radio input:checked + span{ background:#2A2008 !important; border-color:#D99A1A !important; color:#D99A1A !important; }
html.ops-night [class*=" cb-im"] label.for-checkbox, html.ops-night [class*=" cb-si"] label.for-checkbox{ background:transparent !important; color:var(--ops-text) !important; }
/* --- 11-20. Popup steps (snippet 93 VNY - Popup Steps, 2026-10-12): Discrepancy details popup steps + Asset New / Edit form pages --- */
.vny-step--hidden{ display:none !important; }
.vny-steps-nav{ display:flex; align-items:center; gap:10px; padding-top:12px; margin-top:2px; border-top:1px solid var(--vny-line, #DCE3EC); }
.vny-steps-label{ flex:1; text-align:center; font-size:12.5px; font-weight:600; color:#48596F; letter-spacing:.02em; }
.vny-steps-btn{ -webkit-appearance:none; appearance:none; padding:9px 18px !important; font-size:14px !important; font-weight:600 !important; line-height:1.2 !important; text-transform:none !important; letter-spacing:0 !important; border-radius:8px !important; cursor:pointer; }
.vny-steps-btn--back{ background:#fff !important; color:#48596F !important; border:1px solid var(--vny-line, #DCE3EC) !important; font-weight:500 !important; }
.vny-steps-btn--back:hover{ background:#F7F9FC !important; }
.vny-steps-btn--next{ background:#0C6FD1 !important; color:#fff !important; border:0 !important; }
.vny-steps-btn--next:hover{ background:#0A5CAE !important; }
.vny-picker-off{ display:none !important; }
:is(.jet-popup, .vny-paged-form) .jet-form-builder__heading{ font-size:12px !important; font-weight:700 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:#48596F !important; margin:0 0 4px !important; }
:is(.jet-popup, .vny-paged-form) .jet-form-builder__next-page-wrap, :is(.jet-popup, .vny-paged-form) .jet-form-builder__action-button-wrapper.has-prev{ display:flex !important; align-items:center; gap:10px; margin-top:6px !important; }
:is(.jet-popup, .vny-paged-form) .jet-form-builder__next-page{ margin-left:auto !important; padding:10px 20px !important; font-size:14px !important; font-weight:600 !important; text-transform:none !important; letter-spacing:0 !important; background:#0C6FD1 !important; color:#fff !important; border:0 !important; border-radius:8px !important; cursor:pointer; }
:is(.jet-popup, .vny-paged-form) .jet-form-builder__next-page:hover{ background:#0A5CAE !important; }
:is(.jet-popup, .vny-paged-form) .jet-form-builder__prev-page, :is(.jet-popup, .vny-paged-form) .vny-step-actions .wp-block-column:first-child .jet-form-builder__action-button{ padding:10px 18px !important; font-size:14px !important; font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important; background:#fff !important; color:#48596F !important; border:1px solid var(--vny-line, #DCE3EC) !important; border-radius:8px !important; cursor:pointer; }
:is(.jet-popup, .vny-paged-form) .vny-step-actions{ align-items:center !important; margin-top:6px; }
:is(.jet-popup, .vny-paged-form) .vny-step-actions .wp-block-column:last-child .jet-form-builder__action-button-wrapper{ justify-content:flex-end !important; }
html.ops-night .vny-steps-nav{ border-top-color:var(--ops-line) !important; }
html.ops-night .vny-steps-label, html.ops-night :is(.jet-popup, .vny-paged-form) .jet-form-builder__heading{ color:var(--ops-text-dim) !important; }
html.ops-night .vny-steps-nav .vny-steps-btn--back, html.ops-night :is(.jet-popup, .vny-paged-form) .jet-form-builder__prev-page, html.ops-night :is(.jet-popup, .vny-paged-form) .vny-step-actions .wp-block-column:first-child .jet-form-builder__action-button{ background:var(--ops-surface) !important; border-color:var(--ops-line) !important; color:var(--ops-text-dim) !important; }
html.ops-night .vny-steps-nav .vny-steps-btn--next, html.ops-night :is(.jet-popup, .vny-paged-form) .jet-form-builder__next-page{ background:#D99A1A !important; color:#1A1204 !important; }


/* --- 11-21. Page tabs (Field Conditions 6358 / ARFF 6341, [vny_page_tabs]) --- */
.vny-page-tabs{ margin-bottom:4px; }
.vny-page-panel:not(.is-active){ display:none !important; }
body.elementor-editor-active .vny-page-panel{ display:flex !important; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'pretendard';
	font-display: auto;
	src: url('https://demo.jetportlinq.com/wp-content/uploads/2026/09/PretendardVariable.ttf') format('truetype');
}
/* End Custom Fonts CSS */