/* Site Care Hub - phần riêng, viết trên token --s-* của VIGOS 2.0 (static/vigos/soft.css). Không tự chế màu / cỡ mới. */

/* ── Font đóng gói sẵn (OFL) ── */
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/be-vietnam-pro-vietnamese-400.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/be-vietnam-pro-vietnamese-500.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/be-vietnam-pro-vietnamese-600.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/be-vietnam-pro-vietnamese-700.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/be-vietnam-pro-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/be-vietnam-pro-latin-ext-500.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/be-vietnam-pro-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/be-vietnam-pro-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/be-vietnam-pro-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/be-vietnam-pro-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/be-vietnam-pro-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/be-vietnam-pro-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-400.woff2) format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-500.woff2) format('woff2');}

html,body{margin:0;background:#e6ebf2;}
.v2 svg{display:block;flex:none;}
.v2 .s-btn svg,.v2 .s-nav svg{display:block;}

/* ── Khung (Shell2 thu gọn: không có chọn module) ── */
.h-brand{display:flex;align-items:center;gap:10px;padding-left:6px;min-width:0;color:var(--s-fg);text-decoration:none !important;}
.h-brand img{width:30px;height:30px;object-fit:contain;flex:none;}
.h-brand b{font-size:16px;font-weight:700;letter-spacing:.02em;white-space:nowrap;}
.h-brand .v{font-family:var(--s-mono);font-size:10.5px;color:var(--s-fg3);}
.h-mid{display:flex;align-items:center;gap:10px;height:44px;padding:0 12px 0 6px;}
.h-mid .ic{width:32px;height:32px;border-radius:9px;background:var(--s-brand);color:#fff;display:flex;align-items:center;justify-content:center;}
.h-mid span{font-size:15px;font-weight:600;white-space:nowrap;}
.h-right{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;}
.h-avatar{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#eef0f4;color:var(--s-fg2);font-size:12.5px;font-weight:600;flex:none;}
.s-side{width:232px;}
.side-foot{margin-top:auto;font-size:11.5px;color:var(--s-fg3);padding:0 10px;line-height:1.5;}
.s-nav .cnt.t-danger{background:var(--s-danger);color:#fff;}
.hub-banner{border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;}
.hub-banner.t-danger{background:var(--s-danger-bg);color:var(--s-danger);}
.hub-banner.t-ok{background:var(--s-ok-bg);color:var(--s-ok);}
.hub-banner.t-warn{background:var(--s-warn-bg);color:var(--s-warn);}

/* ── Tab / segmented dạng liên kết (soft.css chỉ định nghĩa cho <button>) ── */
.s-tabs > a{padding:8px 0 11px;display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--s-fg3);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500;text-decoration:none !important;}
.s-tabs > a:hover{color:var(--s-fg);}
.s-tabs > a.on{color:var(--s-brand);border-bottom-color:var(--s-brand);font-weight:600;}
.s-seg > a{height:28px;padding:0 10px;border-radius:7px;display:flex;align-items:center;font-size:12.5px;white-space:nowrap;color:var(--s-fg2);font-weight:500;text-decoration:none !important;}
.s-seg > a.on{background:#fff;color:var(--s-fg);font-weight:600;box-shadow:0 1px 2px rgba(30,50,80,0.12);}

/* ── KPI có thể bấm lọc ── */
a.s-kpi{color:inherit;text-decoration:none !important;transition:box-shadow .15s;}
a.s-kpi:hover{box-shadow:0 0 0 1.5px var(--s-bd2),var(--s-card-sh);}
a.s-kpi.on{box-shadow:0 0 0 1.5px var(--s-brand),var(--s-card-sh);}
.s-kpi-v.big{font-size:22px;}

/* ── Dải ô các lần kiểm (kiểu Uptime Kuma) ── */
.beats{display:flex;gap:2px;align-items:center;height:22px;}
.beats i{flex:1;min-width:3px;max-width:7px;height:20px;border-radius:2px;background:var(--s-line);position:relative;}
.beats i.ok{background:#2fb47c;} .beats i.slow{background:#d9a43a;} .beats i.fail{background:var(--s-danger);} .beats i.maint{background:#7ea6dd;}
.beats i:hover{transform:scaleY(1.2);}
.beats.lg{height:30px;} .beats.lg i{height:28px;max-width:9px;}
.beats-legend{display:flex;gap:14px;font-size:12px;color:var(--s-fg3);flex-wrap:wrap;}
.beats-legend span{display:inline-flex;align-items:center;gap:6px;}
.beats-legend i{width:9px;height:9px;border-radius:2px;display:inline-block;}
.tip{position:fixed;z-index:95;pointer-events:none;background:#171b21;color:#fff;font-size:12px;line-height:1.5;padding:7px 10px;border-radius:9px;max-width:300px;box-shadow:0 10px 30px rgba(23,27,33,.25);}
.tip .mono{font-size:11.5px;}

/* ── Bảng site ── */
.site-name{display:flex;flex-direction:column;gap:2px;min-width:0;}
.site-name .a{font-weight:600;font-size:13.5px;}
.site-name .b{font-family:var(--s-mono);font-size:12px;color:var(--s-fg3);}
.site-name .c{font-size:12px;color:var(--s-danger);font-weight:500;}
.site-name .w{font-size:12px;color:var(--s-warn);}
td.beats-cell{width:300px;min-width:200px;}
.num{font-family:var(--s-mono);font-size:12.5px;white-space:nowrap;}
.score{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;font-family:var(--s-mono);font-size:12px;font-weight:600;border:2.5px solid currentColor;}

/* ── Drawer chi tiết ── */
.s-drawer{width:1000px;}
.s-drawer.narrow{width:640px;}
.d-close{width:34px;height:34px;border-radius:9px;}
.inc-box{border-radius:14px;padding:16px 18px;background:var(--s-danger-bg);color:var(--s-danger);display:flex;gap:12px;align-items:flex-start;}
.inc-box.warn{background:var(--s-warn-bg);color:var(--s-warn);}
.inc-box b{font-size:15px;display:block;margin-bottom:2px;}
.inc-box .hint{color:var(--s-fg);font-size:13px;margin-top:6px;line-height:1.55;}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;}
.stat{border-radius:12px;background:#fff;box-shadow:var(--s-card-sh);padding:12px 14px;display:flex;flex-direction:column;gap:3px;}
.stat .l{font-size:12px;color:var(--s-fg3);} .stat .v{font-family:var(--s-mono);font-size:18px;font-weight:500;} .stat .s{font-size:11.5px;color:var(--s-fg3);}
.chart svg{width:100%;height:auto;}
.chart .grid{stroke:var(--s-line);stroke-width:1;}
.chart .ax{fill:var(--s-fg3);font-size:10.5px;font-family:var(--s-mono);}
.chart .line{fill:none;stroke:var(--s-brand);stroke-width:1.8;stroke-linejoin:round;}
.chart .band{fill:var(--s-danger-bg);}
.care-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--s-line);font-size:13px;}
.care-item:first-child{border-top:none;}
.care-item .t{font-weight:500;} .care-item .d{color:var(--s-fg3);font-size:12.5px;}
.find{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--s-line);font-size:13px;}
.find:first-child{border-top:none;}
.find .area{font-weight:600;min-width:180px;}
.find .txt{color:var(--s-fg2);overflow-wrap:anywhere;}
.form-sec{display:flex;flex-direction:column;gap:14px;}
.err-list{border-radius:12px;background:var(--s-danger-bg);color:var(--s-danger);padding:10px 14px;font-size:13px;}
.note-inline{display:flex;gap:6px;}
.note-inline input{height:30px;font-size:12.5px;}
.keyres{min-height:24px;}

/* ── Báo cáo ── */
.preview{width:100%;height:1100px;border:none;border-radius:14px;background:#fff;box-shadow:var(--s-card-sh);}

/* ── Đăng nhập ── */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--s-page);}
.login{width:400px;max-width:100%;background:#fff;border-radius:20px;box-shadow:var(--s-pop-sh);padding:28px;display:flex;flex-direction:column;gap:18px;}
.login .brand{display:flex;align-items:center;gap:10px;}
.login .brand img{width:36px;height:36px;object-fit:contain;}
.login h1{margin:0;font-size:20px;font-weight:700;}
.qr{display:flex;justify-content:center;} .qr svg{width:200px;height:200px;}
.code-in{font-family:var(--s-mono);font-size:22px !important;letter-spacing:.3em;text-align:center;height:52px !important;}

/* ── Điện thoại ── */
.mobile-only{display:none;}
@media (max-width: 860px){
  .hide-sm{display:none !important;}
  .mobile-only{display:flex;}
  .s-frame{grid-template-columns:minmax(0,1fr);}
  .s-side{display:none;}
  .s-header{grid-template-columns:minmax(0,1fr) auto;}
  .h-mid{display:none;}
  .m-nav{display:flex;gap:6px;overflow-x:auto;padding:2px 0;}
  .m-nav a{white-space:nowrap;text-decoration:none !important;}
  .s-drawer,.s-drawer.narrow{width:100vw;border-radius:0;}
  .s-drawer-head,.s-drawer-body{padding-left:16px;padding-right:16px;}
  td.beats-cell{min-width:160px;}
  .find{flex-direction:column;gap:2px;}
}

@media (max-width: 1100px){ .rep-grid{grid-template-columns:1fr !important;} }

.pend-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--s-line);}
.pend-row .txt{flex:1 1 260px;min-width:0;overflow-wrap:anywhere;}

/* ── Khu vực khách + điện thoại ── */
.my-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--s-fg3) !important;text-decoration:none !important;}
.my-back:hover{color:var(--s-brand) !important;}
.my-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.my-summary{display:flex;flex-direction:row;align-items:center;gap:14px 16px;flex-wrap:wrap;}
.my-summary .txt{flex:1 1 260px;display:flex;flex-direction:column;gap:3px;}
.my-summary .txt b{font-size:17px;}
.my-summary .cnts{display:flex;gap:10px;flex-wrap:wrap;}
.my-summary .cnt{min-width:96px;border-radius:12px;background:var(--s-sub);padding:8px 12px;display:flex;flex-direction:column;gap:1px;}
.my-summary .cnt span{font-size:12px;color:var(--s-fg3);} .my-summary .cnt b{font-family:var(--s-mono);font-size:18px;font-weight:500;}
.s-group-t .gt{display:inline-flex;align-items:center;gap:8px;}
.card-down{font-size:12.5px;color:var(--s-danger);font-weight:500;margin-top:-4px;}
@media (max-width: 600px){
  .beats.lg i:nth-child(-n+50){display:none;}      /* 100 ô không đủ chỗ: chỉ 50 lần đo gần nhất */
  .chart .ax.y{display:none;}
  .chart .ax.x{font-size:26px;}
  .stats{grid-template-columns:1fr 1fr;}
}
.kv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--s-line);font-size:13.5px;}
.kv-row:first-of-type{border-top:none;}
.kv-row .txt{min-width:0;flex:1;}
a.kv-row:hover{background:var(--s-sub);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px;}

/* Trang đăng ký */
.signup{width:900px;max-width:100%;background:#fff;border-radius:20px;box-shadow:var(--s-pop-sh);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.signup-intro{background:var(--s-brand-ll);padding:28px;display:flex;flex-direction:column;gap:16px;}
.signup-intro .brand{display:flex;align-items:center;gap:10px;} .signup-intro .brand img{width:36px;height:36px;object-fit:contain;}
.signup-intro h1{margin:0;font-size:20px;} .signup-intro h2{margin:6px 0 0;font-size:18px;}
.benefits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.benefits li{display:flex;gap:10px;align-items:flex-start;color:var(--s-brand);}
.benefits li div{display:flex;flex-direction:column;gap:2px;color:var(--s-fg);} .benefits li span{font-size:13px;color:var(--s-fg2);line-height:1.5;}
.signup-form{padding:28px;display:flex;flex-direction:column;gap:14px;justify-content:center;}
.consent{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--s-fg2);line-height:1.5;}
.consent input{margin-top:3px;}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
@media (max-width: 760px){ .signup{grid-template-columns:1fr;} }
