
:root{--ink:#183a3c;--teal:#007d78;--muted:#7b8c8b;--line:#dce4e0;--paper:#f4f6f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);padding:11px 16px;border-radius:7px;background:white;color:var(--ink)}button:hover{border-color:var(--teal);color:var(--teal)}a{color:inherit;text-decoration:none}header{height:91px;background:#fff;display:flex;align-items:center;padding:0 5%;gap:40px;border-bottom:1px solid var(--line)}.brand{font-size:33px;font-weight:800;letter-spacing:-2px;line-height:.85}.brand span{display:block;font-size:9px;letter-spacing:3px;margin-top:9px}.head-label{font-size:10px;letter-spacing:2px;border-left:1px solid var(--line);padding-left:30px}.head-label small{display:block;letter-spacing:0;color:var(--muted);margin-top:6px}nav{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:12px}main{max-width:1440px;margin:auto;padding:32px 5%}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--teal);font-weight:700}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:30px}.hero{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:30px}h1{font:600 clamp(28px,3vw,42px) 'Manrope',Arial;letter-spacing:-1.6px;margin:12px 0}h2{font-size:21px;font-weight:600}p{line-height:1.7;color:#718482}.badge{display:inline-block;padding:8px 12px;border:1px solid #dfd0ad;background:#f8f1e1;border-radius:30px;color:#927137;font-size:11px}.badge.final{background:#e2f2ea;border-color:#b1d7c8;color:#237251}.meta{display:flex;gap:30px;font-size:12px;margin-top:22px}.meta small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px;text-transform:uppercase;letter-spacing:1px}.stats{text-align:right;white-space:nowrap}.stats strong{display:block;font-size:30px;font-weight:500;margin-top:18px}.stats small{color:var(--muted)}.workspace{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden;min-height:610px}.sidebar{padding:24px 16px;border-right:1px solid var(--line)}.sidebar h3{font-size:12px;margin:0 8px 20px}.doc{display:flex;text-align:left;width:100%;border:0;border-radius:6px;padding:15px 10px;gap:12px;margin:5px 0;background:transparent;line-height:1.5}.doc.active{background:#e8f2ee;color:var(--teal)}.doc b{font-size:12px;font-weight:600;display:block}.doc small{font-size:10px;color:var(--muted)}.doc .ico{background:#fff;border:1px solid var(--line);border-radius:5px;padding:5px 8px;height:30px;font-size:12px}.side-note{margin:30px 8px 0;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.8}.viewer{min-width:0;display:flex;flex-direction:column;background:#e7ece7}.viewer-top{padding:16px 22px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.viewer-top strong{font-size:12px}.viewer-top span{margin-left:auto;color:var(--muted);font-size:10px}.stage{min-height:465px;display:flex;align-items:center;justify-content:center;padding:26px;overflow:auto;background:radial-gradient(ellipse at center,#f5f7f2,#dce5df)}#book{margin:auto}.page{background:#fffdf8;overflow:hidden;box-shadow:inset 5px 0 15px #0001}.page img{width:100%;height:100%;object-fit:contain;display:block}.cover{height:100%;padding:12%;background:#123e3e;color:white;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.cover:after{content:'';position:absolute;width:380px;height:380px;border:1px solid #b2d3b64d;border-radius:45%;right:-220px;bottom:0;box-shadow:0 0 0 23px #abcbaa15,0 0 0 46px #abcbaa15,0 0 0 69px #abcbaa15,0 0 0 92px #abcbaa15;transform:rotate(35deg)}.cover small{letter-spacing:3px;font-size:9px;color:#bdd1bf}.cover h2{font-size:clamp(20px,2.4vw,32px);line-height:1.2;max-width:250px;position:relative;z-index:1}.cover p{font-size:11px;color:#adc4bd}.cover .brand{font-size:28px}.cover-bottom{font-size:9px;letter-spacing:2px}.toolbar{background:white;display:flex;justify-content:center;align-items:center;gap:9px;padding:13px}.toolbar button{padding:8px 12px}.toolbar output{font-size:11px;padding:0 10px}.thumbs{display:flex;overflow:auto;gap:8px;padding:10px;background:#f6f7f4}.thumbs button{padding:3px;flex-shrink:0}.thumbs img{width:45px;height:55px;object-fit:contain}.notice{display:flex;align-items:center;gap:15px;padding:16px 20px;background:#eaf0e9;border:1px solid #d7e2d8;border-radius:8px;margin-top:18px;font-size:11px;color:#687f72;line-height:1.7}.notice strong{color:#345746}.footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.5px;margin-top:28px}.login{max-width:430px;margin:70px auto;padding:35px;border:1px solid var(--line);border-radius:12px;background:white}.login h1{font-size:29px}label{display:block;font-size:12px;margin:15px 0}input,select{display:block;width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;margin-top:7px;color:var(--ink);background:white}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#075f5b;color:white}.login button{width:100%;margin-top:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.card{padding:25px;background:white;border:1px solid var(--line);border-radius:10px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.row{display:flex;gap:8px;align-items:center;margin:12px 0}.row>*{flex:1}.row button{flex:0;white-space:nowrap}.error{color:#ac3939}#toast{position:fixed;bottom:20px;right:20px;background:#153f3d;color:white;padding:15px 24px;border-radius:8px;display:none;z-index:100}.viewer:fullscreen{width:100%;height:100%;overflow:auto}.viewer:fullscreen .stage{flex:1}.zoomed #book{transform:scale(1.5);transform-origin:top left}.zoomed{display:block;padding-bottom:240px}.link-result{word-break:break-all;font-size:12px;background:#edf4ef;padding:12px}.loading{text-align:center;padding:90px;color:var(--muted)}@media(max-width:850px){header{padding:0 20px;gap:20px}.head-label{display:none}main{padding:24px 16px}.workspace{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto;padding:10px}.sidebar h3,.side-note{display:none}.doc{min-width:160px;margin:0}.hero{align-items:flex-start}.stats strong{font-size:22px}.meta{gap:12px;flex-wrap:wrap}.stage{padding:14px;min-height:430px}.admin-grid{grid-template-columns:1fr}.toolbar{gap:3px}.toolbar button{padding:8px}.footer{gap:15px}.viewer-top{padding:12px}.hero h1{font-size:30px}}@media print{body{display:none!important}}

[hidden]{display:none!important}

/* Diseño de libros, QR y administración */
.portal-heading{text-align:center;margin:24px auto}.portal-heading+.login{margin-top:25px}.cover{background:var(--cover-color,#123e3e);color:var(--cover-ink,#fff);isolation:isolate;padding:10%}.cover:after{display:none}.cover-pattern{position:absolute;inset:0;width:100%;height:100%;opacity:.28;z-index:-1}.cover .brand,.cover-copy,.cover-bottom{position:relative;z-index:1}.cover small,.cover p{color:inherit;opacity:.8}.cover h2{font-size:clamp(20px,2.2vw,30px);max-width:100%;overflow-wrap:anywhere}.cover .cover-bottom{font-size:8px;letter-spacing:1.3px}.cover .qr-block{padding:6px;background:#ffffffef;color:#123e3e;max-width:100%;border-radius:7px}.cover .qr-block img{width:72px;height:72px}.cover .qr-block small{font-size:8px}.back-cover .brand{font-size:38px}.document-page{height:100%;display:flex;flex-direction:column;background:white}.page .document-image{display:block;flex:1;min-height:0;width:100%;object-fit:contain}.document-delivery{padding:6px 10px;border-top:1px solid #d9e5de;background:#f6f8f5;flex:0 0 auto}.qr-block{display:flex;align-items:center;gap:8px;color:#123e3e;font-size:10px}.page .qr-block img,.qr-block img{width:78px;height:78px;object-fit:contain;flex-shrink:0}.qr-block span{min-width:0}.qr-block b{display:block;line-height:1.4}.qr-block small{display:block;line-height:1.5;font-size:9px;color:#59716e}.document-delivery>small{display:block;font-size:7px;line-height:1.4;color:#667e79}.delivery-link{display:flex;align-items:center;gap:24px;background:white;border:1px solid var(--line);padding:12px 20px;margin-top:15px;border-radius:8px}.delivery-link p{font-size:12px}.stage{min-height:400px;height:565px;padding:16px;overflow:hidden}.thumbs button span{display:block;padding:16px 8px;font-size:10px}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.quick-guide{display:flex;justify-content:space-between;gap:14px;background:#e5eee7;padding:18px 25px;border-radius:8px;margin-bottom:25px;font-size:12px}.editor-title{margin-top:42px}.button-link{border:1px solid var(--teal);padding:12px 18px;border-radius:7px}.upload-card{border:2px solid #a7c9b8}.admin-grid .wide{grid-column:1/-1}.document-admin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.document-admin{border:1px solid var(--line);padding:15px;border-radius:8px}.document-admin .row b{font-size:12px}.document-admin .row button{padding:6px 10px}.document-admin form>.qr-block{margin-bottom:14px}.design-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.design-choice{position:relative;cursor:pointer;margin:10px 0;text-align:center;min-width:0}.design-choice>input{width:auto;display:inline-block}.design-choice>b{display:block;font-size:11px;margin-top:7px}.design-mini{display:block;height:160px;overflow:hidden;border:3px solid transparent;border-radius:6px}.design-choice:has(input:checked) .design-mini{border-color:var(--teal)}.design-mini .cover{padding:12px;text-align:left}.design-mini .brand{font-size:15px}.design-mini .brand span{font-size:4px;letter-spacing:2px;margin-top:3px}.design-mini .cover h2{font-size:11px;margin:6px 0;letter-spacing:0}.design-mini .cover p{font-size:5px;line-height:1.3;margin:5px 0}.design-mini .cover small,.design-mini .cover-bottom{font-size:4px;letter-spacing:1px}.swatches{display:flex;gap:10px}.swatches button{width:28px;height:28px;padding:0;border-radius:50%;box-shadow:0 0 0 1px #c5d2cd}.admin-grid input[type=color]{height:42px;padding:3px;width:100%}#audit{max-height:250px;overflow:auto;font-size:11px}#detail{width:95vw;height:95vh;max-width:1500px;max-height:none;padding:0;border:0;border-radius:10px;color:var(--ink)}#detail::backdrop{background:#102f33c9}.detail-controls{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line)}.detail-controls strong{margin-right:auto}.detail-scroll{height:calc(100% - 70px);overflow:auto;background:#edf0ed}.detail-scroll img{display:block;max-width:none;margin:auto}.viewer:fullscreen .stage{height:calc(100vh - 130px)}
@media(max-width:850px){.stage{height:550px}.quick-guide{flex-wrap:wrap}.hero .actions{justify-content:flex-start}.hero:has(.actions){flex-direction:column}.delivery-link{align-items:flex-start}.design-mini{height:150px}.toolbar{flex-wrap:wrap}}
@media(max-width:450px){.stage{height:470px}.hero{gap:10px}.hero h1{font-size:25px}.stats{white-space:normal;min-width:95px}.badge{font-size:9px;padding:6px 8px}.cover h2{font-size:24px}.design-mini{height:130px}.delivery-link{flex-direction:column;gap:0}.detail-controls{gap:4px;padding:8px}.detail-controls button{padding:8px}.quick-guide span{display:none}}
textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:6px;font:inherit;color:var(--ink);resize:vertical;min-height:110px}.back-editor{display:grid;grid-template-columns:1fr 260px;gap:30px;align-items:start}.back-preview{display:block;max-width:100%;max-height:380px;border:1px solid var(--line);margin:auto}.document-admin:has(textarea){background:#f5f9f4}@media(max-width:650px){.back-editor{grid-template-columns:1fr}}

.delete-document{color:#a52b30;border-color:#dca9ac;background:#fff;margin-top:8px}.delete-document:hover{background:#fff0f0}
