/* v1.3.239 — 새 홈(관리자·대표·소장) 모양. 마크업은 ui/vnext-home.js 가 만든다. 색 변수는 vnext.css 의 --vn-* 를 쓴다. */
html.vn .vh-root{display:grid;gap:14px;font-size:14px;color:var(--vn-ink);}
html.vn .vh-root *{box-sizing:border-box;}
html.vn .vh-root button{font-family:inherit;}

/* KPI */
html.vn .vh-kpis{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(0,1fr));}
html.vn .vh-kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr));}
html.vn .vh-kpis.k5{grid-template-columns:repeat(5,minmax(0,1fr));}
html.vn .vh-kpi{display:flex;align-items:center;gap:12px;min-height:92px;padding:14px 12px;background:var(--vn-card);border:1px solid var(--vn-line);border-radius:var(--vn-radius);box-shadow:var(--vn-shadow);text-align:left;color:inherit;min-width:0;}
html.vn button.vh-kpi{cursor:pointer;}
html.vn button.vh-kpi:hover{border-color:#9db9f5;box-shadow:0 4px 16px rgba(31,107,255,.14);}
html.vn .vh-kpi-ic{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:23px;}
html.vn .vh-kpi-ic.green{background:#e3f6ec;color:#12a05c;}
html.vn .vh-kpi-ic.blue{background:#e4efff;color:#1f6bff;}
html.vn .vh-kpi-ic.orange{background:#fff0d9;color:#f08c00;}
html.vn .vh-kpi-ic.red{background:#fde8e8;color:#e5484d;}
html.vn .vh-kpi-ic.purple{background:#efe8ff;color:#7c4dff;}
html.vn .vh-kpi-ic.teal{background:#dcf5f3;color:#0d9488;}
html.vn .vh-kpi-tx{display:grid;gap:3px;min-width:0;flex:1;}
html.vn .vh-kpi-tx small{font-size:13px;color:var(--vn-sub);font-weight:600;}
html.vn .vh-kpi-tx strong{font-size:clamp(16px,1.1vw,20px);letter-spacing:-.03em;line-height:1.15;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html.vn .vh-kpi-tx em{font-style:normal;font-size:12.5px;color:var(--vn-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
html.vn .vh-kpi-tx em i{font-style:normal;}
html.vn .vh-delta{font-weight:700;}
html.vn .vh-delta.up{color:#12a05c;}
html.vn .vh-delta.down{color:#e5484d;}
html.vn .vh-delta.flat,html.vn .vh-delta.none{color:var(--vn-sub);font-weight:600;}

/* 두 칸 배치 */
html.vn .vh-cols{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.55fr);gap:14px;align-items:start;}
html.vn .vh-cols.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
html.vn .vh-col{display:grid;gap:14px;min-width:0;align-content:start;}

/* 카드 */
html.vn .vh-card{background:var(--vn-card);border:1px solid var(--vn-line);border-radius:var(--vn-radius);box-shadow:var(--vn-shadow);padding:16px 18px;min-width:0;}
html.vn .vh-card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
html.vn .vh-card-h h3{margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--vn-ink);display:flex;align-items:center;gap:8px;}
html.vn .vh-card-h h3 small{font-size:13px;color:var(--vn-sub);font-weight:600;}
html.vn .vh-card-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
html.vn .vh-date{font-size:13.5px;font-weight:600;color:var(--vn-ink);}
html.vn .vh-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid #c9d8f8;border-radius:8px;background:#f2f6ff;color:#1448c4;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;}
html.vn .vh-btn:hover{background:#e4edff;}
html.vn .vh-btn.sm{height:30px;padding:0 10px;background:var(--vn-card);border-color:var(--vn-line);color:var(--vn-ink);}
html.vn .vh-foot{margin:10px 0 0;font-size:12px;color:var(--vn-sub);line-height:1.5;}
html.vn .vh-empty{padding:26px 12px;text-align:center;color:var(--vn-sub);font-size:13.5px;background:var(--vn-bg);border-radius:10px;}
html.vn .vh-est{display:inline-block;padding:1px 7px;border-radius:999px;background:#fff3d6;color:#9a6700;font-size:11.5px;font-weight:800;vertical-align:middle;}

/* 탭 */
html.vn .vh-tabs{display:flex;gap:8px;margin-bottom:10px;}
html.vn .vh-tabs button{height:32px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:#eef2f8;color:#51607a;font-size:13px;font-weight:700;cursor:pointer;}
html.vn .vh-tabs button b{margin-left:4px;display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:#fff;color:#1f6bff;font-size:12px;line-height:19px;}
html.vn .vh-tabs button.on{background:#e4efff;border-color:#bcd2fb;color:#1448c4;}
html.vn .vh-tabs button.red{background:#fdeceb;color:#c93a3f;}
html.vn .vh-tabs button.red b{background:#e5484d;color:#fff;}
html.vn .vh-seg{display:inline-flex;border:1px solid var(--vn-line);border-radius:8px;overflow:hidden;background:var(--vn-card);}
html.vn .vh-seg button{height:32px;padding:0 14px;border:0;background:transparent;color:#51607a;font-size:13px;font-weight:700;cursor:pointer;}
html.vn .vh-seg button + button{border-left:1px solid var(--vn-line);}
html.vn .vh-seg button.on{background:var(--vn-blue);color:#fff;}

/* 오늘 해야 할 일 */
html.vn .vh-tasklist{display:grid;gap:0;max-height:292px;overflow-y:auto;border:1px solid var(--vn-line);border-radius:10px;}
html.vn .vh-task{display:grid;grid-template-columns:22px 46px minmax(0,1fr) 48px minmax(0,86px) 58px;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-bottom:1px solid var(--vn-line);background:var(--vn-card);color:inherit;text-align:left;font-size:13.5px;cursor:pointer;min-height:40px;}
html.vn .vh-task:last-child{border-bottom:0;}
html.vn .vh-task[hidden]{display:none!important;}
html.vn .vh-task:hover{background:#f5f8ff;}
html.vn .vh-task-t{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html.vn .vh-task.done .vh-task-t{color:var(--vn-sub);font-weight:600;}
html.vn .vh-task-time,html.vn .vh-task-st{color:var(--vn-sub);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html.vn .vh-chk{width:20px;height:20px;border:1.5px solid #b9c5da;border-radius:5px;display:grid;place-items:center;font-size:13px;color:#fff;background:var(--vn-card);}
html.vn .vh-chk.on{background:#9db4e3;border-color:#9db4e3;}
html.vn .vh-pri{display:inline-grid;place-items:center;height:22px;min-width:40px;padding:0 6px;border-radius:6px;font-size:12px;font-weight:800;}
html.vn .vh-pri.urgent{background:#f26a6a;color:#fff;}
html.vn .vh-pri.normal{background:#ffe3a3;color:#8a5a00;}
html.vn .vh-pri.done{background:#d6f2e2;color:#12804a;}
html.vn .vh-state{display:inline-grid;place-items:center;height:24px;border-radius:6px;font-size:12px;font-weight:800;}
html.vn .vh-state.bad{background:#fde1e1;color:#d33c42;}
html.vn .vh-state.ok{background:#d6f2e2;color:#12804a;}

/* 표 */
html.vn .vh-tablewrap{overflow-x:auto;border:1px solid var(--vn-line);border-radius:10px;}
html.vn .vh-table{width:100%;border-collapse:collapse;font-size:13.5px;}
html.vn .vh-table th,html.vn .vh-table td{padding:9px 10px;border-bottom:1px solid var(--vn-line);text-align:left;white-space:nowrap;vertical-align:middle;}
html.vn .vh-table thead th{background:#f1f4fa;color:#3d4c68;font-size:13px;font-weight:700;}
html.vn .vh-table tbody th{font-weight:800;}
html.vn .vh-table tbody tr:last-child th,html.vn .vh-table tbody tr:last-child td{border-bottom:0;}
html.vn .vh-table .c{text-align:center;}
html.vn .vh-table .r{text-align:right;}
html.vn .vh-table .strong{font-weight:800;}
html.vn .vh-table tr[data-target-station],html.vn .vh-table tr[data-target-menu]{cursor:pointer;}
html.vn .vh-table tbody tr:hover{background:#f5f8ff;}
html.vn .vh-table tfoot th,html.vn .vh-table tfoot td{background:#f1f4fa;font-weight:800;border-top:2px solid var(--vn-line);border-bottom:0;}
html.vn .vh-table small{display:block;color:var(--vn-sub);font-weight:500;font-size:11.5px;}
html.vn .vh-dim{color:var(--vn-sub)!important;}
html.vn .vh-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;}
html.vn .vh-dot.ok{background:#12a05c;}html.vn .vh-dot.warn{background:#f59f00;}html.vn .vh-dot.bad{background:#e5484d;}
html.vn .vh-fuelcell{display:inline-flex;align-items:center;gap:8px;min-width:96px;}
html.vn .vh-fuelcell b{font-size:12.5px;font-weight:700;color:#3d4c68;min-width:34px;text-align:right;}
html.vn .vh-pbar{flex:1;display:inline-block;min-width:44px;height:8px;border-radius:999px;background:#e8edf5;overflow:hidden;}
html.vn .vh-pbar i{display:block;height:100%;border-radius:999px;}
html.vn .vh-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:800;}
html.vn .vh-badge.ok{background:#d6f2e2;color:#12804a;}
html.vn .vh-badge.bad{background:#fde1e1;color:#d33c42;}
html.vn .vh-badge.warn{background:#ffeccb;color:#a35f00;}
html.vn .vh-badge.gray{background:#eceff4;color:#5b6a82;}
html.vn .vh-fd{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;}

/* 막대 그래프(HTML) */
html.vn .vh-legend{display:flex;gap:14px;justify-content:flex-end;font-size:12.5px;color:#4a5a76;margin:-4px 0 6px;flex-wrap:wrap;}
html.vn .vh-legend.inline{margin:0;}
html.vn .vh-legend span{display:inline-flex;align-items:center;gap:6px;}
html.vn .vh-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;}
html.vn .vh-legend i.line{width:16px;height:3px;border-radius:2px;background:#f59e0b;}
html.vn .vh-legend i.ln{width:16px;height:3px;border-radius:2px;}
html.vn .vh-legend i.ln.a{background:#2f7bff;}html.vn .vh-legend i.ln.b{background:#a3b5d6;}
html.vn .vh-chart{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);height:230px;padding-top:18px;}
html.vn .vh-chart.tall{height:250px;}
html.vn .vh-yunit{position:absolute;left:0;top:0;font-size:11.5px;color:var(--vn-sub);}
html.vn .vh-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:0 8px 24px 0;font-size:11.5px;color:var(--vn-sub);}
html.vn .vh-bars{position:relative;display:flex;gap:6px;border-left:1px solid var(--vn-line);background:repeating-linear-gradient(to bottom,var(--vn-line) 0,var(--vn-line) 1px,transparent 1px,transparent calc((100% - 24px) / 5));background-size:100% calc(100% - 24px);background-repeat:no-repeat;}
html.vn .vh-bcol{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;outline:none;}
html.vn .vh-bstack{width:62%;max-width:44px;height:calc(100% - 24px);display:flex;flex-direction:column-reverse;justify-content:flex-start;}
html.vn .vh-bstack i{display:block;width:100%;}
html.vn .vh-bstack i:last-child{border-radius:3px 3px 0 0;}
html.vn .vh-bcol > small{height:24px;line-height:24px;font-size:12px;color:#4a5a76;white-space:nowrap;}
html.vn .vh-bcol:hover .vh-bstack,html.vn .vh-bcol:focus .vh-bstack{filter:brightness(1.08);}
html.vn .vh-tip{display:none;position:absolute;z-index:20;left:50%;bottom:58%;transform:translateX(-50%);min-width:150px;padding:10px 12px;border:1px solid var(--vn-line);border-radius:10px;background:var(--vn-card);box-shadow:0 8px 24px rgba(15,35,80,.2);font-size:12.5px;pointer-events:none;}
html.vn .vh-bcol:hover .vh-tip,html.vn .vh-bcol:focus .vh-tip{display:grid;gap:5px;}
html.vn .vh-bcol:nth-child(n+7) .vh-tip{left:auto;right:30%;transform:none;}
html.vn .vh-tip b{font-size:13px;white-space:nowrap;}
html.vn .vh-tip span{display:flex;align-items:center;gap:6px;color:#3d4c68;}
html.vn .vh-tip span i{width:9px;height:9px;border-radius:50%;}
html.vn .vh-tip em{margin-left:auto;padding-left:14px;font-style:normal;font-weight:700;color:var(--vn-ink);}
html.vn .vh-line{position:absolute;left:0;right:0;top:0;height:calc(100% - 24px);width:100%;pointer-events:none;overflow:visible;}
html.vn .vh-line polyline{fill:none;stroke:#f59e0b;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;}
html.vn .vh-lines{position:relative;border-left:1px solid var(--vn-line);background:repeating-linear-gradient(to bottom,var(--vn-line) 0,var(--vn-line) 1px,transparent 1px,transparent calc((100% - 24px) / 5));background-size:100% calc(100% - 24px);background-repeat:no-repeat;}
html.vn .vh-lines svg{position:absolute;left:0;top:0;width:100%;height:calc(100% - 24px);overflow:visible;}
html.vn .vh-lines polyline{fill:none;stroke-width:2.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;}
html.vn .vh-lines polyline.a{stroke:#2f7bff;}
html.vn .vh-lines polyline.b{stroke:#a3b5d6;stroke-dasharray:5 4;}
html.vn .vh-xl{position:absolute;left:0;right:0;bottom:0;height:24px;display:flex;justify-content:space-between;}
html.vn .vh-xl small{font-size:11.5px;color:#4a5a76;line-height:24px;}

/* 도넛 · 시스템 */
html.vn .vh-donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
html.vn .vh-donutsvg{position:relative;width:176px;height:176px;flex:none;}
html.vn .vh-donutsvg svg{width:100%;height:100%;transform:rotate(0deg);}
html.vn .vh-donutsvg > div{position:absolute;inset:0;display:grid;place-content:center;text-align:center;}
html.vn .vh-donutsvg small{color:var(--vn-sub);font-size:12px;}
html.vn .vh-donutsvg strong{font-size:18px;font-weight:800;}
html.vn .vh-dlegend{list-style:none;margin:0;padding:0;display:grid;gap:9px;flex:1;min-width:190px;max-width:300px;}
html.vn .vh-dlegend li{display:grid;grid-template-columns:12px 1fr auto 86px;align-items:center;gap:8px;font-size:13.5px;}
html.vn .vh-dlegend i{width:11px;height:11px;border-radius:50%;}
html.vn .vh-dlegend b{font-weight:800;}
html.vn .vh-dlegend small{color:var(--vn-sub);text-align:right;}
html.vn .vh-sys{list-style:none;margin:0;padding:0;display:grid;}
html.vn .vh-sys li{display:flex;align-items:center;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--vn-line);font-size:14px;}
html.vn .vh-sys li:last-child{border-bottom:0;}
html.vn .vh-sys b{display:inline-flex;align-items:center;gap:7px;font-weight:700;}
html.vn .vh-sys b i{width:10px;height:10px;border-radius:50%;background:#94a3b8;}
html.vn .vh-sys b.ok{color:#12804a;}html.vn .vh-sys b.ok i{background:#12a05c;}
html.vn .vh-sys b.bad{color:#d33c42;}html.vn .vh-sys b.bad i{background:#e5484d;}

/* 공지 · 빠른 메뉴 */
html.vn .vh-notice{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 4px;border:0;border-bottom:1px dashed var(--vn-line);background:transparent;color:inherit;text-align:left;cursor:pointer;font-size:13.5px;}
html.vn .vh-notice:last-child{border-bottom:0;}
html.vn .vh-notice-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
html.vn .vh-notice time{color:var(--vn-sub);font-size:12.5px;}
html.vn .vh-qgrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;}
html.vn .vh-q{display:grid;justify-items:center;gap:8px;padding:12px 4px;border:1px solid var(--vn-line);border-radius:10px;background:var(--vn-card);color:inherit;cursor:pointer;font-size:12.5px;}
html.vn .vh-q:hover{border-color:#9db9f5;box-shadow:0 3px 12px rgba(31,107,255,.12);}
html.vn .vh-q span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:21px;}
html.vn .vh-q b{font-weight:700;text-align:center;line-height:1.25;}

/* 소장 홈 */
html.vn .vh-fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
html.vn .vh-fextra{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;}
html.vn .vh-fextra>span{font-size:12px;font-weight:700;color:var(--vn-sub);}
html.vn .vh-fextra-chip{min-height:40px;padding:0 12px;border:1px solid #f3c9a0;border-radius:999px;background:#fff7ed;color:#b45309;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
html.vn .vh-fstation + .vh-fstation{margin-top:16px;}
html.vn .vh-fstation h4{margin:0 0 8px;font-size:15px;}
html.vn .vh-fstation h4 small{color:var(--vn-sub);margin-left:6px;}
html.vn .vh-ftask{display:grid;justify-items:start;align-content:start;gap:8px;min-height:196px;padding:16px;border:1px solid var(--vn-line);border-radius:12px;background:var(--vn-card);color:inherit;text-align:left;cursor:pointer;}
html.vn .vh-ftask.open{background:linear-gradient(180deg,#fff7f7,#fff);border-color:#f6cfcf;}
html.vn .vh-ftask.done{background:linear-gradient(180deg,#f3fbf6,#fff);border-color:#cbe9d8;}
html.vn .vh-ftask-ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:28px;}
html.vn .vh-ftask strong{font-size:20px;font-weight:800;letter-spacing:-.02em;}
html.vn .vh-ftask small{font-size:12.5px;color:var(--vn-sub);line-height:1.45;}
html.vn .vh-pill{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:800;}
html.vn .vh-pill.bad{background:#fde1e1;color:#d33c42;}html.vn .vh-pill.ok{background:#d6f2e2;color:#12804a;}html.vn .vh-pill.warn{background:#ffeccb;color:#a35f00;}
html.vn .vh-fbtn{align-self:end;justify-self:stretch;display:grid;place-items:center;height:38px;margin-top:auto;border-radius:8px;background:var(--vn-blue);color:#fff;font-size:14px;font-weight:700;}
html.vn .vh-ftask.done .vh-fbtn{background:#eef2f8;color:#3d4c68;}
html.vn .vh-prog{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
html.vn .vh-prog li{display:grid;grid-template-columns:150px minmax(0,1fr) 64px;grid-template-areas:"a b c" "a d c";align-items:center;column-gap:12px;row-gap:4px;font-size:13.5px;}
html.vn .vh-prog li span{grid-area:a;font-weight:700;}
html.vn .vh-prog li b{grid-area:b;font-weight:600;color:#3d4c68;font-size:12.5px;}
html.vn .vh-prog li .vh-pbar{grid-area:d;}
html.vn .vh-prog li em{grid-area:c;font-style:normal;text-align:right;font-weight:800;color:#12804a;}
html.vn .vh-mine-l{list-style:none;margin:0;padding:0;display:grid;}
html.vn .vh-mine-l li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid var(--vn-line);}
html.vn .vh-mine-l li:last-child{border-bottom:0;}
html.vn .vh-mine-l li span{color:#3d4c68;font-weight:700;font-size:13.5px;}
html.vn .vh-mine-l li strong{font-size:19px;font-weight:800;text-align:right;}
html.vn .vh-mine-l li strong .ok{color:#12a05c;}html.vn .vh-mine-l li strong .bad{color:#e5484d;}
html.vn .vh-mine-l li em{font-style:normal;font-size:12.5px;}
html.vn .vh-datebtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--vn-line);border-radius:8px;background:var(--vn-card);color:var(--vn-ink);font-size:13px;}
html.vn .vh-datebtn input{border:0;background:transparent;color:inherit;font:inherit;font-weight:600;outline:none;width:128px;}

/* 월말 재고·손익차이 */
html.vn .vh-sa{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:12px;}
html.vn .vh-sa > *{border:1px solid var(--vn-line);border-radius:10px;padding:12px 14px;min-width:0;background:var(--vn-bg);}
html.vn .vh-sa small{display:block;color:var(--vn-sub);font-size:12px;margin-bottom:4px;}
html.vn .vh-sa-total strong,html.vn .vh-sa-watch strong{display:block;font-size:20px;font-weight:800;}
html.vn .vh-sa-total span{font-size:12px;color:var(--vn-sub);}
html.vn .vh-sa-fuels{list-style:none;margin:0;display:grid;gap:7px;align-content:start;}
html.vn .vh-sa-fuels li{display:flex;align-items:center;gap:8px;font-size:13.5px;}
html.vn .vh-sa-fuels li i{width:9px;height:9px;border-radius:50%;}
html.vn .vh-sa-fuels li b{margin-left:auto;font-weight:800;}
html.vn .vh-sa-fuels li.none{color:var(--vn-sub);}
html.vn .vh-sa .ok{color:#12a05c;}
html.vn .vh-sa .warn{color:#d97706;}
html.vn .vh-sa .bad{color:#e5484d;}

/* 옛 "먼저 할 일" 띠(기본설정 안내) — 새 홈 안에서도 그대로 쓴다 */
html.vn .vh-root .v119-setup-banner{margin:0;}

/* 반응형 */
@media (max-width:1560px){
  html.vn .vh-kpis{grid-template-columns:repeat(3,minmax(0,1fr));}
  html.vn .vh-kpis.k4{grid-template-columns:repeat(4,minmax(0,1fr));}
  html.vn .vh-qgrid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:1280px){
  html.vn .vh-cols,html.vn .vh-cols.even{grid-template-columns:minmax(0,1fr);}
  html.vn .vh-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  html.vn .vh-kpis.k4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
html.vn[data-theme="dark"] .vh-table thead th,html.vn[data-theme="dark"] .vh-table tfoot th,html.vn[data-theme="dark"] .vh-table tfoot td{background:#1a2740;color:#c9d6ee;}
html.vn[data-theme="dark"] .vh-tabs button{background:#1a2740;color:#b7c5e2;}
html.vn[data-theme="dark"] .vh-tabs button.on{background:#1e3a6e;color:#cfe0ff;border-color:#2c4f94;}
html.vn[data-theme="dark"] .vh-btn{background:#1a2c52;border-color:#2c4a86;color:#cfe0ff;}
html.vn[data-theme="dark"] .vh-btn.sm{background:var(--vn-card);}
html.vn[data-theme="dark"] .vh-task:hover,html.vn[data-theme="dark"] .vh-table tbody tr:hover{background:#18284a;}
html.vn[data-theme="dark"] .vh-ftask.open{background:linear-gradient(180deg,#2a1b22,var(--vn-card));border-color:#5a2c35;}
html.vn[data-theme="dark"] .vh-ftask.done{background:linear-gradient(180deg,#12281d,var(--vn-card));border-color:#245a3b;}
html.vn[data-theme="dark"] .vh-pbar{background:#233352;}
html.vn[data-theme="dark"] .vh-kpi-tx strong,html.vn[data-theme="dark"] .vh-card-h h3{color:var(--vn-ink);}

html.vn .vh-tanks .vh-tablewrap{max-height:340px;overflow-y:auto;}
html.vn .vh-tanks .vh-table thead th{position:sticky;top:0;z-index:1;}

/* 홈에는 옛 '운영현황 · 조회월/필요물량 기준일' 머리가 필요 없다(입력칸은 app.js 가 값을 읽으므로 DOM 에는 남긴다). */
html.vn [data-view="dashboard"] > .page-title{display:none!important;}

/* ───────────── 폰 (960px 미만) ───────────── */
@media (max-width:959px){
  html.vn .vh-root{gap:10px;font-size:13.5px;}
  html.vn .vh-kpis,html.vn .vh-kpis.k4,html.vn .vh-kpis.k5{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  html.vn .vh-kpi{min-height:78px;padding:10px 9px;gap:8px;}
  html.vn .vh-kpi-ic{width:36px;height:36px;font-size:19px;}
  html.vn .vh-kpi-tx small{font-size:12px;}
  html.vn .vh-kpi-tx strong{font-size:16px;}
  html.vn .vh-kpi-tx em{font-size:11px;white-space:normal;line-height:1.25;}
  html.vn .vh-cols,html.vn .vh-cols.even{grid-template-columns:minmax(0,1fr);gap:10px;}
  html.vn .vh-col{gap:10px;}
  html.vn .vh-card{padding:13px 12px;}
  html.vn .vh-card-h{margin-bottom:10px;}
  html.vn .vh-card-h h3{font-size:16.5px;}
  html.vn .vh-task{grid-template-columns:20px 40px minmax(0,1fr) 44px;gap:8px;padding:8px 8px;font-size:13px;}
  html.vn .vh-task > :nth-child(5),html.vn .vh-task > :nth-child(6){display:none;}
  html.vn .vh-chart{grid-template-columns:36px minmax(0,1fr);height:200px;}
  html.vn .vh-bars{gap:4px;}
  html.vn .vh-donut-wrap{gap:14px;justify-content:center;}
  html.vn .vh-donutsvg{width:150px;height:150px;}
  html.vn .vh-qgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
  html.vn .vh-q{padding:10px 4px;font-size:12px;}
  html.vn .vh-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  html.vn .vh-fextra-chip{min-height:44px;}
  html.vn .vh-ftask{min-height:176px;padding:13px;}
  html.vn .vh-ftask strong{font-size:18px;}
  html.vn .vh-prog li{grid-template-columns:92px minmax(0,1fr) 54px;column-gap:8px;font-size:12.5px;}
  html.vn .vh-mine-l li{grid-template-columns:78px minmax(0,1fr) auto;gap:6px;}
  html.vn .vh-sa{grid-template-columns:minmax(0,1fr);}
  html.vn .vh-table{font-size:12.5px;}
  html.vn .vh-table th,html.vn .vh-table td{padding:8px 7px;}
  html.vn .vh-card-act{gap:6px;}
  html.vn .vh-tabs button,html.vn .vh-seg button{padding:0 11px;}
  html.vn .vh-donutsvg strong{font-size:15px;}
  html.vn .vh-datebtn input{min-width:122px;}
}

/* 확인 필요 띠 · 확인함 — 문제가 있을 때만 나타난다 */
html.vn .vh-alerts{display:grid;gap:8px;}
html.vn .vh-alert{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:1px solid var(--vn-line);border-radius:10px;background:var(--vn-card);color:var(--vn-ink);font-size:13.5px;font-weight:600;text-align:left;box-shadow:var(--vn-shadow);}
html.vn button.vh-alert{cursor:pointer;}
html.vn .vh-alert .vn-ic{font-size:19px;flex:none;}
html.vn .vh-alert span{flex:1;min-width:0;}
html.vn .vh-alert em{font-style:normal;color:var(--vn-sub);font-weight:700;white-space:nowrap;}
html.vn .vh-alert.warn{background:var(--vn-orange-bg);border-color:#f4d58a;}
html.vn .vh-alert.warn .vn-ic{color:#d97706;}
html.vn .vh-alert.bad{background:var(--vn-red-bg);border-color:#f3b3b0;}
html.vn .vh-alert.bad .vn-ic{color:var(--vn-red);}
html.vn[data-theme="dark"] .vh-alert.warn{border-color:#5a4a1e;}
html.vn[data-theme="dark"] .vh-alert.bad{border-color:#5a2c35;}
html.vn .vh-pending .v1334-pending{margin:0!important;}

html.vn .vh-nt-fuel{display:inline-flex;align-items:center;gap:5px;margin:2px 10px 2px 0;white-space:nowrap;}

/* v1.3.273 — 홈 '금일 매출 상세' 날짜 칸: 안쪽 입력칸이 옛 규칙(높이 40·흰 배경·안쪽 여백)을 받아 바깥 테두리(34px)를 덮어 테두리가 끊겨 보였다 → 입력칸을 테두리 안에 맞춤 */
html.vn body .vh-datebtn>input{height:30px!important;min-height:0!important;padding:0 2px!important;background:transparent!important;border:0!important;box-shadow:none!important}
