@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--hilo-yellow:#f9e129;--hilo-yellow-dark:#e7cd00;--hilo-black:#111;--hilo-dark:#1d1d1d;--hilo-gray:#555;--hilo-gray-light:#b5b5b5;--hilo-bg:#fafaf7;--hilo-border:#e5e5e0}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--hilo-bg);color:var(--hilo-black);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font-family:inherit;font-size:1rem}button{cursor:pointer}a{color:inherit}.login-page{min-height:100vh;justify-content:center;background:var(--hilo-black);padding:1.5rem}.login-card,.login-page{display:flex;align-items:center}.login-card{width:100%;max-width:380px;background:var(--hilo-dark);border-radius:16px;padding:2.5rem 2rem;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.4)}.login-logo{width:160px;height:auto;margin-bottom:.75rem}.login-subtitle{color:var(--hilo-gray-light);font-size:.875rem;margin:0 0 2rem;text-align:center}.login-form{width:100%;gap:1.1rem}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{gap:.4rem;color:#fff;font-size:.85rem;font-weight:500}.login-form input{background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;padding:.65rem .75rem;color:#fff;outline:none;transition:border-color .15s}.login-form input:focus{border-color:var(--hilo-yellow)}.login-form button{margin-top:.5rem;background:var(--hilo-yellow);color:var(--hilo-black);border:none;border-radius:8px;padding:.75rem;font-weight:700;transition:background .15s}.login-form button:hover:not(:disabled){background:var(--hilo-yellow-dark)}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#ff6b6b;font-size:.85rem;margin:0}.login-footnote{color:var(--hilo-gray-light);font-size:.75rem;margin:1.75rem 0 0;text-align:center}.app-header{background:var(--hilo-black);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.app-header img{height:32px;width:auto;display:block}.app-header .logout-button{background:transparent;border:1px solid #3a3a3a;color:var(--hilo-gray-light);border-radius:6px;padding:.4rem .9rem;font-size:.8rem;transition:border-color .15s,color .15s}.app-header .logout-button:hover{border-color:var(--hilo-yellow);color:var(--hilo-yellow)}.app-nav{display:flex;gap:1.5rem}.app-nav a{color:var(--hilo-gray-light);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .15s}.app-nav a:hover{color:var(--hilo-yellow)}.historial-list{display:flex;flex-direction:column;gap:.75rem}.historial-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--hilo-border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s}.historial-item:hover{border-color:var(--hilo-yellow);background:#fffdf0}.historial-item-main{display:flex;flex-direction:column;gap:.2rem}.historial-item-meta{font-size:.85rem;color:var(--hilo-gray)}.historial-item-status{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.8rem;color:var(--hilo-gray);white-space:nowrap}.demo-badge{font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;text-decoration:none}.demo-badge-active{background:#e7f8ec;color:#0a7d3c}.demo-badge-active:hover{background:#d3f2dc}.demo-badge-none{background:var(--hilo-bg);color:var(--hilo-gray)}.app-main{max-width:980px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.app-title{font-size:1.75rem;font-weight:800;margin:0 0 .35rem;letter-spacing:-.02em}.app-subtitle{color:var(--hilo-gray);margin:0 0 2.25rem;font-size:.95rem}.demo-status{margin:-1.25rem 0 2.25rem;font-size:.85rem;font-weight:600}.demo-status-active{color:#0a7d3c}.demo-status-none{color:var(--hilo-gray);font-weight:400}.shooting-form{display:flex;flex-direction:column;gap:1.35rem;background:#fff;border:1px solid var(--hilo-border);border-radius:16px;padding:2rem}.dropzone{border:2px dashed var(--hilo-gray-light);border-radius:12px;padding:2.5rem 1.5rem;text-align:center;background:var(--hilo-bg);cursor:pointer;transition:border-color .15s,background .15s;color:var(--hilo-gray)}.dropzone.active{border-color:var(--hilo-yellow);background:#fffdf0}.dropzone img{max-height:200px;max-width:100%;border-radius:8px}.prototipo-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.prototipo-slot{display:flex;flex-direction:column;gap:.4rem}.field-label-text{font-size:.85rem;font-weight:600;color:var(--hilo-black)}.required-mark{color:#c0392b}.dropzone-small{padding:1.5rem 1rem;font-size:.85rem}.prototipo-slot-preview{position:relative}.prototipo-slot-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;border:1px solid var(--hilo-border)}.prototipo-remove-button{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:none;background:var(--hilo-black);color:#fff;font-size:.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.field-label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--hilo-black)}.field-label input,.field-label select,.field-label textarea{width:100%;font-weight:400;border:1px solid var(--hilo-border);border-radius:8px;padding:.6rem .75rem;outline:none;transition:border-color .15s;background:#fff}.field-label textarea{resize:vertical;font-family:inherit}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:var(--hilo-yellow-dark)}.field-row{display:flex;gap:1rem}.field-row>label{flex:1 1;min-width:0}.form-error{color:#d64545;font-size:.875rem;margin:0}.color-field{display:flex;gap:.5rem;align-items:stretch}.color-field .color-swatch-input{width:48px;flex:0 0 48px;padding:.2rem;cursor:pointer}.color-field input[type=text]{flex:1 1}.logo-field{display:flex;flex-direction:column;gap:.6rem}.logo-upload-row{display:flex;align-items:center;gap:.75rem}.logo-preview{width:36px;height:36px;object-fit:contain;border:1px solid var(--hilo-border);border-radius:6px;background:#fff}.logo-upload-button{display:inline-flex;align-items:center;background:transparent;border:1px dashed var(--hilo-gray-light);color:var(--hilo-gray);border-radius:8px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s}.logo-upload-button:hover{border-color:var(--hilo-yellow-dark);color:var(--hilo-black)}.submit-button{background:var(--hilo-yellow);color:var(--hilo-black);border:none;border-radius:8px;padding:.85rem;font-weight:700;font-size:.95rem;transition:background .15s}.submit-button:hover:not(:disabled){background:var(--hilo-yellow-dark)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.gallery-section{margin-top:3rem}.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem}.gallery-heading h2{font-size:1.15rem;margin:0}.publish-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--hilo-border)}.publish-section h2{font-size:1.15rem;margin:0 0 .5rem}.publish-success{color:#0a7d3c;font-size:.9rem;font-weight:600}.gallery-heading .progress{color:var(--hilo-gray);font-size:.875rem}.download-zip-button{display:inline-flex;align-self:flex-start;margin-bottom:1.5rem;background:var(--hilo-black);color:#fff;border-radius:8px;padding:.6rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s}.download-zip-button:hover{background:var(--hilo-dark)}.scene-assets-group{margin-bottom:2rem}.scene-assets-heading{display:flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;color:var(--hilo-black);margin:0 0 .85rem}.scene-studio-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--hilo-yellow);color:var(--hilo-black);padding:.15rem .5rem;border-radius:999px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1.25rem;gap:1.25rem}.asset-card{border:1px solid var(--hilo-border);border-radius:12px;padding:.65rem;background:#fff;transition:border-color .15s,box-shadow .15s}.asset-card.selected{border-color:var(--hilo-yellow);box-shadow:0 0 0 3px rgba(249,225,41,.35)}.asset-card .asset-meta{font-size:.75rem;color:var(--hilo-gray);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .5rem}.asset-card img,.asset-card video{width:100%;border-radius:8px;display:block}.asset-card .asset-placeholder{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:var(--hilo-bg);border-radius:8px;color:var(--hilo-gray);font-size:.875rem;padding:.75rem;text-align:center}.asset-placeholder-error{background:#fdecec;color:#b42318;max-height:220px;overflow-y:auto}.asset-error-detail{font-size:.75rem;opacity:.85;overflow-wrap:anywhere;word-break:break-word}.asset-card .select-button{margin-top:.6rem;width:100%;padding:.45rem;border-radius:6px;border:1px solid var(--hilo-border);background:#fff;font-size:.85rem;font-weight:600;transition:all .15s}.asset-card.selected .select-button{background:var(--hilo-yellow);border-color:var(--hilo-yellow);color:var(--hilo-black)}.articulos-list,.scenes-list{display:flex;flex-direction:column;gap:1.25rem}.articulo-editor,.scene-editor{display:flex;flex-direction:column;gap:1rem;border:1px solid var(--hilo-border);border-radius:12px;padding:1.25rem;background:var(--hilo-bg)}.articulo-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.articulo-remove-button{background:transparent;border:1px solid var(--hilo-border);color:#b42318;border-radius:6px;padding:.3rem .7rem;font-size:.75rem;font-weight:600;transition:border-color .15s,background .15s}.articulo-remove-button:hover{border-color:#b42318;background:#fdecec}.add-item-button{align-self:flex-start;background:transparent;border:1px dashed var(--hilo-gray-light);color:var(--hilo-gray);border-radius:8px;padding:.6rem 1rem;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s}.add-item-button:hover{border-color:var(--hilo-yellow-dark);color:var(--hilo-black)}.scene-studio-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--hilo-black)}.scene-studio-warning{margin:-.5rem 0 0;font-size:.8rem;color:#8a5a00;background:#fff8e6;border:1px solid #f2e0ad;border-radius:8px;padding:.6rem .75rem}.scene-articulo-picker{display:flex;flex-direction:column;gap:.5rem}.scene-articulo-options{display:flex;flex-wrap:wrap;gap:.75rem}.scene-articulo-option{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;border:1px solid var(--hilo-border);border-radius:8px;padding:.4rem .65rem;background:#fff}.scene-articulo-thumb{width:24px;height:24px;object-fit:cover;border-radius:4px}.scene-articulo-hint{margin:0;font-size:.75rem;color:var(--hilo-gray)}.articulo-detalles-hint{margin:-.4rem 0 0;font-size:.75rem;color:var(--hilo-gray)}.ai-analyze-button{align-self:flex-start;background:var(--hilo-black);border:1px solid var(--hilo-black);color:var(--hilo-yellow);border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:opacity .15s}.ai-analyze-button:hover:not(:disabled){opacity:.85}.ai-analyze-button:disabled{opacity:.5;cursor:not-allowed}.ai-reviewing-banner{display:flex;align-items:center;gap:.65rem;padding:.9rem 1.15rem;border-radius:10px;border:1px solid var(--hilo-yellow-dark);background:linear-gradient(90deg,#fff8e6,#fffdf0,#fff2c2,#fffdf0,#fff8e6);background-size:300% 100%;color:var(--hilo-black);font-weight:700;font-size:.9rem;animation:ai-shimmer 2.2s ease-in-out infinite}.ai-reviewing-icon{font-size:1.15rem;animation:ai-pulse 1.1s ease-in-out infinite}@keyframes ai-shimmer{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes ai-pulse{0%,to{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(1.2) rotate(12deg);opacity:.75}}@media (max-width:640px){.app-header{padding:.85rem 1.25rem;flex-wrap:wrap;gap:.75rem}.app-nav{gap:1rem;flex-wrap:wrap}.app-main{padding:1.75rem 1rem 3rem}.shooting-form{padding:1.25rem}.field-row{flex-direction:column;gap:1.35rem}.historial-item{flex-wrap:wrap}.historial-item-status{align-items:flex-start}.gallery-grid,.prototipo-slots{grid-template-columns:1fr}}