@font-face{font-family:Cormorant;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Jost;src:url(/fonts/jost-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Jost;src:url(/fonts/jost-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--papel:#FCF6F3;--tela:#FFFDFB;--tinta:#3A3835;--suave:#6B6660;--acento:#3A3835;--sobre:#FCF6F3;--linea:#EADFD5;--oro:#8A5F2E;--cinta:#D4A26A;--ok:#14664A;--mal:#A3362A}
[data-theme=oscuro]{--papel:#181716;--tela:#211F1D;--tinta:#F3EEE8;--suave:#BDB6AD;--acento:#D4A26A;--sobre:#181716;--linea:#38342F;--oro:#D4A26A;--cinta:#D4A26A;--ok:#7FD6B2;--mal:#FFAEA3}
*{box-sizing:border-box;margin:0}
[hidden]{display:none!important}
body{background:var(--papel);color:var(--tinta);font:400 16px/1.5 Jost,system-ui,sans-serif;overflow-x:clip}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
h1,h2{font-family:Cormorant,Georgia,serif;font-weight:500;line-height:1.1}
h1{font-size:2.2rem}
h2{font-size:1.6rem;margin-bottom:6px}
.btn,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 18px;border:1px solid var(--acento);background:var(--acento);color:var(--sobre);font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-ghost{background:transparent;color:var(--tinta);border-color:var(--linea)}
.btn:disabled{opacity:.45;cursor:default}
.btn.sm,.btn-ghost.sm{min-height:40px;padding:0 12px;font-size:.92rem}
.login{min-height:100dvh;display:grid;place-items:center;padding:20px}
.login-card{width:100%;max-width:400px;background:var(--tela);padding:28px 22px;border-top:4px solid var(--cinta)}
.login-card .mono,.bar-logo svg{color:var(--acento)}
.login-card .mono{width:170px;height:auto;margin:0 auto 16px;display:block}
.bar-logo img{height:30px;width:auto;max-width:100%;object-fit:contain;object-position:left}
.solo-ancho{display:none}
[data-theme=oscuro] .bar-logo img{filter:invert(.92) hue-rotate(180deg)}
.login-card .mono-o{display:none}
[data-theme=oscuro] .login-card .mono:not(.mono-o){display:none}
[data-theme=oscuro] .login-card .mono-o{display:block}
.login-card p{color:var(--suave);margin:6px 0 14px}
.login-card .btn{width:100%;margin-top:14px}
label{display:block;font-weight:500;font-size:.94rem;margin-top:12px}
input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;min-height:46px;margin-top:4px;padding:10px 12px;background:var(--papel);border:1px solid var(--linea);border-radius:0;font-size:16px;font-weight:400}
textarea{resize:vertical;line-height:1.45}
.msg{min-height:1.4em;margin-top:8px;color:var(--mal);font-size:.94rem}
.count{display:block;text-align:right;font-size:.78rem;font-weight:400;color:var(--suave);margin-top:2px}
.count.full{color:var(--mal)}
.help{color:var(--suave);font-size:.92rem;font-weight:400}
.bar{position:sticky;top:0;z-index:20;background:var(--tela);border-bottom:1px solid var(--linea);display:flex;align-items:center;gap:8px;padding:8px 14px;min-height:60px}
.bar-logo{display:flex;align-items:center;flex:1 1 0;min-width:0;margin-right:auto;min-height:44px}
.bar-logo svg{height:32px;width:auto}
.ic{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid var(--linea);border-radius:50%;cursor:pointer}
.ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sol{display:none}
[data-theme=oscuro] .sol{display:block}
[data-theme=oscuro] .luna{display:none}
.tabs{position:sticky;top:0;z-index:15;display:flex;gap:2px;overflow-x:auto;background:var(--papel);border-bottom:1px solid var(--linea);padding:0 8px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;min-height:48px;padding:0 13px;background:none;border:0;border-bottom:3px solid transparent;cursor:pointer;color:var(--suave)}
.tabs [aria-selected=true]{border-bottom-color:var(--cinta);color:var(--tinta);font-weight:500}
.page{max-width:760px;margin:auto;padding:16px 14px 120px}
.card{background:var(--tela);padding:18px 16px;margin-bottom:12px}
.switch{display:flex;align-items:center;gap:10px;min-height:44px;margin:4px 0}
.switch input{width:22px;height:22px;flex:none;accent-color:var(--acento)}
.foto{display:flex;gap:12px;align-items:center;margin-top:6px}
.foto-img{flex:none;width:96px;height:96px;background:var(--papel);border:1px dashed var(--linea);display:grid;place-items:center;overflow:hidden;font-size:.8rem;color:var(--suave);font-weight:400}
.foto-img img{width:100%;height:100%;object-fit:cover}
.foto-acc{display:flex;flex-wrap:wrap;gap:6px}
.file-btn{position:relative;overflow:hidden}
.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bloque{border:1px solid var(--linea);margin-top:8px;background:var(--papel)}
.bloque-cab{display:flex;align-items:center;gap:4px;padding:4px 6px 4px 12px}
.bloque-cab b{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-height:44px;line-height:44px}
.bloque-cuerpo{padding:0 12px 14px}
.bloque-cuerpo input:not([type=checkbox]):not([type=file]),.bloque-cuerpo textarea{background:var(--tela)}
.ibtn{flex:none;min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:transparent;border:0;cursor:pointer;font-size:.85rem}
.ibtn:disabled{opacity:.3;cursor:default}
.ibtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ibtn.sure{color:var(--mal);font-weight:500}
.agregar{margin-top:10px;width:100%}
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:8px}
.fcard{background:var(--tela);border:1px solid var(--linea)}
.fcard img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.fcard .in{padding:0 8px 6px}
.fcard label{font-size:.82rem;margin-top:6px}
.fcard input{min-height:40px!important;padding:6px 8px!important}
.fcard .bt{display:flex;justify-content:space-between}
.bar-pub{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--tela);border-top:1px solid var(--linea);display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
.bar-status{flex:1;font-size:.88rem;line-height:1.25;min-width:0}
.bar-status.dirty{color:var(--oro)}
.bar-status.ok{color:var(--ok)}
.bar-status.err{color:var(--mal)}
.banner{background:var(--acento);color:var(--sobre);padding:12px 14px;margin-bottom:12px}
.pwrow,.inline-form{display:flex;gap:6px;align-items:center;margin-top:6px}
.pwrow input,.inline-form input{margin:0!important;flex:1;min-width:0}
.urow{padding:12px 0;border-top:1px dashed var(--linea)}
.urow strong{font-weight:500;word-break:break-word}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tag{font-size:.78rem;border:1px solid var(--linea);padding:1px 7px}
.tag.ok{color:var(--ok)}
.tag.warn{color:var(--mal)}
.tag.soft,.note{color:var(--suave)}
.note{font-size:.86rem;margin-top:4px}
.uacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.steps{padding-left:20px;margin:10px 0;color:var(--suave);font-size:.94rem}
.qr{display:block;background:#fff;margin:8px 0}
code{word-break:break-all}
@media (min-width:760px){
  .bar{padding:8px 24px}
  .tabs{justify-content:center;padding:0 24px;flex-wrap:wrap}
  .page{padding:24px 24px 120px}
  .solo-ancho{display:inline-flex}
  .bar-pub{justify-content:center;padding:12px 24px}
  .bar-status{flex:0 1 620px}
  .card{padding:24px}
}
