body{font-family:Arial,sans-serif;background:#f4f6f8;margin:0}nav{background:#1f2937;color:#fff;padding:10px 20px;display:flex;gap:15px}nav a{color:#fff;text-decoration:none;font-weight:700}h1{color:#111827}button{border:none;border-radius:5px;cursor:pointer;font-weight:700}input,textarea{padding:8px;border-radius:5px;border:1px solid #ccc;width:100%}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:9999}.modal{background-color:#fff;border-radius:8px;width:500px;max-width:95%;max-height:80vh;overflow-y:auto;padding:20px;box-shadow:0 5px 15px #0000004d;position:relative;font-family:Arial,sans-serif}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-header h2{font-size:1.3rem;color:#333}.close-btn{background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:#555;transition:color .2s}.close-btn:hover{color:#000}.modal-form{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.modal-form input,.modal-form select{flex:1;padding:8px 10px;border-radius:5px;border:1px solid #ccc;font-size:.95rem}.btn-add{background-color:#28a745;color:#fff;padding:8px 12px;border-radius:6px;border:none;cursor:pointer;font-weight:700;transition:background .2s,transform .2s}.btn-add:hover{background-color:#218838;transform:scale(1.05)}.btn-add:disabled{opacity:.6;cursor:not-allowed}.category-list{list-style:none;padding:0;margin:0}.category-list>li:nth-child(odd)>.category-wrapper{background-color:#f9f9f9}.category-list>li:nth-child(2n)>.category-wrapper{background-color:#efefef}.category-wrapper{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;transition:background .2s}.sub-category-wrapper{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background-color:#fdfdfd;transition:background .2s}.category-wrapper:hover,.sub-category-wrapper:hover{background-color:#e0f0ff}.cat-actions button{background:transparent;border:none;cursor:pointer;margin-left:6px;color:#555;font-size:.9rem;transition:color .2s}.cat-actions button:hover{color:#0073aa}.cat-actions button:first-child:hover{color:#28a745}.cat-actions button:last-child:hover{color:#dc3545}.sub-category{display:block;padding-left:0}.category-list,.category-list ul{list-style:none;padding-left:0;margin-left:0}.sub-category-wrapper:nth-child(odd){background-color:#fcfcfc}.sub-category-wrapper:nth-child(2n){background-color:#f8f8f8}.error-msg{color:#dc3545;margin-bottom:10px;font-weight:700}.modal-header,.modal-form,.modal-hr{position:sticky;background-color:#fff;z-index:10}.modal-header{top:0;padding-bottom:10px;border-bottom:1px solid #ddd}.modal-form{top:60px;margin-bottom:10px;padding-top:10px;border-bottom:10px solid #ffffff}@media (max-width: 480px){.modal{width:95%;padding:15px}.modal-header h2{font-size:1.1rem}.modal-form input,.modal-form select{font-size:.9rem}.btn-add{padding:6px 10px;font-size:.9rem}.cat-actions button{font-size:.85rem}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#80808066;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-spinner{font-size:3rem;color:#007bff;margin-bottom:1rem}.loading-overlay p{font-size:1.2rem;color:#333}.navbar{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;background-color:#fcfcfc;padding:1.2em 2em;color:#fff;font-family:Arial,sans-serif;border-bottom:1px solid rgba(97,97,97,.466);gap:1em}.navbar-logo{display:flex;align-items:center}.navbar-logo img.navbar-logo-img{height:70px;width:auto;object-fit:contain}.navbar-links{display:flex;align-items:center;gap:1em}.navbar-links a{color:#4b4b4b;text-decoration:none;font-weight:500;transition:color .2s}.navbar-links a:hover{color:#000}.navbar-links a.active{color:#00bfff;font-weight:700}.lock-icon{margin-left:15px;font-size:18px;display:flex;align-items:center;color:#fff}.lock-icon:hover{color:#fc0;cursor:pointer}.logout-btn{background-color:#f44336;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:5px;transition:background-color .3s ease}.logout-btn:hover{background-color:#d32f2f}.darkmode-btn{padding:.5em;font-size:1rem}.add-cat-btn{background-color:#0073aa;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px;font-weight:700;transition:background .2s}.add-cat-btn:hover{background-color:#005f8d}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:999}.modal-content{background:#fff;padding:20px;border-radius:10px;max-width:600px;width:90%;position:relative}.modal-close{position:absolute;top:10px;right:10px;border:none;background:transparent;font-size:1.5rem;cursor:pointer}.modal-product{display:flex;gap:20px;flex-wrap:wrap}.modal-product-img{width:200px;height:200px;object-fit:cover;border-radius:10px}.modal-product-info{flex:1}.modal-product-info h2{margin-top:0}@media (max-width: 768px){.modal-overlay{display:none}}.skeleton{background-color:#eee;border-radius:6px;display:inline-block;animation:shimmer 1.5s infinite linear}.skeleton-img{width:60px;height:60px}.skeleton-text{width:100%;height:18px;margin:4px 0}.skeleton-text.short{width:50%}.skeleton-actions{width:80px;height:32px}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200px 100%}.dashboard-container{padding:20px;max-width:1200px;margin:auto;font-family:Arial,sans-serif}.top-actions{display:flex;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.search-wrapper{position:relative;display:inline-block}.search-input{padding:8px 12px;border-radius:5px;border:1px solid #ccc;width:auto;background:var(--card-bg);color:var(--text);transition:width .2s}.clear-search-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:20px;cursor:pointer;color:#000;transition:color .2s}.clear-search-btn:hover{color:#333}.btn-agregar,.btn-add,.add-cat-btn{border:none;border-radius:6px;font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .25s ease}.btn-agregar{background-color:#28a745;color:#fff;padding:10px 18px;box-shadow:0 2px 6px #28a74540}.btn-agregar:hover{background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 10px #21883859}.btn-agregar:active{transform:scale(.97);background-color:#1e7e34}.btn-agregar svg{font-size:16px;margin-right:6px}.btn-add{background-color:#28a745;color:#fff;padding:0 14px;height:36px;box-shadow:0 2px 6px #28a74540}.btn-add:hover{background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 10px #21883859}.btn-add:active{transform:scale(.97);background-color:#1e7e34}.btn-add svg{font-size:16px}.add-cat-btn{background-color:#0073aa;color:#fff;padding:8px 12px}.btn-reset{background-color:#ff9800;color:#fff;padding:8px 12px;border-radius:5px;font-weight:700;transition:background .2s;margin-top:20px}.btn-reset:hover{background-color:#e68900}.btn-cache{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;cursor:pointer;background:transparent;color:#0073aa;border:1px solid #0073aa;border-radius:6px;transition:all .2s}.btn-cache:hover{background:#0073aa;color:#fff;transform:translateY(-1px)}.btn-cache:active{transform:scale(.97)}.dashboard-table{width:100%;border-collapse:collapse;box-shadow:0 2px 8px #0000001a}.dashboard-table th{background:var(--table-header);color:#fff;padding:10px;text-align:left;cursor:pointer}.dashboard-table td{padding:10px;text-align:center;border-bottom:1px solid #ddd;color:var(--text)}.table-row{transition:background .2s}.table-row:hover{background-color:var(--table-hover)}.product-img{width:60px;height:60px;object-fit:cover;border-radius:5px}.product-image-cell{position:relative}.btn-lupa{position:absolute;bottom:5px;right:5px;background:#0009;color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:.9rem}.actions{display:flex;justify-content:center;gap:10px}.btn-edit,.btn-delete{padding:6px 10px;border-radius:5px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-edit{background:var(--btn);color:#fff}.btn-edit:hover{background:var(--btn-hover)}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#b02a37}.filters{display:flex;gap:20px;margin-bottom:40px;align-items:center}.filters label{display:flex;flex-direction:column;font-weight:700;font-size:14px;color:var(--text)}.filters select{margin-top:5px;padding:6px 10px;border-radius:5px;border:1px solid #ccc;background:var(--card-bg);color:var(--text);cursor:pointer;min-width:120px;transition:border .2s,box-shadow .2s}.filters select:hover{border-color:var(--btn);box-shadow:0 0 5px #0073aa4d}.dashboard-count-wrapper{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:.9rem;color:#555}.product-count-text{display:flex;align-items:center;gap:6px}.loading-text{color:#fff;font-style:italic;font-size:.85rem;animation:blink 1.2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.quantity-add-wrapper{display:flex;align-items:center;gap:5px}.quantity-add-wrapper button:disabled{cursor:not-allowed;opacity:.5;background-color:#ccc;color:#666}.btn-mas,.btn-menos{width:32px;height:32px;font-weight:700;border:none;border-radius:6px;background-color:#007bff;color:#fff;cursor:pointer;transition:background .2s}.btn-mas:hover,.btn-menos:hover{background-color:#0056b3}.resultado{width:30px;text-align:center;font-weight:700;padding:5px 0;background-color:#f1f1f1;border-radius:6px}.product-name-wrapper{display:flex;flex-direction:column}.product-name{font-weight:500}.product-dates{font-size:.85em;color:var(--text)!important;opacity:.8;margin-top:.3em}@media (max-width: 768px){.dashboard-table thead{display:none!important}.table-row{display:block;margin-bottom:20px;border:1px solid #ddd;border-radius:10px;padding:10px;background:var(--card-bg);box-shadow:0 2px 8px #0000000d}.table-row td{display:flex!important;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:none;text-align:left;position:relative}td:not([data-label=Imagen]):not([data-label=Nombre]):not([data-label=Precio]):not([data-label=Categorías]){display:none}td.product-image-cell{display:flex;justify-content:center;margin-bottom:10px}.product-img{width:100%;max-width:250px;height:auto;object-fit:cover;border-radius:10px;margin-bottom:10px}td[data-label=Nombre] span{font-size:1.1rem;font-weight:600;color:#000}td[data-label=Precio] span{font-size:1rem;font-weight:500;color:#007bff}td[data-label=Categorías] span{font-size:.85rem;color:#555}.product-dates{color:#fff!important}.product-count-responsive{display:block;font-weight:700;font-size:1.1rem;margin:10px 0;text-align:center;color:var(--text)}td[data-label=Stock]:before{font-weight:700}}@media (max-width: 768px){.filters{flex-direction:column;align-items:flex-start;gap:15px}.filters label,.filters select{width:100%}}@media (max-width: 480px){.dashboard-table thead{display:none!important}.clear-search-btn{top:65%}.search-input{margin-top:1em;width:auto}.table-row td{padding:4px 0}.product-img{max-width:100%;height:auto;border-radius:8px;margin-bottom:8px}td[data-label=Nombre] span{font-size:1rem}td[data-label=Precio] span{font-size:.95rem}td[data-label=Categorías] span{font-size:.75rem}.product-dates{color:#fff!important}.product-count-responsive{font-size:1rem;margin-bottom:8px}}.toast-message{position:fixed;top:20px;right:20px;background:#2ecc71;color:#fff;padding:12px 18px;border-radius:10px;font-weight:500;box-shadow:0 4px 12px #0003;z-index:2000;opacity:0;animation:fadeInOut 3s forwards}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.overlay-loading{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:9999}.spinner{border:8px solid #f3f3f3;border-top:8px solid #3498db;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite}@media (max-width: 480px){.filters{flex-direction:column;align-items:flex-start;gap:12px}.filters label,.filters select{width:100%}}.category-selector{border:1px solid #0073aa;border-radius:6px;max-height:180px;overflow-y:auto;padding:8px;background:#fff;box-shadow:0 2px 6px #0000000d}.category-item{display:flex;align-items:center;padding:6px 8px;margin-bottom:4px;border-radius:4px;cursor:pointer;transition:all .2s}.category-item input[type=checkbox]{margin:0 10px 0 0;width:16px;height:16px}.subcategory{padding-left:20px}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#80808080;display:flex;justify-content:center;align-items:center;z-index:9999}.spinner{border:8px solid #f3f3f3;border-top:8px solid #333;border-radius:50%;width:60px;height:60px;animation:spin .8s linear infinite}.product-form-container{max-width:600px;margin:30px auto;padding:30px 35px;background:#fff;border-radius:12px;box-shadow:0 8px 20px #00000014;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.product-form h1{text-align:center;margin-bottom:25px;color:#0073aa}.product-form input,.product-form textarea{width:100%;padding:14px 16px;margin-bottom:18px;border:1px solid #ccc;border-radius:10px;font-size:15px;resize:none;box-sizing:border-box;font-family:inherit}.product-form textarea{min-height:100px}.file-upload label{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;color:#0073aa;font-weight:600;padding:10px 0;border:1px dashed #0073aa;border-radius:8px;transition:background .2s,color .2s;margin:1em}.file-upload label:hover{background:#f0f8ff}.file-upload input[type=file]{display:none}.image-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:8px;margin-bottom:15px}.progress-bar{width:100%;background:#eee;border-radius:8px;overflow:hidden;margin:12px 0 18px}.progress-fill{height:14px;background:#28a745;transition:width .3s ease}.btn-save{width:100%;background:#0073aa;color:#fff;padding:20px;border:none;border-radius:10px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;font-size:16px;transition:background .2s}.btn-save:hover{background:#005f80}.category-selector{border:1px solid #0073aa;border-radius:8px;max-height:200px;overflow-y:auto;padding:10px;background:#fff;box-shadow:0 2px 6px #0000000d}.category-item{display:flex;align-items:center;padding:8px 10px;margin-bottom:5px;border-radius:6px;cursor:pointer;transition:all .2s}.category-item input[type=checkbox]{margin:0 12px 0 0;width:18px;height:18px}.category-item span{flex:1}.category-item:hover{background-color:#f0f8ff}.category-item.selected{background-color:#e5f3ff}.category-item.selected:hover{background-color:#d0ebff}.category-item .sub-category{padding-left:26px}.progress-bar.update{width:100%;background:#eee;border-radius:8px;overflow:hidden;margin:12px 0 18px}.progress-bar.update .progress-fill{height:20px;background:#0a0;transition:width .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.progress-bar.update .progress-fill .progress-text{color:#fff;font-size:12px;font-weight:600}.saving-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#80808099;display:flex;justify-content:center;align-items:center;z-index:9999}.spinner{border:8px solid #f3f3f3;border-top:8px solid #333;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--bg, #f2f2f2);transition:background .3s ease,color .3s ease}.login-box{background:var(--card-bg, #fff);padding:40px 30px;border-radius:12px;box-shadow:0 4px 15px #00000026;width:100%;max-width:360px;text-align:center;color:var(--text, #333)}.login-logo{height:120px;margin-bottom:15px}.login-box h2{margin-bottom:20px;font-size:1.4rem;font-weight:700}.login-form{display:flex;flex-direction:column;gap:15px}.login-input{width:100%;padding:12px 10px;border-radius:8px;border:1px solid #ccc;outline:none;font-size:1rem;background:var(--card-bg, #fff);color:var(--text, #333);transition:border .3s,box-shadow .3s}.login-user{width:90%;padding:12px 10px;border-radius:8px;border:1px solid #ccc;outline:none;font-size:1rem;background:var(--card-bg, #fff);color:var(--text, #333);transition:border .3s,box-shadow .3s}.login-input:focus{border-color:var(--btn, #007bff);box-shadow:0 0 6px #0073aa4d}.btn-login{padding:12px;border:none;border-radius:8px;background-color:var(--btn, #007bff);color:#fff;font-size:1rem;cursor:pointer;font-weight:700;transition:background .3s ease}.btn-login:hover{background-color:var(--btn-hover, #0056b3)}.password-wrapper{position:relative;width:90%}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#777;transition:color .3s}.toggle-password:hover{color:var(--btn, #007bff)}.loading-message{font-size:1.2em;color:#007bff;display:flex;align-items:center;justify-content:center;gap:10px;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.cotizaciones-container{max-width:1200px;margin:2em auto;padding:1.2em;font-family:Arial,sans-serif;background:#fdfdfd;border-radius:12px;box-shadow:0 6px 18px #00000014}.cotizaciones-container h2{text-align:center;margin-bottom:1.5em;color:#222;font-size:1.8rem;font-weight:700}.table-cotizaciones{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 10px #0000000d}.table-cotizaciones th,.table-cotizaciones td{padding:.75em;text-align:center;border-bottom:1px solid #e0e0e0;font-size:.95rem}.table-cotizaciones th{background-color:#00a8e8;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.table-cotizaciones tr:nth-child(2n){background-color:#f7f9fa}.table-cotizaciones tr:hover{background-color:#d6f0fd;transition:background .2s ease-in-out}.acciones button{margin:0 .2em;padding:.45em .6em;cursor:pointer;border:none;border-radius:6px;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.acciones button svg{margin-right:.3rem}.acciones button.aprobar{background-color:#28a745;color:#fff}.acciones button.aprobar:hover{background-color:#218838}.acciones button.rechazar{background-color:#dc3545;color:#fff}.acciones button.rechazar:hover{background-color:#a71d2a}.acciones button.eliminar{background-color:#6c757d;color:#fff}.acciones button.eliminar:hover{background-color:#5a6268}.acciones button.download{background-color:#007bff;color:#fff}.acciones button.download:hover{background-color:#0056b3}.estado-pendiente{color:#f0ad4e;font-weight:700}.estado-aprobada{color:#28a745;font-weight:700}.estado-rechazada{color:#dc3545;font-weight:700}@media (max-width: 1024px){.table-cotizaciones th,.table-cotizaciones td{padding:.5em;font-size:.85rem}}@media (max-width: 768px){.table-cotizaciones th:nth-child(4),.table-cotizaciones th:nth-child(5),.table-cotizaciones th:nth-child(6),.table-cotizaciones td:nth-child(4),.table-cotizaciones td:nth-child(5),.table-cotizaciones td:nth-child(6){display:none}}.gallery-admin-container{max-width:900px;margin:0 auto;padding:20px;font-family:Arial,sans-serif;background:#dcdcdc2a}.gallery-header{background:#d6d6d611;border-radius:2px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:40px;padding:1em;border-bottom:1px dashed blue}.publish-button{padding:10px 20px;font-size:16px;background-color:#0073aa;color:#fff;border:none;cursor:pointer;border-radius:5px;transition:background .3s;transition:all .25s ease;box-shadow:0 2px 6px #28a74540}.publish-button:hover{background-color:#005c86}.publish-button-wp{padding:10px 20px;font-size:16px;background-color:#28a745;color:#fff;border:none;cursor:pointer;border-radius:5px;transition:background .3s;transition:all .25s ease;box-shadow:0 2px 6px #28a74540}.publish-button-wp:hover{background-color:#27ae60}.upload-label{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;color:#0073aa;font-weight:600;padding:10px 0;border:1px dashed #0073aa;border-radius:8px;transition:background .2s,color .2s;margin:1em}.upload-label:hover{background:#015c8625}.upload-label.disabled{cursor:not-allowed;opacity:.6}.upload-label input{display:none}.upload-progress-container{margin-top:10px;display:flex;align-items:center;gap:10px}.upload-progress-bar{flex:1;height:10px;background-color:#eee;border-radius:5px;overflow:hidden}.upload-progress-fill{height:100%;background-color:#2ecc71;width:0%;transition:width .3s ease}.upload-progress-text{font-weight:700;min-width:40px;text-align:right;color:#2ecc71}.slider-preview-wrapper{background:#d6d6d641;display:flex;overflow-x:auto;scroll-behavior:smooth;gap:5px;flex-wrap:wrap;padding:1em}.slider-preview-item{width:120px;height:120px;border-radius:5px;overflow:hidden;position:relative;box-shadow:0 2px 5px #0003;flex-shrink:0}.slider-preview-item img{width:100%;height:100%;object-fit:cover}.delete-btn{position:absolute;top:5px;right:5px;background-color:red;color:#fff;border:none;border-radius:50%;width:22px;height:22px;cursor:pointer;font-weight:700;font-size:14px;line-height:22px;text-align:center}.media-modal-content button{align-self:flex-end;padding:5px 10px;background-color:#e74c3c;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background .3s}.media-modal-content button:hover{background-color:#c0392b}.media-grid img{width:100%;height:100px;object-fit:cover;border-radius:5px;cursor:pointer;transition:transform .2s,box-shadow .2s}.media-modal{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:999;padding:20px}.media-modal-content{background:#fff;padding:20px;border-radius:8px;max-height:80%;overflow-y:auto;width:100%;max-width:900px;display:flex;flex-direction:column;gap:15px}.media-modal-content h3{margin:0 0 10px;font-size:20px}.media-modal-content button{align-self:flex-end;padding:8px 12px;background-color:#2ecc71;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background .3s;margin-top:10px}.media-modal-content button:hover:not(:disabled){background-color:#27ae60}.media-modal-content button:disabled{background-color:#95a5a6;cursor:not-allowed}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.media-grid img{width:100%;height:100px;object-fit:cover;border-radius:5px;cursor:pointer;transition:transform .2s,box-shadow .2s,border .2s;border:2px solid transparent}.media-grid img:hover{transform:scale(1.05);box-shadow:0 4px 10px #0000004d}.media-grid img.selected{border:3px solid #2ecc71;transform:scale(1.05)}.media-modal-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;position:sticky;top:0;background-color:#fff;padding-bottom:10px;z-index:2;border-bottom:1px solid #ddd}.media-modal-buttons{display:flex;gap:10px}.add-selected-btn{padding:8px 12px;background-color:#2ecc71;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background .3s;flex-shrink:0}.add-selected-btn:hover:not(:disabled){background-color:#27ae60}.add-selected-btn:disabled{background-color:#95a5a6;cursor:not-allowed}.close-modal-btn{padding:0;background-color:#fff;color:#555;border:2px solid #ccc;border-radius:50%;font-size:18px;cursor:pointer;height:28px;width:28px;display:flex;justify-content:center;align-items:center;line-height:1;transition:all .2s}.close-modal-btn:hover{background-color:#f0f0f0;border-color:#999;color:#333}.spinner{width:16px;height:16px;border:2px solid #fff;border-top:2px solid #2ecc71;border-radius:50%;display:inline-block;animation:spin .6s linear infinite;vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.upload-label{width:90%;margin:.5em auto}.slider-preview-wrapper{gap:40px}}.reviews-container{max-width:800px;margin:auto;padding:1em}.reviews-grid{display:grid;gap:1em}.review-card{border:1px solid #ddd;padding:1em;border-radius:6px;background:#fff}.review-header{display:flex;align-items:center;margin-bottom:.5em}.review-avatar{width:50px;height:50px;border-radius:50%;margin-right:1em}.review-author{font-weight:700}.review-rating{color:#f5b50a}.review-text{margin:.5em 0}.review-time{font-size:.8em;color:#666}body{margin:0;font-family:Arial,sans-serif;transition:background .3s,color .3s}.light{--bg: #f9f9f9;--text: #222;--card-bg: #fff;--table-header: #1f2937;--table-hover: #f0f8ff;--btn: #0073aa;--btn-hover: #005f87}.dark{--bg: #121212;--text: #eee;--card-bg: #1e1e1e;--table-header: #333;--table-hover: #1e293b;--btn: #0ea5e9;--btn-hover: #0284c7}body,.light,.dark{background:var(--bg);color:var(--text)}
