:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#243650;background:#f5f7fb;font-size:14px;--blue:#176dcc;--orange:#ed8300;--line:#e5eaf2;--muted:#7a879a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #dce2ec;background:white;border-radius:7px;padding:10px 14px;color:#334967;transition:background .15s}button:hover{background:#edf4fc}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8dbcf7;outline-offset:2px}input,select{border:1px solid #dce2ec;border-radius:7px;padding:10px 12px;background:white;color:#243650;min-width:0;width:100%}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--orange)}label{display:block;font-size:12px;color:#63748b}label input,label select{display:block;margin-top:7px;font-size:14px}.topbar{height:68px;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:48px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:18px;color:#15355f}.brand small{font-size:12px;color:var(--muted);font-weight:400}.logo{display:grid;place-items:center;background:#1974d2;color:white;border-radius:10px;width:34px;height:34px}.nav-current{height:68px;display:flex;align-items:center;border-bottom:3px solid var(--blue);color:var(--blue);font-weight:600}.account{margin-left:auto;font-size:12px;background:#f7f9fc}.workspace{display:flex;min-height:calc(100vh - 68px)}aside{width:222px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:28px 22px}.aside-title{font-size:10px;letter-spacing:1.4px;color:#8b96a5;margin-bottom:28px;font-weight:700}.filter-group{border:0;padding:0;margin:0 0 26px}.filter-group legend{font-size:11px;font-weight:700;color:#768297;text-transform:uppercase;margin-bottom:12px}.filter-group label{display:flex;align-items:center;gap:9px;line-height:1.5;margin:13px 0;color:#344760;font-size:13px}.filter-group input{margin:0}.aside-note{border-top:1px solid var(--line);padding-top:15px;font-size:11px;line-height:1.8;color:#8592a3}.aside-note span{color:var(--blue);font-size:20px}main{padding:26px 30px;width:calc(100% - 222px);max-width:2000px}.breadcrumb{color:#8b97a9;font-size:11px;margin-bottom:21px}.breadcrumb span{margin:0 9px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}h1{margin:0;font-size:25px;letter-spacing:-.6px;font-weight:650;color:#16345b}h1 span{font-size:12px;letter-spacing:0;vertical-align:middle;background:#e7effa;color:#3773b8;padding:4px 8px;border-radius:5px;margin-left:5px}.heading p{color:var(--muted);font-size:12px;margin:9px 0 0}.actions{display:flex;gap:8px;white-space:nowrap}.primary{background:var(--blue);border-color:var(--blue);color:white;font-weight:600}.primary:hover{background:#125db1}.orange{background:var(--orange);border-color:var(--orange)}.orange:hover{background:#db7700}.icon-button{font-size:20px;padding:5px 12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:23px}.stats article{background:white;border:1px solid var(--line);border-radius:10px;padding:20px 22px}.stats span{display:block;font-size:10px;letter-spacing:.8px;color:#8090a6;font-weight:600}.stats strong{display:block;font-size:25px;letter-spacing:-.7px;font-weight:650;margin:12px 0 6px;color:#16345b}.stats small{color:#8c99aa;font-size:11px}.stats article:last-child{background:#f0f6fe;border-color:#d8e6f8}.stats article:last-child strong{color:var(--blue)}.content-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.toolbar{display:flex;gap:12px;align-items:end;padding:20px}.toolbar label{min-width:120px}.toolbar select{min-width:156px}.toolbar .search{flex:1;min-width:130px}.sync-status{margin:0 20px 18px;border:1px solid #dce7f5;background:#f5f9ff;border-radius:7px;padding:12px 14px;display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.6;color:#57708f}.sync-status.running{border-color:#b9d7ff;background:#edf6ff}.sync-status.failed,.sync-status.partial{background:#fff9ec;border-color:#f4dba6;color:#8d672b}.sync-status button{margin-left:auto;font-size:12px;padding:6px 9px;white-space:nowrap}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:12px}th{background:#f5f8fd;color:#687d98;font-size:11px;font-weight:600;padding:14px 12px;border-bottom:1px solid #dce5f1}th button{border:0;background:none;padding:0;color:inherit;font-weight:inherit;font-size:inherit}td{padding:17px 12px;border-bottom:1px solid #eef1f6;line-height:1.5}tbody tr:hover{background:#f8fbff}td.seller{min-width:220px;max-width:290px;white-space:normal;font-weight:500}td .secondary{display:block;color:#8b98aa;font-size:11px;margin-top:3px}.money{text-align:right;font-variant-numeric:tabular-nums}td.total{font-weight:600;color:#274d7b}.badge{display:inline-block;background:#e9f4ff;color:#2975b1;padding:3px 8px;border-radius:20px;font-size:10px;white-space:nowrap}.badge.pending{background:#fff4e2;color:#b37522}.badge.excluded{background:#edf0f4;color:#7c8796}.row-link{background:none;border:0;padding:0;color:var(--blue);font-weight:600}.empty{padding:65px 20px;text-align:center}.empty-icon{font-size:40px;color:#6d9acb;background:#f0f6fc;border-radius:15px;width:75px;height:75px;display:grid;place-items:center;margin:0 auto 20px}.empty h2{font-size:18px;color:#244365;margin:0 0 9px}.empty p{font-size:13px;color:var(--muted);margin-bottom:22px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;color:#7a8aa0;font-size:12px}.pagination div{display:flex;gap:14px;align-items:center}.pagination button{padding:4px 11px;font-size:20px}.history{margin-top:24px;color:#647890;font-size:12px}.history summary{cursor:pointer;font-weight:600;padding:5px 0}.history-item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;line-height:1.7}.history-item button{font-size:11px;padding:6px 10px}.footnote{color:#95a0af;font-size:11px;line-height:1.7;margin-top:20px}.selection{padding:10px 20px;background:#edf5ff;display:flex;align-items:center;gap:10px;font-size:12px}.selection button{font-size:12px;padding:5px 10px}dialog{border:0;border-radius:16px;box-shadow:0 22px 90px #0d24413b;padding:28px;width:min(500px,calc(100vw - 30px));color:#293e59}dialog::backdrop{background:#0b1e3c70}dialog h2{font-size:20px;font-weight:600;margin:6px 0}dialog p{color:#7a899c;font-size:13px;line-height:1.65;margin:14px 0 23px}dialog label{margin-top:18px}.modal-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.close{border:0;padding:0 4px;font-size:26px;color:#8c98a6;background:none}.eyebrow{font-size:10px;letter-spacing:1.2px;color:#8495ac}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:60px}.password-wrap button{position:absolute;right:4px;top:11px;border:0;padding:7px;font-size:11px}.captcha-row{display:flex;align-items:center;gap:9px;margin-top:9px;min-height:45px}.captcha-row img{width:180px;height:40px;border:1px solid var(--line);border-radius:5px}.captcha-row input{width:135px;flex:1}.captcha-row button{border:0;padding:5px;font-size:23px}.info,.warning{font-size:12px;line-height:1.7;background:#edf5ff;border-left:3px solid #5a9ee9;border-radius:4px;padding:12px 14px;margin:20px 0;color:#507396}.warning{background:#fff7e5;border-color:#e6a23a;color:#947133}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.modal-actions>button:first-child{border-color:transparent}.date-row{display:flex;gap:20px}.date-row label{flex:1;margin-top:0}.error{color:#b83a36;margin:12px 0;font-size:12px}.detail-dialog{width:min(850px,calc(100vw - 30px))}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.detail-grid dt{color:#8290a2;font-size:11px}.detail-grid dd{margin:5px 0 0;overflow-wrap:anywhere}pre{background:#f4f7fb;padding:15px;font-size:11px;overflow:auto;max-height:300px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#193b60;color:white;padding:14px 22px;border-radius:9px;box-shadow:0 5px 25px #0002;z-index:10;max-width:90vw;font-size:13px}[hidden]{display:none!important}@media(min-width:1500px){main{padding:32px 38px}td{padding:18px 15px}}@media(max-width:1150px){.heading{align-items:start;flex-direction:column}.toolbar{flex-wrap:wrap}.toolbar label{flex:1}.stats strong{font-size:21px}.brand small,.nav-current{display:none}}@media(max-width:750px){.topbar{padding:0 16px;gap:10px}aside{display:none}main{width:100%;padding:20px 14px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:16px}.heading h1{font-size:23px}.actions{flex-wrap:wrap}.toolbar{padding:14px}.sync-status{margin:0 14px 14px}.detail-grid{grid-template-columns:1fr}.captcha-row{flex-wrap:wrap}.brand{font-size:15px}.account{max-width:180px;overflow:hidden;text-overflow:ellipsis}}
/* Invoice detail */
.detail-dialog{padding:0;width:min(900px,calc(100vw - 30px));max-height:90vh;border-radius:20px;overflow:auto}.invoice-detail-head{padding:23px 25px 18px;border-bottom:1px solid var(--line)}.invoice-detail-head h2{font-size:18px;font-weight:500;flex:1}.invoice-detail-head h2 span{color:#6e737b;margin-left:6px}.invoice-detail-head .modal-title{gap:12px}.invoice-detail-head .badge{padding:8px 10px}.invoice-meta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font-size:12px;color:#7a8492;margin-top:15px}.invoice-meta b{color:#293645}.invoice-meta .badge{padding:2px 8px}.invoice-parties{padding:22px 25px 14px;border-bottom:1px solid var(--line)}.party-line{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12px;line-height:1.7}.party-line strong{color:#29313b;font-size:13px}.party-label{font-size:11px;font-weight:700;color:#74808c}.party-tax{color:#7f8791;font-size:11px}.party-address{margin:9px 0 7px 23px;font-size:11px;color:#9096a0}.party-address span{margin-left:5px;color:#707b88}#toggle-parties{float:right;margin:0 0 8px 15px;border:0;padding:2px;color:#245bc1;font-size:11px}.invoice-items{padding:22px 25px}.invoice-items h3{font-size:12px;color:#707b89;margin:0 0 15px;font-weight:600}.invoice-items .table-wrap{border:1px solid #e6eaf0;border-radius:7px}.invoice-items th{background:#f3f4f7;color:#2851aa;padding:17px 14px;font-size:11px}.invoice-items td{padding:17px 14px}.invoice-items td:first-child{white-space:normal;min-width:180px;max-width:330px}.invoice-items tr:last-child td{border-bottom:0}.invoice-totals{display:flex;gap:25px;align-items:center;background:linear-gradient(90deg,#edf5ff,#efebff);padding:17px 25px;font-size:11px;color:#7b8da6}.invoice-totals b{color:#173c6d;font-size:14px;margin-left:6px}.invoice-totals strong{margin-left:auto;color:#254c9d;font-size:11px}.invoice-totals em{font-style:normal;font-size:25px;font-weight:650;margin:0 5px}.invoice-detail-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 17px;min-height:60px}.authority{display:flex;align-items:center;gap:8px;min-width:0;font-size:11px;color:#7b838e}.authority code{max-width:230px;overflow:hidden;text-overflow:ellipsis;background:#f2f4f7;padding:3px 5px;border-radius:3px;color:#414a54}.authority button{border:0;padding:5px 8px}.download-dropdown{position:relative}.download-dropdown>button{white-space:nowrap}#download-options{position:absolute;bottom:calc(100% + 8px);right:0;width:240px;background:white;box-shadow:0 5px 30px #162d5540;padding:5px;border-radius:8px;border:1px solid var(--line);z-index:2}#download-options button{display:block;width:100%;text-align:left;border:0;font-size:12px}.detail-loading{padding:28px}.detail-loading .close{float:right}.detail-dialog #detail-error:empty{display:none}.detail-dialog #detail-error{padding:0 20px 12px;margin:0}.no-items{color:#8592a4}.detail-dialog .close{font-size:23px}
@media(max-width:650px){.invoice-parties,.invoice-items,.invoice-detail-head{padding:18px}.invoice-detail-head h2 span{display:block;margin:6px 0}.invoice-totals{flex-wrap:wrap;padding:16px;gap:12px}.invoice-totals strong{width:100%;margin:3px 0 0}.invoice-detail-footer{flex-wrap:wrap}.authority code{max-width:160px}}
@media print{body{background:white}.topbar,.workspace,#toast,dialog:not(#detail-dialog){display:none!important}#detail-dialog[open]{display:block;position:static;max-height:none;width:100%;max-width:none;margin:0;padding:0;overflow:visible;box-shadow:none;border:0;border-radius:0}.detail-dialog::backdrop{display:none}.detail-dialog .close,#toggle-parties,.download-dropdown,#copy-authority,#detail-error{display:none!important}#buyer-party,.party-address{display:block!important}.invoice-items .table-wrap{overflow:visible}.invoice-items table{white-space:normal}.invoice-items thead{display:table-header-group}.invoice-items tr{break-inside:avoid}.authority code{max-width:none;overflow:visible}.invoice-detail-footer:after{content:'Bản hiển thị từ dữ liệu TCT, không phải XML gốc có chữ ký số.';font-size:9px;color:#777}.invoice-detail-footer{flex-wrap:wrap}@page{size:A4;margin:12mm}}

/* Advanced filtering and local classification */
.filter-button{align-self:flex-end;white-space:nowrap;height:39px}.filter-button.active{border-color:#4f91dc;background:#edf6ff;color:#176dcc}.filter-button span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:#176dcc;color:#fff;font-size:10px;margin-left:5px}.wide-dialog{width:min(760px,calc(100vw - 30px))}.advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.classify-section{border-top:1px solid var(--line);padding:18px 0}.classify-section h3{font-size:13px;color:#314a69;margin:0 0 12px}.choice-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:36px}.tag-choice{margin:0!important;display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--tag-color),#fff 55%);border-radius:18px;padding:7px 10px;color:#334967;background:color-mix(in srgb,var(--tag-color),#fff 90%)}.tag-choice input{margin:0}.inline-create{display:flex;gap:8px;align-items:center;margin-top:12px}.inline-create input{margin:0}.inline-create input[type=color]{width:48px;padding:4px;height:40px;flex:0 0 48px}.tag-chip{display:inline-block;padding:2px 7px;border-radius:12px;margin:2px 4px 2px 0;background:color-mix(in srgb,var(--tag-color),#fff 86%);border:1px solid color-mix(in srgb,var(--tag-color),#fff 55%);color:#31445b;font-size:10px}.classification-cell{min-width:135px;max-width:210px;white-space:normal}.muted{color:#8996a8;font-size:12px}.bulk-options button:first-child{border-color:#9ec8f1;background:#f2f8ff}
.payment-state{display:block;width:max-content;margin-top:5px;border-radius:10px;padding:2px 7px;font-size:10px;background:#f0f2f5;color:#6d7888}.payment-state.paid{background:#e6f6ec;color:#27834b}.payment-state.partial{background:#fff5dd;color:#9b6a14}.payment-state.overdue{background:#feecea;color:#b33a31}.attachment-upload{display:flex;gap:12px;align-items:end}.attachment-upload label{flex:1}.attachment-list{margin-top:18px;border-top:1px solid var(--line)}.attachment-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.attachment-row>span{flex:1;min-width:0}.attachment-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.attachment-row small{display:block;color:#8491a3;margin-top:4px}.attachment-row a{color:#176dcc;text-decoration:none;font-size:12px}.attachment-row button{padding:5px 9px;font-size:11px;color:#a7443d}
@media(max-width:700px){.advanced-grid{grid-template-columns:1fr}.inline-create{flex-wrap:wrap}.filter-button{width:100%}}
