:root{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color-scheme:light;color:#1f2937;background-color:#f9fafb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;margin:0;padding:0;overflow:hidden}body{line-height:1.5;font-weight:400}h1,h2,h3,h4,h5,h6{font-weight:600;margin:0}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer}ul,ol{list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.navbar{display:flex;justify-content:space-between;align-items:center;background-color:#fff;padding:0 2rem;height:70px;box-shadow:0 1px 3px #0000001a;position:fixed;top:0;left:0;right:0;z-index:100}.navbar-brand h1{font-size:1.3rem;color:#1f2937;margin:0;font-weight:700}.navbar-menu{display:flex;list-style-type:none;margin:0;padding:0;height:100%}.navbar-menu li{height:100%;display:flex;align-items:center}.navbar-menu li a{color:#4b5563;text-decoration:none;font-weight:500;font-size:1rem;padding:0 1.5rem;height:100%;display:flex;align-items:center;transition:all .2s ease;position:relative}.navbar-menu li a:hover,.navbar-menu li.active a{color:#4338ca}.navbar-menu li.active a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background-color:#4338ca}.navbar-user{display:flex;align-items:center}.logout-button{padding:.5rem 1rem;background-color:#f3f4f6;color:#4b5563;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-button:hover{background-color:#e5e7eb;color:#1f2937}.layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.main-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:2rem}html,body{margin:0;padding:0;height:100%;width:100%}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background:linear-gradient(135deg,#f5f7fa,#e4e8ef);font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:20px;box-sizing:border-box;position:absolute;top:0;left:0;right:0;bottom:0}.login-box{background-color:#fff;border-radius:16px;padding:50px 60px;box-shadow:0 10px 25px #0000000d;width:100%;max-width:500px;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-title{color:#1a2b4e;text-align:center;margin-bottom:8px;font-size:32px;font-weight:700;letter-spacing:-.5px}.login-subtitle{color:#6b7280;text-align:center;margin-bottom:40px;font-size:18px;font-weight:500}.login-form{display:flex;flex-direction:column;gap:28px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-size:16px;font-weight:600;color:#4b5563;padding-left:4px}.form-group input{padding:16px 18px;border:1px solid #e5e7eb;border-radius:10px;font-size:16px;background-color:#f9fafb;transition:all .2s ease}.form-group input:focus{border-color:#4f46e5;background-color:#fff;outline:none;box-shadow:0 0 0 3px #4f46e51a}.login-button{margin-top:20px;padding:16px;background-color:#4f46e5;color:#fff;border:none;border-radius:10px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.login-button:hover{background-color:#4338ca;transform:translateY(-2px);box-shadow:0 6px 16px #4f46e540}.login-button:active{transform:translateY(0)}.login-error{background-color:#fee2e2;color:#b91c1c;padding:10px;border-radius:4px;margin-bottom:15px;text-align:center;font-size:.9rem}.login-button.loading{opacity:.7;cursor:not-allowed}@media (max-width: 580px){.login-box{padding:40px 30px;max-width:450px}}@media (max-width: 480px){.login-box{padding:30px 20px;border-radius:12px}.login-title{font-size:28px}.login-subtitle{font-size:16px;margin-bottom:30px}}.sales-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;padding-bottom:1rem;padding-top:0;margin-top:-10px}.page-title{font-size:1.5rem;color:#1f2937;margin-bottom:1rem;font-weight:600}.sales-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0}.date-selector{display:flex;align-items:center;gap:.5rem}.date-selector label{font-weight:500;color:#4b5563}.date-selector input{padding:.5rem;border:1px solid #e5e7eb;border-radius:.375rem;background-color:#f9fafb}.date-selector input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.date-picker-container{display:flex;align-items:center;margin-bottom:20px}.date-label{font-size:16px;font-weight:500;margin-right:12px;color:#374151}.date-input{min-width:180px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:15px;color:#1f2937;background-color:#fff;cursor:pointer}.date-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 2px #4f46e533}.sales-items-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:400px}.sales-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sales-items-title{font-size:1rem;font-weight:600;color:#1f2937}.total-display{font-size:1rem;color:#1f2937;font-weight:500}.total-display strong{color:#4f46e5;font-weight:700;font-size:1.125rem}.transactions-container{flex:1;overflow:auto;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.5rem;padding:.5rem;max-height:500px}.transactions-summary{display:none}.sales-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:.5rem;padding-top:.5rem;flex-shrink:0}.auto-save-status{font-size:.75rem;color:#10b981;font-weight:500;padding:.25rem .5rem;background-color:#10b9811a;border-radius:.25rem}.loading-message{padding:2rem;text-align:center;color:#6b7280}.error-message{padding:.75rem 1rem;background-color:#fee2e2;border-left:4px solid #ef4444;color:#b91c1c;margin-bottom:1rem;border-radius:.375rem}.add-sale-button{padding:.625rem 1.25rem;background-color:#4f46e5;color:#fff;border:none;border-radius:.375rem;font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem}.add-sale-button svg{width:1.25rem;height:1.25rem}.add-sale-button:hover{background-color:#4338ca}.sales-input-form{background-color:#f9fafb;border-radius:.5rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000001a;flex-shrink:0}.form-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;align-items:flex-end}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:120px}.form-input,.form-select{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:.375rem;background-color:#fff;height:38px;font-size:.9375rem}.form-input:focus,.form-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-input:disabled{background-color:#f3f4f6;cursor:not-allowed}.autocomplete{position:relative}.dropdown-list{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;z-index:1050;margin-top:4px;padding:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;list-style:none}.dropdown-item{padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.dropdown-item:hover{background-color:#f3f4f6}.payment-method{flex:2}.radio-group{display:flex;gap:1rem}.radio-label{display:flex;align-items:center;gap:.25rem;font-size:.875rem;cursor:pointer}.radio-label input{margin:0}.add-button{padding:.5rem 1rem;background-color:#4f46e5;color:#fff;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s ease;height:38px;margin-top:auto;width:100%}.add-button:hover{background-color:#4338ca}.current-items{margin-top:1rem;background-color:#f3f4f6;border-radius:.375rem;padding:1rem;max-height:180px;overflow-y:auto}.items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;position:sticky;top:0;background-color:#f3f4f6;padding-bottom:.5rem;z-index:10}.items-header h4{margin:0;font-size:.875rem;color:#4b5563}.items-total{font-weight:600;color:#4f46e5}.items-list{display:flex;flex-direction:column;gap:.5rem}.item-card{display:flex;justify-content:space-between;background-color:#fff;border-radius:.25rem;padding:.5rem .75rem;border-left:3px solid #4f46e5}.item-info{display:flex;flex-direction:column;flex-grow:1}.item-name{font-weight:500;color:#1f2937}.item-detail{font-size:.75rem;color:#6b7280;margin-top:.25rem}.item-price{font-weight:500;color:#4f46e5;margin-top:.25rem}.remove-item-button{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:0;margin-left:.5rem;align-self:center}.payment-section{margin-top:1rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding-top:.75rem;border-top:1px solid #e5e7eb}.payment-section .form-group:first-child{flex:2}.payment-section .form-input{font-size:1rem;font-weight:500;color:#1f2937;text-align:right}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.complete-transaction-button{padding:.625rem 1rem;background-color:#10b981;color:#fff;border:none;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s ease;height:38px;width:100%}.complete-transaction-button:hover:not(:disabled){background-color:#059669}.complete-transaction-button:disabled{background-color:#d1d5db;cursor:not-allowed}.transactions-list{display:flex;flex-direction:column;gap:.5rem}.transaction-card{border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;background-color:#fff;box-shadow:0 1px 2px #0000000d;margin-bottom:.5rem}.transaction-header{padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;background-color:#f9fafb;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.transaction-header:hover{background-color:#f3f4f6}.transaction-summary{flex:1;display:flex;flex-direction:column;gap:.25rem}.transaction-main-info{display:flex;align-items:center;font-weight:500;color:#374151}.transaction-first-item{font-size:.9375rem}.transaction-more-items{font-size:.8125rem;color:#6b7280;font-weight:400}.transaction-meta{display:flex;align-items:center;gap:1rem;font-size:.8125rem;color:#6b7280;margin-top:.25rem}.transaction-time{color:#6b7280}.transaction-payment{color:#4b5563}.transaction-amount{font-weight:500;color:#4f46e5}.transaction-toggle{font-size:.75rem;color:#9ca3af}.transaction-details{padding:.75rem 1rem;border-top:1px solid #e5e7eb;background-color:#fff}.transaction-items-table{width:100%;border-collapse:collapse;font-size:.875rem}.transaction-items-table th{text-align:left;padding:.5rem .75rem;font-weight:500;color:#4b5563;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.transaction-items-table td{padding:.5rem .75rem;border-bottom:1px solid #f3f4f6}.transaction-items-table tr:last-child td{border-bottom:none}.item-total-label{text-align:right;font-weight:500;color:#4b5563}.item-total-amount{font-weight:600;color:#4f46e5}.transaction-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.delete-button{padding:.375rem .75rem;background-color:#ef4444;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-button:hover:not(:disabled){background-color:#dc2626}.delete-button:disabled{background-color:#d1d5db;cursor:not-allowed}.empty-transactions{padding:3rem 1rem;text-align:center;color:#6b7280}.sales-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.sales-modal-content{background-color:#fff;border-radius:16px;width:800px;height:680px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 25px #0003}.sales-modal-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-bottom:1px solid #e5e7eb;background-color:#fff;height:60px;flex-shrink:0}.sales-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.sales-modal-close{background:none;border:none;font-size:22px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.sales-modal-close:hover{background-color:#f3f4f6}.sales-modal-body{display:flex;flex-direction:column;padding:20px;overflow:hidden;height:540px;justify-content:space-between}.sales-modal-form-row{display:flex;gap:16px;margin-bottom:15px;height:65px;flex-shrink:0}.sales-modal-form-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px}.sales-modal-form-group label{font-size:14px;font-weight:500;color:#4b5563}.sales-modal-form-select,.sales-modal-form-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;height:38px;font-size:14px}.sales-modal-form-select:focus,.sales-modal-form-input:focus{outline:none;border-color:#4f46e5}.sales-modal-add-item{background-color:#4f46e5;color:#fff;font-weight:600;border:none;border-radius:6px;padding:0 16px;cursor:pointer;align-self:flex-end;height:38px;width:100px}.sales-modal-add-item:hover{background-color:#4338ca}.sales-modal-footer{display:flex;justify-content:flex-end;padding:15px 24px;border-top:1px solid #e5e7eb;background-color:#f9fafb;gap:12px;height:70px;align-items:center;flex-shrink:0}.sales-modal-cancel-button{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#4b5563;font-size:14px;font-weight:500;cursor:pointer;width:80px}.sales-modal-cancel-button:hover{background-color:#f3f4f6}.sales-modal-complete-button{padding:8px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;width:100px}.sales-modal-complete-button:hover:not(:disabled){background-color:#059669}.sales-modal-complete-button:disabled{background-color:#d1d5db;cursor:not-allowed}.sales-modal-current-items-container{margin:15px 0;height:250px;flex-shrink:0}.sales-modal-current-items{background-color:#f9fafb;border-radius:8px;padding:16px;border:1px solid #e5e7eb;height:100%;display:flex;flex-direction:column}.sales-modal-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-shrink:0}.sales-modal-items-header h4{margin:0;font-size:16px;font-weight:600;color:#4b5563}.sales-modal-items-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;min-height:0;scroll-behavior:smooth}.sales-modal-item-card{display:flex;justify-content:space-between;align-items:center;background-color:#fff;border-radius:6px;padding:10px 16px;border-left:4px solid #4f46e5;box-shadow:0 1px 2px #0000000d}.sales-modal-item-info{flex:1;display:flex;flex-direction:column}.sales-modal-item-name{font-weight:500;color:#1f2937;font-size:14px;margin-bottom:2px}.sales-modal-item-detail{font-size:13px;color:#6b7280}.sales-modal-remove-item{color:#ef4444;background:none;border:none;font-size:18px;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.sales-modal-remove-item:hover{background-color:#fee2e2}.sales-modal-empty-message{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-style:italic;text-align:center;padding:20px}.sales-modal-payment-section{background-color:#f9fafb;border-radius:8px;padding:16px;border:1px solid #e5e7eb;height:auto;margin-top:15px;margin-bottom:5px}.sales-modal-payment-title{font-size:15px;font-weight:600;color:#4b5563;margin-bottom:12px}.sales-modal-payment-row{display:flex;flex-direction:row;align-items:flex-end;gap:16px}.sales-modal-total-amount{flex:1;margin-bottom:0}.sales-modal-total-amount label{display:block;font-size:14px;font-weight:500;color:#4b5563;margin-bottom:6px}.sales-modal-total-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;height:36px;text-align:right}.sales-modal-payment-methods{flex:1;width:auto}.sales-modal-payment-methods label{display:block;font-size:14px;font-weight:500;color:#4b5563;margin-bottom:6px}.sales-modal-radio-group{display:flex;flex-direction:row;align-items:center;gap:12px;height:36px}.sales-modal-radio-label{display:flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer;font-size:13px}.sales-modal-card-company{flex:1;width:auto}.sales-modal-card-company label{display:block;font-size:14px;font-weight:500;color:#4b5563;margin-bottom:6px}.sales-modal-card-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;height:36px;background-color:#fff}.sales-modal-card-select:disabled{background-color:#f3f4f6;cursor:not-allowed}@media (max-width: 1024px){.form-row{flex-wrap:wrap}.form-group{min-width:150px}.payment-method{flex-basis:100%}.sales-modal-content{width:90%;max-width:800px;height:90%;max-height:680px}}@media (max-width: 768px){.form-group{flex-basis:100%}.sales-actions{flex-direction:column;gap:.5rem;align-items:flex-start}.transaction-meta{flex-direction:column;align-items:flex-start;gap:.25rem}.sales-modal-form-row{flex-direction:column;height:auto;gap:12px;margin-bottom:20px}.sales-modal-form-group,.sales-modal-payment-methods,.sales-modal-card-company{width:100%}.sales-modal-cancel-button,.sales-modal-complete-button{width:100%;padding:10px}}@media (max-width: 480px){.sales-header{flex-direction:column;align-items:flex-start;gap:10px}.date-selector,.add-sale-button{width:100%}.transaction-header{flex-direction:column;align-items:flex-start;gap:8px}.transaction-toggle{align-self:center;margin-top:5px}}.inventory-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.inventory-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;flex-shrink:0}.category-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.category-tab.warning-tab{background-color:#fee2e2;color:#b91c1c;display:flex;align-items:center;gap:.5rem}.category-tab.warning-tab.active{background-color:#b91c1c;color:#fff}.category-tab.active .badge{background-color:#fff;color:#b91c1c}.inventory-table th:nth-child(1){width:15%}.inventory-table th:nth-child(2){width:40%}.inventory-table th:nth-child(3){width:15%}.inventory-table th:nth-child(4){width:15%}.inventory-table th:nth-child(5){width:15%}.stock-status{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;display:inline-block}@media (max-width: 768px){.inventory-controls{align-items:stretch}.search-container{max-width:none}.category-tabs{overflow-x:auto;padding-bottom:.5rem}}.monthly-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.monthly-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;flex-shrink:0}.summary-card{background-color:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;text-align:center}.summary-card h3{font-size:1rem;color:#6b7280;margin-bottom:1rem;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.monthly-tabs{display:flex;margin-bottom:1rem;flex-shrink:0}.tab-button{padding:.75rem 1.5rem;background-color:transparent;border:none;font-size:1rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.tab-button.active{color:#4338ca;border-bottom-color:#4338ca}.monthly-content{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;flex:1;overflow:auto;min-height:0;position:relative}.monthly-chart{display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem;height:100%;overflow-y:auto}.chart-bar-container{display:flex;align-items:center;gap:1rem}.chart-label{width:120px;text-align:right;font-size:.9rem;color:#4b5563;white-space:nowrap}.chart-bar-wrapper{flex:1;background-color:#f3f4f6;height:30px;border-radius:4px}.chart-bar{background:linear-gradient(90deg,#4f46e5,#6366f1);height:100%;border-radius:4px;display:flex;align-items:center;padding:0 1rem;color:#fff;font-weight:500;transition:width .5s ease;min-width:50px}.chart-bar-value{white-space:nowrap}.monthly-table{width:100%;overflow:visible;height:100%;overflow-y:auto}table{width:100%;border-collapse:collapse}thead th{background-color:#f9fafb;font-weight:600;text-align:left;color:#4b5563;padding:.75rem 1rem;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:10}tbody td{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;color:#1f2937}tbody tr:hover{background-color:#f9fafb}tfoot td{padding:.75rem 1rem;font-weight:600;color:#1f2937;border-top:2px solid #e5e7eb;position:sticky;bottom:0;background-color:#fff;z-index:10}tfoot td:last-child{color:#4338ca}@media (max-width: 768px){.monthly-summary{grid-template-columns:1fr}}.memo-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.memo-input-container{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:1.5rem;flex-shrink:0;display:flex;flex-direction:column}.memo-input{width:100%;min-height:100px;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:1rem;background-color:#f9fafb;transition:all .2s ease}.memo-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;background-color:#fff}.memo-add-button{align-self:flex-end;padding:.75rem 1.5rem;background-color:#4f46e5;color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.memo-add-button:hover{background-color:#4338ca;transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.memo-add-button:active{transform:translateY(0)}.memo-add-button.loading{opacity:.7;cursor:not-allowed}.memo-list{flex:1;overflow-y:auto;padding:.5rem .5rem 2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin:-.5rem}.memo-card{display:flex;flex-direction:column;padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;min-height:200px;position:relative;transform:rotate(-1deg);transition:all .2s ease;cursor:pointer}.memo-card:nth-child(2n){transform:rotate(1deg)}.memo-card:hover{transform:scale(1.02) rotate(0);box-shadow:0 10px 15px #0000001a;z-index:1}.memo-content{flex:1;font-size:1rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-bottom:1rem;overflow:hidden;-webkit-line-clamp:6;-webkit-box-orient:vertical;position:relative;display:-webkit-box;line-clamp:6;box-orient:vertical}.memo-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed rgba(0,0,0,.2);padding-top:.75rem;margin-top:auto}.memo-date{font-size:.75rem;color:#0009}.memo-delete-button{background-color:#0000001a;color:#000000b3;padding:.25rem .75rem;border:none;border-radius:.25rem;font-size:.875rem;cursor:pointer;transition:all .2s ease}.memo-delete-button:hover{background-color:#0003}.no-memos{grid-column:1 / -1;text-align:center;padding:3rem 1rem;color:#6b7280;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000000d}.memo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.memo-modal{background-color:inherit;padding:2rem;border-radius:.5rem;box-shadow:0 10px 25px #00000026;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;position:relative}.memo-modal-content{font-size:1.1rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;margin-bottom:1.5rem}.memo-modal-date{font-size:.875rem;color:#0009;margin-bottom:1.5rem}.memo-modal-button{padding:.75rem 1.5rem;background-color:#00000026;color:#000c;border:none;border-radius:.375rem;font-size:1rem;cursor:pointer;transition:all .2s ease}.memo-modal-button:hover{background-color:#00000040}.memo-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#0009}.error-message{background-color:#ffebee;color:#d32f2f;padding:10px 15px;border-radius:4px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.close-error{background:none;border:none;color:#d32f2f;font-size:16px;cursor:pointer}.loading-message{text-align:center;padding:20px;color:#666;font-style:italic}.inventory-management-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.page-title{font-size:1.5rem;color:#1f2937;margin-bottom:1.5rem;font-weight:600}.management-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0}.search-container{width:100%;max-width:500px}.search-input{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;background-color:#f9fafb;transition:all .2s ease}.search-input:focus{border-color:#4f46e5;background-color:#fff;outline:none;box-shadow:0 0 0 3px #4f46e51a}.add-item-button{padding:.75rem 1.25rem;background-color:#10b981;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.add-item-button:hover{background-color:#059669;transform:translateY(-2px);box-shadow:0 2px 4px #10b98133}.add-item-button:active{transform:translateY(0)}.category-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.category-tab{padding:.5rem 1rem;background-color:#f3f4f6;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#4b5563;cursor:pointer;transition:all .2s ease}.category-tab:hover{background-color:#e5e7eb}.category-tab.active{background-color:#4f46e5;color:#fff}.warning-tab{background-color:#fee2e2;color:#b91c1c;display:flex;align-items:center;gap:.5rem}.warning-tab.active{background-color:#b91c1c;color:#fff}.badge{background-color:#0003;color:inherit;border-radius:9999px;padding:.125rem .375rem;font-size:.75rem;font-weight:600}.warning-tab.active .badge{background-color:#fff;color:#b91c1c}.inventory-table-container{flex:1;overflow:auto;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.inventory-table{width:100%;border-collapse:collapse;table-layout:fixed}.inventory-table th:nth-child(1){width:12%}.inventory-table th:nth-child(2){width:33%}.inventory-table th:nth-child(3){width:12%}.inventory-table th:nth-child(4){width:12%}.inventory-table th:nth-child(5){width:11%}.inventory-table th:nth-child(6){width:20%}.inventory-table td{word-wrap:break-word;overflow-wrap:break-word}.inventory-table thead th{background-color:#f9fafb;padding:1rem;font-weight:600;text-align:left;color:#374151;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:10}.inventory-table tbody td{padding:1rem;border-bottom:1px solid #e5e7eb}.inventory-table tbody tr:hover{background-color:#f9fafb}.inventory-table tr.low-stock{background-color:#fee2e2}.inventory-table tr.low-stock:hover{background-color:#fecaca}.stock-status{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;display:inline-block;white-space:nowrap}.stock-status.normal{background-color:#d1fae5;color:#065f46}.stock-status.warning{background-color:#fee2e2;color:#b91c1c}.actions-cell{display:flex;gap:.5rem}.edit-button,.delete-button{padding:.375rem .75rem;color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s;font-size:.75rem;font-weight:500;display:flex;align-items:center;justify-content:center;min-width:50px}.edit-button{background-color:#4f46e5}.edit-button:hover{background-color:#4338ca}.delete-button{background-color:#ef4444}.delete-button:hover{background-color:#dc2626}.no-data{text-align:center;padding:2rem;color:#6b7280}.loading-message{display:flex;justify-content:center;align-items:center;padding:2rem;color:#6b7280;font-style:italic;height:100%}.error-message{background-color:#fee2e2;color:#b91c1c;padding:1rem;border-radius:.5rem;margin-bottom:1rem;text-align:center}.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:100}.modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 10px 25px #0000001a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.close-button{background:none;border:none;font-size:1.25rem;color:#6b7280;cursor:pointer;padding:0;transition:color .2s}.close-button:hover{color:#1f2937}.modal-body{padding:1.5rem;flex:1;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.form-container{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.875rem;font-weight:500;color:#4b5563}.form-group input,.form-group select{padding:.625rem .75rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem}.form-group input:focus,.form-group select:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.form-row{display:flex;gap:1rem}.form-group.half{flex:1}.primary-button{padding:.5rem 1rem;background-color:#4f46e5;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.primary-button:hover{background-color:#4338ca}.secondary-button{padding:.5rem 1rem;background-color:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s}.secondary-button:hover{background-color:#e5e7eb}.delete-confirmation{text-align:center;padding:1rem}.delete-confirmation p{margin:.75rem 0}@media (max-width: 768px){.management-controls{flex-direction:column;align-items:flex-start;gap:.75rem}.search-container{max-width:100%;width:100%}.category-tabs{overflow-x:auto;padding-bottom:.5rem}.form-row{flex-direction:column;gap:1rem}.actions-cell{flex-direction:row;flex-wrap:wrap}}#root{width:100%;height:100%}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
