:root{--navy:#172945;--navy2:#172945;--gold:#0e91d0;--brand-surface:#f5f8fb}
.brand{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0 4px 24px;background:#fff;border-radius:12px;padding:11px}
.brand img{width:100%;height:55px;object-fit:contain}
.brand small{color:#526575;text-align:center;font-size:10px}
.public-brand{display:flex;align-items:center;gap:12px}
.public-brand img{width:150px;height:53px;object-fit:contain}
.public-brand small{border-left:1px solid var(--line);padding-left:12px}
.auth-logo{display:block;width:220px;height:82px;object-fit:contain;margin:0 auto 14px}
.brand-preview{display:flex;align-items:center;gap:24px;background:var(--brand-surface);border:1px dashed var(--line);border-radius:12px;padding:18px}
.brand-preview img{width:260px;height:90px;object-fit:contain;background:#fff;border-radius:10px;padding:10px}
.eyebrow{color:var(--gold)}
.portal-card,.verify-card{border-top-color:var(--gold)}
.package-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;background:linear-gradient(135deg,var(--brand-surface),#fff);border:2px solid var(--gold);border-radius:13px;padding:16px;margin-bottom:20px}
.package-option input{width:22px;height:22px}
.package-option b,.package-option small{display:block}
.package-option b{font-size:15px;color:var(--navy)}
.permission-note{display:grid;grid-template-columns:130px 1fr;gap:10px 18px;align-items:start}.permission-note b{color:var(--navy)}.permission-note span{color:var(--muted);font-size:13px;line-height:1.5}.badge.role-admin{background:#e9e5ff;color:#5138a4}.badge.role-secretaria{background:#dff4ff;color:#0872a4}
.designer-controls{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;align-items:end;position:sticky;top:10px;z-index:20}.designer-controls output{display:block;font-size:11px;color:var(--muted)}.designer-controls .actions{grid-column:1/-1}.designer-toggles{display:flex;align-items:center;gap:18px;min-height:42px;flex-wrap:wrap}.designer-toggles .check{white-space:nowrap}.designer-help{font-size:13px;color:var(--muted);margin:0 0 10px}.designer-scroll{overflow:auto;padding:12px;background:#dfe6eb;border-radius:14px}.certificate-canvas{position:relative;background:#fff center/100% 100% no-repeat;box-shadow:0 8px 30px #102f4b33;margin:auto;overflow:hidden;color:var(--navy);flex:none}.certificate-canvas.landscape{width:1123px;height:794px}.certificate-canvas.portrait{width:794px;height:1123px}.design-element{position:absolute;text-align:center;cursor:move;touch-action:none;border:1px dashed transparent;padding:3px;line-height:1.35;user-select:none}.design-element:hover,.design-element.selected{border-color:#ff7a00;background:#fff9}.design-element.component-hidden{opacity:.24;filter:grayscale(1)}.design-element.logo img{width:100%;max-height:70px;object-fit:contain}.design-element.cohort{letter-spacing:3px;color:var(--gold)}.design-element.title{letter-spacing:2px}.design-element.body strong{color:var(--gold);font-size:1.25em}.design-element.secondary-body:empty:before{content:'Segundo bloque de texto opcional';color:var(--muted)}.design-element.topics{border:1px solid #d8e4ec;background:#ffffffd9;border-radius:8px}.design-element.topics b,.design-element.topics span{display:block}.design-element.signature img{max-width:90%;max-height:58px}.design-element.signature div{border-top:1px solid #52687a;font-weight:700}.design-element.signature small{font-size:.75em}.design-element.qr img{width:100%;display:block}.design-element.qr small{font-size:.7em}
.asset-edit{display:inline-block;margin-top:10px;font-size:12px;font-weight:800;color:var(--gold)}.asset-edit-preview{background:#edf2f5;border-radius:12px;padding:18px;text-align:center}.asset-edit-preview img{max-width:100%;max-height:440px;object-fit:contain}
.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.share-grid h2{margin-top:0;color:var(--navy)}button.whatsapp,.btn.whatsapp{background:#128c4a}.share-grid .actions{flex-wrap:wrap}
.design-refresh{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:5px solid var(--gold)}.design-refresh h2{margin:0 0 5px;color:var(--navy)}.design-refresh p{margin:0;color:var(--muted);font-size:13px}
.template-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}.template-actions form{display:inline}.link-button{background:none!important;color:#173f61!important;padding:0!important;border:0!important;font:inherit!important;font-weight:400!important}.copy-design-panel{margin-top:22px}.copy-design-panel .panel-title>div{max-width:760px}.template-copy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;max-height:380px;overflow:auto;margin:16px 0}.template-copy-list label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid #edf0f2}.template-copy-list input{width:auto}
@media(max-width:1000px){.designer-controls{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:600px){.public-brand img{width:110px;height:42px}.public-brand small{display:none}.brand-preview{flex-direction:column;align-items:flex-start}.brand-preview img{width:100%}.permission-note,.share-grid,.template-copy-list,.designer-controls{grid-template-columns:1fr}.permission-note{gap:4px}.permission-note span{margin-bottom:10px}.template-actions{flex-wrap:wrap}}
.site-credit{padding:20px 24px;text-align:center;border-top:1px solid var(--line);background:var(--brand-surface,#f5f8fb);color:#526575;font-size:12px;line-height:1.6;letter-spacing:.3px}
.site-credit strong{color:var(--navy);font-weight:600}
.site-credit-admin{margin-left:235px;max-width:1500px}
@media(max-width:900px){.site-credit-admin{margin-left:0}}
@media print{.site-credit{display:none}}
.communication-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.communication-grid>*,.email-template{min-width:0}
.communication-grid label{margin-bottom:16px}
.communication-grid textarea{min-height:270px;resize:vertical;line-height:1.6}
.email-variables{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.email-variables button{font-size:11px;padding:7px 9px}
.email-preview{background:var(--brand-surface);border:1px solid var(--line);border-radius:12px;padding:24px;overflow-wrap:anywhere}
.email-preview [data-preview-body]{white-space:pre-wrap;font-size:14px;line-height:1.7}
.badge-preview-surface{margin:20px 0;background:#edf1f5;border-radius:16px;min-height:240px}
.badge-preview-surface img,.badge-public-image img{width:100%;height:auto;max-width:540px;display:block;margin:auto}
.badge-preview-surface img[hidden]{display:none}
.badge-public-image{margin:24px 0;background:#f4f6f8;border-radius:16px}
#badgeDesigner .actions{flex-wrap:wrap;margin-top:20px}
#badgeDesigner input[type=color]{height:44px;padding:4px;cursor:pointer}
.sidebar nav{overflow-y:auto;min-height:0}
.sidebar .side-user{flex-shrink:0}
@media(max-width:1000px){.communication-grid{grid-template-columns:1fr}}
