*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f3ece3;color:#1c3f39}.app{display:flex;height:100vh}.sidebar{width:25vw;min-width:320px;max-width:450px;background:#1c3f39;color:#f3ece3;display:flex;flex-direction:column;height:100%;box-shadow:2px 0 10px #0000001a;z-index:10}.sidebar-header{padding:32px 32px 16px;flex-shrink:0}.sidebar-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0 32px}.sidebar-footer{padding:16px 32px 32px;flex-shrink:0}.sidebar h1{font-size:22px;font-weight:500;margin:0 0 4px;flex-shrink:0}.sidebar .subtitle{font-size:14px;color:#f3ece3b3;margin:0 0 8px;flex-shrink:0}.sidebar .field label{color:#f3ece3e6}.sidebar .field input{border:1px solid rgba(243,236,227,.3);color:#f3ece3}.sidebar .field input:focus{border-color:#f3ece3}.main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#f3ece3;height:100%;overflow:hidden;min-width:0}.palette-container{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:hidden}.category-filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;flex-shrink:0}.category-filters::-webkit-scrollbar{height:6px}.category-filters::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.category-filters::-webkit-scrollbar-thumb{background:#f3ece380;border-radius:4px}.category-filters::-webkit-scrollbar-thumb:hover{background:#f3ece3cc}.filter-btn{background:transparent;color:#f3ece3b3;border:1px solid rgba(243,236,227,.3);border-radius:20px;padding:6px 14px;font-size:12px;white-space:nowrap;cursor:pointer}.filter-btn:hover{background:#f3ece31a;color:#f3ece3}.filter-btn.active{background:#f3ece3;color:#1c3f39;border-color:#f3ece3}.items-list{flex:1;overflow-y:auto;padding-right:12px;min-height:0}.items-list::-webkit-scrollbar{width:8px}.items-list::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.items-list::-webkit-scrollbar-thumb{background:#f3ece399;border-radius:4px}.items-list::-webkit-scrollbar-thumb:hover{background:#f3ece3e6}.catalogo-categoria{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#f3ece399;margin:16px 0 12px;font-weight:600}.palette-subcategoria-block{margin-bottom:24px}.catalogo-subcategoria{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#f3ece373;margin:12px 0 8px;font-weight:600;border-bottom:1px dashed rgba(243,236,227,.15);padding-bottom:4px}.items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.catalogo-item{border:1px solid rgba(243,236,227,.2);border-radius:8px;cursor:pointer;background:#f3ece30d;display:flex;flex-direction:column;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);aspect-ratio:1}.catalogo-item:hover{border-color:#1c3f39;background:#1c3f390d}.catalogo-item:active{transform:scale(.95);opacity:.8;cursor:grabbing}.catalogo-img-placeholder,.item-image-placeholder{flex:1;background:#f3ece31a;display:flex;align-items:center;justify-content:center;color:#f3ece380;font-size:12px;border-bottom:1px solid rgba(243,236,227,.1)}.item-info{display:flex;justify-content:space-between;align-items:center;padding:10px}.catalogo-item .item-nombre{font-weight:500;font-size:13px;color:#f3ece3}.item-add-icon{background:#f3ece3;color:#1c3f39;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;transition:transform .2s;flex-shrink:0}.catalogo-item:hover .item-add-icon{transform:scale(1.1)}button{background:#f3ece3;color:#1c3f39;border:none;padding:12px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}button:hover{opacity:.9}button.secondary{background:transparent;color:#f3ece3;border:1px solid #f3ece3}button.secondary:hover{background:#f3ece31a}.btn-ver-resumen{width:100%;padding:16px;font-size:16px;flex-shrink:0;z-index:5}.canvas-container{position:relative;width:100%;height:100%;overflow:hidden}.trash-bin{position:absolute;bottom:24px;right:24px;width:60px;height:60px;background:#ff4d4fe6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #0003;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s;z-index:100}.trash-bin.visible{opacity:1}.trash-bin.active{transform:scale(1.15);background:#ff1a1d}.floating-undo{position:absolute;bottom:24px;left:24px;background:#f3ece3cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(28,63,57,.2);color:#1c3f39;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #0000001a;z-index:100;transition:all .2s}.floating-undo:hover{background:#f3ece3;transform:translateY(-2px)}.floating-undo:disabled{opacity:.4;cursor:not-allowed;transform:none}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1c3f3966;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .3s ease}.drawer-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:90vw;background:#f3ece3;z-index:101;box-shadow:-4px 0 15px #0000001a;display:flex;flex-direction:column;animation:slideIn .3s cubic-bezier(.4,0,.2,1);color:#1c3f39}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{padding:24px 32px;border-bottom:1px solid rgba(28,63,57,.1);display:flex;justify-content:space-between;align-items:center}.drawer-header h2{margin:0;font-size:20px;font-weight:600}.btn-close{background:transparent;color:#1c3f39;font-size:24px;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none}.btn-close:hover{background:#1c3f390d;border-radius:50%}.drawer-content{flex:1;overflow-y:auto;padding:32px;display:flex;flex-direction:column;gap:32px}.resumen-lista{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.resumen-item{display:flex;align-items:center;gap:12px}.resumen-item-img{width:48px;height:48px;background:#1c3f391a;border-radius:4px;flex-shrink:0}.resumen-item-info{flex:1;display:flex;flex-direction:column}.resumen-item-precio{font-size:12px;color:#1c3f3999;margin-top:2px}.btn-quitar{background:none;color:#1c3f39;text-decoration:underline;padding:0;font-size:12px;opacity:.6}.btn-quitar:hover{opacity:1;background:none}.total-estimado{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid rgba(28,63,57,.1);font-weight:600;font-size:16px}.contacto-form h3{margin:0 0 16px;font-size:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:13px;color:#1c3f39;font-weight:500}.field input{border:1px solid rgba(28,63,57,.3);background:transparent;padding:10px 12px;border-radius:4px;font-size:14px;color:#1c3f39;outline:none}.field input:focus{border-color:#1c3f39}.btn-enviar{background:#1c3f39;color:#f3ece3;width:100%;margin-top:8px}.btn-enviar:hover{opacity:.9}.btn-enviar:disabled{opacity:.4;cursor:not-allowed}.btn-empezar-nuevo{background:transparent;color:#1c3f39;border:1px solid #1c3f39;width:100%;margin-top:16px}.btn-empezar-nuevo:hover{background:#1c3f390d}.success-msg{background:#1c3f391a;padding:16px;border-radius:8px;text-align:center;font-weight:500;color:#1c3f39}.canvas-wrap{border:1px solid rgba(28,63,57,.3);background:transparent}.setup-container{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1c3f39,#112622);color:#f3ece3}.setup-card{background:#f3ece30d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(243,236,227,.1);padding:48px;border-radius:24px;box-shadow:0 25px 50px -12px #00000080;max-width:450px;width:90%;text-align:center;animation:modalPop .5s cubic-bezier(.4,0,.2,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.setup-title{font-size:36px;margin:0 0 8px;font-weight:700;background:linear-gradient(to right,#f3ece3,#b8a68c);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.setup-subtitle{font-size:16px;opacity:.8;margin-bottom:32px;line-height:1.5}.setup-inputs{display:flex;gap:20px;margin-bottom:32px}.setup-field{flex:1;text-align:left}.setup-field label{display:block;font-size:13px;margin-bottom:8px;opacity:.9;font-weight:500}.setup-field input{width:100%;background:#0003;border:1px solid rgba(243,236,227,.2);color:#f3ece3;padding:16px;border-radius:12px;font-size:18px;outline:none;transition:all .3s ease}.setup-field input:focus{border-color:#b8a68c;background:#0000004d;box-shadow:0 0 0 4px #b8a68c1a}.btn-setup{background:#f3ece3;color:#1c3f39;width:100%;padding:18px;border-radius:12px;font-size:18px;font-weight:600;border:none;cursor:pointer;transition:all .3s ease}.btn-setup:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003;background:#fff}.btn-back{background:#f3ece31a;color:#f3ece3;border:1px solid rgba(243,236,227,.2);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0;margin-right:4px}.btn-back:hover{background:#f3ece333;transform:translate(-2px)}.sidebar-header-row{display:flex;align-items:center}.btn-back-minimalist{background:transparent;color:#f3ece399;border:none;font-size:14px;display:flex;align-items:center;gap:8px;padding:0;margin-bottom:24px;cursor:pointer;transition:all .2s ease;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.btn-back-minimalist span{font-size:18px;transition:transform .2s ease}.btn-back-minimalist:hover{color:#f3ece3}.btn-back-minimalist:hover span{transform:translate(-4px)}.floating-reset{position:absolute;top:24px;left:24px;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(28,63,57,.1);color:#1c3f39;padding:10px 20px;border-radius:30px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 4px 15px #00000014;z-index:100;transition:all .3s ease}.floating-reset:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f;background:#fff}.floating-reset:active{transform:translateY(0)}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sidebar-trash-mode{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:250px;background:#00000026;border:3px dashed rgba(243,236,227,.3);border-radius:12px;transition:all .3s ease;margin:8px 0;text-align:center;animation:popIn .35s cubic-bezier(.175,.885,.32,1.275)}.sidebar-trash-mode p{font-weight:500;font-size:16px;margin-top:16px;color:#f3ece3;transition:color .3s ease}.sidebar-trash-mode .trash-icon{font-size:56px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .3s ease;opacity:.7}.sidebar-trash-mode.active{border-color:#d88771;background:#d887711f}.sidebar-trash-mode.active .trash-icon{transform:scale(1.3) rotate(-10deg);opacity:1}.sidebar-trash-mode.active p{color:#d88771}
