@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Regular.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Medium.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-SemiBold.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:700;font-style:normal;font-display:swap;src:url(/static/fonts/Inter-Bold.woff2) format("woff2")}
:root{--blue:#1A4FD6;--blue2:#2E63E8;--sky:#38BDF8;--ink:#1F2328;--navy:#0B1220;--navy2:#14307A;--bg:#F6F8FC;--bg2:#EEF3FF;--panel:#FFFFFF;--line:#E5E7EB;--mute:#5B6478;--ok:#059669;--warn:#D97706;--err:#E11D48;--shadow:0 10px 30px rgba(11,18,32,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.55;font-size:15px}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
img,svg{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
header.top{border-bottom:1px solid rgba(11,18,32,.06);background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);position:sticky;top:0;z-index:20}
header.top .wrap{display:flex;align-items:center;gap:28px;height:66px}
header.top .logo img{height:30px;width:auto;display:block}
header.top nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
header.top nav a{color:var(--ink);padding:7px 11px;border-radius:9px;font-size:14px;font-weight:500}
header.top nav a:hover{background:var(--bg2);text-decoration:none}header.top nav a.on{color:var(--blue);background:var(--bg2)}
.ver{font-size:12px;color:var(--mute);border:1px solid var(--line);border-radius:999px;padding:2px 10px;white-space:nowrap;background:#fff}
main{padding:0 0 80px;min-height:60vh}
main>.wrap{padding-top:40px}
main.inner{background:radial-gradient(900px 340px at 12% -10%,rgba(26,79,214,.14),transparent 60%),radial-gradient(700px 300px at 92% 0%,rgba(56,189,248,.16),transparent 60%),linear-gradient(180deg,#EEF3FF 0,var(--bg) 380px)}
h1{font-weight:700;font-size:clamp(30px,4.2vw,44px);letter-spacing:-.025em;margin:0 0 10px;line-height:1.12}
h2{font-weight:600;font-size:22px;margin:40px 0 10px;letter-spacing:-.01em}h2:first-child{margin-top:0}
h3{font-weight:600;font-size:16px;margin:20px 0 8px}
p{max-width:68ch;margin:0 0 12px}p.lead{font-size:18px;color:var(--mute);max-width:62ch}
.mute{color:var(--mute)}.small{font-size:13px}
section{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}section:first-of-type{border-top:0;padding-top:0;margin-top:0}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;padding:11px 20px;border-radius:11px;font-weight:600;border:0;cursor:pointer;font-size:15px;font-family:inherit;line-height:1.2;box-shadow:0 6px 18px rgba(26,79,214,.28);transition:transform .15s,box-shadow .15s}
.btn:hover{background:var(--blue2);text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 24px rgba(26,79,214,.34)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.ghost:hover{background:var(--bg2)}
.btn.sm{padding:6px 12px;font-size:13px;border-radius:8px;box-shadow:none}.btn.navy{background:var(--navy);box-shadow:none}.btn.white{background:#fff;color:var(--blue);box-shadow:0 6px 18px rgba(0,0,0,.25)}.btn.white:hover{background:#EEF3FF}.btn.outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:none}.btn.outline:hover{background:rgba(255,255,255,.1)}
/* hero tối trang chủ */
.hero-dark{position:relative;overflow:hidden;color:var(--ink);background:#F6F8FC url(/static/bg-mesh-light.svg?v=1) center/cover no-repeat;border-bottom:1px solid rgba(26,79,214,.08)}
.hero-dark .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center;min-height:560px;padding-top:56px;padding-bottom:56px}
.hero-dark .lockup{width:min(420px,80%);margin-bottom:26px}
.hero-dark h1{font-size:clamp(36px,5vw,58px);color:var(--ink)}.hero-dark h1 span{color:var(--blue)}
.hero-dark p.lead{color:var(--mute);font-size:18px}
.hero-dark .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-dark .kicker{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);border:1px solid rgba(26,79,214,.25);border-radius:999px;padding:4px 12px;margin-bottom:18px;background:rgba(255,255,255,.6)}
.cloud{position:relative;height:440px}
.cloud .ic{position:absolute;border-radius:24%;box-shadow:0 18px 40px rgba(26,79,214,.18);animation:float 7s ease-in-out infinite;background:transparent}
.cloud .ic img{width:100%;height:100%;display:block;border-radius:22%}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.stats-glass{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-34px}
.stats-glass .stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.stats-glass b{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em}.stats-glass span{font-size:13px;color:var(--mute)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:28px 0}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.stat b{display:block;font-size:24px;font-weight:600}.stat span{font-size:13px;color:var(--mute)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:800px){.grid2,.grid3,.grid4{grid-template-columns:1fr 1fr}.hero-dark .wrap{grid-template-columns:1fr}.cloud{height:260px}.stats-glass{grid-template-columns:1fr 1fr}}@media(max-width:520px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.card{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--panel);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.card h3{margin-top:0}a.card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,18,32,.1);border-color:#C7D2FE}
.card .ico{width:44px;height:44px;border-radius:12px;background:var(--bg2);display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--blue);font-weight:700}
.fig{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.fig.dark{background:var(--navy);border-color:var(--navy)}
.fig .img{display:flex;align-items:center;justify-content:center;padding:26px;min-height:150px}.fig .img img{max-height:140px;width:auto}
.fig .cap{padding:10px 14px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;background:#fff}
.dl{display:flex;gap:6px;flex-wrap:wrap}.dl a{font-size:12px;border:1px solid var(--line);border-radius:6px;padding:2px 8px;color:var(--ink);font-weight:500;background:#fff}.dl a:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}
.sw{display:flex;gap:12px;flex-wrap:wrap}.swatch{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;cursor:pointer;background:#fff;font-family:inherit;font-size:14px;color:var(--ink);box-shadow:var(--shadow)}
.swatch i{width:34px;height:34px;border-radius:9px;border:1px solid rgba(0,0,0,.08);flex:0 0 34px}.swatch code{font-size:12px;color:var(--mute)}.swatch:hover{border-color:var(--blue)}
.swatch.big{flex-direction:column;align-items:flex-start;padding:0;overflow:hidden;width:200px}.swatch.big i{width:100%;height:96px;border-radius:0;border:0}.swatch.big div{padding:10px 12px}
.pill{display:inline-block;font-size:12px;border-radius:999px;padding:2px 10px;background:var(--bg2);color:var(--blue);font-weight:500}
.note{background:var(--bg2);border-left:4px solid var(--blue);padding:10px 14px;border-radius:8px;margin:12px 0;font-size:14px}
.warn{background:#FFF7ED;border-left:4px solid var(--warn);padding:10px 14px;border-radius:8px;margin:12px 0;font-size:14px}
.donts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.donts .card{border-color:#FECDD3;background:#FFF1F2;box-shadow:none}.donts .card b{color:var(--err)}
table{border-collapse:collapse;width:100%;font-size:14px;background:#fff}th,td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}th{font-weight:600;background:var(--bg2)}
code,kbd{font-family:Consolas,"SF Mono",Menlo,monospace;font-size:13px;background:var(--bg2);padding:1px 6px;border-radius:5px}
pre{background:var(--navy);color:#E8ECF2;padding:14px 16px;border-radius:12px;overflow:auto;font-size:13px}
input,select,textarea{font:inherit;padding:9px 12px;border:1px solid #C9CFDA;border-radius:9px;width:100%;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #BFD0FF;border-color:var(--blue)}
label{display:block;font-weight:500;font-size:13px;margin:12px 0 4px}label .req{color:var(--err)}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.toolbar input,.toolbar select{width:auto;min-width:220px}
.modgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.mod{border:1px solid var(--line);border-radius:14px;padding:10px 8px;text-align:center;background:#fff;color:var(--ink);display:block;transition:transform .12s,box-shadow .12s}.mod:hover{border-color:var(--blue);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}
.mod img{width:64px;height:64px;display:block;margin:0 auto 6px}.mod b{display:block;font-size:12px;font-weight:600}.mod span{display:block;font-size:11px;color:var(--mute)}
.famhead{display:flex;align-items:center;gap:10px;margin:26px 0 10px}.famhead i{width:14px;height:14px;border-radius:4px;display:inline-block}.famhead h3{margin:0}
footer.foot{background:var(--navy);color:#C7CFDD;padding:44px 0 28px;margin-top:40px;font-size:14px}
footer.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}@media(max-width:800px){footer.foot .wrap{grid-template-columns:1fr}}
footer.foot img{height:28px;margin-bottom:14px}footer.foot a{color:#E8ECF2}footer.foot h4{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}footer.foot .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:14px;font-size:12px;color:#8FA0BD;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.flash{background:var(--bg2);border:1px solid #BFD0FF;border-radius:10px;padding:10px 14px;margin-bottom:16px}
.toc{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 24px}.toc a{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--ink);background:#fff}
.prev{border:1px solid var(--line);border-radius:14px;background:repeating-conic-gradient(#f0f2f6 0 25%,#fff 0 50%) 0 0/24px 24px;padding:14px;display:flex;justify-content:center}.prev svg{width:100%;height:auto;max-height:420px}
.band{background:linear-gradient(135deg,var(--navy) 0,var(--navy2) 55%,var(--blue) 100%);color:#fff;border-radius:20px;padding:34px 36px;margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.band h2{margin:0 0 6px;color:#fff}.band p{color:#C7D2E8;margin:0}
/* chat widget */
#chat-fab{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:12px 18px;font:600 14px Inter,Helvetica,Arial,sans-serif;box-shadow:0 10px 30px rgba(26,79,214,.4);cursor:pointer;display:flex;align-items:center;gap:8px;text-decoration:none}#chat-fab:hover{text-decoration:none;background:var(--blue2)}
/* trang trợ lý toàn màn hình */
main.chatmain{padding:0;min-height:0}
.chatpage{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 66px);background:#fff}
.cp-side{border-right:1px solid var(--line);background:var(--bg);padding:14px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.cp-list{flex:1;display:flex;flex-direction:column;gap:4px}.cp-list a{display:block;padding:9px 12px;border-radius:10px;color:var(--ink)}.cp-list a:hover{background:#fff;text-decoration:none}.cp-list a.on{background:#fff;box-shadow:var(--shadow);border:1px solid var(--line)}
.cp-list a b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-list a span{font-size:11px;color:var(--mute)}
.cp-foot{border-top:1px solid var(--line);padding-top:10px}
.cp-main{display:flex;flex-direction:column;min-width:0}
.cp-log{flex:1;overflow:auto;padding:28px 0}.cp-log>*{max-width:820px;margin-left:auto;margin-right:auto;padding:0 24px}
.cp-empty{text-align:center;padding-top:8vh}.cp-empty h2{margin:14px 0 6px}.cp-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:18px}.cp-chips button{font:13px Inter,Helvetica,Arial,sans-serif;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--ink);box-shadow:var(--shadow)}.cp-chips button:hover{border-color:var(--blue);color:var(--blue)}
.cp-row{display:flex;gap:12px;margin:0 auto 18px;align-items:flex-start}.cp-row.u{justify-content:flex-end}
.cp-av{width:32px;height:32px;border-radius:10px;background:var(--blue);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 32px;font-size:14px}
.cp-m{font-size:15px;line-height:1.6;max-width:100%}.cp-row.u .cp-m{background:#DCE6FF;border-radius:14px;border-bottom-right-radius:4px;padding:10px 14px;max-width:80%;white-space:pre-wrap}
.cp-m p{margin:0 0 8px}.cp-m p:last-child{margin:0}.cp-m ul{margin:6px 0;padding-left:20px}.cp-m .files{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.cp-in{border-top:1px solid var(--line);padding:14px 24px 18px;background:#fff}.cp-box{max-width:820px;margin:0 auto;border:1px solid #C9CFDA;border-radius:16px;padding:10px 12px 8px;box-shadow:var(--shadow)}.cp-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #BFD0FF}
.cp-box textarea{border:0;padding:6px 4px;resize:none;font-size:15px;min-height:28px;max-height:200px;outline:none;box-shadow:none}.cp-box textarea:focus{outline:none}
.cp-tools{display:flex;align-items:center;gap:10px;margin-top:4px}.cp-tools .att{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;color:var(--mute);font:13px Inter,Helvetica,Arial,sans-serif}.cp-tools .btn{margin-left:auto}
.typing{font-size:13px;color:var(--mute)}
@media(max-width:800px){.chatpage{grid-template-columns:1fr;height:auto}.cp-side{display:none}.cp-log{padding:16px 0}}
.m{max-width:88%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.5;word-break:break-word}.m.u{align-self:flex-end;background:#DCE6FF;border-bottom-right-radius:4px}.m.a{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.m p{margin:0 0 6px}.m p:last-child{margin:0}.m ul{margin:4px 0;padding-left:18px}.m .files a{display:inline-block;margin:4px 6px 0 0;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:4px 10px;background:#fff}
.typing{font-size:12px;color:var(--mute);align-self:flex-start}
@media(max-width:700px){header.top .wrap{height:auto;padding:10px 16px;flex-wrap:wrap}header.top nav{margin-left:0}}
