*{margin:0;padding:0;box-sizing:border-box}body{font-family:Malgun Gothic,맑은 고딕,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:silver;overflow:hidden}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000}.login-modal{background:#fff;padding:40px;border-radius:4px;box-shadow:0 4px 6px #0000004d;min-width:300px;text-align:center}.login-modal h2{margin-bottom:10px;color:#2c3e50}.login-modal p{margin-bottom:20px;color:#666}.login-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-bottom:20px}.login-input:focus{outline:none;border-color:#3498db}.app-container{display:flex;flex-direction:column;height:100vh;background-color:silver}.menu-bar{display:flex;background-color:#f0f0f0;border-bottom:1px solid #808080;padding:2px 0;height:24px;position:relative;z-index:100}.menu-item{padding:2px 12px;cursor:pointer;font-size:15px;-webkit-user-select:none;user-select:none;position:relative}.menu-item:hover{background-color:#316ac5;color:#fff}.menu-dropdown{position:absolute;top:100%;left:0;background-color:#f0f0f0;border:1px solid #808080;box-shadow:2px 2px 4px #0000004d;min-width:200px;z-index:1000;font-size:15px}.menu-dropdown-item{padding:4px 24px;cursor:pointer;white-space:nowrap;color:#000}.menu-dropdown-item:hover{background-color:#316ac5;color:#fff}.menu-dropdown-divider{height:1px;background-color:gray;margin:2px 0}.toolbar{display:flex;background-color:#f0f0f0;border-bottom:1px solid #808080;padding:4px;gap:4px}.toolbar-btn{padding:4px 12px;border:1px solid #808080;background-color:#f0f0f0;cursor:pointer;font-size:15px}.toolbar-btn:hover{background-color:#e0e0e0}.main-window{flex:1;display:flex;flex-direction:column;margin:4px;background-color:silver;border:2px outset #c0c0c0;box-shadow:inset -1px -1px gray,inset 1px 1px #fff}.window-title{background:linear-gradient(to right,navy,#1084d0);color:#fff;padding:4px 8px;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700}.find-btn{background-color:silver;border:1px outset #c0c0c0;padding:2px 8px;font-size:15px;cursor:pointer}.find-btn:active{border:1px inset #c0c0c0}.window-content{display:flex;flex:1 1 0;overflow:hidden;min-height:0;background-color:#fff;position:relative}.sidebar{position:relative;background-color:#e6f3ff;border-right:1px solid #808080;padding:6px;overflow-y:auto;font-family:Malgun Gothic,맑은 고딕,sans-serif;min-width:200px;max-width:500px}.sidebar-resizer{position:absolute;top:0;right:0;width:4px;height:100%;background-color:transparent;cursor:col-resize;z-index:10}.sidebar-resizer:hover{background-color:#316ac5}.sidebar-title{font-weight:700;margin-bottom:8px;padding:6px;background-color:#d0e8ff;font-size:15px}.tree{font-size:15px;color:#000;line-height:1.5;font-family:Courier New,monospace}.tree-node{padding:2px 0;cursor:pointer;-webkit-user-select:none;user-select:none;color:#000;white-space:nowrap;display:flex;align-items:center}.tree-node.tree-root{font-weight:700;font-size:15px;padding-left:4px}.tree-node:hover{background-color:#cce5ff}.tree-node.selected{background-color:transparent;color:#000;border:1px dotted #ff0000;outline:1px dotted #ff0000}.tree-toggle{display:inline-block;width:14px;text-align:center;cursor:pointer;font-weight:700;color:#000;font-size:15px;margin-right:2px}.tree-icon{display:inline-block;width:16px;height:16px;margin-right:4px;font-size:15px;text-align:center;line-height:16px;flex-shrink:0}.tree-checkbox{display:none}.tree-children{margin-left:0;padding-left:0;text-indent:0}.tree-children .tree-node{padding-left:0;margin-left:0;text-indent:0}.tree-children .tree-line{padding-left:0;margin-left:0;text-indent:0;display:block}.tree-children .tree-children{margin-left:0}.tree-sub-item{padding-left:32px;margin-left:0}.tree-line{color:#000;padding:2px 0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;display:flex;align-items:center;font-size:15px}.tree-line:hover{background-color:#cce5ff}.tree-line.selected{background-color:transparent;color:#000;border:1px dotted #ff0000;outline:1px dotted #ff0000}.main-area{flex:1 1 0;display:flex;flex-direction:column;overflow:hidden;min-height:0;position:relative}.transaction-table-container,.item-table-container{flex:0 1 auto;display:flex;flex-direction:column;border-bottom:1px solid #808080;min-height:0;max-height:100%;overflow-y:auto}.table-title{background-color:#e0e0e0;padding:4px 8px;font-weight:700;font-size:15px;border-bottom:1px solid #808080;flex-shrink:0}.transaction-table,.item-table{width:100%;border-collapse:collapse;font-size:15px;flex:0 0 auto;overflow:visible}.transaction-table th,.item-table th{background-color:#e0e0e0;padding:4px 8px;text-align:left;border:1px solid #808080;font-weight:400;white-space:nowrap}.transaction-table td,.item-table td{padding:2px 6px;border:1px solid #e0e0e0;white-space:nowrap;height:24px;line-height:1.4;vertical-align:middle}.transaction-table tbody tr{cursor:pointer;height:24px}.transaction-table tbody tr:hover{background-color:#f0f0f0}.transaction-table tbody tr.selected{background-color:#316ac5;color:#fff}.transaction-table tfoot{background-color:#e0e0e0;font-weight:700}.amount{text-align:right}.transaction-input-table th,.transaction-input-table td{font-size:15px}.transaction-input-table tbody tr{height:24px}.transaction-input-table tbody td{height:24px;padding:2px 6px;line-height:1.4;vertical-align:middle}.transaction-input-table .amount{text-align:right}.transaction-input-table tbody tr:nth-child(2n){background-color:#fafafa}.transaction-row-sale .amount,.summary-sales{color:red}.transaction-row-purchase .amount,.summary-purchase{color:#00f}.transaction-type-sale{color:red}.transaction-type-purchase{color:#00f}.summary-row td{background-color:#e0f0ff;font-weight:700}.summary-bar{display:flex;justify-content:stretch;align-items:stretch;padding:0;background-color:silver;border-top:1px solid #808080;font-size:15px;width:100%}.summary-section{display:flex;align-items:center;flex:1 1 0}.summary-cell{padding:2px 8px;border-left:1px solid #ffffff;border-right:1px solid #ffffff;min-width:0;flex:1 1 0;text-align:center}.summary-cell.header-sales,.summary-cell.header-purchase{background-color:#ffb6c1;font-weight:700}.summary-cell.header-light{background-color:#e0f0ff;font-weight:700}.summary-cell.value-sales,.summary-cell.value-purchase{background-color:#fff}.summary-label{font-weight:700}.summary-value{text-align:right;display:inline-block;min-width:80px}.receivable{position:relative}.triangle{color:#316ac5;font-size:8px;margin-left:4px}.bottom-buttons{display:flex;gap:4px;padding:8px;background-color:#f0f0f0;border-top:1px solid #808080}.btn{padding:6px 16px;border:1px outset #c0c0c0;background-color:silver;cursor:pointer;font-size:15px}.btn:active{border:1px inset #c0c0c0}.btn-primary{background-color:#316ac5;color:#fff;border-color:#316ac5}.btn-secondary{background-color:silver}.btn-danger{background-color:#dc3545;color:#fff;border-color:#dc3545;padding:4px 8px;font-size:15px}.context-menu{position:fixed;background-color:#f0f0f0;border:1px solid #808080;box-shadow:2px 2px 4px #0000004d;z-index:1000;min-width:150px;font-size:15px}.context-menu-item{padding:6px 24px;cursor:pointer;display:flex;align-items:center;gap:8px}.context-menu-item:hover:not([disabled]){background-color:#316ac5;color:#fff}.context-menu-item[disabled]{opacity:.5;cursor:not-allowed}.context-menu-divider{height:1px;background-color:gray;margin:2px 0}.context-menu-item .icon{font-size:15px}.company-tooltip{position:absolute;z-index:1500;background-color:#fff;border:1px solid #808080;box-shadow:2px 2px 4px #0000004d;padding:8px 10px;font-size:15px;min-width:260px;max-width:360px}.company-tooltip-header{border-bottom:1px dotted #808080;padding-bottom:4px;margin-bottom:4px}.company-tooltip-name{font-weight:700}.company-tooltip-business{color:#039;font-weight:700;margin-top:2px}.company-tooltip-body{display:flex;flex-direction:column;gap:2px}.company-tooltip-row{display:flex;gap:4px}.company-tooltip-row .label{min-width:40px;color:#555}.company-tooltip-row .value{flex:1}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000}.dialog{background-color:silver;border:2px outset #c0c0c0;min-width:600px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:4px 4px 8px #0000004d}.dialog-title{background:linear-gradient(to right,navy,#1084d0);color:#fff;padding:4px 8px;font-weight:700;font-size:15px}.dialog-content{flex:1;overflow-y:auto;background-color:#fff;padding:16px}.dialog-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:15px;margin-bottom:4px;color:#333}.form-group input,.form-group select{padding:4px;border:1px solid #808080;font-size:15px}.item-add-section{border-top:1px solid #e0e0e0;padding-top:16px;margin-top:16px}.item-add-section h4{font-size:15px;margin-bottom:12px}.items-list{margin-top:16px}.items-table{width:100%;border-collapse:collapse;font-size:15px}.items-table th,.items-table td{padding:4px;border:1px solid #e0e0e0;text-align:left}.items-table th{background-color:#e0e0e0}.dialog-buttons{display:flex;justify-content:flex-end;gap:8px;padding:8px;background-color:#f0f0f0;border-top:1px solid #808080}.status-bar{display:flex;justify-content:space-between;background-color:silver;border-top:1px solid #808080;padding:2px 8px;font-size:15px;height:22px}::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:silver;border:1px solid #808080}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.products-management{display:flex;flex-direction:column;height:100%;min-height:0;max-height:100%;background:#fff;overflow:hidden;position:relative}.tabs{display:flex;background:#e0e0e0;border-bottom:1px solid #808080;padding:0}.tab{padding:6px 16px;background:#d0d0d0;border-right:1px solid #808080;cursor:pointer;font-size:15px}.tab.active{background:#fff;border-bottom:1px solid white;margin-bottom:-1px}.product-search-section{padding:12px;background:#f0f0f0;border-bottom:1px solid #808080}.search-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.product-search-input{flex:1;padding:4px 8px;border:1px solid #808080;font-size:15px}.checkbox-label{display:flex;align-items:center;gap:4px;font-size:15px;white-space:nowrap}.search-conditions{font-size:15px;color:#666;margin-bottom:8px}.action-buttons-row{display:flex;gap:4px}.product-action-buttons{display:flex;gap:4px;padding:8px;background:#f0f0f0;border-bottom:1px solid #808080}.product-action-buttons button{padding:4px 12px;font-size:15px}.product-table-container{flex:1 1 0;overflow-y:auto;overflow-x:auto;min-height:0;border-bottom:1px solid #808080;position:relative}.product-table{width:100%;border-collapse:collapse;font-size:15px}.product-table th{background-color:#e0e0e0;padding:4px 8px;text-align:left;border:1px solid #808080;font-weight:400;white-space:nowrap;position:sticky;top:0;z-index:10}.product-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.product-table th.sortable:hover{background-color:#d0d0d0}.sort-indicator{color:#316ac5;font-weight:700;margin-left:4px}.product-table td{padding:4px 8px;border:1px solid #e0e0e0;white-space:nowrap}.product-table tbody tr{cursor:pointer}.product-table tbody tr:hover{background-color:#f0f0f0}.product-table tbody tr.selected{background-color:#316ac5;color:#fff}.pagination{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f0f0f0;border-top:1px solid #808080;font-size:15px}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-btn{padding:2px 8px;border:1px solid #808080;background:#f0f0f0;cursor:pointer;font-size:15px;min-width:24px}.pagination-btn:hover:not(:disabled){background:#e0e0e0}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page-info{margin:0 8px;font-size:15px}.pagination-items-select{padding:2px 4px;border:1px solid #808080;background:#fff;font-size:15px;margin-left:8px}.pagination-info{font-size:15px;color:#666}
