.login *{box-sizing:border-box}.login .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.login{height:100vh;font-family:var(--font-sans);color:var(--ink);background:var(--bg);grid-template-columns:minmax(420px,1fr) 1.12fr;font-size:16px;line-height:1.6;display:grid;overflow:hidden}.login img{max-width:100%;display:block}.login a{color:inherit;text-decoration:none}.form-side{background:var(--card);flex-direction:column;height:100vh;padding:24px clamp(34px,4vw,60px) 20px;display:flex;position:relative;overflow-y:auto}.fs-logo{border:1px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);background:#fff;align-self:flex-start;align-items:center;gap:11px;padding:7px 18px 7px 9px;display:inline-flex}.fs-logo:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.fs-logo img{width:auto;height:30px}.fs-logo .wm{letter-spacing:-.4px;font-size:18px;font-weight:800}.fs-logo .wm .vp{color:var(--blue-deep)}.fs-logo .wm .green{color:var(--green-deep)}.fs-logo .wm .pay{color:var(--blue)}.fs-body{align-self:center;width:100%;max-width:412px;margin:auto 0;padding:14px 0}.role-pill{color:var(--green-deep);background:var(--green-tint);border-radius:var(--radius-pill);align-items:center;gap:8px;margin-bottom:12px;padding:6px 14px;font-size:12.5px;font-weight:700;display:inline-flex}.role-pill svg{width:15px;height:15px}.role-pill.epc{color:var(--blue-deep);background:var(--blue-tint)}.role-pill.epc svg{color:var(--blue-deep)}.fs-head h1{letter-spacing:-.6px;color:var(--ink);margin:0 0 6px;font-size:clamp(24px,2.2vw,29px);font-weight:800;line-height:1.16}.fs-head p{color:var(--muted);margin:0 0 15px;font-size:14px;line-height:1.45}.seg{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-pill);grid-template-columns:1fr 1fr;gap:4px;margin-bottom:15px;padding:5px;display:grid}.seg button{color:var(--muted);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--dur) var(--ease);background:0 0;border:none;padding:11px 0;font-family:inherit;font-size:15px;font-weight:700}.seg button.on{color:var(--green-deep);box-shadow:var(--shadow-sm);background:#fff}.pane{display:none}.pane.on{animation:fade .35s var(--ease);display:block}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-banner{border-radius:var(--radius);align-items:flex-start;gap:9px;margin-bottom:16px;padding:11px 14px;font-size:13px;font-weight:600;line-height:1.45;display:flex}.auth-banner.info{color:var(--blue-deep);background:var(--warn-bg);border:1px solid var(--warn-line)}.auth-banner.err{color:var(--bad);background:var(--bad-bg);border:1px solid #d14a3a40}.auth-banner.ok{color:var(--green-deep);background:var(--ok-bg);border:1px solid #4ca22b40}.field{margin-bottom:12px}.field label{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.field .req{color:var(--bad)}.input{align-items:center;display:flex;position:relative}.input .lead-ic{width:19px;height:19px;color:var(--muted);pointer-events:none;position:absolute;left:16px}.input input{width:100%;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);background:#fff;outline:none;padding:12px 18px 12px 46px;font-family:inherit;font-size:15px;font-weight:600}.input input::placeholder{color:#9db0b8;font-weight:500}.input input:focus{border-color:var(--green-deep);box-shadow:0 0 0 3px var(--teal-tint-12)}.input input.err{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)}.input .toggle{width:38px;height:38px;color:var(--muted);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:10px}.input .toggle:hover{color:var(--ink)}.input .toggle svg{width:19px;height:19px}.input .prefix{border-right:1px solid var(--line);height:62%;color:var(--ink);pointer-events:none;align-items:center;gap:7px;padding:0 12px;font-size:15px;font-weight:700;display:flex;position:absolute;left:6px}.input.tel input{padding-left:84px}.field .hint-row{justify-content:space-between;align-items:center;min-height:2px;margin-top:7px;display:flex}.field .err-msg{color:var(--bad);font-size:12.5px;font-weight:600;display:none}.field.invalid .err-msg{display:block}.field .help{color:var(--muted);font-size:12.5px}.meter{gap:5px;margin-top:8px;display:flex}.meter span{background:var(--line);height:4px;transition:background var(--dur) var(--ease);border-radius:3px;flex:1}.meter[data-s="1"] span:first-child{background:var(--bad)}.meter[data-s="2"] span:nth-child(-n+2){background:var(--yellow)}.meter[data-s="3"] span:nth-child(-n+3){background:var(--green)}.meter[data-s="4"] span{background:var(--green-deep)}.row-between{justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.check{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13.5px;font-weight:500;display:flex}.check input{opacity:0;width:0;height:0;position:absolute}.check .box{border:1.5px solid var(--line);width:20px;height:20px;transition:all var(--dur) var(--ease);background:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;display:flex}.check .box svg{color:#fff;opacity:0;width:14px;height:14px;transition:all var(--dur) var(--ease);transform:scale(.6)}.check input:checked+.box{background:var(--green-deep);border-color:var(--green-deep)}.check input:checked+.box svg{opacity:1;transform:scale(1)}.check a{color:var(--green-deep);font-weight:700}.link{color:var(--blue);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:13.5px;font-weight:700}.link:hover{color:var(--blue-deep)}.btn{border-radius:var(--radius-pill);cursor:pointer;color:#fff;width:100%;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),filter var(--dur) var(--ease);border:1.5px solid #0000;justify-content:center;align-items:center;gap:9px;padding:13px 24px;font-family:inherit;font-size:15.5px;font-weight:700;display:inline-flex}.btn svg{width:18px;height:18px}.btn-grad{background:var(--grad-teal);box-shadow:0 6px 18px #157fb447}.btn-grad:hover{filter:saturate(1.08);transform:translateY(-1px);box-shadow:0 10px 26px #157fb45c}.btn-grad:active{transform:translateY(0)}.btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.divider{color:var(--muted);align-items:center;gap:14px;margin:13px 0;font-size:13px;font-weight:600;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.socials{grid-template-columns:1fr 1fr;gap:12px;display:grid}.soc{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--dur) var(--ease);background:#fff;justify-content:center;align-items:center;gap:9px;padding:13px;font-family:inherit;font-size:14.5px;font-weight:700;display:inline-flex}.soc:hover{border-color:var(--ink);background:#fafdfb;transform:translateY(-1px)}.soc .zalo{color:#fff;letter-spacing:-.5px;background:#0068ff;border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:flex}.soc .g{width:21px;height:21px}.trust{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:9px;margin-top:13px;font-size:12.5px;font-weight:600;display:flex}.trust svg{width:15px;height:15px;color:var(--green-deep);flex:none}.demo-note{flex-wrap:wrap;align-items:center;gap:8px;margin-top:11px;display:flex}.demo-note .dn-title{letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.demo-note .dn-row{flex-wrap:wrap;gap:6px;display:flex}.demo-note button{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--dur) var(--ease);background:#fff;padding:5px 12px;font-size:12px;font-weight:700}.demo-note button:hover{border-color:var(--green-deep);color:var(--green-deep)}.fs-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-top:14px;font-size:13px;display:flex}.fs-foot .vp{color:var(--vp-red);font-weight:800}.fs-foot b{color:var(--ink)}.done-wrap{text-align:center;padding:10px 0}.done-ic{background:var(--ok-bg);width:64px;height:64px;color:var(--green-deep);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.done-ic.pending{background:var(--warn-bg);color:var(--blue-deep)}.done-ic svg{width:30px;height:30px}.done-wrap h1{letter-spacing:-.5px;color:var(--ink);margin:0 0 9px;font-size:24px;font-weight:800}.done-wrap p{color:var(--muted);max-width:340px;margin:0 auto 24px;font-size:14.5px;line-height:1.55}.auth-solo{background:var(--bg);min-height:100vh;font-family:var(--font-sans);color:var(--ink);justify-content:center;align-items:center;padding:40px 20px;display:flex}.auth-solo .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);padding:38px clamp(24px,4vw,44px)}.auth-solo .fs-logo{margin-bottom:22px}.auth-solo h1{letter-spacing:-.5px;color:var(--ink);margin:0 0 8px;font-size:24px;font-weight:800}.auth-solo .sub{color:var(--muted);margin:0 0 22px;font-size:14.5px;line-height:1.55}.auth-solo .back-link{color:var(--blue);margin-top:18px;font-size:13.5px;font-weight:700;display:inline-block}.img-side{border-radius:var(--radius-xl);margin:18px 18px 18px 0;position:relative;overflow:hidden}.img-side .bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.img-side .scrim{z-index:1;background:linear-gradient(160deg,#2e7d264d 0%,#0a628638 48%,#103a4875 100%);position:absolute;inset:0}.img-side>*{z-index:2;position:relative}.close-btn{cursor:pointer;width:46px;height:46px;color:var(--ink);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all var(--dur) var(--ease);z-index:6;background:#ffffffeb;border:1px solid #ffffffb3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.close-btn:hover{background:#fff;transform:rotate(90deg)scale(1.05)}.close-btn svg{width:20px;height:20px}.img-tagline{z-index:3;color:#fff;position:absolute;bottom:30px;left:30px;right:30px}.img-tagline .eyebrow{text-transform:uppercase;letter-spacing:1.4px;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#ffffff29;border:1px solid #ffffff47;align-items:center;gap:8px;margin-bottom:14px;padding:6px 14px;font-size:12px;font-weight:800;display:inline-flex}.img-tagline .eyebrow svg{width:14px;height:14px;color:var(--sidebar-pop)}.img-tagline h2{letter-spacing:-.6px;text-shadow:0 2px 18px #103a4859;max-width:460px;margin:0;font-size:clamp(22px,2vw,28px);font-weight:800;line-height:1.18}.img-tagline h2 .accent{color:var(--sidebar-pop)}.w-card{z-index:4;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px)saturate(1.1);background:#ffffffd1;border:1px solid #ffffffa6;padding:15px 17px;position:absolute;box-shadow:0 14px 38px #103a4833}.w-card .wc-top{align-items:center;gap:9px;display:flex}.w-card .wc-ic{border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.w-card .wc-ic svg{width:18px;height:18px}.wc-ic.sun{background:var(--yellow-tint);color:#c79a00}.wc-ic.leaf{background:var(--green-tint);color:var(--green-deep)}.wc-ic.blue,.wc-ic.epc-blue{background:var(--blue-tint);color:var(--blue)}.w-card .wc-label{color:var(--muted);font-size:12.5px;font-weight:600;line-height:1.25}.w-card .wc-val{letter-spacing:-.6px;color:var(--ink);margin-top:2px;font-size:26px;font-weight:800;line-height:1}.w-card .wc-val small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:700}.w-card .wc-delta{color:var(--green-deep);background:var(--ok-bg);border-radius:var(--radius-pill);align-items:center;gap:4px;margin-top:9px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.w-card .wc-delta svg{width:12px;height:12px}.card-prod{width:228px;top:44px;left:44px}.card-week{width:236px;top:120px;right:36px}.week{align-items:flex-end;gap:7px;height:62px;display:flex}.week .d{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.week .bar{width:100%;height:var(--h);background:var(--green-tint);border-radius:5px 5px 3px 3px;min-height:8px}.week .d.on .bar{background:var(--grad-teal)}.week .dn{color:var(--muted);font-size:10px;font-weight:600}.week .d.on .dn{color:var(--green-deep);font-weight:800}.card-count{width:262px;bottom:150px;right:40px}.card-count .wc-val{color:var(--green-deep);font-size:34px}.card-count.epc .wc-val{color:var(--blue-deep);letter-spacing:-.8px;font-size:27px}.card-count .wc-foot{border-top:1px solid #103a481a;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.ava-cluster{display:flex}.ava-cluster .a{color:#fff;border:2px solid #fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;margin-left:-10px;font-size:12px;font-weight:700;display:flex;box-shadow:0 2px 6px #103a4833}.ava-cluster .a:first-child{margin-left:0}.ava-cluster .a.a1{background:var(--green-deep)}.ava-cluster .a.a2{background:var(--blue)}.ava-cluster .a.a3{background:#c79a00}.ava-cluster .a.more{background:var(--ink);font-size:10.5px}.card-count .wc-foot .ft-txt{color:var(--muted);font-size:11.5px;font-weight:600;line-height:1.3}@media (max-width:980px){.login{grid-template-columns:1fr;height:auto;overflow:visible}.img-side{border-radius:0;order:-1;min-height:320px;max-height:42vh;margin:0}.img-tagline,.card-week{display:none}.card-prod{width:190px;padding:12px 13px;top:20px;left:20px}.card-prod .wc-val{font-size:21px}.card-count{width:210px;padding:12px 13px;bottom:18px;left:auto;right:20px}.card-count .wc-val{font-size:26px}.form-side{height:auto;padding:30px 24px 28px;overflow:visible}.fs-body{padding:24px 0}}@media (max-width:560px){.login{grid-template-columns:1fr}.img-side{min-height:240px}.card-prod,.card-count{display:none}.socials{grid-template-columns:1fr}.close-btn{width:40px;height:40px}}@media (min-width:981px) and (max-height:840px){.form-side{padding-top:18px;padding-bottom:14px}.fs-body{padding:4px 0}.fs-head p{display:none}.fs-head h1{margin-bottom:10px}.role-pill{margin-bottom:9px}.seg{margin-bottom:11px}.field{margin-bottom:9px}.input input{padding-top:10px;padding-bottom:10px}.row-between{margin-bottom:10px}.divider{margin:9px 0}.btn{padding-top:11px;padding-bottom:11px}.soc{padding-top:10px;padding-bottom:10px}.trust{margin-top:9px}.demo-note{margin-top:8px}.fs-foot{padding-top:9px}}
