body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{background:#f7f9fb;font-family:Segoe UI,Arial,sans-serif;margin:0;padding:0}body,html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}.navbar{align-items:center;background:#2d3e50;display:flex;gap:1em;padding:.5em 1em}.navbar a{border-radius:4px;color:#fff;font-weight:500;padding:.5em 1em;text-decoration:none;transition:background .2s}.navbar a:hover{background:#1a2533}h2,h3{color:#2d3e50;margin-top:0}form input,form select{border:1px solid #cfd8dc;border-radius:4px;box-sizing:border-box;font-size:1em;margin:.5em 0;padding:.5em;width:100%}button,form button{background:#2d3e50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1em;margin-top:.5em;padding:.7em 1.5em;transition:background .2s}button:hover,form button:hover{background:#1a2533}.msg,.roleMsg{color:#d32f2f;font-weight:500;margin:1em 0 0}table{background:#fff;border-collapse:collapse;margin-top:1em;width:100%}table td,table th{border:1px solid #cfd8dc;padding:.5em;text-align:left}table th{background:#f0f4f8}@media (max-width:1300px){.container{max-width:98vw;padding:1.5em .5em}}.listings-container{background:#fff;border-radius:10px;box-shadow:0 2px 12px #00000014;margin:2em auto;max-width:900px;padding:2em 2em 1.5em}.listings-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1.5em;margin-bottom:1.5em}.listings-select{background:#f7f9fb;border:1px solid #cfd8dc;border-radius:5px;font-size:1em;margin-left:.5em;padding:.4em 1em}.listings-btn{background:#2d3e50;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;margin-left:1em;padding:.6em 1.3em;transition:background .2s}.listings-btn:hover{background:#1a2533}.listings-msg{color:#d32f2f;font-weight:500;margin:1em 0 0}.listings-filters{grid-gap:1.5em;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:grid;gap:1.5em;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:1.5em 0 1em;padding:1.5em}.filter-group{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:.5em;overflow:hidden;padding:1em;position:relative;transition:all .2s ease}.filter-group:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.filter-group:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6);content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.filter-group:hover:before{opacity:1}.filter-group label{align-items:center;color:#374151;display:flex;font-size:.9em;font-weight:600;gap:.5em;margin-bottom:.3em;transition:color .2s ease}.filter-group:hover label{color:#1e40af}.filter-group input,.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.9em;padding:.75em;transition:all .2s ease;width:100%}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none;transform:translateY(-1px)}.filter-group input:hover,.filter-group select:hover{border-color:#9ca3af}.filter-group input::placeholder{color:#9ca3af;transition:color .2s ease}.filter-group input:focus::placeholder{color:#d1d5db}.filter-range{align-items:center;display:flex;gap:.5em;position:relative}.filter-range input[type=number]{flex:1 1;min-width:0}.filter-range:before{color:#9ca3af;content:"—";font-weight:600;margin:0 .5em;transition:color .2s ease}.filter-group:hover .filter-range:before{color:#6b7280}@media (max-width:900px){.listings-filters{gap:1em;grid-template-columns:1fr;padding:1em}.filter-group{padding:.8em}}.listings-table-wrapper{margin-top:1.5em;overflow-x:auto}.listings-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 6px #0000000a;overflow:hidden;width:100%}.listings-table td,.listings-table th{border:1px solid #e3e7ed;padding:.7em .8em;text-align:left}.listings-table th{background:#f0f4f8;font-weight:600}.listings-table tr:nth-child(2n){background:#f7f9fb}.listings-table tr:hover{background:#eaf3fb}.listings-table img{border-radius:6px;box-shadow:0 1px 4px #00000012;max-width:100px}@media (max-width:900px){.listings-container{max-width:98vw;padding:1em .5em}.listings-controls{align-items:flex-start}.listings-controls,.listings-filters{flex-direction:column;gap:.7em}}.alert-modal{align-items:center;background:#2c3e5059;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.alert-modal-content{background:#fff;border-radius:10px;box-shadow:0 4px 24px #0000002e;max-width:90vw;min-width:320px;padding:2em 2.5em 1.5em;position:relative;text-align:left}.alert-modal-content h3{color:#2d3e50;margin-top:0}.alert-modal-content ul{margin:.5em 0 1em 1.2em;padding:0}.alert-modal-content button{margin-top:1em}@media (max-width:600px){.alert-modal-content{min-width:0;padding:1em .5em}}.alerts-list{list-style:none;margin:1em 0 2em;padding:0}.alert-item{background:#f7f9fb;border:1px solid #e3e7ed;border-radius:7px;box-shadow:0 1px 4px #00000008;display:flex;flex-direction:column;gap:.3em;margin-bottom:1em;padding:1em 1.2em}.alert-item button{align-self:flex-start;background:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1em;padding:.4em 1em;transition:background .2s}.alert-item button:hover{background:#b71c1c}.navbar.responsive-navbar{background:#2d3e50;justify-content:space-between;padding:.7em 1.5em;position:sticky;top:0;z-index:100}.navbar-brand,.navbar.responsive-navbar{align-items:center;display:flex}.navbar-logo{border-radius:4px;cursor:pointer;height:40px;transition:transform .2s ease;width:auto}.navbar-logo:hover{transform:scale(1.05)}.navbar-toggle{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:2em}.navbar-links{align-items:center;display:flex;gap:1em}.navbar-links a,.navbar-links button.logout-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5em 1em;text-decoration:none;transition:background .2s}.navbar-links a:hover,.navbar-links button.logout-btn:hover{background:#1a2533}.logout-btn{font-weight:500}@media (max-width:900px){.navbar.responsive-navbar{justify-content:space-between;padding:.7em 1em;position:relative}.navbar-brand,.navbar.responsive-navbar{align-items:center;flex-direction:row}.navbar-logo{height:32px}.navbar-toggle{background:none;border:none;color:#fff;cursor:pointer;display:block;font-size:1.8em;margin:0;padding:.2em}.navbar-links{background:#2d3e50;border-top:1px solid #1a2533;box-shadow:0 4px 8px #0000001a;display:none;flex-direction:column;gap:0;left:0;margin-top:0;position:absolute;right:0;top:100%;width:100%}.navbar-links.open{display:flex}.navbar-links a,.navbar-links button.logout-btn{border-bottom:1px solid #1a2533;border-radius:0;padding:1em 1.5em;text-align:left;width:100%}.navbar-links a:last-child,.navbar-links button.logout-btn:last-child{border-bottom:none}}.footer{align-items:center;background:#2d3e50;border-top:1px solid #e0e7ff22;color:#fff;display:flex;flex-direction:column;font-size:1em;gap:.5em;margin-top:3em;padding:1.2em 0 1em;text-align:center}.footer-links{margin-top:.3em}.footer-links a{color:#b3c0d1;font-size:.98em;margin:0 .5em;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.container{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;margin:2em auto;max-width:1200px;padding:2em 2em 1em}@media (max-width:900px){.container{margin-left:1em;margin-right:1em;max-width:calc(100% - 2em);padding:1.2em 1em}}main{margin:0;min-height:70vh;padding:0;width:100%}@media (max-width:600px){main{margin:0;padding:0;width:100%}.alert-item,.alert-modal-content,.alerts-list,.container,.footer,.listings-container{border-radius:8px!important;margin-left:1em!important;margin-right:1em!important;max-width:calc(100% - 2em)!important;overflow-x:hidden!important;width:calc(100% - 2em)!important}.listings-grid{gap:1rem!important;grid-template-columns:1fr!important;padding-left:.5em!important;padding-right:.5em!important}.listings-grid,.listings-grid>div{box-sizing:border-box!important;margin-left:0!important;margin-right:0!important;width:100%!important}.listings-grid>div{max-width:100%!important;padding:1rem!important}.listings-main-container{box-sizing:border-box!important;margin:1em!important;max-width:calc(100% - 2em)!important;padding:1em!important;width:calc(100% - 2em)!important}.listings-grid>div>div{margin:0!important;padding:1rem!important}.listings-grid>div>div,.listings-grid>div>div>div{box-sizing:border-box!important;max-width:100%!important;width:100%!important}.listings-grid>div>div>div{word-wrap:break-word!important;overflow-wrap:break-word!important}.listings-grid>div>div>div[style*=grid]{gap:.5rem!important;grid-template-columns:1fr!important}body,html{overflow-x:hidden!important}.msg,.roleMsg,h1,h2,h3,h4,h5,h6,label,p{margin-left:.5em!important;margin-right:.5em!important}.listings-controls,.listings-filters{align-items:stretch!important;flex-direction:column!important;gap:.7em!important}.listings-table td,.listings-table th{padding-left:.5em!important;padding-right:.5em!important}button,form button,form input,form select{font-size:1em!important;padding-left:1em!important;padding-right:1em!important}.listings-table-wrapper{margin-left:.5em!important;margin-right:.5em!important}.footer{font-size:.95em;padding:1em .5em .8em!important}.alert-item,.alerts-list{margin-left:.5em!important;margin-right:.5em!important}.alert-item{padding:1em .7em!important}.navbar.responsive-navbar{padding-left:.5em!important;padding-right:.5em!important}.navbar-links a,.navbar-links button.logout-btn{padding-left:1em!important;padding-right:1em!important}.footer-links a{margin-left:.2em!important;margin-right:.2em!important}.alerts-list,.footer,.listings-controls,.listings-filters,.listings-table,.listings-table-wrapper{min-width:0!important;width:100%!important}}.create-listing-container{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;margin:0 auto;max-width:800px;padding:2em}.create-listing-header{border-bottom:2px solid #e0e7ff;margin-bottom:2em;padding-bottom:1em;text-align:center}.create-listing-header h1{align-items:center;color:#1e40af;display:flex;gap:.5em;justify-content:center;margin-bottom:.5em}.create-listing-header p{color:#6b7280;font-size:1.1em}.create-listing-form{display:flex;flex-direction:column;gap:2em}.form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5em}.form-section h3{color:#1e40af;font-size:1.2em;margin-bottom:1em}.form-fields,.form-row{grid-gap:1em;display:grid;gap:1em;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column;gap:.5em}.form-field.full-width{grid-column:1/-1}.form-label{color:#374151;font-size:.9em;font-weight:600}.form-label .required{color:#dc2626;margin-left:.2em}.form-input,.form-select{background:#fff;border:2px solid #d1d5db;border-radius:6px;font-size:1em;padding:.75em;transition:border-color .2s ease}.form-input:focus,.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input.error,.form-select.error{border-color:#dc2626}.form-input.error:focus,.form-select.error:focus{box-shadow:0 0 0 3px #dc26261a}textarea.form-input{min-height:100px;resize:vertical}.error-message{color:#dc2626;font-size:.85em;margin-top:.25em}.error-message.general{align-items:center;background:#fef2f2;border:1px solid #fecaca;display:flex;gap:.5em;padding:.75em}.error-message.general,.message{border-radius:6px;margin-bottom:1em}.message{font-weight:500;padding:1em}.message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:1em;justify-content:flex-end;padding-top:1em}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1em;font-weight:600;gap:.5em;padding:.75em 1.5em;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563;transform:translateY(-1px)}@media (max-width:768px){.create-listing-container{border-radius:0;margin:0;padding:1em}.form-fields,.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{justify-content:center;width:100%}}@media (max-width:480px){.create-listing-header h1{font-size:1.5em}.form-section{padding:1em}.form-input,.form-select{padding:.6em}}.my-listings-container{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000a;margin:0 auto;max-width:1200px;padding:2em}.my-listings-header{align-items:center;border-bottom:2px solid #e0e7ff;display:flex;justify-content:space-between;margin-bottom:2em;padding-bottom:1em}.my-listings-header h1{color:#1e40af;margin:0}.listings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.listing-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5em;transition:all .2s ease}.listing-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.listing-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1em}.listing-header h3{color:#1e40af;flex:1 1;font-size:1.1em;margin:0 1em 0 0}.listing-actions{display:flex;gap:.5em}.btn-small{font-size:.9em;min-width:auto;padding:.4em .6em}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.listing-details{margin-bottom:1em}.detail-item{font-size:.9em;margin-bottom:.5em}.listing-description{font-size:.9em;line-height:1.4;margin-bottom:1em}.listing-meta{border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:.8em;justify-content:space-between;padding-top:1em}.empty-state{color:#6b7280;padding:3em;text-align:center}.empty-state p{font-size:1.1em;margin-bottom:1.5em}.loading{color:#6b7280;font-size:1.1em;padding:3em;text-align:center}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1em;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;padding:2em;width:100%}.modal-content h3{color:#1e40af;margin-bottom:1em;margin-top:0}@media (max-width:768px){.my-listings-container{border-radius:0;margin:0;padding:1em}.my-listings-header{align-items:stretch;flex-direction:column;gap:1em}.my-listings-header h1{text-align:center}.listings-grid{grid-template-columns:1fr}.listing-header{flex-direction:column;gap:1em}.listing-actions{align-self:flex-end}.modal-content{margin:1em;padding:1.5em}}@media (max-width:480px){.listing-card{padding:1em}.listing-meta{flex-direction:column;gap:.5em}.modal-content{padding:1em}}.image-upload-container{width:100%}.upload-area{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:2em;position:relative;text-align:center;transition:all .2s ease}.upload-area:hover{background:#f0f9ff;border-color:#3b82f6}.upload-area.dragging{background:#dbeafe;border-color:#3b82f6;transform:scale(1.02)}.upload-area.uploading{cursor:not-allowed;opacity:.7}.upload-icon{color:#6b7280;font-size:3em;margin-bottom:1em}.upload-area:hover .upload-icon{color:#3b82f6}.upload-text{color:#374151;font-size:1.1em;font-weight:500;margin-bottom:.5em}.upload-hint{color:#6b7280;font-size:.9em;margin:0}.image-preview-container{width:100%}.image-preview{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative}.preview-image{display:block;height:200px;object-fit:cover;width:100%}.image-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;gap:1em;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.image-preview:hover .image-overlay{opacity:1}.upload-error{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:.9em;margin-top:.5em;padding:.5em}@media (max-width:768px){.upload-area{padding:1.5em}.upload-icon{font-size:2.5em}.preview-image{height:150px}.image-overlay{background:#000c;opacity:1}.image-overlay .btn{font-size:.8em;padding:.5em .8em}}@media (max-width:480px){.upload-area{padding:1em}.upload-text{font-size:1em}.upload-hint{font-size:.8em}.preview-image{height:120px}}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:1000px;opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{max-height:1000px;opacity:1;transform:translateY(0)}to{max-height:0;opacity:0;transform:translateY(-10px)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}
/*# sourceMappingURL=main.5ec7c80d.css.map*/