:root{--bg: #15171c;--surface: #1d2027;--border: #2a2e36;--text: #f2efe9;--text-secondary: #9a9da6;--accent: #e8a93c;--nobles: #c9a227;--personal: #4e9bd1;--danger: #e37878;--success: #5fbf7a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}.font-display{font-family:Fraunces,serif}.font-mono{font-family:IBM Plex Mono,monospace}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.container{max-width:56rem;margin:0 auto;padding:2rem 1rem}.container-sm{max-width:42rem;margin:0 auto;padding:2rem 1rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.35rem}.gap-2{gap:.6rem}.gap-3{gap:.9rem}.gap-4{gap:1.2rem}.flex-1{flex:1}.header{position:sticky;top:0;z-index:20;background:#15171ceb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}.header-inner{max-width:64rem;margin:0 auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.wordmark{display:flex;align-items:center;gap:.5rem}.wordmark-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.wordmark-text{font-family:Fraunces,serif;font-weight:600;font-style:italic;font-size:1.15rem}.nav{display:flex;gap:.25rem;flex-wrap:wrap}.nav-btn{display:flex;align-items:center;gap:.4rem;border:none;background:transparent;color:#c7c9d1;padding:.5rem .75rem;border-radius:.4rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.nav-btn.active{background:var(--accent);color:var(--bg)}.space-tabs{display:flex;gap:.5rem}.space-tab{flex:1;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:.6rem;padding:1rem;transition:border-color .15s,background .15s}.space-tab.active{background:color-mix(in srgb,var(--tab-color) 10%,var(--surface));border-color:var(--tab-color)}.space-tab-bar{width:2rem;height:.35rem;border-radius:999px;background:var(--tab-color);margin-bottom:.5rem}.space-tab-title{font-family:Fraunces,serif;font-weight:600;font-size:1.05rem}.space-tab-sub{font-size:.75rem;color:var(--text-secondary)}@media (min-width: 640px){.space-tab{flex:none;min-width:180px}}.card{position:relative;border:1px solid var(--border);background:var(--surface);border-radius:.6rem;overflow:hidden}.card-clickable{width:100%;text-align:left;transition:transform .15s}.card-clickable:hover{transform:translateY(-2px)}.card-stripe{position:absolute;left:0;top:0;height:100%;width:4px}.card-body{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem 1rem 1.25rem}.card-code{font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.03em;color:var(--text-secondary);margin-bottom:.2rem}.card-title{font-family:Fraunces,serif;font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-sub{font-size:.85rem;color:var(--text-secondary);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stamp{display:inline-flex;align-items:center;border-radius:999px;border:1px dashed;padding:.25rem .6rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;transform:rotate(-4deg);font-family:IBM Plex Mono,monospace;white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed var(--border);border-radius:.6rem;padding:3.5rem 1.5rem}.empty-icon{width:3rem;height:3rem;border-radius:999px;background:var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.empty-title{font-family:Fraunces,serif;font-size:1.1rem}.empty-sub{font-size:.875rem;color:var(--text-secondary);max-width:24rem;margin-top:.25rem}.field{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.input,.textarea,.select{width:100%;border-radius:.4rem;border:1px solid var(--border);background:var(--bg);color:var(--text);padding:.55rem .75rem;font-size:.9rem;outline:none;transition:border-color .15s}.textarea{resize:vertical}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent)}.pill-group{display:flex;flex-wrap:wrap;gap:.5rem}.pill{border-radius:999px;border:1px solid var(--border);background:transparent;color:#c7c9d1;padding:.4rem .9rem;font-size:.875rem;font-weight:500;transition:border-color .15s,background .15s,color .15s}.pill.active{border-color:var(--accent);background:#e8a93c21;color:var(--accent)}.btn{display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;border:none;font-weight:600;font-size:.9rem;padding:.8rem 1.2rem;transition:opacity .15s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--bg)}.btn-success{background:var(--success);color:var(--bg)}.btn-outline{background:transparent;border:1px solid var(--border);color:#c7c9d1}.btn-danger-outline{background:transparent;border:1px solid #5a2a2a;color:var(--danger);padding:.4rem .75rem;font-size:.8rem}.btn-danger{background:var(--danger);color:var(--bg)}.btn-link{background:none;border:none;color:var(--accent);font-size:.8rem;font-weight:600;padding:0}.btn-back{background:none;border:none;color:var(--text-secondary);display:flex;align-items:center;gap:.4rem;font-size:.875rem;padding:0;margin-bottom:1rem}.filters{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--border);background:var(--surface);border-radius:.6rem;padding:1rem;margin-bottom:1.5rem}@media (min-width: 640px){.filters{flex-direction:row;align-items:center}}.filters-label{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.panel{display:flex;flex-direction:column;gap:1.25rem;border:1px solid var(--border);background:var(--surface);border-radius:.6rem;padding:1.25rem;margin-bottom:1.25rem}.adjuntos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:.5rem}.adjunto-item{border:1px solid var(--border);border-radius:.5rem;overflow:hidden;background:var(--bg)}.adjunto-thumb{width:100%;height:100px;object-fit:cover;display:block;background:#000}.adjunto-info{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.4rem .5rem}.adjunto-nombre{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adjunto-delete{background:none;border:none;color:var(--danger);flex-shrink:0;padding:.15rem;display:flex}.duracion-total{display:flex;align-items:baseline;gap:.4rem;font-size:.85rem}.duracion-total strong{font-family:IBM Plex Mono,monospace;font-size:1.1rem;color:var(--accent)}.escena-card{border:1px solid var(--border);border-radius:.6rem;background:var(--bg);padding:.9rem}.escena-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.escena-num{font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.escena-actions{display:flex;gap:.25rem}.btn-icon{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:#c7c9d1;border-radius:.35rem;padding:.3rem}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon-danger{color:var(--danger)}.escena-body{display:flex;gap:.9rem;flex-wrap:wrap}.escena-media{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:11rem}.escena-thumb{width:100%;max-height:110px;object-fit:cover;border-radius:.4rem;border:1px solid var(--border);background:#000}@media (min-width: 560px){.escena-media{width:11rem}}.resumen-texto{white-space:pre-wrap;font-family:IBM Plex Mono,monospace;font-size:.78rem;line-height:1.5;max-height:50vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:.4rem;padding:.75rem;margin:0}.progreso-barra{width:100%;height:.5rem;border-radius:999px;background:var(--border);overflow:hidden}.progreso-relleno{height:100%;background:var(--accent);transition:width .3s ease}.video-preview{width:100%;max-height:480px;border-radius:.5rem;border:1px solid var(--border);background:#000;display:block}.config-bloque{display:flex;flex-direction:column;gap:.9rem;border:1px solid var(--border);border-radius:.5rem;padding:1rem}.config-bloque-titulo{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem}input[type=range]{width:100%;accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent);width:1.05rem;height:1.05rem;flex-shrink:0}.historial-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.historial-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;border-left:2px solid var(--border);padding-left:.75rem}.calendario-dia{font-family:Fraunces,serif;font-weight:600;font-size:1.05rem;text-transform:capitalize;margin-bottom:.6rem;color:var(--accent)}.calendario-item{display:flex;align-items:center;gap:1rem;border:1px solid var(--border);background:var(--surface);border-radius:.5rem;padding:.85rem 1rem}.calendario-hora{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--accent);flex-shrink:0;width:3.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem}.modal{width:100%;max-width:24rem;border:1px solid var(--border);background:var(--surface);border-radius:.6rem;padding:1.25rem}.modal-lg{max-width:34rem}.text-secondary{color:var(--text-secondary)}.badge-espacio{border-radius:999px;padding:.25rem .7rem;font-size:.75rem;font-weight:600}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.6rem}.mb-4{margin-bottom:1.2rem}.mb-6{margin-bottom:1.8rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1.2rem}.mt-6{margin-top:1.8rem}.title-page{font-family:Fraunces,serif;font-size:1.5rem}.spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{display:flex;align-items:center;gap:.5rem;border:1px solid var(--accent);color:var(--accent);border-radius:.4rem;padding:.5rem .75rem;font-size:.8rem}.alert-error{border-color:var(--danger);color:var(--danger)}
