:root{--cob:#22357A;--crema:#F4EEE2;--loza:#E6DDCB;--tur:#3A93B5;--sal:#D99A7C;--ocre:#D6952E;--tinta:#1D1B24;--gris:#7a7468}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{background:var(--crema);font-family:Jost,system-ui,sans-serif;color:var(--tinta);min-height:100vh}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.oculto{display:none!important}
.app{max-width:900px;margin:0 auto;padding:16px 22px 120px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 12px}
.top img{height:44px}
.pend{background:var(--cob);color:#fff;border-radius:30px;padding:10px 18px;font-weight:500;font-size:17px;display:flex;gap:10px;align-items:center;white-space:nowrap}
.pend .bar{width:90px;height:8px;border-radius:5px;background:#ffffff40;overflow:hidden}
.pend .bar i{display:block;height:100%;background:var(--ocre);transition:width .4s}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tabs button{flex:1;padding:13px 8px;border-radius:12px;font-weight:500;font-size:17px;background:var(--loza);color:#5a5448}
.tabs button.on{background:#fff;color:var(--cob);box-shadow:0 1px 2px #0001}
.foto{border-radius:16px;overflow:hidden;position:relative;background:var(--loza);display:flex;align-items:center;justify-content:center;height:min(46vh,520px)}
.foto img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.foto .n{position:absolute;left:12px;bottom:10px;background:#1d1b24b0;color:#fff;font-size:14px;padding:6px 12px;border-radius:20px}
.foto .zoom{position:absolute;right:10px;bottom:10px;background:#1d1b24b0;color:#fff;font-size:14px;padding:6px 12px;border-radius:20px}
.q{margin-top:18px}
.q h3{font:500 26px 'Cormorant Garamond',Georgia,serif;color:var(--cob);margin-bottom:9px}
.q h3 .ob{font:400 13px Jost;color:var(--gris);margin-left:8px;letter-spacing:.04em}
.q.falta h3{color:#B3261E}
.bt{display:flex;flex-wrap:wrap;gap:9px}
.bt button{padding:12px 18px;border-radius:12px;background:#fff;border:1.5px solid #22357a30;font-weight:500;font-size:17px;min-height:50px}
.bt button.on{background:var(--cob);color:#fff;border-color:var(--cob)}
.bt button.add{border-style:dashed;color:var(--tur);border-color:var(--tur);background:transparent}
.bt button.nose.on{background:var(--gris);border-color:var(--gris)}
.inline{display:flex;gap:9px;margin-top:10px}
.inline input{flex:1;font:inherit;font-size:18px;padding:12px 14px;border-radius:12px;border:1.5px solid #22357a40;background:#fff;min-width:0}
.inline button{padding:12px 20px;border-radius:12px;background:var(--cob);color:#fff;font-weight:500}
.inline button.sec{background:var(--loza);color:#5a5448}
.stars button{font-size:46px;line-height:1;color:#d9cfbb;padding:0 4px}
.stars button.on{color:var(--ocre)}
textarea{width:100%;font:inherit;font-size:18px;padding:14px;border-radius:12px;border:1.5px solid #22357a30;background:#fff;min-height:96px;resize:vertical}
.hint{font-size:13.5px;color:var(--gris);margin-top:6px}
.go{position:fixed;left:0;right:0;bottom:0;background:linear-gradient(transparent,var(--crema) 30%);padding:26px 22px 20px}
.go .in{max-width:856px;margin:0 auto;display:flex;gap:12px}
.go button{padding:18px;border-radius:14px;font-weight:500;font-size:20px}
.go .sec{flex:0 0 160px;background:var(--loza);color:#5a5448}
.go .pri{flex:1;background:var(--cob);color:#fff}
.go .pri:disabled{opacity:.6}
.quitar{display:block;margin:26px auto 0;color:var(--gris);font-size:15px;text-decoration:underline}
.vacio{text-align:center;padding:60px 20px}
.vacio img{height:120px;margin-bottom:20px}
.vacio h2{font:500 34px 'Cormorant Garamond',Georgia,serif;color:var(--cob);margin-bottom:10px}
.vacio p{font-size:18px;color:#555;margin-bottom:22px}
.boton{display:inline-block;padding:16px 28px;border-radius:14px;background:var(--cob);color:#fff;font-weight:500;font-size:19px}
/* cronología */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.filtros button{padding:9px 16px;border-radius:20px;background:#fff;border:1.5px solid #22357a25;font-size:15px;font-weight:500}
.filtros button.on{background:var(--cob);color:#fff;border-color:var(--cob)}
.decada{font:500 30px 'Cormorant Garamond',Georgia,serif;color:var(--cob);margin:22px 0 10px;border-bottom:1.5px solid #22357a30;padding-bottom:4px}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.grilla button{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--loza)}
.grilla img{width:100%;height:100%;object-fit:cover;display:block}
.grilla .eti{position:absolute;left:6px;bottom:6px;background:#1d1b24b0;color:#fff;font-size:12.5px;padding:3px 9px;border-radius:12px}
.grilla .pend-b{position:absolute;right:6px;top:6px;background:var(--ocre);color:#fff;font-size:12px;padding:3px 8px;border-radius:10px;font-weight:500}
/* subir */
.subir{background:#fff;border-radius:16px;padding:34px 24px;text-align:center;border:2px dashed #22357a40}
.subir h2{font:500 32px 'Cormorant Garamond',Georgia,serif;color:var(--cob);margin-bottom:8px}
.subir p{font-size:17px;color:#555;margin-bottom:22px}
.lista-subida{margin-top:18px;text-align:left;font-size:16px}
.lista-subida div{padding:6px 0;border-bottom:1px solid #0000000d;display:flex;justify-content:space-between;gap:10px}
.lista-subida .ok{color:#2e7d32}.lista-subida .err{color:#B3261E}
/* overlays */
.capa{position:fixed;inset:0;background:var(--crema);z-index:20;overflow:auto}
.capa .app{padding-top:10px}
.cerrar{font-size:17px;font-weight:500;color:var(--cob);padding:10px 0}
.visor{position:fixed;inset:0;background:#000e;z-index:30;display:flex;align-items:center;justify-content:center}
.visor img{max-width:100vw;max-height:100vh;object-fit:contain}
.modal{position:fixed;inset:0;background:#1d1b2480;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px}
.modal .caja{background:#fff;border-radius:16px;padding:26px;max-width:420px;width:100%}
.modal h3{font:500 26px 'Cormorant Garamond',Georgia,serif;color:var(--cob);margin-bottom:10px}
.modal p{font-size:16.5px;color:#444;margin-bottom:20px}
.modal .bts{display:flex;gap:10px;justify-content:flex-end}
.modal .bts button{padding:12px 20px;border-radius:12px;font-weight:500}
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);background:var(--tinta);color:#fff;padding:13px 22px;border-radius:30px;font-size:16.5px;z-index:50;box-shadow:0 6px 20px #0003;max-width:92vw;text-align:center}
/* login */
.login{max-width:420px;margin:12vh auto 0;padding:0 24px;text-align:center}
.login img{height:170px;margin-bottom:28px}
.login input{width:100%;font:inherit;font-size:19px;padding:15px 16px;border-radius:12px;border:1.5px solid #22357a40;background:#fff;margin-bottom:12px}
.login button{width:100%;padding:17px;border-radius:14px;background:var(--cob);color:#fff;font-weight:500;font-size:19px;margin-top:6px}
.login .err{color:#B3261E;margin-top:12px;min-height:22px}
@media (max-width:640px){.top img{height:34px}.pend{font-size:15px;padding:8px 13px}.pend .bar{width:50px}.go .sec{flex-basis:110px}.q h3{font-size:23px}}

.q.publico{background:#fff;border-radius:14px;padding:14px 16px 12px;border:1.5px solid #3A93B540;margin-top:24px}
.q.publico .bt button.on.si{background:var(--tur);border-color:var(--tur)}
.grilla .pub-b{position:absolute;left:6px;top:6px;background:#fffd;font-size:13px;padding:2px 6px;border-radius:10px}
.links-extra{display:flex;justify-content:flex-end;gap:18px;margin:-6px 0 12px}
.links-extra a{color:var(--gris);font-size:14px}

.pend .mt{font-weight:400;opacity:.8;font-size:.85em}
.extras{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:24px}
.extras .quitar{margin:0}
.norec{padding:12px 20px;border-radius:12px;background:#fff;border:1.5px solid #D6952E80;color:#8a5a12;font-weight:500;font-size:16px}
.aviso{background:#FFF6DB;border:1px solid #E8D48C;border-radius:12px;padding:12px 14px;margin:6px 0 14px;font-size:15.5px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
