:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1;font-weight:400;font-synthesis:none;font-size:14px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{background-color:#646cff;color:#fff;border:none;padding:.4em 1em;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}button:hover{background-color:#535bf2}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*::-webkit-scrollbar{width:8px;background-color:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#0000004d}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}p{margin:0;padding:0}:root{background-color:#242424}*{box-sizing:border-box}#root{width:100%;height:99vh;margin:0;padding:0;text-align:left;overflow-y:hidden}.app-container{display:flex;flex-direction:column;height:100%;overflow-y:hidden}.content-container{display:flex;flex:1}.main-content{flex:1;padding:0 1rem;background-color:#f5f5f5}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left;border-bottom:1px solid #b7b7b7}th{background-color:#f5f5f5;font-weight:600}.form-group{margin-bottom:1rem}label{display:block;margin-bottom:.5rem;font-weight:500}input,select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}input[type=checkbox]{display:block;margin:auto;width:1.2rem;height:1.2rem;accent-color:#646cff;position:relative;z-index:1}button.secondary{background-color:#6c757d}button.secondary:hover{background-color:#5a6268}.button-group{display:flex;gap:.5rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.stat-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;text-align:center}.stat-card h3{margin-top:0;color:#666}.stat-card .value{font-size:1.5rem;font-weight:700;color:#333}.popover{background:white;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;z-index:1000}.popover-button{width:100%;padding:8px 16px;border:none;background:none;text-align:left;cursor:pointer;white-space:nowrap;color:#59553c}.popover-button:hover{background-color:#f5f5f5}.delete-button{color:#dc3545}.delete-button:hover{background-color:#ffebee}.header{background-color:#1b1803;color:#f2ede3;padding:.8rem;display:flex;justify-content:space-between;align-items:center}.header-test{background-color:#72342a}.header h1{margin:0;font-size:1.5rem}.header-left{display:flex;gap:20px;align-items:center}.header-right span{font-size:12px;cursor:pointer}.logo{font-size:1.5rem;font-weight:700;color:#f2ede3;text-decoration:none}.test-environment-label{background-color:#cd2222;color:#fff;padding:4px 28px;border-radius:4px;font-size:20px;font-weight:700;margin-left:10px}.menu-button{cursor:pointer;font-size:14px;padding:5px;width:30px;height:30px}.alert{position:fixed;top:60px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;min-width:300px;max-width:80%;z-index:1000;box-shadow:0 2px 10px #0000001a;animation:slideDown .3s ease-out}.alert-message{flex-grow:1;margin-right:10px}.alert-close{background:none;border:none;font-size:18px;cursor:pointer;opacity:.7}.alert-close:hover{opacity:1}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.alert-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes slideDown{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}.user-icon{width:36px;height:36px;border-radius:50%}.sidebar{width:160px;background-color:#2a2a2a;color:#f2ede3;padding:1rem 0;transition:all .3s}.sidebar.closed{width:0;padding:0;overflow:hidden;font-size:0}.sidebar ul{list-style:none;padding:0;margin:0}.sidebar li{padding:.5rem 1rem}.sidebar a{color:#fff;text-decoration:none;display:block;padding:.5rem;border-radius:4px}.sidebar a:hover{background-color:#3a3a3a}.sidebar a.active{background-color:#4a4a4a}.main-layout{display:flex;flex-direction:column;height:100vh}.layout-content{display:flex;flex:1;overflow-y:hidden}.content-area{flex:1;padding:20px;overflow-y:auto;background-color:#f9f9f9}.content-area-test{background-color:#ffebeb}.card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;height:calc(100vh - 150px);overflow-y:hidden;display:flex;flex-direction:column}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:16px}.card-title{margin:0;font-size:1.4rem;flex:1}.card-status{flex-shrink:0}.card h3{margin-top:0;margin-bottom:1rem;font-size:1.4rem}.dashboard{padding:20px;max-width:1200px;margin:0 auto}.welcome-message{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:20px}.welcome-message h2{margin:0 0 10px;color:#333}.welcome-message p{margin:0;color:#666}.dashboard-actions{margin-bottom:20px}.dashboard-actions button{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px}.dashboard-actions button:hover{background:#0056b3}.dashboard-actions button:disabled{background:#ccc;cursor:not-allowed}.update-list-section{width:100%}.update-list-content{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:15px;font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;max-height:400px;overflow-y:auto;margin:0}.auto-resize-textarea{position:fixed;font-size:14px;padding:0 4px;border:1px solid #ccc;font-family:inherit;white-space:pre-wrap;word-wrap:break-word;border:2px solid #646cff;z-index:100}.auto-resize-textarea:focus{outline:none;border-color:none}.measure-text{position:absolute;visibility:hidden;border:1px solid red;font-size:14px;line-height:1.35;white-space:pre-wrap;word-wrap:break-word;overflow:hidden;padding:0 4px;top:0;left:0;font-family:inherit;min-width:0;max-width:none}.auto-resize-textarea::-webkit-scrollbar{width:2px;height:2px}.auto-resize-textarea::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.auto-resize-textarea::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.auto-resize-textarea::-webkit-scrollbar-thumb:hover{background:#aaa}.calendar-container{position:fixed;bottom:1100px;right:0;width:238px;height:90%;background-color:#fff;box-shadow:-2px 0 5px #67676780;transition:bottom .3s ease;z-index:1000}.calendar-container.open{bottom:30px}.calendar-header-table-container{display:none;padding:10px 10px 0;position:sticky;top:0;background-color:#fff;z-index:1000;overflow-y:scroll}.calendar-header{display:flex;justify-content:space-between;padding:10px;background-color:#f0f0f0;border-bottom:1px solid #ccc}.calendar-header h3{margin:0}.calendar-area{height:calc(100% - 60px)}.calendar-header-table th{box-sizing:border-box;border:1px solid #ccc;padding:0;width:30px;text-align:center;height:24px;font-size:12px}.calendar-body{padding:0 10px;overflow-y:scroll;height:calc(100% - 10px)}.calendar-month-container{margin-bottom:10px}.calendar-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.vague-date-buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between;gap:5px;margin-bottom:10px}.vague-button{padding:4px 8px;font-size:11px;border:1px solid #ccc;background-color:#f9f9f9;color:#000;cursor:pointer;border-radius:3px;width:100%;transition:background-color .2s ease;pointer-events:auto;z-index:1001;text-align:center}.vague-button:hover{background-color:#e6e6e6;border-color:#999}.vague-button:active{background-color:#d4d4d4}.calendar-table{width:initial}.calendar-table td:not(.notDay){position:relative;padding:0;height:26px;border:1px solid #ccc}.calendar-month{font-size:14px;margin:6px 0 -1px;padding:4px 0;text-align:center;background-color:#e5e5e5}.calendar-day{font-size:12px;margin:0;padding:0;text-align:center;cursor:pointer;width:30px}.calendar-day:hover{background-color:#ededed}.targetDay{background-color:#d8d9fa}.calendar-day.sunday{color:#e34926}.calendar-day.saturday{color:#3678d0}.calendar-day.holiday{color:#e34926}.product-search-bottom-sheet{position:fixed;bottom:0;left:0;right:0;height:400px;background-color:#fff;box-shadow:0 -2px 10px #0003;border-top-left-radius:16px;border-top-right-radius:16px;padding:8px 16px;overflow-y:scroll;z-index:1000;opacity:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.product-search-bottom-sheet.open{opacity:1;transform:translateY(0)}.product-search-bottom-sheet h3{margin:0;font-size:1.2rem}div.search-candidate-container{height:86%;overflow-y:hidden}div.search-candidate-item{display:flex;flex-direction:row;gap:5px;align-items:center;cursor:pointer;padding:0 10px;border:1px solid #ccc;border-radius:8px}div.search-candidate-item:hover{background-color:#f0f0f0}div.search-candidate-header{display:flex;flex-direction:row;gap:20px;position:sticky;top:0;background-color:#fff}div.search-candidate-header>p:first-child{width:90px;padding:10px}div.search-candidate-header>p:not(:first-child){width:250px;padding:10px}div.search-candidate-item>p:first-child{width:90px;padding:10px}div.search-candidate-item>p:not(:first-child){width:250px;padding:10px}div.register-product-container{padding:0 10px}div.register-product-section{background-color:#e0e0e0;padding:10px;border-radius:10px}div.register-product-txarea-container{display:flex;flex-direction:row;gap:10px;align-items:center}div.register-product-txarea-container h3{width:90px}div.register-product-txarea-container div:not(.button-container){flex-grow:1}div.register-product-txarea-container div.button-container{width:60px;display:flex;flex-direction:column;justify-content:center;gap:10px}div.register-product-txarea-container div label{font-size:12px}div.register-product-txarea-container textarea{width:100%;height:60px;border:1px solid #ccc;border-radius:5px;resize:none}.product-search-bottom-sheet .section-header{display:flex;justify-content:space-between;align-items:center}.product-search-bottom-sheet .loading-indicator{color:#007bff;font-size:14px;animation:pulse 1.5s infinite}.product-search-bottom-sheet .result-count{background-color:#e9ecef;color:#495057;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.product-search-bottom-sheet .search-results-list{max-height:200px;overflow-y:auto}.search-results-section{height:60%}.product-search-bottom-sheet .loading-message{text-align:center;padding:20px;color:#6c757d;font-style:italic}.product-search-bottom-sheet .header-cell,.product-search-bottom-sheet .cell{padding:10px}.product-search-bottom-sheet .header-cell:last-child,.product-search-bottom-sheet .cell:last-child{border-right:none}.product-search-bottom-sheet .id-cell{width:90px;min-width:90px}.product-search-bottom-sheet .name-cell{width:250px;min-width:200px}.product-search-bottom-sheet .number-cell,.product-search-bottom-sheet .manufacturer-cell{width:200px;min-width:150px}.product-search-bottom-sheet .register-product-form{padding:16px;border-radius:8px}.product-search-bottom-sheet .form-row{display:flex;gap:12px;align-items:flex-end}.product-search-bottom-sheet .form-group{flex:1;min-width:0}.product-search-bottom-sheet .form-group label{display:block;margin-bottom:4px;font-weight:500;color:#495057}.product-search-bottom-sheet .required-mark{color:#dc3545;font-weight:700}.product-search-bottom-sheet .form-group textarea{width:100%;min-height:50px;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.product-search-bottom-sheet .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.product-search-bottom-sheet .form-group textarea.error{border-color:#dc3545}.product-search-bottom-sheet .form-group textarea:disabled{background-color:#e9ecef;opacity:.6;cursor:not-allowed}.product-search-bottom-sheet .error-message{color:#dc3545;font-size:12px;margin-top:4px}.product-search-bottom-sheet .button-container{display:flex;align-items:flex-end;min-width:80px}.product-search-bottom-sheet .register-button{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s;min-height:30px;margin-bottom:15px}.product-search-bottom-sheet .register-button:hover:not(:disabled){background-color:#218838;transform:translateY(-1px)}.product-search-bottom-sheet .register-button:active:not(:disabled){transform:translateY(0)}.product-search-bottom-sheet .register-button.disabled,.product-search-bottom-sheet .register-button:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.product-search-bottom-sheet .section-divider{border:none;height:1px;background-color:#dee2e6}.product-search-bottom-sheet .search-candidate-item:focus{outline:2px solid #007bff;outline-offset:-2px}@media (max-width: 768px){.product-search-bottom-sheet .form-row{flex-direction:column}.product-search-bottom-sheet .search-candidate-header,.product-search-bottom-sheet .search-candidate-item{font-size:12px}.product-search-bottom-sheet .id-cell,.product-search-bottom-sheet .name-cell,.product-search-bottom-sheet .number-cell,.product-search-bottom-sheet .manufacturer-cell{width:auto;min-width:0}}.selectbox{position:absolute;background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;min-width:100px;max-width:300px;max-height:300px;overflow-y:auto;z-index:1000;display:none;border:1px solid #e0e0e0;padding:8px 0;font-size:12px;outline:0}.selectbox.open{display:block;animation:fadeIn .2s ease-in-out}.selectbox.close{display:none}.selectbox>div{padding:6px 10px;cursor:pointer;transition:background-color .2s;color:#333}.selectbox>div:hover{background-color:#f5f5f5}.selectbox>div:active{background-color:#e8e8e8}.selectbox::-webkit-scrollbar{width:6px}.selectbox::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.selectbox::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.selectbox::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.selectbox>div:only-child{color:#888;font-style:italic;cursor:default}.selectbox>div:only-child:hover{background-color:transparent}.selectbox-item.highlighted{background-color:#f5f5f5}.selectbox-placeholder{color:#888;font-style:italic;cursor:default}.selectbox-placeholder:hover{background-color:transparent}.draggable-list-container{width:100%}.draggable-list{list-style:none;padding:0;margin:12px}.draggable-item{display:flex;align-items:center;padding:8px 10px;margin-bottom:4px;background-color:#fff;border:1px solid #eee;border-radius:4px;cursor:grab;transition:all .2s ease;position:relative}.draggable-item:hover{background-color:#f9f9f9;box-shadow:0 2px 4px #0000000d}.draggable-item.dragging{opacity:.5;background-color:#ecedff;box-shadow:0 0 8px #0000001a}.draggable-item:active{cursor:grabbing}.drag-handle{margin-right:12px;color:#999;cursor:grab;font-size:18px;line-height:1}.item-content{flex:1}.draggable-item.drop-target-above{position:relative}.draggable-item.drop-target-above:before{content:"";position:absolute;left:0;right:0;top:-5px;height:4px;background-color:#646cff;opacity:.5;border-radius:2px;z-index:1}.draggable-item.drop-target-below{position:relative}.draggable-item.drop-target-below:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:4px;background-color:#646cff;opacity:.5;border-radius:2px;z-index:1}.add-item-button{display:block;width:100%;padding:10px;margin-top:10px;background-color:#f0f0f0;border-radius:4px;color:#666;text-align:center;cursor:pointer;transition:all .2s ease}.add-item-button:hover{background-color:#e8e8e8;color:#333}.add-item-form{margin-top:10px;padding:15px;background-color:#f9f9f9;border:1px solid #eee;border-radius:4px}.add-item-form input{display:block;width:100%;padding:8px;margin-bottom:10px;border:1px solid #ddd;border-radius:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.form-actions button{padding:4px;border:none;border-radius:4px;cursor:pointer;font-size:11px}.form-actions button:first-child{color:#fff;width:50px}.form-actions button:last-child{background-color:transparent;color:#111}.item-key{width:40px;text-align:left}.item-value{width:100%;text-align:left}.generic-manager{position:fixed;z-index:1000;background-color:#fff;border-radius:5px;min-width:224px}.cover{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000}.draggable-list-container{position:relative;z-index:2000}.generic-manager h2{font-size:14px;font-weight:700;color:#fff;padding:10px 4px;margin:0;background-color:#646cff}.combo-wrapper{position:absolute;display:inline-block;width:200px}.combo-input{width:100%;box-sizing:border-box;padding:.4em .6em}.combo-list{position:absolute;z-index:10;top:100%;left:0;right:0;max-height:200px;margin:4px 0 0;padding:0;list-style:none;border:1px solid #ccc;background:#fff;overflow-y:auto}.combo-item{padding:.4em .6em;cursor:pointer}.combo-item.highlighted,.combo-item:hover{background-color:#f0f0f0}.combo-item-no-results{color:#999;font-style:italic;cursor:default}.combo-item-no-results:hover{background-color:transparent}.sort-indicator{margin-left:4px;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.5;font-size:14px;color:#666;transition:opacity .2s ease,color .2s ease;display:inline-block;min-width:12px;text-align:center;pointer-events:auto;z-index:10;position:relative}.sort-indicator:hover{opacity:.8;color:#333}.sort-indicator.active{opacity:1;color:#2196f3;font-weight:700}.sort-indicator:focus{outline:2px solid #2196f3;outline-offset:1px;border-radius:2px}@media (prefers-reduced-motion: reduce){.sort-indicator{transition:none}}.editting-table{position:relative;height:100%}.data-table thead th{font-size:12px;position:relative;vertical-align:middle;padding:4px 6px}.data-table thead th span{display:block;word-break:break-word}.data-table th:first-child{width:100px;text-align:center;font-weight:700;font-size:12px}.data-table{-webkit-user-select:none;user-select:none;border-collapse:collapse}.data-table thead{position:sticky;top:0;z-index:100;background-color:#fff}.table-container{overflow-x:auto;overflow-y:visible;max-width:100%;height:100%}.data-table td.range-selecting{position:relative;z-index:10;background-color:#98befb33}.data-table td.selected-start{position:relative}.data-table th.selected{background-color:#646cff!important;color:#f5f2ed}.data-table td.selected-start:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;border:2px solid #646cff;box-sizing:border-box;pointer-events:none}.data-table td.sticky.selected-start:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:transparent;border:2px solid #646cff;z-index:15;pointer-events:none;box-sizing:border-box}.data-table td.max-width{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table th,.data-table td{padding:6px 8px}.add-row{position:relative;width:100%;height:35px;background-color:transparent}.add-row:hover{background-color:#f0f0f0}.add-row:hover:after{content:"ダブルクリックで行を追加";position:absolute;top:0;left:0;width:99.5%;line-height:35px;text-align:center;font-size:14px;color:#646cff;font-weight:700}.selection-overlay{position:absolute;border:1px solid #646cff;pointer-events:none;box-sizing:border-box;background-color:#646cff1a;z-index:1000}.selection-overlay.selecting{border:initial}.copy-range-overlay{position:absolute;border:2px dashed #646cff;box-sizing:border-box;background-color:transparent;display:none;pointer-events:none}.copy-range-overlay.copying{display:block}.data-table td.readonly{background-color:#f5f5f5}.data-table td.readonly:hover{background-color:#f0f0f0}.data-table tr.delete-tr{background-color:#f5f5f5;color:#999;opacity:.7}.data-table tr.delete-tr th,.data-table tr.delete-tr td{background-color:#f5f5f5;color:#999}.data-table tr.delete-tr:hover th,.data-table tr.delete-tr:hover td{background-color:#e9e9e9}.data-table td.number{text-align:right;font-family:monospace}.data-table th.sticky,.data-table td.sticky{position:sticky;background-color:#fff;z-index:10}.data-table th.sticky{z-index:11;background-color:#f8f9fa}.data-table th.sticky:after,.data-table td.sticky:after{content:"";position:absolute;top:0;right:-2px;width:2px;height:100%;pointer-events:none}.data-table th.sticky.selected{background-color:#646cff!important;color:#f5f2ed}.data-table td.sticky.readonly{background-color:#f5f5f5}.data-table td.sticky.readonly:hover{background-color:#f0f0f0}ul.clickable-list{height:calc(100% - 60px);list-style:none;padding:0;overflow-y:auto;font-size:.9rem}ul.clickable-list li{display:grid;align-items:center;padding:4px 10px;border-bottom:1px solid #ccc;cursor:pointer;border:1px solid #ccc;border-radius:5px;gap:20px}ul.clickable-list li:hover{background-color:#f0f0f0}ul.clickable-list li.header-row{border:0;position:sticky;top:0;background-color:#f1f1f1;font-weight:700;padding:6px;gap:20px}.clickable-list-container{height:100%;overflow:auto}ul.clickable-list li.inline-form-row{cursor:default;padding:0;background-color:transparent;border:none;border-radius:0}ul.clickable-list li.inline-form-row:hover{background-color:transparent}.inline-form-container{margin:8px 0}.action-button{transition:all .2s ease}.action-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.action-button:disabled{opacity:.6}.reserve-button{background-color:#646cff!important;color:#fff!important;border-color:#646cff!important}.reserve-button:hover:not(:disabled){background-color:#4f57f1!important;border-color:#4f57f1!important}.stock-search-input{margin-bottom:0;flex:1;display:flex;justify-content:flex-end}.search-input-wrapper{position:relative;display:flex;align-items:center;max-width:300px;min-width:250px}.search-input{width:100%;padding:10px 40px 10px 12px;border:2px solid #e1e5e9;border-radius:8px;font-size:14px;transition:all .2s ease;background-color:#fff}.search-input:focus{border-color:#4299e1;outline:none;box-shadow:0 0 0 3px #4299e11a}.search-input::placeholder{color:#a0aec0}.clear-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:#a0aec0;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.clear-button:hover{color:#e53e3e;background-color:#fed7d7}.clear-button:focus{outline:none;box-shadow:0 0 0 2px #e53e3e4d}@media (max-width: 768px){.search-input-wrapper{max-width:100%}.search-input{font-size:16px}}.data-table tr[data-oddeven="1"] th,.data-table tr[data-oddeven="1"] td{background-color:#f2ede3}.data-table th:first-child{text-align:left!important;padding-left:10px!important}.data-table tr{position:relative}.data-table tr[data-grouped=true] td{opacity:.7}.data-table tr[data-grouped=true]:not([data-group-master=true]) th{font-family:Meiryo,sans-serif;font-weight:400;font-style:italic;font-size:10px;text-align:right!important;padding-right:10px!important;position:relative}tr[grouping=last] th:after{content:"";position:absolute;top:-5%;left:12px;border-left:4px solid #ce9643;border-bottom:2px solid #ce9643;border-radius:0 0 0 4px;width:8px;height:50%;pointer-events:none;z-index:1}tr[grouping=middle] th:after{content:"";position:absolute;top:0;left:12px;border-left:4px solid #ce9643;width:8px;height:101%;pointer-events:none;z-index:1}tr[grouping=middle] th:before{content:"";position:absolute;top:45%;left:12px;border-top:2px solid #ce9643;width:12px;pointer-events:none;z-index:1}tr[grouping=first]>*,tr[grouping=middle]>*{border-bottom:1px dashed #cccccc!important}.products-container{padding:20px}.customers-container{height:100%}.customers-card{width:100%;overflow-x:scroll}.customers-card table{width:2500px}.button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;outline:none;position:relative;white-space:nowrap}.button:focus{box-shadow:0 0 0 2px #1976d233}.button--small{padding:6px 12px;font-size:12px;line-height:1.3}.button--medium{padding:8px 16px;font-size:14px;line-height:1.4}.button--large{padding:12px 24px;font-size:16px;line-height:1.5}.button--primary{background-color:#1976d2;color:#fff}.button--primary:hover:not(.button--disabled){background-color:#1565c0}.button--primary:active:not(.button--disabled){background-color:#0d47a1}.button--secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.button--secondary:hover:not(.button--disabled){background-color:#e0e0e0;border-color:#bbb}.button--secondary:active:not(.button--disabled){background-color:#d5d5d5}.button--danger{background-color:#d32f2f;color:#fff}.button--danger:hover:not(.button--disabled){background-color:#c62828}.button--danger:active:not(.button--disabled){background-color:#b71c1c}.button--success{background-color:#2e7d32;color:#fff}.button--success:hover:not(.button--disabled){background-color:#1b5e20}.button--success:active:not(.button--disabled){background-color:#1b5e20}.button--warning{background-color:#ed6c02;color:#fff}.button--warning:hover:not(.button--disabled){background-color:#e65100}.button--warning:active:not(.button--disabled){background-color:#bf360c}.button--disabled{background-color:#e0e0e0!important;color:#9e9e9e!important;cursor:not-allowed!important;border-color:#e0e0e0!important}.button--loading{pointer-events:none}.button--loading:after{content:"";position:absolute;width:16px;height:16px;margin:auto;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:button-loading-spin 1s ease infinite}@keyframes button-loading-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.button--with-icon{gap:8px}.button--full-width{width:100%}.button-group{display:inline-flex}.button-group .button{border-radius:0;border-right-width:0}.button-group .button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.button-group .button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;border-right-width:1px}.button-group .button:not(:last-child){border-right:1px solid rgba(255,255,255,.2)}.staff-permission-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:1000;padding:20px}.staff-permission-modal{background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:800px;width:100%;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e1e5e9;background-color:#f8f9fa;border-radius:8px 8px 0 0}.modal-header h3{margin:0;color:#2d3748;font-size:18px;font-weight:600}.close-button{background:none;border:none;font-size:24px;color:#718096;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-button:hover:not(:disabled){background-color:#e2e8f0;color:#4a5568}.close-button:disabled{opacity:.5;cursor:not-allowed}.modal-body{flex:1;overflow-y:auto;padding:24px}.loading{text-align:center;padding:40px;color:#718096;font-size:16px}.permissions-grid{border:1px solid #e1e5e9;border-radius:6px;overflow:hidden}.grid-header{display:grid;grid-template-columns:200px repeat(4,1fr);background-color:#f7fafc;border-bottom:2px solid #e1e5e9;font-weight:600;color:#2d3748}.page-column{padding:16px;border-right:1px solid #e1e5e9;font-size:14px}.permission-column{padding:12px 16px;border-right:1px solid #e1e5e9;text-align:center}.permission-column:last-child{border-right:none}.permission-label{font-size:14px;color:#2d3748;margin-bottom:4px}.permission-description{font-size:11px;color:#718096;font-weight:400;line-height:1.3}.permission-row{display:grid;grid-template-columns:200px repeat(4,1fr);border-bottom:1px solid #e1e5e9;transition:background-color .2s ease}.permission-row:hover{background-color:#f7fafc}.permission-row:last-child{border-bottom:none}.page-name{padding:16px;border-right:1px solid #e1e5e9;font-size:14px;color:#2d3748;font-weight:500}.permission-cell{padding:16px;border-right:1px solid #e1e5e9;display:flex;justify-content:center;align-items:center}.permission-cell:last-child{border-right:none}.permission-cell input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3182ce}.permission-cell input[type=checkbox]:focus{outline:2px solid #bee3f8;outline-offset:2px}.permission-cell label{cursor:pointer;margin-left:8px}.modal-footer{padding:20px 24px;border-top:1px solid #e1e5e9;background-color:#f8f9fa;display:flex;justify-content:flex-end;gap:12px;border-radius:0 0 8px 8px}@media (max-width: 768px){.staff-permission-modal-overlay{padding:10px}.staff-permission-modal{max-height:90vh}.grid-header,.permission-row{grid-template-columns:150px repeat(4,1fr);font-size:12px}.page-column,.page-name,.permission-cell{padding:12px 8px}.permission-column{padding:8px 4px}.permission-description{display:none}.modal-header h3{font-size:16px}.modal-body,.modal-footer{padding:16px}}.staff-list-container{padding:20px;max-width:1200px;margin:0;background-color:#f8f9fa;min-height:100vh}.staff-list-card{background:white;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:calc(100vh - 120px)}.staff-list-container .data-table{background-color:#fff;border-radius:8px}.staff-list-container .data-table th{background-color:#f1f3f4;font-weight:600;border-bottom:1px solid #dee2e6}.staff-list-container .data-table td{border-bottom:1px solid #dee2e6}.staff-list-container .data-table td[data-column=authority]{font-weight:500;color:#495057}.staff-list-container .data-table td[data-column=email]{font-family:monospace;font-size:13px}.staff-list-container .loading-message,.staff-list-container .error-message,.staff-list-container .empty-state{display:flex;align-items:center;justify-content:center;height:200px;font-size:16px;color:#6c757d;flex-direction:column;gap:10px}.staff-list-container .error-message{color:#d32f2f}.staff-list-container .retry-button{margin-left:10px;padding:8px 16px;background:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.staff-list-container .retry-button:hover{background:#1565c0}.staff-list-container .empty-state{color:#666;font-style:italic}.staff-list-container .data-table th[data-required=true]:after{content:" *";color:#dc3545;font-weight:700}.staff-list-container .staff-stats{padding:16px;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;margin-bottom:0}.staff-list-container .stats-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.staff-list-container .stats-row span{font-size:14px;color:#495057;font-weight:500}.staff-list-container .refresh-button{padding:6px 12px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.staff-list-container .refresh-button:hover{background-color:#218838}.staff-list-container .search-area{padding:16px;border-bottom:1px solid #dee2e6;background-color:#fff}.staff-list-container .search-input{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;transition:border-color .2s,box-shadow .2s}.staff-list-container .search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.staff-list-container .search-input::placeholder{color:#6c757d}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:white;border-radius:8px;padding:24px;width:90%;max-width:400px;box-shadow:0 4px 16px #0003}.modal-content h3{margin:0 0 20px;color:#333;font-size:18px;border-bottom:1px solid #eee;padding-bottom:10px}.modal-body{margin-bottom:20px}.modal-body p{margin:0 0 16px;color:#555}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333}.form-group input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.authority-level-0{color:#666}.authority-level-1{color:#2e7d32}.authority-level-2{color:#ed6c02}.authority-level-admin{color:#d32f2f;font-weight:700}.staff-actions-cell{display:flex;gap:8px;align-items:center;justify-content:center;padding:4px}.staff-actions-cell button{padding:4px 8px;font-size:12px;border-radius:4px;border:1px solid;cursor:pointer;transition:all .2s ease;min-width:70px}.staff-actions-cell button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.staff-list-container{padding:10px}.modal-content{width:95%;margin:20px}}form{width:30%;margin:0 auto}.loginContainer{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.loginBox{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;padding:2rem;width:100%;max-width:400px;text-align:center}.title{margin-bottom:1rem;color:#333}.description{margin-bottom:2rem;color:#666}.loginButton{background-color:#4285f4;color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .3s}.loginButton:hover{background-color:#3367d6}.loadingContainer{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#666}.purchase-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.purchase-management-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:calc(100vh - 120px)}.purchase-management .loading-message{display:flex;align-items:center;justify-content:center;height:200px;font-size:16px;color:#6c757d}.purchase-management .data-table{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.purchase-management .data-table th{background-color:#f1f3f4;font-weight:600;border-bottom:1px solid #dee2e6}.purchase-management .data-table td{border-bottom:1px solid #dee2e6}.purchase-management .data-table td[type=number]{text-align:right}.purchase-management .data-table td[type=date]{font-family:monospace}.purchase-management .data-table td[type=checkbox]{text-align:center}.purchase-management .data-table td[type=readonly]{background-color:#f8f9fa;color:#6c757d}.purchase-management .data-table td[src=products]{color:#30ac3a;font-weight:700}
