.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-backdrop);display:flex;align-items:center;justify-content:center;z-index:1110;padding:15px}.modal-content{background-color:var(--color-bg-container);padding:20px;border-radius:5px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 5px 15px #0003;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-divider);padding-bottom:10px;margin-bottom:15px}.modal-title{margin:0;font-size:1.25rem;color:var(--color-text-base)}.modal-close-button{background:none;border:none;font-size:1.8rem;line-height:1;cursor:pointer;padding:0 5px;color:var(--color-text-muted)}.modal-close-button:hover{color:var(--color-text-base)}.image-view-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-backdrop);display:flex;justify-content:center;align-items:center;z-index:1120;padding:20px;box-sizing:border-box;cursor:pointer;opacity:0;transition:opacity .2s ease-in-out}.image-view-modal-backdrop.show{opacity:1}.image-view-modal-content{position:relative;max-width:90vw;max-height:90vh;overflow:hidden;background-color:var(--color-bg-container);padding:5px;border-radius:4px;box-shadow:0 5px 15px #0000004d;display:flex;justify-content:center;align-items:center;cursor:default}.image-view-modal-content img{display:block;max-width:100%;max-height:calc(90vh - 40px);height:auto;width:auto;object-fit:contain}.image-view-modal-close{position:absolute;top:10px;right:10px;background-color:var(--color-overlay-button-bg);color:var(--color-text-base);border:1px solid var(--color-border);border-radius:50%;width:36px;height:36px;font-size:32px;line-height:36px;text-align:center;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:1051;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;box-shadow:0 1px 3px #0000004d}.image-view-modal-close:hover,.image-view-modal-close:focus{background-color:var(--color-overlay-button-hover);color:var(--color-text-base);border-color:var(--color-border-input);outline:none}.items-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;padding:0;margin-top:20px}.price-badge{position:absolute;top:8px;right:8px;background-color:var(--color-primary);color:var(--color-primary-text);border-radius:12px;padding:4px 10px;font-size:1em;font-weight:700;line-height:1;pointer-events:none}.item-card{border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-container);box-shadow:0 2px 4px #00000014;display:flex;flex-direction:column;position:relative;overflow:hidden}.item-image-container{width:100%;height:320px;border-bottom:1px solid var(--color-border-divider);display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-bg-subtle)}.item-image-container.placeholder{background-color:var(--color-bg-subtle);background-image:linear-gradient(45deg,rgb(0 0 0 / 4%) 25%,transparent 25%,transparent 50%,rgb(0 0 0 / 4%) 50%,rgb(0 0 0 / 4%) 75%,transparent 75%,transparent);background-size:28px 28px}.item-image-container.clickable{cursor:pointer}.item-image-container img.item-image{width:100%;height:100%;object-fit:cover}.item-image-loading,.item-image-error{font-size:.9em;color:var(--color-text-muted);text-align:center}.item-card-content{padding:8px 12px;flex-grow:1;display:flex;justify-content:space-between;background-color:var(--color-bg-body);align-items:center}.item-card-content h4{flex-grow:1;margin:0 8px 0 0;font-size:1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-base)}.item-card-content .edit-button{flex-shrink:0;padding:4px;font-size:1.2em;line-height:1;background-color:transparent;border:none;color:var(--color-text-muted)}.item-card-content .edit-button:hover:not(:disabled){color:var(--color-primary);background-color:var(--color-bg-subtle)}.filter-group label,.filter-group legend{display:block;margin-bottom:5px;font-weight:700;color:var(--color-text-label)}.add-item-form .form-group{margin-bottom:10px}.add-item-form .form-group label{display:block;font-weight:700}.add-item-form .form-group input[type=file],.edit-item-form .form-group input[type=file]{margin-top:5px}.image-preview{margin-bottom:0;max-width:250px;max-height:250px;border:1px solid var(--color-border-input);border-radius:4px;overflow:hidden;align-self:flex-start;background-color:var(--color-bg-container)}.image-preview img{display:block;width:100%;height:auto}.edit-item-form{padding:10px 0 0}.add-item-form .form-group-image,.edit-item-form .form-group-image{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.add-item-form .form-group-image label,.edit-item-form .form-group-image label{display:block;margin-bottom:0;font-weight:700;color:var(--color-text-label)}.form-group-image-actions{margin-top:8px;display:flex;gap:10px;align-items:stretch;flex-direction:column}.edit-item-form .form-group{margin-bottom:15px}.edit-item-form .form-group label{display:block;font-weight:700}.price-range-inputs{display:flex;align-items:center;gap:8px}.price-range-inputs input{width:4em;padding:4px 6px;border:1px solid var(--color-border-input);border-radius:4px;background:var(--color-bg-container);color:var(--color-text-base);text-align:right}.price-range-inputs .separator{color:var(--color-text-muted);font-size:1.2em}.filter-group .range-slider{--range-left: inherit;--range-width: inherit;margin-top:8px}.filter-group .range-slider .track{background:var(--color-border-input)}.filter-group .range-slider .range{background:var(--color-primary)}.filter-group .range-slider input[type=range]::-webkit-slider-thumb,.filter-group .range-slider input[type=range]::-moz-range-thumb{background:var(--color-primary)}.range-values{display:flex;justify-content:space-between;margin:4px 0 0;font-size:.9em;color:var(--color-text-muted)}.remove-image-button{font-size:.9em}.add-item-form .image-preview{align-self:center}.edit-item-form .image-preview{align-self:center;margin-bottom:8px}.list-controls-container{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;justify-content:center}.filters-container{border:1px solid var(--color-border);border-radius:4px;padding:15px;margin-bottom:20px;background-color:var(--color-bg-body)}.filters-container h4{margin-top:0;margin-bottom:15px;font-size:1.1em;border-bottom:1px solid var(--color-border-divider);padding-bottom:8px;color:var(--color-text-base)}.checkbox-group{border:none;padding:0;margin:0 0 15px}.checkbox-group legend{padding:0;margin-bottom:8px}.filter-group{margin-bottom:15px}.filter-group input[type=text],.filter-group select{width:100%;padding:8px 10px;border:1px solid var(--color-border-input);border-radius:4px;font-size:1em;box-sizing:border-box}.add-item-form .form-group input[type=text],.edit-item-form .form-group input[type=text]{width:calc(100% - 22px)}.reset-filters-button{margin-top:10px}.add-item-fab{position:fixed;bottom:20px;right:20px;z-index:1000;width:56px;height:56px;border-radius:50%;font-size:24px;line-height:56px;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0003}.infinite-loader-spacer{height:1px;margin:1px}.range-slider{position:relative;width:100%;height:32px;--range-left: 0%;--range-width: 100%}.range-slider .track,.range-slider .range{position:absolute;top:50%;transform:translateY(-50%);height:4px;border-radius:2px}.range-slider .track{width:100%;background:#ccc}.range-slider .range{left:var(--range-left);width:var(--range-width);background:#08f}.range-slider input[type=range]{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.range-slider input[type=range]::-webkit-slider-runnable-track{height:4px;background:transparent}.range-slider input[type=range]::-moz-range-track{height:4px;background:transparent}.range-slider input.thumb-min{z-index:2}.range-slider input.thumb-max{z-index:3}.range-slider input[type=range]::-webkit-slider-thumb{pointer-events:all;width:16px;height:16px;border-radius:50%;background:#08f;border:none;cursor:pointer;margin-top:-6px}.range-slider input[type=range]::-moz-range-thumb{pointer-events:all;width:16px;height:16px;border-radius:50%;background:#08f;border:none;cursor:pointer}.range-slider input:focus{outline:none}.add-location-form h3{margin-top:0;color:var(--color-text-base)}.add-location-form .form-group input[type=text],.edit-location-form .form-group input[type=text]{width:calc(100% - 22px)}.locations-list{padding:0;margin-top:20px}.location-card{padding:15px;margin-bottom:15px;position:relative;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-container);box-shadow:0 1px 3px #0000001a}.location-card h4{margin-top:0;margin-bottom:5px;color:var(--color-text-base)}.location-card p{margin-bottom:10px;color:var(--color-text-muted);font-size:.95em}.edit-location-form{padding:10px 0 0}.add-location-fab{position:fixed;bottom:20px;right:20px;z-index:1000;width:56px;height:56px;border-radius:50%;font-size:24px;line-height:56px;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0003}.add-category-form h3{margin-top:0;color:var(--color-text-base)}.add-category-form .form-group input[type=text],.edit-category-form .form-group input[type=text]{width:calc(100% - 22px)}.categories-list{padding:0;margin-top:20px}.category-card{padding:15px;margin-bottom:15px;position:relative;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-container);box-shadow:0 1px 3px #0000001a}.category-card h4{margin-top:0;margin-bottom:5px;color:var(--color-text-base)}.category-card p{margin-bottom:10px;color:var(--color-text-muted);font-size:.95em}.edit-category-form{padding:10px 0 0}.add-category-fab{position:fixed;bottom:20px;right:20px;z-index:1000;width:56px;height:56px;border-radius:50%;font-size:24px;line-height:56px;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0003}.add-owner-form h3{margin-top:0;color:var(--color-text-base)}.add-owner-form .form-group input[type=text],.edit-owner-form .form-group input[type=text]{width:calc(100% - 22px)}.owners-list{padding:0;margin-top:20px}.owner-card{padding:15px;margin-bottom:15px;position:relative;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-container);box-shadow:0 1px 3px #0000001a}.owner-card h4{margin-top:0;margin-bottom:5px;color:var(--color-text-base)}.owner-card p{margin-bottom:10px;color:var(--color-text-muted);font-size:.95em}.edit-owner-form{padding:10px 0 0}.add-owner-fab{position:fixed;bottom:20px;right:20px;z-index:1000;width:56px;height:56px;border-radius:50%;font-size:24px;line-height:56px;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0003}.settings-view h2{margin-bottom:20px}.settings-fieldset{margin-bottom:25px;padding:20px;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-body)}.settings-fieldset legend{font-weight:700;padding:0 10px;margin-left:10px;font-size:1.1em;color:var(--color-text-label)}.settings-fieldset .form-actions{margin-top:15px;display:flex;justify-content:flex-end;gap:10px}.settings-fieldset .feedback-section,.settings-fieldset .save-feedback{margin-top:10px}.data-management-section{margin-top:20px;padding-top:15px;border-top:1px solid var(--color-border-divider);box-sizing:border-box}.data-management-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.data-management-section .selected-file-name{margin-top:8px;font-size:.9em;color:var(--color-text-label);word-break:break-all}.data-management-section h4{margin-bottom:10px;font-size:1.05em;color:var(--color-text-base)}.data-management-section p{font-size:.95em;color:var(--color-text-label);margin-bottom:15px;line-height:1.5;overflow-wrap:break-word}.data-management-section .warning-text{color:var(--color-warning-text);background-color:var(--color-warning-bg);border:1px solid var(--color-warning-bg);padding:10px 15px;border-radius:4px;font-weight:700;overflow-wrap:break-word;box-sizing:border-box}@media (width <= 768px){.settings-fieldset .form-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.settings-fieldset .form-actions button{width:100%}.settings-fieldset{padding:15px 10px}}.app{text-align:center}.status-warning .migrate-link{display:inline-block;margin-left:8px;color:var(--color-primary);background:var(--color-bg-container);border:1px solid var(--color-primary);padding:6px 12px;border-radius:4px;text-decoration:none;font-weight:700}.status-warning .migrate-link:hover,.status-warning .migrate-link:focus{background:var(--color-primary);color:var(--color-primary-text);outline:none}.app-main-content{margin-bottom:30px}.app-header p{font-size:1.2rem}.app-header{background-color:var(--color-bg-container);padding:15px 20px 10px;color:var(--color-text-base);margin-bottom:20px;border-bottom:1px solid var(--color-border);font-size:2.5rem;margin-top:0}.app-nav{margin-top:0;padding-bottom:10px;border-bottom:none}.app-nav a{background-color:transparent;color:var(--color-text-muted);border:1px solid transparent;padding:8px 15px;margin:0 5px;cursor:pointer;border-radius:4px;font-size:.9em;font-weight:700;transition:background-color .2s ease,border-color .2s ease,color .2s ease;text-decoration:none;display:inline-block}.mobile-nav{display:flex;flex-direction:column;align-items:center;width:100%}.mobile-nav a{background-color:transparent;color:var(--color-text-base);border:none;padding:15px 30px;margin:10px 0;cursor:pointer;font-size:1.5rem;border-radius:4px;width:80%;max-width:300px;text-align:center;transition:background-color .2s ease,color .2s ease;text-decoration:none;font-weight:500}.app-nav a:hover{background-color:var(--color-bg-subtle);color:var(--color-text-base);border-color:transparent}.app-nav a.active{background-color:var(--color-primary);color:var(--color-primary-text);cursor:default;border-color:var(--color-primary)}.global-warnings p{margin:5px 0;font-size:.9em}.hamburger-button{display:none;background:none;border:none;color:var(--color-text-base);font-size:2rem;cursor:pointer;position:absolute;top:15px;right:20px;z-index:1090;padding:5px;line-height:1}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fffffffa;z-index:1100;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity .3s ease,visibility .3s ease}.close-menu-button{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--color-text-muted);font-size:2.5rem;cursor:pointer;line-height:1;padding:5px;z-index:1110}.close-menu-button:hover{color:var(--color-text-base)}.mobile-nav a:hover{background-color:var(--color-bg-subtle);color:var(--color-primary)}.mobile-nav a.active{color:var(--color-primary);background-color:transparent;font-weight:700;cursor:default}@media (width <= 768px){.app-header{position:relative;padding:15px 70px 5px 15px}.app-nav{display:none}.hamburger-button{display:block;top:10px;right:15px}.app-header h1{font-size:1.8rem;text-align:left}.app-header p{font-size:1rem;text-align:left;margin-bottom:5px}}:root{--color-primary: #708090;--color-primary-hover: #5F6F7F;--color-primary-text: #FFF;--color-secondary: #8A8A8A;--color-secondary-hover: #707070;--color-secondary-text: #FFF;--color-danger: #C97B62;--color-danger-hover: #B0644F;--color-danger-text: #FFF;--color-danger-light-bg: #F9F2EF;--color-danger-light-text: #B0644F;--color-danger-light-border: #F2E5E0;--color-danger-light-hover-bg: #F5EAE6;--color-danger-light-hover-text: #A05A45;--color-danger-light-hover-border: #EBDED8;--color-text-base: #595959;--color-text-muted: #8A8A8A;--color-text-label: #A0A0A0;--color-text-link: var(--color-primary);--color-text-light: #FFF;--color-bg-body: #F5F1EB;--color-bg-container: #FFF;--color-bg-subtle: #EDE7DE;--color-border: #DAD2C5;--color-border-input: #BEBEBE;--color-border-divider: var(--color-border);--color-success-bg: #E3F2FD;--color-success-text: #155E9A;--color-warning-bg: #FAF3E0;--color-warning-text: #B58B4C;--color-info-bg: #E8EFF5;--color-info-text: #5A728A;--color-error-bg: var(--color-danger-light-bg);--color-error-text: var(--color-danger-light-text);--color-backdrop: rgb(0 0 0 / 50%);--color-overlay-dark-bg: #3D3D3D;--color-overlay-button-bg: rgb(245 241 235 / 85%);--color-overlay-button-hover: rgb(237 231 222 / 100%);--color-overlay-button-icon: var(--color-text-muted)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-body);color:var(--color-text-base);line-height:1.6}#root{display:flex;flex-direction:column;min-height:100vh}.status-loading,.status-error,.status-success,.status-warning{padding:10px 15px;margin-bottom:15px;border-radius:4px;border:1px solid var(--color-border);font-weight:500}.status-loading{background-color:var(--color-info-bg);color:var(--color-info-text);border-color:var(--color-info-bg)}.status-error{background-color:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error-bg)}.status-success{background-color:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-bg)}.status-warning{background-color:var(--color-warning-bg);color:var(--color-warning-text);border-color:var(--color-warning-bg)}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:var(--color-text-label)}button{padding:10px 15px;font-weight:700;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;line-height:1.5;text-align:center;font-size:1em}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.65}.button-primary{background-color:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.button-primary:disabled{background-color:var(--color-primary);color:var(--color-primary-text);border-color:var(--color-primary)}.button-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-text)}.button-secondary{background-color:var(--color-secondary);color:var(--color-secondary-text);border-color:var(--color-secondary)}.button-secondary:disabled{background-color:var(--color-secondary);color:var(--color-secondary-text);border-color:var(--color-secondary)}.button-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover);color:var(--color-secondary-text)}.button-light{background-color:var(--color-bg-subtle);color:var(--color-text-base);border-color:var(--color-border-input)}.form-group label.button-light,.form-group-image label.button-light{border-style:solid;border-width:1px;border-color:var(--color-border-input);background-color:var(--color-bg-subtle);color:var(--color-text-base)}.button-light:disabled{background-color:var(--color-bg-subtle);color:var(--color-text-muted);border-color:var(--color-border)}.button-light:hover:not(:disabled){background-color:var(--color-border);border-color:var(--color-border-input);color:var(--color-text-base)}.button-danger{background-color:var(--color-danger);color:var(--color-danger-text);border-color:var(--color-danger)}.button-danger:disabled{background-color:var(--color-danger);color:var(--color-danger-text);border-color:var(--color-danger)}.button-danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover);color:var(--color-danger-text)}.button-danger-light{background-color:var(--color-danger-light-bg);color:var(--color-danger-light-text);border-color:var(--color-danger-light-border)}.button-danger-light:disabled{background-color:var(--color-danger-light-bg);color:var(--color-danger-light-text);border-color:var(--color-danger-light-border)}.button-danger-light:hover:not(:disabled){background-color:var(--color-danger-light-hover-bg);border-color:var(--color-danger-light-hover-border);color:var(--color-danger-light-hover-text)}.locations-view,.categories-view,.owners-view,.items-view,.settings-view{padding:20px;max-width:1400px;margin-left:auto;margin-right:auto;width:100%}.form-group input[type=text],.form-group input[type=password],.form-group input[type=number],.form-group select{width:100%;padding:8px 10px;border:1px solid var(--color-border-input);border-radius:4px;font-size:1em;box-sizing:border-box;background-color:var(--color-bg-container);color:var(--color-text-base)}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%236c757d%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 10px center;background-size:.65em auto;padding-right:30px}.form-group input:disabled,.form-group select:disabled{background-color:var(--color-bg-subtle);cursor:not-allowed;color:var(--color-text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid var(--color-border-divider)}@media (width <= 480px){.modal-actions{flex-direction:column;align-items:stretch;gap:8px}.modal-actions button{width:100%}}.delete-confirm-content p{margin-bottom:10px;line-height:1.5}.delete-confirm-content p:first-of-type{font-weight:700}.hidden-file-input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.button-file-input{display:inline-block;padding:10px 15px;cursor:pointer;text-align:center;vertical-align:middle;margin-bottom:5px;border-radius:4px;font-weight:700;line-height:1.5;font-size:1em;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.checkbox-item{display:flex;align-items:center;margin-bottom:5px}.checkbox-item input[type=checkbox]{margin-right:8px;cursor:pointer;width:18px;height:18px;flex-shrink:0;accent-color:var(--color-primary);border:1px solid var(--color-border-input)}.checkbox-item label{margin-bottom:0;font-weight:400;cursor:pointer;color:var(--color-text-base);-webkit-user-select:none;user-select:none}.checkbox-item input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}
