:root{font-family:system-ui,-apple-system,sans-serif;color:#303d33;background:#f6f4ef;--green:#455b48;--line:#d5d9ce;--muted:#657064}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea,summary{font:inherit}button,summary{cursor:pointer}button{min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:12px;background:#fffefa;color:#303d33;font-weight:600}button:hover{border-color:var(--green);background:#eeeee5}button.primary{background:var(--green);border-color:var(--green);color:white}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ad8148;outline-offset:3px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px max(24px,5vw);border-bottom:1px solid var(--line);background:#fffefa}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:650;color:var(--muted)}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:38px;margin:5px 0}h2{font-size:30px;margin:6px 0 12px}p{line-height:1.55}main{max-width:1400px;margin:auto;padding:30px max(24px,5vw)}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.intro p,.muted,.help{color:var(--muted)}.intro p{margin-top:0}.toolbar{display:flex;gap:12px;margin:22px 0 18px}input,select,textarea{width:100%;min-height:50px;border:1px solid #adb7a6;background:white;border-radius:10px;padding:12px;color:#27372a;font-size:17px}input[type=checkbox]{width:22px;min-height:22px;margin:0}#search{flex:1;min-width:0}.filters{position:relative}.filters>div{position:absolute;right:0;top:60px;background:#fffefa;box-shadow:0 12px 32px #25352122;z-index:2;padding:20px;border:1px solid var(--line);border-radius:14px;width:300px;display:grid;gap:20px}summary{padding:15px 16px;min-height:50px;border:1px solid var(--line);border-radius:10px;background:#fffefa}.sections{display:flex;gap:10px}.sections button[aria-pressed=true]{background:#e0e7d9;border-color:#77876a}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px}.card{padding:0;overflow:hidden;text-align:left;border-radius:18px}.cover,.placeholder{width:100%;height:270px;object-fit:cover;background:#e9e8df}.placeholder{display:grid;place-items:center;color:#6c7869;font-family:Georgia,serif;font-size:26px}.info{padding:18px}.info h3{margin:14px 0 10px;font-size:19px;overflow-wrap:anywhere}.row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.tag{display:inline-block;border-radius:7px;padding:6px 9px;font-size:13px;background:#e8edde;color:#374b33}.empty{text-align:center;border:1px dashed #aeb9a4;border-radius:20px;padding:60px 24px}.empty p{color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px max(24px,5vw);color:var(--muted);font-size:14px}footer details[open]{display:grid;gap:10px}dialog{border:none;border-radius:22px;padding:28px;color:inherit;background:#fffefa;max-width:96vw}dialog::backdrop{background:#233026a8}#login{width:440px}#login form{display:grid;gap:18px}label{display:grid;gap:8px;font-weight:600;font-size:16px}.check{display:flex;align-items:center;gap:10px}#editor{width:1120px;padding:0;max-height:94dvh}#form{display:flex;flex-direction:column;max-height:94dvh}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line);gap:16px;flex-shrink:0}.sheet-head h2{font-size:27px;margin:5px 0 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow-y:auto;min-height:0}.photo-side{padding:28px;background:#f1f0e8}.data-side{padding:28px;min-width:0}#hero{display:block;width:100%;height:360px;overflow:hidden;padding:0;background:#e8e9df;border:none;border-radius:14px;cursor:zoom-in}#hero img{width:100%;height:100%;object-fit:contain}#photoPlaceholder{display:block;font:27px Georgia;padding:30px}#photoPlaceholder small{display:block;font:15px/1.5 system-ui;margin-top:14px}.thumbnails{display:flex;gap:10px;overflow-x:auto;padding:14px 2px}.thumb{padding:3px;flex:0 0 64px;height:78px}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px}.thumb[aria-pressed=true]{outline:2px solid var(--green)}.photo-actions{display:flex;gap:10px;flex-wrap:wrap}.photo-edit .muted{font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}#editView,.detail-fields{display:grid;gap:20px}.detail-fields{padding:18px 0}.help{margin:0;font-size:14px}.quiet{background:transparent;font-weight:400}dl{display:grid;grid-template-columns:1fr 1.5fr;gap:15px;line-height:1.5}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}#readName{margin:20px 0}#readNotes{white-space:pre-wrap;overflow-wrap:anywhere}.sheet-bottom{padding:12px 28px 18px;border-top:1px solid var(--line);background:#fffefa;flex-shrink:0}.actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.actions span{margin-right:auto;color:var(--muted);font-size:13px}#error,#formError,#loginError{color:#962e28}#formError:empty{display:none}#formError{margin:0 0 12px}#connection{background:#fff0ce;padding:14px;border-radius:10px}#viewer{width:min(1000px,94vw)}#viewer img{display:block;width:100%;height:75dvh;object-fit:contain}#message{color:var(--green);min-height:10px}
@media(max-width:759px){h1{font-size:29px}.site-header{padding:18px;gap:12px}.site-header button{padding:12px;font-size:15px}main{padding:24px 18px}.intro{display:block}.intro h2{font-size:27px}.intro #count{display:block;margin:12px 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cover,.placeholder{height:210px}.placeholder{font-size:18px}.info{padding:12px}.info h3{font-size:17px}.tag{font-size:12px}.filters summary{padding:15px 10px}.filters>div{width:min(300px,88vw)}footer{padding:24px 18px;align-items:flex-start;flex-direction:column}#editor{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0;margin:0}#form{max-height:100dvh;height:100dvh}.sheet-head{padding:15px 18px}.sheet-head h2{font-size:23px}.workspace{display:block}.photo-side,.data-side{padding:18px}#hero{height:240px}.sheet-bottom{padding:12px 14px max(14px,env(safe-area-inset-bottom))}.actions{gap:8px;flex-wrap:wrap}.actions button{flex:1;padding:12px 8px;font-size:15px}.actions span{width:100%;flex-basis:100%}.two{gap:12px}#saveAnother{order:3;flex-basis:100%}#saveAnother[hidden]{display:none}.photo-actions button{flex:1}.sections button{flex:1}.site-header h1{white-space:nowrap}}

@media(min-width:760px){.photo-side{position:sticky;top:0;align-self:start}}

/* Boutique nupcial: contraste legible, marfil y tinta cálida. */
:root{color:#302c28;background:#faf8f4;--green:#342f2a;--line:#ded7cc;--muted:#70675e}
body{background:#faf8f4}button,summary{border-radius:4px;background:#fffdf9;color:#302c28;font-weight:500;transition:background .16s,border-color .16s}button:hover{background:#f0ebe3;border-color:#948575}button.primary{background:#342f2a;border-color:#342f2a;color:#fffdf9}button.primary:hover{background:#51473c}.site-header{background:#fffdf9;padding-top:30px;padding-bottom:30px;border-top:4px solid #b5a080}.eyebrow{letter-spacing:.24em;font-size:11px;color:#76644f}h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em}h1{font-size:42px}main{padding-top:42px}.intro{padding:0 0 22px;border-bottom:1px solid var(--line)}.intro h2{font-size:36px}.intro p{font-size:15px;letter-spacing:.015em}.intro #count{font-size:13px;letter-spacing:.06em;border:1px solid var(--line);padding:10px 16px}.toolbar{margin-top:28px}input,select,textarea{border-radius:4px;border-color:#bcb1a3;color:#302c28;background:#fffdf9}input::placeholder,textarea::placeholder{color:#7b7268}summary{background:#fffdf9}.sections{gap:0;border-bottom:1px solid var(--line);margin-bottom:24px}.sections button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:16px 24px}.sections button[aria-pressed=true]{background:transparent;color:#302c28;border-color:#8b7353;font-weight:650}.grid{gap:28px}.card{border-radius:3px;background:#fffdf9;border:1px solid #e5dfd6;box-shadow:0 4px 16px #483b2810}.card:hover{background:#fffdf9;border-color:#ad9980;box-shadow:0 8px 24px #483b2818}.cover,.placeholder{height:320px;background:#eee9e1}.cover{object-fit:contain}.placeholder{color:#817261;font-style:italic;font-size:23px}.info{padding:20px}.info h3{font:25px/1.2 Georgia,serif;letter-spacing:-.02em;margin-top:17px}.info .row{font-size:14px;color:#62584e}.tag{background:#efeae1;color:#5d4e3d;border:1px solid #dfd4c5;border-radius:2px;font-size:12px;font-weight:500}.empty{border:1px solid #ded3c2;border-radius:2px;background:linear-gradient(120deg,#fffdf9,#f0ebe2);padding:68px 24px}.empty:before{content:'BN';display:block;font:italic 40px Georgia,serif;color:#9a8361;margin-bottom:22px}.empty h2{font-size:34px}.empty p{max-width:430px;margin:0 auto 28px}.filters>div{border-radius:4px;background:#fffdf9}footer{margin-top:32px;border-top:1px solid var(--line);font-size:13px}dialog{border-radius:6px;background:#fffdf9;box-shadow:0 24px 100px #22180e33}dialog::backdrop{background:#29231cc0}.sheet-head{background:#fffdf9;border-top:3px solid #b5a080}.sheet-head h2{font-size:30px}.photo-side{background:#f1ece4}#hero{border-radius:2px;background:#e9e2d7}#photoPlaceholder{color:#796a58;font-style:italic}#photoPlaceholder small{font-style:normal;color:#71675b}.thumb{border-radius:3px}.thumb img{border-radius:1px}.sheet-bottom{background:#fffdf9}.help{color:#70675e}#message{color:#504532}#login h2{font-size:34px}
@media(max-width:759px){.site-header{padding:20px 16px}h1{font-size:30px}.eyebrow{font-size:10px;letter-spacing:.19em}main{padding:26px 16px}.intro{padding-bottom:12px}.intro h2{font-size:29px}.intro #count{display:inline-block;margin:2px 0 12px}.toolbar{margin-top:20px}.sections button{padding:14px 10px}.grid{gap:12px}.cover,.placeholder{height:225px}.placeholder{font-size:18px}.info{padding:12px}.info h3{font-size:21px}.info .row{font-size:13px}.empty{padding:36px 20px}.empty h2{font-size:29px}.empty:before{font-size:34px}.sheet-head h2{font-size:25px}footer{margin-top:24px}.sheet-head{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){button,summary{transition:none}}
