@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-fzCEYZwl.woff2) format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BwEUXHEY.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-L5ZQyZX_.woff2) format("woff2"),url(/assets/public-sans-latin-ext-400-normal-BwKz5AeH.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-D4F9yfFi.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-D4vgG6SW.woff) format("woff");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-sPpfk_yB.woff2) format("woff2"),url(/assets/public-sans-vietnamese-500-normal-BKNWXH7D.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DP9Whp7X.woff2) format("woff2"),url(/assets/public-sans-latin-ext-500-normal-DC3-YAa0.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-ChZcBEnJ.woff2) format("woff2"),url(/assets/public-sans-latin-500-normal-DCQow-rA.woff) format("woff");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-BoVp2IRl.woff2) format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CCLjVCWZ.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-BOqTAvMD.woff2) format("woff2"),url(/assets/public-sans-latin-ext-600-normal-WBZG7A5n.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Ck6TyfRI.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BX0BwxVl.woff) format("woff");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-Cjcf1M5d.woff2) format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Czg5uTnZ.woff) format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-DQeElHWA.woff2) format("woff2"),url(/assets/public-sans-latin-ext-700-normal-BPjagB3u.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-CGjRhW-d.woff2) format("woff2"),url(/assets/public-sans-latin-700-normal-DFbs-ESy.woff) format("woff");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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #14332f;--ink-2: #2b4a45;--paper: #f5f8f7;--surface: #ffffff;--line: #dce5e2;--muted: #62736f;--proven: #2fa57a;--proven-soft: #e3f4ec;--derived: #c98a1b;--derived-soft: #fbf1dc;--broken: #c2463a;--broken-soft: #f8e4e1;--focus: #2a6fdb;--radius-s: 4px;--radius-m: 8px;--font: "Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--t-xs: .78rem;--t-s: .875rem;--t-m: 1rem;--t-l: 1.2rem;--t-xl: 1.44rem;--t-xxl: 1.95rem}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--t-m);line-height:1.45;color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.01em}h1{font-size:var(--t-xl)}h2{font-size:var(--t-l)}h3{font-size:var(--t-m)}p{margin:0}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.muted{color:var(--muted)}.small{font-size:var(--t-s)}.xs{font-size:var(--t-xs)}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.row{display:flex;align-items:center;gap:12px}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:16px}button,.btn{font:inherit;font-size:var(--t-s);font-weight:600;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:7px 14px;border-radius:var(--radius-s);line-height:1.2}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}button.ghost:hover:not(:disabled){border-color:var(--ink-2)}button.danger{background:var(--broken);border-color:var(--broken)}button.link{background:none;border:0;color:var(--ink);padding:0;text-decoration:underline;font-weight:500}input,select,textarea{font:inherit;font-size:var(--t-s);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);padding:7px 9px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--ink-2);outline:none;box-shadow:0 0 0 2px #2a6fdb33}label.field{display:flex;flex-direction:column;gap:4px;font-size:var(--t-s);font-weight:600}label.field span.hint{font-weight:400;color:var(--muted)}.error-box{background:var(--broken-soft);color:var(--broken);padding:8px 12px;border-radius:var(--radius-s);font-size:var(--t-s)}.shell{display:grid;grid-template-columns:216px 1fr;height:100%}.nav{background:var(--ink);color:#dfe9e6;padding:20px 14px;display:flex;flex-direction:column;gap:4px}.nav .brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:var(--t-l);color:#fff;padding:0 8px 18px}.nav a{text-decoration:none;padding:8px 10px;border-radius:var(--radius-s);font-size:var(--t-s);font-weight:500}.nav a:hover{background:#ffffff12}.nav a.active{background:#ffffff1f;color:#fff}.nav .group{margin:14px 10px 4px;font-size:var(--t-xs);color:#9fb7b1}.nav .who{margin-top:auto;padding:10px;font-size:var(--t-xs);color:#b7cbc6;border-top:1px solid #ffffff1f}.main{overflow:auto}.page{padding:28px 32px;max-width:1200px}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px}table.data{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden}table.data th{text-align:left;font-size:var(--t-xs);font-weight:600;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line);background:#fafcfb}table.data td{padding:9px 12px;border-bottom:1px solid var(--line);font-size:var(--t-s);vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data th.num,table.data td.num,table.lines-t th.num,table.lines-t td.num{text-align:right}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:#f3f8f6}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.dot.green{background:var(--proven)}.dot.orange{background:var(--derived)}.dot.red{background:var(--broken)}.dot.grey{background:#b5c3bf}.tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.tag.green{background:var(--proven-soft);color:#1d7454}.tag.orange{background:var(--derived-soft);color:#8b5e0c}.tag.red{background:var(--broken-soft);color:#9a2f25}.tag.grey{background:#e9efed;color:var(--muted)}.proofs{display:flex;flex-wrap:wrap;gap:10px}.proof{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius-s);padding:9px 14px 9px 12px;min-width:300px}.proof.green{border-left-color:var(--proven)}.proof.orange{border-left-color:var(--derived)}.proof.red{border-left-color:var(--broken)}.proof .period{font-weight:650;font-size:var(--t-s)}.proof .verdict{font-size:var(--t-xs);font-weight:600;justify-self:end}.proof.green .verdict{color:#1d7454}.proof.orange .verdict{color:#8b5e0c}.proof.red .verdict{color:#9a2f25}.proof .eq{grid-column:1 / -1;font-size:var(--t-s);color:var(--ink-2);white-space:nowrap}.proof .eq b{font-weight:650;color:var(--ink)}.proof .why{grid-column:1 / -1;font-size:var(--t-xs);color:var(--muted)}.review{display:grid;grid-template-rows:auto auto 1fr;height:100%}.review-head{display:flex;align-items:center;gap:12px;padding:16px 24px 12px;border-bottom:1px solid var(--line);background:var(--surface)}.review-proofs{padding:12px 24px;border-bottom:1px solid var(--line);background:#fbfdfc}.review-body{display:grid;grid-template-columns:minmax(380px,46%) 1fr;min-height:0}.viewer{border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:#eef3f1}.viewer-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface)}.viewer-bar button.page-tab{padding:4px 10px}.viewer-bar button.page-tab.on{background:var(--ink);color:#fff}.viewer-scroll{overflow:auto;padding:14px;flex:1}.page-wrap{position:relative;display:inline-block;box-shadow:0 1px 3px #14332f22;background:#fff}.page-wrap img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.page-wrap.drawing{cursor:crosshair}.hl{position:absolute;border-radius:2px;pointer-events:auto;cursor:pointer}.hl.row{background:transparent;border:1px solid transparent}.hl.row.on{background:#2a6fdb26;border-color:#2a6fdb88}.hl.amount{border:2px solid transparent}.hl.amount.on{border-color:var(--focus)}.hl.edited.on{border-color:var(--derived)}.draw-box{position:absolute;border:2px dashed var(--focus);background:#2a6fdb1a;pointer-events:none}.lines{display:flex;flex-direction:column;min-height:0}.lines-bar{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.lines-scroll{overflow:auto;flex:1}table.lines-t{width:100%;border-collapse:collapse;font-size:var(--t-s)}table.lines-t th{position:sticky;top:0;background:#fafcfb;text-align:left;font-size:var(--t-xs);font-weight:600;color:var(--muted);padding:7px 10px;border-bottom:1px solid var(--line);z-index:1}table.lines-t td{padding:6px 10px;border-bottom:1px solid #e8efec;vertical-align:top}table.lines-t tr{cursor:pointer}table.lines-t tr.on td{background:#e8f0fb}table.lines-t tr:hover td{background:#f1f6f4}table.lines-t tr.on:hover td{background:#e2ecfa}table.lines-t td.desc{max-width:340px}table.lines-t td.desc .d{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.lines-t tr.on td.desc .d{white-space:normal}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:0 5px;border-radius:3px;margin-right:4px}.badge.edited{background:var(--derived-soft);color:#8b5e0c}.badge.auto{background:#e7eefb;color:#2856a3}.badge.nolo{background:#eef1f0;color:var(--muted)}.cat{font-size:var(--t-xs);color:var(--muted);white-space:nowrap}.cat.forced{color:#8b5e0c;font-weight:600}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14332f55;display:flex;justify-content:flex-end;z-index:20}.backdrop.center{justify-content:center;align-items:center}.drawer{width:min(440px,100%);height:100%;background:var(--surface);padding:22px;overflow:auto;display:flex;flex-direction:column;gap:14px;box-shadow:-6px 0 24px #14332f22}.dialog{width:min(480px,calc(100% - 32px));background:var(--surface);padding:22px;border-radius:var(--radius-m);display:flex;flex-direction:column;gap:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden}.seg button{border:0;border-radius:0;background:var(--surface);color:var(--ink);font-weight:600}.seg button.on{background:var(--ink);color:#fff}.figures{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface)}.figure{padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.figure .k{font-size:var(--t-xs);color:var(--muted)}.figure .v{font-size:var(--t-l);font-weight:650}.figure .o{font-size:var(--t-xs);color:#8b5e0c}.history-item{border-left:2px solid var(--line);padding:4px 0 10px 12px;font-size:var(--t-s)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:#fff;padding:9px 16px;border-radius:var(--radius-s);font-size:var(--t-s);z-index:30}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login-side{background:var(--ink);color:#e6efec;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login-side .claim{font-size:var(--t-xxl);font-weight:650;line-height:1.2;max-width:16ch;color:#fff}.login-form{display:flex;align-items:center;justify-content:center;padding:32px}.login-form form{width:min(340px,100%);display:flex;flex-direction:column;gap:14px}.drop{border:1.5px dashed #b9c9c4;border-radius:var(--radius-m);padding:18px;text-align:center;background:var(--surface);color:var(--muted);font-size:var(--t-s)}.drop.over{border-color:var(--ink);background:#eef5f2}@media (max-width: 900px){.shell{grid-template-columns:1fr}.nav{flex-direction:row;flex-wrap:wrap;padding:10px}.nav .group,.nav .who{display:none}.review-body{grid-template-columns:1fr}.viewer{max-height:50vh}.login{grid-template-columns:1fr}.login-side{padding:28px}.page{padding:20px 16px}}
