*{box-sizing:border-box}body{margin:0;font:13px Tahoma,Segoe UI,Arial,sans-serif;background:#dfe6ee;padding-bottom:60px}.top{display:flex;gap:12px;align-items:center;padding:6px 12px;background:#16325c;color:#fff}.top select{margin-left:auto;max-width:40vw}main{padding:10px;overflow:auto}.htkk{max-width:1100px;margin:auto;background:#ece9d8;border:1px solid #0a246a;box-shadow:0 2px 8px #0004}.titlebar{display:flex;justify-content:space-between;background:linear-gradient(#0a5fd8,#0842a0);color:#fff;font-weight:700;padding:4px 8px}.menubar{display:flex;background:#f5f4ee;border-bottom:1px solid #aaa}.menu{position:relative}.menu>span{display:inline-block;padding:4px 10px;cursor:default}.menu>span:hover{background:#316ac5;color:#fff}.dropdown{position:absolute;top:100%;left:0;background:#fff;border:1px solid #888;min-width:240px;z-index:10;box-shadow:2px 2px 4px #0003}.dropdown.sub{left:100%;top:-1px;min-width:320px}.mi{padding:5px 12px;position:relative;white-space:nowrap}.mi:hover{background:#316ac5;color:#fff}.mi.disabled{color:#999;pointer-events:none}.infobar{padding:3px 8px;background:#fffbe6;border-bottom:1px solid #ccc}.workspace{min-height:420px;padding:10px;overflow:auto}.placeholder{color:#555;padding:60px;text-align:center}.statusbar{border-top:1px solid #aaa;padding:3px 8px;background:#f5f4ee}.statusbar.err{color:#c00;font-weight:700}.dialog{width:420px;max-width:100%;margin:30px auto;background:#ece9d8;border:1px solid #0a246a}.dtitle{background:#0a5fd8;color:#fff;padding:4px 8px;font-weight:700}.dbody{padding:12px;line-height:2.2}.dfoot{text-align:right;padding:8px;border-top:1px solid #ccc}.dfoot button{margin-left:6px;min-width:72px}.nam{width:60px}fieldset{margin-top:6px}.toolbar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}button{font:inherit;padding:3px 10px;background:linear-gradient(#fff,#ddd);border:1px solid #777;border-radius:3px;cursor:pointer}.form{background:#fff;border:1px solid #999;padding:10px}.fhead{line-height:1.7}.ftitle{text-align:center;font-weight:700;font-size:15px}.fsub{text-align:center;font-style:italic;font-size:12px}.unit{text-align:right;font-style:italic}.grid{width:100%;border-collapse:collapse;margin-top:6px}.grid th,.grid td{border:1px solid #9aa;padding:3px 4px}.grid th{background:#d6e2f3}.grid tr.grp td{background:#f0f4fa;font-weight:700}.stt{width:40px;text-align:center}.lbl.ind{padding-left:22px}.val{width:220px;white-space:nowrap}.code{display:inline-block;width:38px;color:#036;font-weight:700}input.num{width:170px;text-align:right;font:inherit;border:1px solid #7f9db9;padding:2px 4px}input.num.calc{background:#eee;color:#000}input.num:disabled{background:#f4f4f4}.player{position:fixed;bottom:0;left:0;right:0;display:flex;gap:8px;align-items:center;padding:8px 12px;background:#16325c;color:#fff;z-index:1000;flex-wrap:wrap}.player #scrub{flex:1;min-width:120px}.vcursor{position:fixed;z-index:2000;pointer-events:none;transition-property:left,top;transition-timing-function:ease-in-out}.vcursor.down svg{transform:scale(.8)}.vbubble{position:fixed;z-index:1999;background:#fffde7;border:2px solid #f9a825;border-radius:10px;padding:8px 12px;font-size:14px;box-shadow:0 3px 10px #0004;pointer-events:none;line-height:1.4}.vhl{position:fixed;z-index:1998;border:3px solid #e53935;border-radius:6px;pointer-events:none;box-shadow:0 0 0 4000px #0002}@media (max-width:600px){.val{width:auto}input.num{width:120px}.grid{font-size:12px}}.tabs{display:flex;gap:2px}.tab{padding:4px 12px;border:1px solid #999;border-bottom:none;background:#ddd;cursor:pointer}.tab.active{background:#fff;font-weight:700}.plsum{margin-top:8px;text-align:right}input.pl.ten{width:100%;font:inherit}.pltable input.num{width:150px}.note{color:#a15c00;font-size:12px;font-style:italic}.ketoan{max-width:1150px;margin:auto;background:#fff;border:1px solid #2b5797;box-shadow:0 2px 8px #0004}.kt-top{background:#2b5797;color:#fff;padding:6px 10px}.kt-body{display:flex;min-height:480px}.kt-nav{width:150px;background:#eef3fa;border-right:1px solid #ccd}.kt-navi{padding:9px 12px;cursor:pointer}.kt-navi:hover,.kt-navi.active{background:#2b5797;color:#fff}.kt-main{flex:1;padding:10px;overflow:auto}.kt-main h3{margin:0 0 6px}.kt-main h4{margin:10px 0 4px}.kt-fields{display:flex;flex-wrap:wrap;gap:10px}.kt-fields label{min-width:200px}input.txt{font:inherit;border:1px solid #7f9db9;padding:2px 4px;width:150px}.hint{display:block;color:#555}.kt-tong{text-align:right;margin-top:6px}.grid.ht{max-width:560px}.grid input.num{width:140px}@media (max-width:600px){.kt-body{flex-direction:column}.kt-nav{width:auto;display:flex;flex-wrap:wrap}}.hrow2{font-size:12px}.hval{display:inline-block;min-width:120px;border-bottom:1px dotted #999}.scrollx{overflow-x:auto}.api{font-size:12px;opacity:.85}.api.offline{color:#ffcc80}.api.online{color:#a5d6a7}.quiz-ov{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;z-index:3000;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:20px 10px}.quiz{background:#fff;border-radius:8px;max-width:640px;width:100%;padding:16px}.quiz h3{margin-top:0}.qq{margin:0 0 12px;border:1px solid #ccd;border-radius:6px}.qo{display:block;padding:6px 4px;cursor:pointer}.qq.ok{border-color:#2e7d32}.qq.bad{border-color:#c62828}.qo.right{background:#e8f5e9}.qexp{font-size:13px;color:#333;margin-top:4px}.qfoot{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.qmsg{margin-right:auto;font-weight:700}.kt-main{min-width:0}.form{overflow-x:auto}@media (max-width:600px){body{padding-bottom:110px}main{padding:4px}.top{flex-wrap:wrap;gap:6px}.top .ttl{flex:1 1 60%;font-size:12px}.top select{margin-left:0;max-width:100%;flex:1 1 100%}.titlebar{font-size:12px}.wbtn{display:none}.menubar{flex-wrap:wrap}.menu>span{white-space:nowrap;padding:8px}.menu .dropdown:not(.sub){position:fixed;left:8px;right:8px;top:auto;min-width:0;width:auto}.mi{white-space:normal;padding:10px 12px}.dropdown.sub{position:static;width:auto;border:0;border-top:1px solid #ccc;box-shadow:none;padding-left:10px}.htkk .workspace{padding:4px}.form{padding:6px}input.num,input.txt,select,input.pl.ten{font-size:16px}.htkk .grid:not(.pltable) thead{display:none}.htkk .grid:not(.pltable) tr{display:grid;grid-template-columns:34px 1fr;border-bottom:1px solid #9aa}.htkk .grid:not(.pltable) td{border:none;padding:3px}.htkk .grid:not(.pltable) td.val{grid-column:2;width:auto;display:flex;align-items:center;gap:4px}.htkk .grid:not(.pltable) td.val:empty{display:none}.htkk .grid:not(.pltable) input.num{flex:1;width:auto;min-width:0}.grid .lbl.ind{padding-left:8px}.kt-tong{text-align:left}.kt-fields label{min-width:0;flex:1 1 100%}.kt-fields input.txt,.kt-fields input.num{width:100%}.ketoan .grid{min-width:600px}.grid.ht{min-width:0}.grid.ht input{width:100%!important;min-width:70px}.pltable{min-width:560px}.player{gap:6px;padding:6px 8px}.player #scrub{flex:1 1 100%;order:-1}.vbubble{font-size:13px}.dialog .dbody{line-height:2.6}}.mi .mi{color:#000}.mi .mi:hover{color:#fff}.mi .mi.disabled{color:#999}.resume{background:#fff8e1;padding:6px 12px;border-bottom:1px solid #f0d9a0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media (max-width:600px){.ketoan .grid{min-width:0}.ketoan .grid.hang thead{display:none}.ketoan .grid.hang tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;border-bottom:2px solid #9aa;padding:4px 0}.ketoan .grid.hang td{border:none;padding:0}.ketoan .grid.hang td.stt{grid-column:1/-1;text-align:left;font-weight:700}.ketoan .grid.hang td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:#555}.ketoan .grid.hang input,.ketoan .grid.hang select{width:100%!important;min-width:0}.grid.ht{width:100%;table-layout:fixed}.grid.ht th:first-child,.grid.ht td.stt{width:24px}.grid.ht th:nth-child(2){width:70px}.grid.ht input{min-width:0!important;font-size:14px;padding:2px}}.notfound{max-width:560px;margin:40px auto;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0003}.vring{position:fixed;z-index:1997;border:3px solid #e53935;border-radius:8px;pointer-events:none;transition:left .15s,top .15s,width .15s,height .15s}.vring.anim{animation:vring-in .45s ease-out,vring-pulse 1.6s ease-in-out .45s infinite}@keyframes vring-in{0%{opacity:0;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}@keyframes vring-pulse{0%,to{box-shadow:0 0 #e5393566}50%{box-shadow:0 0 0 6px #e5393500}}@media (prefers-reduced-motion:reduce){.vring.anim{animation:none}}#explain.on{background:#e53935;color:#fff;border-color:#b71c1c}body.explain #screen{cursor:help}body.explain #screen [data-target]:not(.gl-hover){outline:none}.gl-hover{outline:2px dashed #e53935!important;outline-offset:2px;border-radius:4px}.gl-panel{position:fixed;z-index:2100;right:12px;top:60px;width:360px;max-height:calc(100vh - 140px);overflow:auto;background:#fff;border:1px solid #b0bec5;border-radius:10px;box-shadow:0 6px 24px #0005;padding:10px 14px;font-size:14px;line-height:1.45}.gl-head{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.gl-x{border:none;background:none;font-size:22px;line-height:1;cursor:pointer}.gl-id{font:11px monospace;color:#78909c;margin:2px 0 4px}.gl-panel h5{margin:10px 0 2px;color:#2b5797}.gl-panel p{margin:0}.gl-panel ul{margin:2px 0;padding-left:18px}@media (max-width:600px){.gl-panel{left:0;right:0;top:auto;bottom:0;width:auto;max-height:55vh;border-radius:14px 14px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom));animation:gl-up .2s ease-out}}@keyframes gl-up{0%{transform:translateY(100%)}to{transform:none}}.tk-slot{display:block}.tk-chip{display:inline-block;font-size:11px;color:#37474f;background:#eceff1;border-radius:8px;padding:0 6px;margin-top:2px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}@media (max-width:600px){.tk-chip{max-width:100%;box-sizing:border-box}.grid.ht td{overflow:hidden}}.lessons{max-width:960px;margin:16px auto;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 2px 8px #0002}.lessons .tabs{display:flex;gap:4px;border-bottom:2px solid #2b5797;margin-bottom:8px}.lessons .tab{padding:6px 14px;cursor:pointer;border-radius:6px 6px 0 0;background:#eef3fa}.lessons .tab.active{background:#2b5797;color:#fff}.ls-g h3{margin:14px 0 4px;color:#2b5797}.ls-g ul{list-style:none;margin:0;padding:0}.ls-g li a{display:flex;gap:8px;align-items:center;padding:7px 8px;border-bottom:1px solid #eceff1;color:inherit;text-decoration:none}.ls-g li a:hover{background:#f5f9ff}.ls-t{flex:1}.ls-b{font-size:11px;background:#e3f2fd;color:#1565c0;border-radius:8px;padding:1px 7px;white-space:nowrap}.ls-b.draft{background:#fff3e0;color:#e65100}.ls-n{font-size:11px;color:#78909c;white-space:nowrap}.top a.home{color:inherit;text-decoration:none}.loading{padding:40px;text-align:center;color:#546e7a}.lythuyet{max-width:860px;margin:0 auto;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 2px 8px #0002}.lythuyet.panel{margin-bottom:10px;padding:8px 14px}.lythuyet.panel:has(.lt-flow:empty){display:none}.lt-title{margin:0 0 8px;font-size:20px;color:#2b5797}.lt-fig{margin:0 0 10px}.lt-svg{width:100%;max-height:170px}.lt-h{margin:4px 0}.lt-p{margin:8px 0;line-height:1.55;color:#455a64;transition:color .3s}.lt-p.cur{color:#111;border-left:3px solid #f9a825;padding-left:8px}.lt-q{border:1px solid #b0bec5;border-radius:10px;padding:10px 12px;margin:10px 0;background:#fafcff}.lt-q.cur{border-color:#2b5797;box-shadow:0 0 0 2px #2b579722}.lt-qt{margin-bottom:8px}.lt-opts{display:grid;gap:6px}.lt-o{text-align:left;font:inherit;padding:8px 10px;border:1px solid #90a4ae;border-radius:8px;background:#fff;cursor:pointer}.lt-o b{display:inline-block;width:22px;color:#2b5797}.lt-o:hover{background:#eef3fa}.lt-o.chosen{border-color:#2b5797}.lt-o.right{background:#e8f5e9;border-color:#2e7d32}.dinhkhoan{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;max-width:1200px;margin:0 auto}.dk-left,.dk-right{background:#fff;border-radius:10px;padding:12px;box-shadow:0 2px 8px #0002;min-width:0}.dk-nv{background:#fff8e1;border:1px solid #f9a825;border-radius:8px;padding:8px 10px}.dk-nv-h{font-size:11px;font-weight:700;color:#e65100;text-transform:uppercase}.dk-ct-doc{margin-top:8px;border:1px dashed #78909c;border-radius:6px;padding:8px 10px;background:repeating-linear-gradient(0deg,#fff,#fff 22px,#f3f6f9 23px);font-size:13px}.dk-ct-kind{font-weight:700;text-transform:uppercase;letter-spacing:.5px}.dk-ct-note{font-size:10px;color:#90a4ae;margin-top:4px}.dk-table input.txt,.dk-table input.num{width:100%;box-sizing:border-box}.dk-table td{vertical-align:top}.dk-x{width:28px}.xoa{border:none;background:none;color:#b71c1c;font-size:18px;cursor:pointer}.dk-row.ok td{background:#e8f5e9}.dk-row.bad td{background:#ffebee}.dk-can.ok{color:#2e7d32;font-weight:700}.dk-can.bad{color:#c62828;font-weight:700}.tk-chip.warn{background:#ffebee;color:#c62828}.dk-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}button.primary{background:#2b5797;color:#fff;border:1px solid #1e3f6f;border-radius:4px;padding:4px 16px}.dk-kq{min-height:20px;margin-top:6px;font-size:14px}.dk-kq.ok{color:#2e7d32}.dk-kq.err{color:#c62828}.pt-eq{display:flex;align-items:stretch;gap:6px}.pt-box{flex:1;border-radius:8px;padding:8px;position:relative;min-width:0}.pt-box.ts{background:#e3f2fd}.pt-box.npt{background:#ffebee}.pt-box.vcsh{background:#e8f5e9}.pt-n{font-size:12px;font-weight:700}.pt-v{font-size:16px;font-weight:700;margin:2px 0;word-break:break-all}.pt-bar{height:6px;border-radius:3px;transition:width .6s}.pt-bar.ts{background:#1e88e5}.pt-bar.npt{background:#e53935}.pt-bar.vcsh{background:#43a047}.pt-op{align-self:center;font-size:22px;font-weight:700}.pt-d{display:inline-block;font-size:11px;margin-top:4px;animation:pt-pop .6s}.pt-d.up{color:#2e7d32}.pt-d.down{color:#c62828}.pt-s{font-size:11px;color:#455a64}.pt-ok{text-align:center;margin-top:6px;font-weight:700}.pt-ok.ok{color:#2e7d32}.pt-ok.bad{color:#c62828}@keyframes pt-pop{0%{transform:scale(1.4);opacity:0}to{transform:none;opacity:1}}.dk-ts,.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.tacct{border:1px solid #b0bec5;border-radius:8px;padding:6px 8px;background:#fff}.tacct .th{text-align:center;font-weight:700;border-bottom:2px solid #37474f;padding-bottom:3px;font-size:13px}.tacct .tb{display:grid;grid-template-columns:1fr 1fr;min-height:50px}.tacct .tcol:first-child,.tacct .tb>.tside:first-child{border-right:2px solid #37474f}.tacct .tl{font-size:11px;color:#546e7a;text-align:center}.te{display:flex;justify-content:space-between;gap:4px;font-size:12px;padding:1px 4px}.te.op{color:#546e7a;font-style:italic;min-height:16px}.te.pending{opacity:0}.te.flash{animation:te-flash 1s}@keyframes te-flash{0%{background:#ffe082}to{background:transparent}}.tacct .tf{display:flex;justify-content:space-between;border-top:1px solid #90a4ae;font-size:12px;padding-top:2px;gap:4px}.tacct .td{text-align:center;font-size:13px;margin-top:2px}.dk-fly{position:fixed;z-index:1990;background:#ffca28;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:700;pointer-events:none;transition:transform .6s ease-in-out,opacity .6s}.chut{max-width:1100px;margin:0 auto}.tacct.big .tb{min-height:120px}.tside.pick{font:inherit;border:none;background:#f5f9ff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.tside.pick:hover{background:#e3f2fd}.tside.pick .tl{font-size:18px;color:#2b5797;font-weight:700}.tside.pick.flash{animation:te-flash 1s}.tacct.ex .tside.cells{display:grid;gap:3px;padding:4px}.tacct.ex input.num{width:100%;box-sizing:border-box}.tacct.ex .tf label,.tacct.ex .td label{display:flex;gap:4px;align-items:center}.tacct.ex .tf input{width:110px}.ct-ps{font-size:12px;margin:4px 0;padding-left:20px}input.ok,select.ok{background:#e8f5e9;border-color:#2e7d32}input.bad,select.bad{background:#ffebee;border-color:#c62828}@media (max-width:600px){.dinhkhoan{grid-template-columns:1fr}.dk-table thead{display:none}.dk-table tr.dk-row{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;border-bottom:2px solid #9aa;padding:4px 0}.dk-table tr.dk-row[hidden]{display:none}.dk-table td{border:none;padding:0}.dk-table td.stt{grid-column:1/-1;text-align:left;font-weight:700}.dk-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:#555}.dk-table td.dk-x{position:absolute;right:8px}.dk-table tr.dk-row{position:relative}.dk-table tfoot tr{display:grid;grid-template-columns:1fr 1fr}.dk-table tfoot td{border:none}.pt-eq{flex-wrap:wrap}.pt-box{flex:1 1 40%}.pt-v{font-size:14px}.lythuyet{padding:10px}.lt-title{font-size:17px}.tacct.ex .tf{flex-direction:column}}.dk-bcd summary{cursor:pointer;font-weight:700;margin:8px 0 4px}.dk-bcd .ok{color:#2e7d32}.dk-bcd .bad{color:#c62828}.grid.bcd{font-size:12px}.grid.bcd td.n{text-align:right;white-space:nowrap}.bubble.sheet{border-radius:10px}.tkpicks{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.tkpick{border:1px solid #bbb;background:#fff;border-radius:6px;padding:2px 4px;cursor:pointer}.tkpick.on{border-color:#1565c0;background:#e3f2fd}.excel{background:#fff;border:1px solid #c8c8c8;border-radius:6px;overflow:hidden}.xl-top{background:#217346;color:#fff;padding:6px 10px}.xl-top select{margin-left:4px}.xl-de{padding:8px 10px;background:#f3f9f5;border-bottom:1px solid #ddd;font-size:14px}.xl-fbar{display:flex;align-items:center;gap:6px;padding:4px 6px;border-bottom:1px solid #ddd}.xl-name{min-width:44px;border:1px solid #ccc;padding:2px 4px;font:12px monospace}.xl-fbar .fx{font-style:italic;color:#666}.xl-fbar input{flex:1;font:13px monospace;padding:3px}.xl-wrap{overflow:auto;max-height:60vh}.xl-grid{border-collapse:collapse;font-size:13px}.xl-grid th{background:#f0f0f0;border:1px solid #d4d4d4;font-weight:400;color:#555;min-width:28px;position:sticky;top:0}.xl-grid td{border:1px solid #e0e0e0;padding:0}.xl-grid input.xc{width:118px;border:0;padding:3px 4px;font:13px system-ui;background:transparent}.xl-grid input.xc.n{text-align:right}.xl-grid input.xc.f{color:#0b5394}.xl-grid input.xc:focus{outline:2px solid #217346;background:#fff}.xl-grid td:nth-child(2) input.xc{width:170px}.xl-tabs{border-top:1px solid #ddd;padding:3px 6px;background:#f7f7f7}@media (max-width:600px){.xl-grid input.xc{width:92px}.xl-grid td:nth-child(2) input.xc{width:130px}.xl-wrap{max-height:52vh}}
