.hvsc-portal{font-family:"Be Vietnam Pro",system-ui,sans-serif;color:#16203f;--line:#e8ebf3;--mut:#646c8a}
.hvsc-portal *{box-sizing:border-box}
.hvsc-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.hvsc-head h2{margin:0;font-size:24px;font-weight:800}
.hvsc-head p{margin:2px 0 0;color:var(--mut);font-size:14px}
.hvsc-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:#16203f!important;font-size:13.5px;font-weight:600;text-decoration:none!important;cursor:pointer;line-height:1.2;transition:.2s}
.hvsc-btn:hover{border-color:#ff9a5c;color:#c2410c!important}
.hvsc-btn.pri{background:linear-gradient(120deg,#ff8a1f,#ff4b3a 55%,#e8262d);border-color:transparent;color:#fff!important;box-shadow:0 10px 22px -10px rgba(232,38,45,.7)}
.hvsc-btn.zl{background:#eef4ff;border-color:#eef4ff;color:#0068ff!important}
.hvsc-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);white-space:nowrap}
.hvsc-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px;margin-bottom:16px;box-shadow:0 18px 40px -30px rgba(10,18,48,.35)}
.hvsc-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.hvsc-card header small{color:var(--mut);font-size:12px}
.hvsc-card h3{margin:2px 0 0;font-size:18px;font-weight:800}
.hvsc-tl{list-style:none;margin:16px 0 12px;padding:0;display:grid;grid-template-columns:repeat(7,1fr);position:relative}
.hvsc-tl:before{content:"";position:absolute;left:7%;right:7%;top:9px;height:2px;background:var(--line)}
.hvsc-tl li{position:relative;text-align:center;font-size:11.5px;color:var(--mut);margin:0}
.hvsc-tl i{display:block;width:18px;height:18px;border-radius:50%;margin:0 auto 6px;background:#fff;border:2px solid var(--line);position:relative}
.hvsc-tl li.done i{background:#16a34a;border-color:#16a34a}
.hvsc-tl li.done i:after{content:"✓";color:#fff;font-size:11px;font-style:normal;position:absolute;inset:0;display:grid;place-items:center}
.hvsc-tl li.cur i{background:#ff7a18;border-color:#ff7a18;box-shadow:0 0 0 5px rgba(255,122,24,.2)}
.hvsc-tl li.cur span{color:#c2410c;font-weight:700}
.hvsc-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:10px 0}
.hvsc-kv div{background:#f6f7fb;border-radius:12px;padding:8px 12px}
.hvsc-kv small{display:block;font-size:11.5px;color:var(--mut)}
.hvsc-kv b{font-size:14px}
.hvsc-segs{display:grid;gap:8px;margin:10px 0}
.hvsc-segs .seg{display:grid;grid-template-columns:1fr 1fr 30px 1fr;align-items:center;gap:8px;padding:10px 12px;border:1px dashed #d9deeb;border-radius:12px}
.hvsc-segs b{display:block;font-size:15px}
.hvsc-segs small{font-size:11.5px;color:var(--mut)}
.hvsc-segs .ar{color:#e8262d;text-align:center}
.hvsc-pax summary{cursor:pointer;font-size:13.5px;font-weight:600;color:#1d3fa8;margin:6px 0}
.hvsc-pax ul{margin:6px 0 0 0;padding-left:0;list-style:none;font-size:13.5px}
.hvsc-msg{background:#fff8e1;border:1px solid #ffe08a;border-radius:12px;padding:10px 12px;font-size:13.5px;margin:10px 0}
.hvsc-alert{background:#fff1f1;border:1px solid #fecaca;color:#b91c1c;border-radius:12px;padding:10px 12px;font-size:13.5px;margin:10px 0}
.hvsc-ok{background:#ecfdf3;border:1px solid #bbf0d0;color:#166534;border-radius:12px;padding:10px 12px;font-size:13.5px;margin:10px 0}
.hvsc-card footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.hvsc-qrbox{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:14px;background:#f6f7fb;font-size:12.5px;color:var(--mut)}
.hvsc-qrbox canvas,.hvsc-qrbox img{background:#fff;padding:8px;border-radius:12px}
.hvsc-empty{text-align:center;padding:36px 16px;border:1.5px dashed var(--line);border-radius:20px;margin-bottom:16px}
.hvsc-empty div{font-size:40px}
.hvsc-empty p{color:var(--mut);font-size:14px}
.hvsc-saved{background:#fafbff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-top:18px;font-size:14px}
.hvsc-saved h3{margin:0 0 8px;font-size:16px}
.hvsc-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.hvsc-stats div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.hvsc-stats .hi{background:linear-gradient(120deg,#ff8a1f,#e8262d);color:#fff;border:0}
.hvsc-stats b{display:block;font-size:20px;font-weight:800}
.hvsc-stats small{font-size:12px;opacity:.8}
.hvsc-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.hvsc-filter input,.hvsc-filter select{border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;min-width:0}
.hvsc-tbl{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.hvsc-tbl table{width:100%;border-collapse:collapse;font-size:13.5px;margin:0}
.hvsc-tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);padding:10px 12px;border-bottom:1px solid var(--line);background:#fafbff}
.hvsc-tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.hvsc-tbl td.em{text-align:center;color:var(--mut)}
.hvsc-form label{display:block;font-size:13px;color:var(--mut);margin-bottom:10px}
.hvsc-form input,.hvsc-form textarea{display:block;width:100%;margin-top:4px;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px}
.hvsc-form .g{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:900px){.hvsc-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){
 .hvsc-head h2{font-size:20px}
 .hvsc-card{padding:14px}
 .hvsc-tl{grid-template-columns:repeat(7,minmax(0,1fr))}
 .hvsc-tl span{font-size:10px;display:block;line-height:1.2}
 .hvsc-segs .seg{grid-template-columns:1fr 24px 1fr}
 .hvsc-segs .fl{grid-column:1/-1}
 .hvsc-stats{grid-template-columns:repeat(2,1fr)}
 .hvsc-form .g{grid-template-columns:1fr 1fr}
 .hvsc-tbl{border:0;background:none}
 .hvsc-tbl thead{display:none}
 .hvsc-tbl tr{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:6px 4px}
 .hvsc-tbl td{display:flex;justify-content:space-between;gap:12px;border:0;padding:5px 10px;text-align:right}
 .hvsc-tbl td:before{content:attr(data-l);color:var(--mut);font-size:12px;text-align:left}
}
@media print{
 header,footer,.site-header,.site-footer,#header,#footer,.woocommerce-MyAccount-navigation,.hvsc-filter,.hvsc-head a,.hvsc-saved,.vdh-fab,.penci-go-to-top-floating,#wpadminbar{display:none!important}
 .woocommerce-MyAccount-content{width:100%!important;float:none!important}
 .hvsc-tbl{border:0}.hvsc-stats div{border:1px solid #ccc}
}
/* v1.0.1 */
.hvsc-filter{align-items:center}
.hvsc-filter input,.hvsc-filter select{width:auto!important;flex:1 1 150px;margin:0!important;height:42px;box-sizing:border-box;background:#fff}
.hvsc-filter input[type=search]{flex:2 1 230px}
.hvsc-filter .hvsc-btn{height:42px;margin:0;flex:0 0 auto;white-space:nowrap}
.hvsc-tbl td b,.hvsc-tbl td[data-l="Giá"]{white-space:nowrap}
.hvsc-tbl td[data-l="Hành trình"]{min-width:110px}
@media(min-width:1100px){.hvsc-tbl table{font-size:13px}.hvsc-tbl th,.hvsc-tbl td{padding:10px 8px}}
.hvsc-ok+.hvsc-head .hvsc-btn.pri{display:none}
.hvsc-tl li{list-style:none!important;padding:0!important}.hvsc-tl li::marker{content:""}.hvsc-tl li:before{display:none!important}
@media(max-width:600px){.hvsc-card header{flex-direction:column-reverse;align-items:flex-start;gap:6px}.hvsc-card h3{font-size:17px}.hvsc-tl li:not(.cur) span{visibility:hidden}.hvsc-tl li.cur span{white-space:nowrap;position:relative;left:50%;transform:translateX(-50%);width:max-content;font-size:11px}.hvsc-tl li:first-child.cur span{left:0;transform:none}.hvsc-tl li:last-child.cur span{left:auto;right:0;transform:none;float:right}}
.hvsc-portal button.hvsc-btn{background:#fff!important;color:#16203f!important;border:1.5px solid var(--line)!important;border-radius:999px!important;text-transform:none!important;letter-spacing:0!important;font-family:inherit!important;box-shadow:none!important;padding:9px 16px!important;font-size:13.5px!important;font-weight:600!important;line-height:1.2!important;min-height:0!important}
.hvsc-portal button.hvsc-btn:hover{border-color:#ff9a5c!important;color:#c2410c!important}
.hvsc-portal button.hvsc-btn.pri{background:linear-gradient(120deg,#ff8a1f,#ff4b3a 55%,#e8262d)!important;color:#fff!important;border-color:transparent!important}
.hvsc-filter button.hvsc-btn{background:#16203f!important;color:#fff!important;border-color:#16203f!important}
.hvsc-filter button.hvsc-btn[onclick]{background:#fff!important;color:#16203f!important;border-color:var(--line)!important}
/* v1.2 B2B */
.hb-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 16px;padding:5px;background:#f4f6fb;border:1px solid #e3e7f1;border-radius:14px}
.hb-tabs::-webkit-scrollbar{display:none}
.hb-tabs a{flex:0 0 auto;padding:8px 14px;border-radius:10px;font-size:13.5px;font-weight:600;color:#3a4365!important;text-decoration:none!important;white-space:nowrap}
.hb-tabs a.on{background:#fff;color:#e8262d!important;box-shadow:0 4px 12px -6px rgba(10,18,48,.3)}
.hb .hvsc-stats .warn b{color:#c2410c}
.hb .hvsc-stats.hb-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.hb-card{background:#fff;border:1px solid #e3e7f1;border-radius:18px;padding:16px 18px;box-shadow:0 14px 30px -24px rgba(16,24,48,.35);min-width:0}
.hb-card h3{margin:0 0 10px;font-size:15px;font-weight:800;color:#16203f}
.hb-card .em,.hb-note{color:#8a91ab;font-size:13px;margin:4px 0 10px}
.hb-up,.hb-att,.hb-dest{list-style:none;margin:0;padding:0}
.hb-up li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid #eef0f6}
.hb-up li:first-child{border-top:0}
.hb-up .d{text-align:center;background:#fff3ea;border-radius:10px;padding:5px 0;line-height:1.1}.hb-up .d b{display:block;color:#c2410c;font-size:15px}.hb-up .d small{font-size:11px;color:#8a91ab}
.hb-up .i p{margin:0;font-size:13.5px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hb-up .i small{color:#8a91ab;font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-up .fl{background:#eef2ff;color:#2f45c5;font-weight:700;font-size:12px;padding:2px 8px;border-radius:999px}
.hb-up .a{text-align:right;font-size:12px;display:flex;flex-direction:column;gap:3px}.hb-up .dd{color:#16203f;font-weight:600}.hb-up .a a{color:#0068ff!important;text-decoration:none!important;font-weight:600}
.hb-att li{display:flex;gap:10px;padding:8px 0;border-top:1px solid #eef0f6;font-size:13.5px}.hb-att li:first-child{border-top:0}.hb-att i{font-style:normal}.hb-att small{display:block;color:#8a91ab;font-size:12px}
.hb-chart{display:flex;align-items:flex-end;gap:6px;height:170px;padding-top:16px}
.hb-chart .c{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}
.hb-chart .c span{width:100%;max-width:28px;min-height:3px;background:linear-gradient(180deg,#ff8a1f,#e8262d);border-radius:7px 7px 3px 3px;position:relative}
.hb-chart .c em{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:700;color:#16203f}
.hb-chart .c small{font-size:10.5px;color:#8a91ab;margin-top:5px;white-space:nowrap}
.hb-dest li{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 30px;gap:10px;align-items:center;padding:7px 0;font-size:13.5px}
.hb-dest i{height:9px;border-radius:9px;background:linear-gradient(90deg,#ff8a1f,#e8262d);display:block}.hb-dest b{text-align:right}
.hb .hvsc-btn.sm{padding:5px 11px!important;font-size:12px!important;margin-top:4px}
.hb-file{display:block;font-size:12px;margin-top:4px;color:#0068ff!important}
.hb-inv{margin:0}
.hb .grp{color:#c2410c;font-weight:600}
.hb .trk{text-decoration:none!important}
.hb-tax{margin-top:16px}
@media(max-width:782px){.hb-grid{grid-template-columns:1fr}.hb .hvsc-stats.hb-3{grid-template-columns:1fr}.hb-chart{height:140px;gap:3px}.hb-chart .c small{font-size:9px}}
@media print{.hb-tabs,.hb .hvsc-filter,.hb-tax,.hb-inv,.hb .hvsc-head .hvsc-btn,.woocommerce-MyAccount-navigation,.hvsc-role{display:none!important}.hb-card,.hvsc-tbl{break-inside:avoid}}
/* v1.3 travellers & followers */
.hvsc-trv{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.hvsc-trv article{background:#fff;border:1px solid #e3e7f1;border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.hvsc-trv header b{display:block;font-size:15px;color:#16203f}.hvsc-trv header span{font-size:12.5px;color:#c2410c;font-weight:600}
.hvsc-trv p{margin:0;font-size:13px;color:#5b6385}.hvsc-trv p.w{color:#b42318}.hvsc-trv p.m{color:#2f45c5}
.hvsc-trv footer{display:flex;gap:6px;margin-top:auto;padding-top:6px}.hvsc-trv footer form{margin:0}
.hvsc-portal .hvsc-btn.sm{padding:5px 11px!important;font-size:12px!important}
.hvsc-fol{margin-top:10px;font-size:13.5px}.hvsc-fol summary{cursor:pointer;color:#2f45c5;font-weight:600}
.hvsc-fol ul{margin:8px 0;padding:0;list-style:none}.hvsc-fol li{display:flex;align-items:center;gap:8px;margin:4px 0}.hvsc-fol li form{margin:0}
.hvsc-fol-add{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.hvsc-fol-add input{flex:1 1 220px;border:1.5px solid #e3e7f1;border-radius:10px;padding:8px 10px}
.hvsc-fol-note{font-size:12.5px;color:#2f45c5;margin:8px 0 0}
.hvsc-fol-add select{border:1.5px solid #e3e7f1;border-radius:10px;padding:8px 10px;background:#fff}
.hb-as{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;padding:8px 12px;border-radius:14px;background:#fff7ef;border:1px solid #ffd9b8}
.hb-as span{font-weight:700;font-size:13.5px;color:#9a3412}.hb-as select{border:1.5px solid #ffd0a8;border-radius:10px;padding:7px 10px;background:#fff;font-weight:600;min-width:200px}.hb-as small{color:#8a91ab;font-size:12px}
.hb-chart{overflow-x:auto;max-width:100%}.hb-chart .c{min-width:22px}
