.tab-bar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:16px;border-bottom:1px solid #ddd}.tab-item{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;color:#666;background:#eceef1;border:1px solid #ddd;border-bottom:none;border-radius:6px 6px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}.tab-item:hover{background:#e2e5ea}.tab-item.active{background:#fff;color:#222;font-weight:600;position:relative;top:1px}.tab-close{border:none;background:none;color:#999;font-size:14px;line-height:1;cursor:pointer;padding:0 2px}.tab-close:hover{color:#c0392b}.tab-close-all{margin-left:auto;align-self:center;padding:4px 10px;font-size:12px;color:#666;background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer}.tab-close-all:hover{color:#c0392b;border-color:#c0392b}.tab-item.dragging{opacity:.4}.tab-item.drag-over{box-shadow:inset 3px 0 #4c6bf5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border-radius:6px;width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 24px #0003}.modal-box.wide{width:960px;max-height:92vh}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:16px}.modal-close{border:none;background:none;font-size:20px;line-height:1;cursor:pointer;color:#888;padding:0 4px}.modal-close:hover{color:#333}.modal-body{padding:16px 18px;overflow-y:auto}.modal-footer{padding:12px 18px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:8px}.modal-footer button{padding:0 16px;height:34px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px;cursor:pointer}.modal-footer button:hover{background:#f0f0f0}.modal-footer .btn-primary{background:#333;color:#fff;border:none}.modal-footer .btn-primary:hover{background:#111}.modal-search-box{display:flex;gap:8px;margin-bottom:12px}.modal-search-box input{flex:1;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px}.modal-search-box button{padding:0 14px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.modal-list{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto}.modal-list li{padding:10px 8px;border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:14px;display:flex;justify-content:space-between}.modal-list li:hover{background:#f5f7fa}.modal-list .sub{color:#999;font-size:12px}.modal-empty{color:#999;text-align:center;padding:24px 0;font-size:14px}.modal-hint{color:#999;font-size:12px;margin-bottom:6px}.modal-body .msg{border-radius:4px;font-size:13px}.modal-body .msg.error{background:#fdecea;color:#c0392b;border:1px solid #f5c6c0}.modal-body .msg.success{background:#eafaf1;color:#1e7e34;border:1px solid #bfe5cb}.form-table{background:#fff;border:1px solid #d8dbe0;border-radius:4px;margin-bottom:20px}.form-row{display:flex;align-items:stretch;border-bottom:1px solid #e8eaed}.form-row:last-child{border-bottom:none}.form-row .form-label{width:140px;flex-shrink:0;background:#f7f8fa;border-right:1px solid #e8eaed;padding:0 12px;box-sizing:border-box;display:flex;align-items:center;gap:6px;font-size:13px;color:#333;font-weight:500}.form-label .required{color:#4c8bf5;font-size:12px}.form-row .form-field{flex:1;padding:8px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;box-sizing:border-box}.form-field input[type=text],.form-field input[type=number],.form-field input[type=date],.form-field input[type=password],.form-field select{padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;height:32px;box-sizing:border-box;background:#fff;color:#333}.form-field input[readonly]{background:#f5f5f5;color:#666;cursor:default}.form-field select{cursor:pointer}.form-field .field-note{font-size:12px;color:#999}.form-field button{padding:0 14px;height:32px;cursor:pointer;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:13px}.form-field button:hover{background:#f0f0f0}.form-actions{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.form-grid-row{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e8eaed}.form-grid-row:last-child{border-bottom:none}.form-grid-row.cols-2{grid-template-columns:repeat(2,1fr)}.form-grid-cell{display:flex;align-items:stretch;border-right:1px solid #e8eaed;min-width:0}.form-grid-cell:last-child{border-right:none}.form-grid-cell .form-label{width:140px;flex-shrink:0;background:#f7f8fa;border-right:1px solid #e8eaed;padding:6px 12px;box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;row-gap:2px;gap:4px;font-size:13px;color:#333;font-weight:500}.form-grid-cell .form-field{flex:1;min-width:0;padding:6px 10px;display:flex;align-items:center;gap:6px;box-sizing:border-box}.form-grid-cell .form-field input,.form-grid-cell .form-field select{width:100%;min-width:0}.form-actions .btn-primary{padding:0 24px;height:36px;border:none;border-radius:4px;background:#333;color:#fff;font-size:14px;cursor:pointer}.form-actions .btn-primary:hover{background:#111}*{box-sizing:border-box}body{margin:0;font-family:맑은 고딕,sans-serif;font-size:14px;color:#333}.app-header{height:56px;background:#22262e;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0}.app-header .brand{font-size:16px;font-weight:600}.app-header .user-area{display:flex;align-items:center;gap:14px;font-size:13px}.app-header .user-area a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.4);padding:4px 10px;border-radius:4px}.app-header .user-area a.low-stock-badge{background:#c0392b;color:#fff;border-radius:10px;padding:2px 10px;font-weight:600}.app-header .user-area a.low-stock-badge:hover{background:#a93226}.app-header .user-area a:hover{background:#ffffff1f}.app-body{display:flex;min-height:calc(100vh - 56px)}.app-sidebar{width:200px;background:#2c313a;flex-shrink:0;padding:12px 0}.app-sidebar .menu-group{border-bottom:1px solid rgba(255,255,255,.06)}.app-sidebar .menu-group summary{padding:12px 20px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.app-sidebar .menu-group summary::-webkit-details-marker{display:none}.app-sidebar .menu-group summary:before{content:"▸";display:inline-block;width:14px;color:#8a919c;transition:transform .15s ease}.app-sidebar .menu-group[open] summary:before{transform:rotate(90deg)}.app-sidebar .menu-group a{display:block;padding:10px 20px 10px 40px;color:#ccc;text-decoration:none;font-size:13px;border-left:3px solid transparent}.app-sidebar .menu-group a:hover{background:#3a4049;color:#fff}.app-sidebar .menu-group a.active{background:#3a4049;color:#fff;border-left-color:#4c8bf5}.app-content{flex:1;padding:24px;background:#f5f5f5;overflow-x:auto}.app-sidebar .menu-single{display:block;padding:12px 20px;color:#fff;font-size:14px;font-weight:600;text-decoration:none;border-left:3px solid transparent;border-bottom:1px solid rgba(255,255,255,.06)}.app-sidebar .menu-single:hover{background:#3a4049}.app-sidebar .menu-single.active{background:#3a4049;border-left-color:#4c8bf5}.login-wrap{font-family:맑은 고딕,sans-serif;font-size:14px;color:#333;display:flex;align-items:center;justify-content:center;height:100vh;margin:0;background:#f5f5f5}.login-box{background:#fff;border:1px solid #ddd;border-radius:6px;padding:36px 32px;width:320px}.login-box h2{margin:0 0 24px;text-align:center;font-size:20px}.login-box label{display:block;margin-bottom:6px;font-size:13px;color:#555}.login-box input[type=text],.login-box input[type=password]{width:100%;box-sizing:border-box;padding:9px 10px;margin-bottom:16px;border:1px solid #ccc;border-radius:4px;font-size:14px}.login-box button{width:100%;padding:10px;background:#333;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer}.login-box button:disabled{background:#999;cursor:default}.login-box .error{color:#c0392b;font-size:13px;margin-bottom:12px;min-height:16px;text-align:center}.order-page h2{margin:0 0 16px}.order-page .search-box{background:#fff;padding:16px;border:1px solid #ddd;margin-bottom:20px}.order-page label{margin-right:4px}.order-page input[type=text],.order-page input[type=date],.order-page input[type=number]{padding:6px 10px;margin-right:12px;border:1px solid #ccc;border-radius:4px;font-size:14px;height:32px;box-sizing:border-box}.order-page select{padding:0 10px;margin-right:8px;border:1px solid #ccc;border-radius:4px;font-size:14px;height:32px;box-sizing:border-box;background:#fff;cursor:pointer}.order-page button{padding:0 14px;height:32px;cursor:pointer;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px}.order-page button:hover{background:#f0f0f0}.order-page .search-box button[type=submit]{background:#1a4fc2;border-color:#1a4fc2;color:#fff;font-weight:600}.order-page .search-box button[type=submit]:hover{background:#153f9c}.order-page .search-box button.btn-excel{background:#fff;border-color:#1e7e34;color:#1e7e34;font-weight:600}.order-page .search-box button.btn-excel:hover{background:#eafaf1}.order-page .search-box button:disabled{opacity:.6;cursor:default}.order-page table{width:100%;border-collapse:collapse;background:#fff}.order-page th,.order-page td{border:1px solid #ddd;padding:8px 10px;text-align:center}.order-page th{background:#f0f0f0}.order-page td.name{text-align:left}.order-page .empty-row td,.order-page .loading-row td{color:#999;padding:24px}.order-page .error{color:#c0392b;margin-bottom:16px}.order-page .badge{color:#b8763e;font-weight:700}.order-page .register-box{background:#fff;padding:16px;border:1px solid #ddd;margin-bottom:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.order-page .msg{margin-bottom:16px;padding:10px}.order-page .msg.error{background:#fdecea;color:#c0392b}.order-page .msg.success{background:#eafaf1;color:#1e7e34}.order-page tbody tr{cursor:pointer}.order-page tbody tr:hover{background:#f7f8fa}.order-page tbody tr.row-selected{background:#e8f0fe}.order-page tbody tr.row-selected td{color:#1a4fc2}.order-page .order-items table{background:#fff}.order-page .order-items input[type=text],.order-page .order-items input[type=number]{margin-right:6px}.order-page .order-items tbody tr,.order-page .order-items tbody tr:hover{cursor:default;background:#fff}.order-page .order-items .field-note{margin-top:4px;font-size:12px;color:#666;text-align:left}.order-page .order-items .items-total{text-align:right;font-weight:700}.order-page .order-items tfoot td{background:#fafafa}.order-page .order-note{margin:-8px 0 8px;font-size:12px;color:#666}.order-page td.num{text-align:right}.order-page .order-list td,.order-page .order-list th{white-space:nowrap}.dashboard-page h3{margin:28px 0 10px;font-size:16px}.dashboard-page .dash-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.dashboard-page .dash-card{background:#fff;border:1px solid #ddd;border-radius:6px;padding:16px 18px}.dashboard-page .dash-card .label{font-size:13px;color:#666;margin-bottom:8px}.dashboard-page .dash-card .value{font-size:24px;font-weight:700;color:#222}.dashboard-page .dash-card .value .unit{font-size:14px;font-weight:400;color:#666}.dashboard-page .dash-card.highlight{border-color:#4c8bf5;background:#f4f8ff}.dashboard-page .dash-card.highlight .value{color:#1a4fc2}.dashboard-page .dash-card.clickable{cursor:pointer}.dashboard-page .dash-card.clickable:hover{background:#fafafa}.dashboard-page .dash-card.warn{border-color:#e0a39b;background:#fff5f3}.dashboard-page .dash-card.warn .value{color:#c0392b}.dashboard-page .dash-note{margin-top:8px;font-size:12px;color:#888}.dashboard-page .rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.dashboard-page .rank-title{font-weight:600;margin-bottom:8px}.dashboard-page .rank-title span{font-weight:400;font-size:12px;color:#888}.dashboard-page .rank-grid th{white-space:nowrap}.dashboard-page .rank-grid td:not(.name){white-space:nowrap}.dashboard-page td.bar-cell{position:relative;text-align:right}.dashboard-page td.bar-cell .bar{position:absolute;left:0;top:4px;bottom:4px;background:#dce8ff;z-index:0}.dashboard-page td.bar-cell span{position:relative;z-index:1}@media (max-width: 1100px){.dashboard-page .dash-cards{grid-template-columns:repeat(2,1fr)}.dashboard-page .rank-grid{grid-template-columns:1fr}}.member-page h2{margin:0 0 16px}.member-page .search-box,.member-page .register-box{background:#fff;padding:16px;border:1px solid #ddd;margin-bottom:20px}.member-page .register-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.member-page label{margin-right:4px}.member-page input[type=text],.member-page input[type=password],.member-page select{padding:6px 10px;margin-right:12px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;height:32px;box-sizing:border-box;background:#fff;color:#333}.member-page select{cursor:pointer}.member-page button{padding:0 14px;height:32px;cursor:pointer;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px}.member-page button:hover{background:#f0f0f0}.member-page .search-box button[type=submit]{background:#1a4fc2;border-color:#1a4fc2;color:#fff;font-weight:600}.member-page .search-box button[type=submit]:hover{background:#153f9c}.member-page table{width:100%;border-collapse:collapse;background:#fff}.member-page th,.member-page td{border:1px solid #ddd;padding:8px 10px;text-align:center}.member-page th{background:#f0f0f0}.member-page td.name{text-align:left}.member-page .empty-row td,.member-page .loading-row td{color:#999;padding:24px}.member-page .badge-admin{color:#4c6bf5;font-weight:700}.member-page .msg{margin-bottom:16px;padding:10px}.member-page .msg.error{background:#fdecea;color:#c0392b}.member-page .msg.success{background:#eafaf1;color:#1e7e34}.member-page tbody tr{cursor:pointer}.member-page tbody tr:hover{background:#f7f8fa}.member-page tbody tr.row-selected{background:#e8f0fe}.member-page tbody tr.row-selected td{color:#1a4fc2}.member-page .empty-row,.member-page .loading-row{cursor:default}.loading-more{text-align:center;padding:14px;color:#999;font-size:13px}.client-page h2{margin:0 0 16px}.client-page .search-box{background:#fff;padding:16px;border:1px solid #ddd;margin-bottom:20px}.client-page label{margin-right:4px}.client-page input[type=text]{padding:6px 10px;margin-right:12px;border:1px solid #ccc;border-radius:4px;font-size:14px;height:32px;box-sizing:border-box}.client-page button{padding:0 14px;height:32px;cursor:pointer;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px}.client-page button:hover{background:#f0f0f0}.client-page .search-box button[type=submit]{background:#1a4fc2;border-color:#1a4fc2;color:#fff;font-weight:600}.client-page .search-box button[type=submit]:hover{background:#153f9c}.client-page table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.client-page th,.client-page td{border:1px solid #ddd;padding:6px 8px;text-align:center;white-space:nowrap}.client-page th{background:#f0f0f0}.client-page td.name{text-align:left}.client-page .empty-row td,.client-page .loading-row td{color:#999;padding:24px}.client-page .msg{margin-bottom:16px;padding:10px}.client-page .msg.error{background:#fdecea;color:#c0392b}.client-page .msg.success{background:#eafaf1;color:#1e7e34}.gift-input-row{display:flex;gap:8px;margin-bottom:8px}.gift-list{list-style:none;margin:0;padding:0}.gift-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#f7f8fa;border:1px solid #eee;border-radius:4px;margin-bottom:6px;font-size:13px}.gift-list button{border:none;background:none;color:#999;cursor:pointer;font-size:14px;height:auto;padding:0 4px}.gift-list button:hover{color:#c0392b;background:none}.client-page tbody tr{cursor:pointer}.client-page tbody tr:hover{background:#f7f8fa}.client-page tbody tr.row-selected{background:#e8f0fe}.client-page tbody tr.row-selected td{color:#1a4fc2}.field-error{color:#c0392b;font-size:12px}.client-sales-page td.num{text-align:right;white-space:nowrap}.client-sales-page input[type=text]{width:150px}.client-sales-page select{margin-right:12px;height:32px;padding:0 8px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff}.client-sales-page tbody tr.sales-subtotal,.client-sales-page tbody tr.sales-subtotal:hover{background:#eef3fb;font-weight:700;cursor:default}.client-sales-page tbody tr.sales-total,.client-sales-page tbody tr.sales-total:hover{background:#e2e7ef;font-weight:700;cursor:default}.sales-summary{margin-bottom:12px;font-size:14px}.sales-summary b{color:#1a4fc2}.sales-summary .sales-note{margin-left:12px;font-size:12px;color:#888}.vendor-page h2{margin:0 0 16px}.vendor-page .search-box,.vendor-page .register-box{background:#fff;padding:16px;border:1px solid #ddd;margin-bottom:20px}.vendor-page .register-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vendor-page label{margin-right:4px}.vendor-page input[type=text]{padding:6px 10px;margin-right:12px;border:1px solid #ccc;border-radius:4px;font-size:14px;height:32px;box-sizing:border-box}.vendor-page button{padding:0 14px;height:32px;cursor:pointer;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px}.vendor-page button:hover{background:#f0f0f0}.vendor-page .search-box button[type=submit]{background:#1a4fc2;border-color:#1a4fc2;color:#fff;font-weight:600}.vendor-page .search-box button[type=submit]:hover{background:#153f9c}.vendor-page table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.vendor-page th,.vendor-page td{border:1px solid #ddd;padding:6px 8px;text-align:center;white-space:nowrap}.vendor-page th{background:#f0f0f0}.vendor-page td.name{text-align:left}.vendor-page .empty-row td,.vendor-page .loading-row td{color:#999;padding:24px}.vendor-page .msg{margin-bottom:16px;padding:10px}.vendor-page .msg.error{background:#fdecea;color:#c0392b}.vendor-page .msg.success{background:#eafaf1;color:#1e7e34}.vendor-page tbody tr{cursor:pointer}.vendor-page tbody tr:hover{background:#f7f8fa}.vendor-page tbody tr.row-selected{background:#e8f0fe}.vendor-page tbody tr.row-selected td{color:#1a4fc2}.po-page .form-row .form-label{width:170px;white-space:nowrap}.po-page textarea{width:100%;max-width:640px;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical}.po-page .po-items-block{margin-bottom:20px}.po-page .po-items-title{font-size:13px;font-weight:500;color:#333;margin:0 0 6px}.po-page .po-items-title .required{color:#4c8bf5;font-size:12px;margin-right:4px}.po-page .po-items table{background:#fff}.po-page .po-items th,.po-page .po-items td{padding:6px 5px}.po-page .po-items tr{page-break-inside:avoid}.po-page .po-items td.name input[type=text]{width:calc(100% - 76px);margin-right:4px}.po-page .po-items td input[type=text],.po-page .po-items td input[type=number]{width:100%;margin-right:0}.po-page .po-items td.name button{width:68px;padding:0;white-space:nowrap}.po-page .po-items td.num{text-align:right}.po-page .po-items .field-note{margin-top:3px;font-size:12px;color:#888;text-align:left;min-height:14px}.po-page .po-items tbody tr,.po-page .po-items tbody tr:hover{cursor:default;background:#fff}.po-page .po-items tfoot td{background:#fafafa}.po-page .po-items .po-total{text-align:right;font-weight:700}.po-page .po-terms{display:block}.po-page .po-terms label{display:flex;align-items:center;gap:8px;margin:3px 0;white-space:pre}.po-page .po-terms input[type=text]{width:380px;max-width:100%;margin-right:0}.po-page .form-actions button:not(.btn-primary){padding:0 20px;height:36px;cursor:pointer;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px}.po-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1100;display:flex;align-items:center;justify-content:center}.po-preview-box{background:#e9ebee;border-radius:6px;width:920px;max-width:96vw;max-height:94vh;display:flex;flex-direction:column;box-shadow:0 8px 24px #0000004d}.po-preview-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-radius:6px 6px 0 0;border-bottom:1px solid #ddd}.po-preview-bar strong{margin-right:6px}.po-preview-tip{flex:1;font-size:12px;color:#888}.po-preview-tip.notice{font-size:14px;font-weight:700;color:#c0392b;background:#fdecea;border:1px solid #f5b7b1;border-radius:4px;padding:6px 12px}.po-preview-bar button{padding:0 16px;height:34px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px;cursor:pointer}.po-preview-bar .btn-primary{background:#333;color:#fff;border:none}.po-preview-paper{overflow:auto;padding:18px;display:flex;justify-content:center}.po-sheet{width:190mm;min-height:270mm;background:#fff;color:#111;padding:8mm 7mm;box-sizing:border-box;font-family:맑은 고딕,Malgun Gothic,sans-serif;font-size:10pt;box-shadow:0 1px 6px #0003}.po-sheet *{box-sizing:border-box}.po-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:7mm}.po-sheet-title{display:flex;align-items:stretch;gap:0;flex:1}.po-bar{width:7mm;background:#2f5597;margin-right:6mm}.po-title-text{flex:1;text-align:center;padding-right:20mm}.po-title-ko{font-size:26pt;font-weight:700;letter-spacing:6px;line-height:1.2}.po-title-en{font-size:9pt;letter-spacing:4px;color:#777;margin-top:2px;font-weight:700}.po-sheet-meta{font-size:10pt;line-height:1.6;padding-top:6mm;min-width:60mm}.po-sheet-meta span{display:inline-block;width:22mm}.po-parties{display:flex;gap:5mm;margin-bottom:7mm}.po-party{flex:1}.po-party-head{background:#d9d9d9;text-align:center;font-weight:700;padding:3px 0;letter-spacing:6px;margin-bottom:2mm}.po-party dl{display:flex;margin:0;border-bottom:1px solid #222;min-height:7mm;align-items:center}.po-party dt{width:20mm;padding-left:3mm;flex-shrink:0}.po-party dd{margin:0;flex:1;padding:1mm 0}.po-party dd.b{font-weight:700}.po-stamp-cell{position:relative}.po-stamp{position:absolute;left:22mm;top:-4mm;width:14mm;height:14mm;object-fit:contain}.po-total-line{text-align:center;font-size:11pt;margin-bottom:4mm}.po-total-line span{font-weight:700;margin:0 4px}.po-total-line strong{color:#1f6fc5;font-size:14pt;margin:0 6px}.po-sheet-table{width:100%;border-collapse:collapse;margin-bottom:5mm;border-top:1.5px solid #222;border-bottom:1.5px solid #222}.po-sheet-table th{background:#d9d9d9;font-weight:700;padding:2px 3px;border:1px solid #aaa;font-size:9.5pt;line-height:1.25}.po-sheet-table th small{font-size:7pt;font-weight:400}.po-sheet-table td{border:1px solid #bbb;padding:0 5px;height:7.2mm;text-align:center;font-size:9.5pt}.po-sheet-table td.l{text-align:left}.po-sheet-table td.r{text-align:right}.po-sheet-table tfoot td{font-weight:700;background:#fff;border-top:1.5px solid #222}.po-sheet-table tfoot td.sum-label{text-align:center;letter-spacing:4px}.po-sheet-notes{width:100%;border-collapse:collapse;border:1px solid #aaa}.po-sheet-notes th{width:24mm;background:#d9d9d9;font-weight:700;border:1px solid #aaa;padding:3mm;text-align:center}.po-sheet-notes td{border:1px solid #aaa;padding:3mm 4mm;vertical-align:top;font-size:9.5pt;line-height:1.6}.po-sheet-notes td.remark{min-height:22mm;white-space:pre-wrap;height:28mm}.po-term-line span{display:inline-block;min-width:20mm}@media print{@page{size:A4;margin:0}html,body{background:#fff!important}#root{display:none!important}.po-preview-backdrop{position:static!important;background:none!important;display:block!important}.po-preview-box{box-shadow:none!important;background:none!important;width:auto!important;max-width:none!important;max-height:none!important;display:block!important}.po-preview-paper{overflow:visible!important;padding:0!important;display:block!important}.po-preview-bar{display:none!important}.po-sheet{box-shadow:none!important;margin:0 auto;width:210mm!important;padding:10mm 12mm!important;min-height:297mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.po-status{display:inline-block;padding:1px 10px;border-radius:10px;font-size:12px;font-weight:600;border:1px solid #ccc;background:#f3f3f3;color:#666}.po-status.ORDERED{background:#eef3fe;color:#3a5fc4;border-color:#c9d6f8}.po-status.PARTIAL{background:#fff4e0;color:#b8741a;border-color:#f2d9a8}.po-status.RECEIVED{background:#eafaf1;color:#1e7e34;border-color:#bfe5cb}.po-status.UNPAID{background:#fdecea;color:#c0392b;border-color:#f5c6c0}.po-status.PAID{background:#eafaf1;color:#1e7e34;border-color:#bfe5cb}.po-status.CLOSED{background:#eee;color:#666;border-color:#ccc}.po-receive-box{border:1px solid #ddd;border-radius:4px;padding:12px 14px;margin:0 0 16px;background:#fafafa}.po-receive-box h4{margin:0 0 8px;font-size:14px}.po-receive-box .head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.po-receive-box table{background:#fff;width:100%}.po-receive-box th,.po-receive-box td{padding:6px 8px;font-size:13px}.po-receive-box td.num{text-align:right}.po-receive-box tbody tr,.po-receive-box tbody tr:hover{cursor:default;background:#fff}.po-receive-box tr.canceled td{color:#aaa;text-decoration:line-through}.po-receive-box tr.canceled td.status{text-decoration:none}.po-receive-box .none{color:#999;font-size:13px;padding:6px 0}.po-receive-note{font-size:12px;color:#888;margin-top:6px}.po-receive-form .date-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.po-receive-form table{width:100%;background:#fff}.po-receive-form th,.po-receive-form td{padding:6px 8px;font-size:13px}.po-receive-form td.num{text-align:right}.po-receive-form td.name{text-align:left}.po-receive-form td input[type=number]{width:80px;text-align:right}.po-receive-form tbody tr,.po-receive-form tbody tr:hover{cursor:default;background:#fff}.po-receive-form tr.done td{color:#aaa}.po-receive-form .link-row{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12px}.po-receive-form .link-row .warn{color:#c0392b}.po-receive-form .link-row button{padding:0 8px;height:24px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.btn-warn{color:#c0392b!important;border-color:#c0392b!important}.po-pay-sum{display:flex;gap:22px;font-size:13px;margin-bottom:8px}.po-pay-sum b{font-size:14px}.po-pay-sum .rest b{color:#c0392b}.po-pay-form .row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.po-pay-form .row label{width:70px;font-weight:600}.po-pay-form input[type=number]{width:160px;text-align:right}.po-pay-form input[type=text]{width:320px;max-width:100%}.po-pay-form .quick{display:flex;gap:6px}.po-list th,.po-list td:not(.name){white-space:nowrap}.pay-tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:2px solid #d8dde6}.pay-tabs button{padding:8px 20px;border:0;background:none;font-size:15px;font-weight:600;color:#777;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.pay-tabs button:hover{color:#1a4fc2}.pay-tabs button.on{color:#1a4fc2;border-bottom-color:#1a4fc2}.pay-status-page .po-list td.name{white-space:nowrap}.pay-status-page .table-wrap{overflow-x:auto}.pay-status-page .pay-history th{box-sizing:border-box}.pay-status-page .pay-history td.cut{overflow:hidden;text-overflow:ellipsis}.modal-footer button:disabled,.po-page button:disabled{opacity:.4;cursor:not-allowed}.pay-status-page th.chk,.pay-status-page td.chk{text-align:center;padding-left:0;padding-right:0}.pay-status-page th.chk input[type=checkbox],.pay-status-page td.chk input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;vertical-align:middle}.pay-status-page td.chk input[type=checkbox]:disabled,.pay-status-page th.chk input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}.pay-status-page .po-list tr.canceled td:not(.status){color:#aaa;text-decoration:line-through}.pay-status-page .po-list tr.canceled td.chk{text-decoration:none}.pay-status-page .po-list tbody tr.row-failed,.pay-status-page .po-list tbody tr.row-failed:hover{background:#fdecea}.pay-status-page .po-list tbody tr.row-failed td{color:#c0392b}.pay-status-page td.remain{color:#c0392b;font-weight:600}.batch-bar{display:flex;align-items:center;gap:12px;margin:0 0 8px}.batch-bar button{padding:0 14px;height:32px;border:1px solid #c0392b;border-radius:4px;background:#fff;font-size:14px;cursor:pointer}.batch-bar button:disabled{opacity:.4;cursor:not-allowed}.batch-bar .sales-note{margin-left:0;font-size:12px;color:#888}.batch-bar .sales-note b{color:#1a4fc2}.rcv-notice{margin:0 0 10px;padding:6px 12px;font-size:13px;color:#555;background:#f4f7fb;border:1px solid #dde5f0;border-radius:4px}.batch-fail{margin:0 0 12px;border:1px solid #f5c6c0;border-radius:4px;background:#fff8f7;padding:10px 12px}.batch-fail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:13px;color:#8a2d22;margin-bottom:8px}.batch-fail-head b{color:#c0392b}.batch-fail-head button{flex:none;padding:0 12px;height:28px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.batch-fail table{width:100%;background:#fff}.batch-fail th,.batch-fail td{padding:6px 8px;font-size:13px;white-space:nowrap}.batch-fail td.num{text-align:right}.batch-fail td.reason{white-space:normal;text-align:left;width:100%}.batch-fail td.reason{color:#c0392b}.batch-fail tbody tr,.batch-fail tbody tr:hover{cursor:default;background:#fff}.batch-fail-note{margin-top:6px;font-size:12px;color:#888}.product-page h2{margin:0 0 16px}.product-page .search-box,.product-page .register-box{background:#fff;padding:16px;border:1px solid #ddd;margin-bottom:20px}.product-page .register-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.product-page label{margin-right:4px}.product-page input[type=text],.product-page input[type=number],.product-page input[type=date],.product-page select{padding:6px 10px;margin-right:12px;border:1px solid #ccc;border-radius:4px;font-size:14px;font-family:inherit;height:32px;box-sizing:border-box;background:#fff;color:#333}.product-page input[readonly]{background:#f5f5f5;color:#666;cursor:default}.product-page select{cursor:pointer}.product-page button{padding:0 14px;height:32px;cursor:pointer;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:14px}.product-page button:hover{background:#f0f0f0}.product-page .search-box button[type=submit]{background:#1a4fc2;border-color:#1a4fc2;color:#fff;font-weight:600}.product-page .search-box button[type=submit]:hover{background:#153f9c}.product-page .search-box button.btn-excel{background:#fff;border-color:#1e7e34;color:#1e7e34;font-weight:600}.product-page .search-box button.btn-excel:hover{background:#eafaf1}.product-page .search-box button:disabled{opacity:.6;cursor:default}.product-page table{width:100%;border-collapse:collapse;background:#fff}.product-page th,.product-page td{border:1px solid #ddd;padding:8px 10px;text-align:center}.product-page th{background:#f0f0f0}.product-page td.name{text-align:left}.product-page .empty-row td,.product-page .loading-row td{color:#999;padding:24px}.product-page .low-stock{color:#c0392b;font-weight:700}.product-page .msg{margin-bottom:16px;padding:10px}.product-page .msg.error{background:#fdecea;color:#c0392b}.product-page .msg.success{background:#eafaf1;color:#1e7e34}.product-page tbody tr{cursor:pointer}.product-page tbody tr:hover{background:#f7f8fa}.product-page tbody tr.row-selected{background:#e8f0fe}.product-page tbody tr.row-selected td{color:#1a4fc2}.product-page .empty-row,.product-page .loading-row{cursor:default}.product-page .low-only-check{margin-left:12px;font-size:13px;cursor:pointer}.product-page .low-only-check input{vertical-align:middle;margin-right:4px}.history-page select{padding:0 10px;margin-right:12px;border:1px solid #ccc;border-radius:4px;font-size:14px;height:32px;box-sizing:border-box;background:#fff}.history-page td.type-in{color:#1a4fc2;font-weight:700}.history-page td.type-out{color:#c0392b;font-weight:700}.history-page .canceled-tag{color:#999;font-size:12px}.history-page tbody tr.row-selected td.type-in{color:#1a4fc2}.history-page tbody tr.row-selected td.type-out{color:#c0392b}.code-notice{background:#f3f6fb;border:1px solid #d5deee;border-radius:4px;padding:10px 12px;font-size:13px;color:#34455f;line-height:1.6;margin-bottom:12px}.code-wrap{display:flex;gap:16px;align-items:flex-start}.code-groups{width:230px;flex:none;display:flex;flex-direction:column;gap:4px}.code-groups button{text-align:left;padding:8px 10px;border:1px solid #d0d7e2;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.code-groups button:hover{background:#f3f6fb}.code-groups button.active{background:#213c63;color:#fff;border-color:#213c63}.code-detail{flex:1;min-width:0}.code-group-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.code-group-key{font-family:Consolas,monospace;font-size:12px;color:#6a778c}.code-group-desc{font-size:12px;color:#6a778c}.code-table{table-layout:fixed}.code-table input[type=text]{width:100%;box-sizing:border-box}.code-table td.code-key{font-family:Consolas,monospace;background:#f4f5f7;color:#555}.code-actions{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.code-actions button.primary{background:#4c8bf5;color:#fff;border:1px solid #4c8bf5}.code-actions button:disabled{opacity:.45;cursor:default}.code-dirty{color:#b26b00;font-size:13px}.code-ok{color:#1f7a3d;font-size:13px}.code-error{color:#c0392b;font-size:13px}.code-add{margin-top:12px;padding:10px 12px;background:#f9fafc;border:1px solid #d5deee;border-radius:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.code-add button{background:#fff;border:1px solid #4c8bf5;color:#4c8bf5;cursor:pointer}.code-add button:disabled{opacity:.45;cursor:default}.code-add-note{font-size:12px;color:#6a778c}
