:root{--ink:#20242b;--black:#17191d;--muted:#7e8490;--line:#e7e9ed;--bg:#f5f6f8;--white:#fff;--accent:#ce3e45;--rose:#fbe7e6;--blue:#285a9c;--cyan:#e9f2ff;--amber:#915e15;--amberbg:#fff1d6;--green:#16744e;--greenbg:#e4f5eb;--purple:#694ca0;--purplebg:#f0e9ff;--shadow:0 10px 36px #1d29340a;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:13.5px}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{background:white;border:1px solid #dbe0e6;border-radius:9px;padding:11px 12px;outline:none;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{border-color:#b97679;box-shadow:0 0 0 3px #ce3e4516}input[type=checkbox]{accent-color:#ce3e45;width:16px;height:16px}input[type=date]{min-width:140px}a{color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:242px;background:#1b1d20;color:#c2c4c7;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;flex-shrink:0}.logo-wrap{padding:28px 27px 28px}.brand{font-size:27px;font-weight:850;color:#fff;letter-spacing:2.3px}.brand-dot{color:#e84d53}.brand-sub{letter-spacing:2.6px;color:#9b9ca0;font-size:9px;margin-top:7px}.side-caption{margin:9px 25px 11px;color:#777b82;font-size:9.5px;font-weight:800;letter-spacing:2px}.side-caption-gap{margin-top:32px}nav{padding:0 10px}.nav-item{display:flex;align-items:center;width:100%;gap:14px;padding:12px 14px;border:0;background:transparent;color:#adb2bb;font-weight:580;text-align:left;border-radius:9px;margin:2px 0}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#363a3e;color:#fff;border-left:3px solid #ed6368;padding-left:11px}.nav-icon{font-size:19px;width:20px;text-align:center;line-height:1}.nav-badge{margin-left:auto;background:#33383e;border-radius:20px;color:#d8dde3;font-size:10px;padding:3px 7px}.nav-badge.alert{background:#6b3437;color:#ffe5e5}.sidebar-footer{margin-top:auto;border-top:1px solid #37393d;padding:19px 22px;display:flex;align-items:center;gap:11px;font-size:11px;color:#eceeef}.sidebar-footer small{display:block;color:#91969d;margin-top:5px}.store-emblem{background:#c33c44;color:white;border-radius:10px;padding:12px 14px;font-size:18px;font-weight:800}.main-wrap{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid #e9ebef;height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 31px;gap:16px}.top-left,.top-right{display:flex;align-items:center;gap:19px}.crumb{color:#9ca1a9;letter-spacing:1px;font-size:11px;font-weight:750}.crumb span{color:#cfd2d6;margin:0 9px}.crumb b{color:#34383f}.top-date{font-size:12px;color:#707782;white-space:nowrap}.connection-pill{font-size:11px;background:#eef0f2;color:#67717d;padding:7px 10px;border-radius:18px;white-space:nowrap}.connection-pill.online{background:#e7f5ee;color:#238052}.connection-pill.demo{background:#fff4d9;color:#94651b}.avatar{border:0;border-radius:50%;background:#26292d;color:#fff;font-size:11px;font-weight:800;width:32px;height:32px}.mobile-menu{display:none}.view{padding:30px 31px 42px;max-width:1540px;width:100%;margin:0 auto;flex:1}.footer{font-size:10px;color:#a5aab1;letter-spacing:1px;padding:14px 31px 20px}.footer span{float:right;letter-spacing:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#a1a5ad;font-weight:800;text-transform:uppercase;margin-bottom:8px}h1{margin:0;color:#1d2229;font-size:25px;letter-spacing:-.6px;line-height:1.24}h2{font-size:16px;letter-spacing:-.15px;margin:0}h3{font-size:14px;margin:0}.sub{font-size:12px;color:var(--muted);margin-top:9px;line-height:1.6}.head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid #dfe3e8;background:#fff;color:#333940;padding:10px 14px;border-radius:9px;display:inline-flex;align-items:center;gap:8px;justify-content:center;font-size:12px;font-weight:720;white-space:nowrap;transition:.15s}.btn:hover{border-color:#bdc4ca;background:#fafafa}.btn.primary{background:#272a2f;border-color:#272a2f;color:#fff}.btn.primary:hover{background:#42454b}.btn.accent{background:#c8424a;border-color:#c8424a;color:#fff}.btn.accent:hover{background:#aa3139}.btn.soft-red{background:#fff0f0;color:#bb4149;border:1px solid #f7dadd}.btn.sm{padding:7px 10px;font-size:11px}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{background:transparent;border:0;font-size:20px;padding:7px}.banner{border:1px solid #f1ddb0;background:#fff9e9;padding:12px 15px;border-radius:10px;color:#85601f;margin-bottom:18px;display:flex;gap:10px;align-items:center;line-height:1.55}.banner.info{background:#edf4ff;color:#3c6188;border-color:#dce8ff}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{padding:20px 20px 16px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);position:relative;overflow:hidden;min-height:133px}.metric:before{position:absolute;content:'';left:0;top:0;height:3px;width:100%;background:#c5cbd4}.metric.warn:before{background:#e8a94c}.metric.danger:before{background:#d55660}.metric.success:before{background:#54b184}.metric .meta{font-size:11px;color:#7e8590;font-weight:700}.metric .value{font-size:33px;font-weight:790;letter-spacing:-1.2px;margin:11px 0 7px}.metric .hint{font-size:11px;color:#89909c}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.panel + .panel{margin-top:14px}.panel-header{padding:19px 20px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-header small{font-size:11px;color:#9aa2aa}.two-col{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:16px;margin:16px 0}.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.panel-content{padding:2px 20px 20px}.empty{text-align:center;padding:38px 12px;color:#949aa5}.empty-icon{font-size:35px;display:block;margin-bottom:12px;opacity:.58}.attention-list{padding:0 18px 12px}.attention-item{display:flex;align-items:center;gap:13px;padding:13px 3px;border-bottom:1px solid #f0f1f3;cursor:pointer}.attention-item:last-child{border:0}.attention-item:hover{background:#fdfdfd}.mini-dot{width:8px;height:8px;background:#eabb67;border-radius:50%;flex-shrink:0}.mini-dot.danger{background:#d95f65}.attention-title{font-weight:750;font-size:12px}.attention-sub{font-size:11px;color:#949ba5;margin-top:4px}.push{margin-left:auto}.tag{display:inline-flex;align-items:center;gap:4px;border-radius:6px;font-weight:720;padding:5px 8px;font-size:10px;white-space:nowrap}.tag.paid{background:#e5f4ed;color:#22784c}.tag.unpaid{background:#fff0d8;color:#946017}.tag.exchange{background:#ece8ff;color:#6a4bab}.tag.size{background:#e6f0ff;color:#336baf}.tag.urgent{background:#ffe4e5;color:#bc3f4a}.status{border-radius:20px;padding:5px 9px;background:#edf0f3;color:#4e5a65;font-size:10px;font-weight:740;display:inline-block;white-space:nowrap}.status.new{background:#edf0f3;color:#6b747c}.status.requested{background:#e9f2ff;color:#3363a1}.status.transferring{background:#efeaff;color:#6c55a3}.status.partial{background:#fff4db;color:#976515}.status.received{background:#e6f5ee;color:#298259}.status.delivered{background:#dff3e4;color:#176f49}.status.cancelled{background:#fde7e7;color:#ab4548}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fcfcfd}.filters input,.filters select{padding:9px 11px;font-size:12px}.search{min-width:220px;flex:1;max-width:380px}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.data-table th{background:#f9fafb;text-transform:uppercase;letter-spacing:.6px;font-size:10px;color:#8c949e;font-weight:800;padding:12px 14px;border-bottom:1px solid #e7eaf0}.data-table td{padding:13px 14px;border-bottom:1px solid #edf0f3;font-size:11.7px;vertical-align:middle}.data-table tbody tr:hover{background:#f9fafc}.data-table tbody tr:last-child td{border-bottom:0}.clickable{cursor:pointer}.code{font-size:12px;font-weight:800;letter-spacing:.15px;color:#30343a}.muted{color:#89919c}.row-sub{font-size:10px;color:#9198a2;margin-top:4px;max-width:280px;overflow:hidden;text-overflow:ellipsis}.right{text-align:right}.center{text-align:center}.paginator{padding:12px 17px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#9aa1ab;font-size:11px}.pill-note{font-size:10px;padding:5px 8px;border-radius:6px;color:#55606b;background:#f3f4f5}.bar-chart{display:flex;align-items:end;gap:10px;height:185px;padding:18px 0 0}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;height:100%;min-width:0}.bar-body{background:#4c525b;border-radius:5px 5px 0 0;width:50%;max-width:36px;min-height:3px;position:relative}.bar-body:hover{background:#c54851}.bar-num{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-4px);font-size:10px;font-weight:700;color:#676e78}.bar-label{font-size:10px;color:#9aa2ab;margin-top:9px}.split-metrics{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 20px}.mini-stat{border:1px solid #ecedf0;border-radius:8px;padding:11px;flex:1;min-width:90px}.mini-stat b{display:block;font-size:21px;margin:4px 0}.mini-stat small{color:#9299a3;font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 17px;padding:21px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field-label{font-size:11px;color:#616a75;font-weight:750}.field small{font-size:10px;color:#9299a2;line-height:1.45}.field.span2{grid-column:span 2}.field.span3{grid-column:span 3}.field input,.field select,.field textarea{width:100%}.required{color:#dc4b52}.input-combo{display:flex;align-items:center;border:1px solid #dbe0e6;border-radius:9px;overflow:hidden;background:#fff}.input-combo span{padding:11px 13px;background:#f5f6f8;color:#3e4650;font-weight:780;white-space:nowrap;font-size:13px;border-right:1px solid #dbe0e6}.input-combo input{flex:1;border:0;border-radius:0;box-shadow:none!important;font-size:17px;letter-spacing:2px;font-weight:770;width:100px}.note-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.note-option{border:1px solid #dfe4ea;display:flex;align-items:center;justify-content:center;text-align:center;min-height:60px;padding:10px;border-radius:9px;cursor:pointer;font-weight:760;font-size:11px}.note-option.selected.paid{border-color:#64b690;background:#ebf8f1;color:#20764d}.note-option.selected.unpaid{border-color:#e2b865;background:#fff5df;color:#94611d}.note-option.selected.exchange{border-color:#b9a3e4;background:#f1ebff;color:#674ca4}.note-option.selected.size{border-color:#8cafe2;background:#edf4ff;color:#366eaa}.urgency{display:flex;align-items:center;gap:10px;background:#fff5f5;border-radius:9px;padding:11px 12px;color:#8d4950;font-size:11px;font-weight:740}.section-line{border-top:1px solid #e9ebef;margin:0 20px}.section-title{padding:20px 21px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.sku-search-box{position:relative;flex:1;min-width:0}.sku-search-box input{width:100%;font-size:12px}.sku-suggestions{position:absolute;z-index:15;background:#fff;border:1px solid #dfe3e7;border-radius:9px;top:100%;left:0;right:0;box-shadow:0 18px 30px #1616161f;max-height:340px;overflow-y:auto;margin-top:5px}.sku-choice{padding:11px 12px;border:0;background:#fff;width:100%;text-align:left;cursor:pointer;border-bottom:1px solid #f0f1f3}.sku-choice:hover{background:#f4f6f8}.sku-choice .line1{display:flex;gap:8px;align-items:center;font-size:11px}.sku-choice .line2{margin-top:5px;color:#858e98;font-size:10px;display:flex;gap:9px;flex-wrap:wrap}.selected-skus{margin:15px 20px 0;border:1px solid #e8ebef;border-radius:10px;overflow:auto}.sku-list-line{display:grid;grid-template-columns:minmax(130px,1.45fr) minmax(65px,1fr) minmax(60px,.65fr) minmax(75px,.8fr) 85px 36px;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid #ecedf0;min-width:550px}.sku-list-line:last-child{border:0}.sku-list-line.thead{background:#f8f9fa;color:#89929d;font-size:10px;font-weight:800;text-transform:uppercase}.qty-step{display:flex;align-items:center;justify-content:center;gap:6px}.qty-step input{width:57px;text-align:center;padding:7px 5px}.qty-step button{border:0;border-radius:6px;background:#f0f2f3;width:22px;height:25px}.remove-line{border:0;background:#fef0f0;color:#bc424a;border-radius:6px;width:27px;height:27px}.form-actions{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.form-actions .sub{margin:0}.modal-backdrop{position:fixed;inset:0;background:#161b24a3;z-index:100;display:flex;justify-content:center;align-items:center;padding:15px}.modal{background:#fff;border-radius:14px;width:min(920px,100%);max-height:92vh;overflow:auto;box-shadow:0 25px 80px #151a2570}.modal.small{width:min(570px,100%)}.modal-head{padding:19px 23px;border-bottom:1px solid #eaedf0;display:flex;justify-content:space-between;align-items:flex-start}.modal-head h2{font-size:20px}.close{background:#f0f2f4;border:0;color:#5c6470;width:29px;height:29px;border-radius:8px}.modal-body{padding:22px}.modal-foot{border-top:1px solid #edf0f2;padding:17px 22px;display:flex;justify-content:flex-end;gap:9px}.kv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding:5px 0 19px}.kv-item small{color:#89919b;font-size:10px;display:block;margin-bottom:6px}.kv-item b{font-size:12px;line-height:1.5}.detail-row{padding:13px 15px;border:1px solid #e9edf1;border-radius:9px;margin:9px 0}.timeline{border-left:2px solid #e5e7eb;margin:4px 0 0 7px;padding-left:16px}.timeline-item{position:relative;margin-bottom:18px}.timeline-item:before{content:'';position:absolute;left:-22px;top:3px;background:#b4bbc2;width:10px;height:10px;border:2px solid #fff;border-radius:50%}.timeline-item b{font-size:11px}.timeline-item small{color:#87909a;display:block;margin-top:5px}.inventory-stats{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#eef1f4;border-radius:18px;padding:6px 10px;color:#66717c;font-weight:700;font-size:11px}.guide{padding:20px 25px;line-height:1.7}.guide h3{margin:18px 0 6px;font-size:13px}.guide p{margin:5px 0;color:#626b78}.guide li{margin:6px 0;color:#626b78}.login-page{min-height:calc(100vh - 150px);display:flex;align-items:center;justify-content:center}.login-card{background:#fff;border:1px solid #e9ebee;border-radius:15px;padding:30px;max-width:460px;width:100%;box-shadow:var(--shadow)}.login-card .brand{color:#1b1f25}.login-card h1{margin:30px 0 10px}.login-card .field{margin-top:16px}.login-card .btn{width:100%;margin-top:17px}.login-card .sub{line-height:1.7}.tab-row{display:flex;gap:5px;margin:0 0 16px;border-bottom:1px solid #e7e9ee;flex-wrap:wrap}.tab-row button{border:0;background:none;padding:11px 14px;color:#838b96;font-size:12px;font-weight:720;border-bottom:2px solid transparent}.tab-row button.selected{color:#c54047;border-color:#c54047}.account-list{display:flex;flex-direction:column;gap:9px}.account-item{padding:12px;border:1px solid #e8ebef;border-radius:9px;display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}#toast-area{position:fixed;bottom:21px;right:22px;z-index:200;display:grid;gap:8px}.toast{border-radius:9px;background:#252b31;color:#fff;padding:13px 17px;box-shadow:0 8px 30px #16161633;max-width:420px;font-size:12px}.toast.error{background:#b24045}.toast.success{background:#24724f}.hide{display:none!important}@media(max-width:1180px){.metrics{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.field.span3{grid-column:span 2}.note-types{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.sidebar{position:fixed;left:0;z-index:80;transform:translateX(-100%);transition:transform .2s;width:260px}.sidebar.open{transform:translateX(0);box-shadow:20px 0 40px #0005}.mobile-menu{display:block}.view{padding:18px 15px 30px}.topbar{padding:0 15px;height:61px}.top-date{display:none}.footer{padding:14px 15px}.footer span{display:none}.three-col{grid-template-columns:1fr 1fr}}@media(max-width:580px){h1{font-size:21px}.page-head{align-items:flex-start;flex-direction:column;gap:12px}.head-actions{width:100%}.head-actions .btn{flex:1}.metrics{gap:9px}.metric{padding:16px 13px;min-height:116px}.metric .value{font-size:29px}.metric .meta{font-size:10px}.metric .hint{font-size:9px}.connection-pill{font-size:9px;padding:6px 8px}.top-right{gap:8px}.two-col,.three-col{grid-template-columns:1fr;gap:10px;margin:10px 0}.panel-header{padding:15px}.panel-content{padding:2px 14px 15px}.filters{padding:11px;gap:6px}.filters input,.filters select{flex:1;min-width:120px}.filters .search{width:100%;max-width:none;flex-basis:100%}.form-grid{grid-template-columns:1fr;padding:15px}.field.span2,.field.span3{grid-column:span 1}.note-types{grid-template-columns:1fr 1fr;gap:7px}.note-option{min-height:53px;font-size:10px}.section-title{padding:16px 14px 0;flex-direction:column;align-items:flex-start}.selected-skus{margin:12px 10px 0}.form-actions{padding:15px}.modal-body{padding:14px}.modal-head{padding:14px}.kv-grid{grid-template-columns:1fr 1fr}.paginator{flex-wrap:wrap}.login-card{padding:22px}.sidebar-footer{padding:16px}} 

/* Lịch sử Excel - nhóm theo tháng, tối ưu màn hình nhỏ */
.history-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}
.history-month{border:1px solid var(--border,#e7e8ea);border-radius:12px;background:var(--card,#fff);padding:12px;text-align:left;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:84px}
.history-month:hover,.history-month.selected{border-color:#c63c47;background:#fff9f9}
.history-month b{font-size:14px}.history-month span{font-weight:650;font-size:12px}.history-month small{font-size:11px;color:#75808e;line-height:1.35}
.history-raw{padding-top:8px}.history-raw summary{font-size:12px;cursor:pointer;color:#657488}.history-raw div{margin-top:5px;overflow-wrap:anywhere}
@media(max-width:900px){.history-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V1.3 — Tìm đơn mới và lịch sử Excel trên một bảng, giữ nguyên phân quyền */
.source-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.source-summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.source-summary b{font-size:24px;font-weight:800;color:#23272e}.source-summary small{font-size:11px;color:#858b95;line-height:1.5}.source-historical{background:#f2f1ff;color:#6657a2;border-color:#e6e2ff}.order-combined .archival-row td{background:#fcfcff}.order-combined .archival-row:hover td{background:#f6f5ff}@media(max-width:900px){.source-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.source-summary>div{padding:12px}.source-summary b{font-size:20px}}
