:root{font-family:Montserrat,"Segoe UI",Arial,sans-serif;color:#25262b;background:#f7f4ef;line-height:1.55;--wine:#b82103;--orange:#dd430f;--gold:#e1be83;--muted:#62616a;--border:#e9e0d5}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}body:before{content:"";position:fixed;z-index:-1;right:0;top:185px;width:405px;height:590px;background:url('brand/fondo-institucional.png') -308px -245px/1920px 1080px no-repeat;opacity:.1;pointer-events:none}.institutional-strip{background:linear-gradient(100deg,#941c07,var(--wine));color:#fff;text-align:right;padding:7px max(4vw,18px);font-size:.72rem}.site-header{background:#fff;border-bottom:1px solid var(--border);padding:18px max(4vw,18px);display:flex;gap:24px;justify-content:space-between;align-items:center}.brand-link{display:block;line-height:0}.municipal-logo{display:block;width:310px;max-width:100%;height:auto}.header-context{display:flex;gap:18px;align-items:center;text-align:right;font-size:.85rem;color:#56525a}.header-context a{color:var(--wine);font-weight:700;text-decoration:none;padding:9px 16px;background:#f8f3ed;border:1px solid var(--border);border-radius:24px}.state-logo{width:62px;height:64px;object-fit:contain}.site-header small{display:block;color:var(--muted)}main{width:100%;max-width:1160px;margin:38px auto;padding:0 24px;flex:1}h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 10px;font-weight:800}h2{font-size:1.25rem;line-height:1.3;margin:0 0 12px}.page-subtitle{color:var(--muted);margin:0 0 28px;font-size:1.02rem}section,.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:26px;margin:24px 0;box-shadow:0 6px 24px #47352207}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px}.grid section{margin:0}label{display:block;font-weight:600;font-size:.91rem;margin:12px 0}input,select,button,.button{font:inherit;padding:12px 14px;border:1px solid #d8d0c8;border-radius:9px}input,select{display:block;width:100%;min-width:0;background:#fff;color:#29272c;margin-top:6px;min-height:46px}input::placeholder{color:#777580}button,.button{display:inline-block;background:linear-gradient(110deg,var(--wine),#c92c08);border:1px solid #aa260c;color:white;cursor:pointer;font-weight:650;text-decoration:none;margin:8px 6px 4px 0;min-height:44px}button:hover,.button:hover{background:#961b05}button.danger{background:#fff3f0;color:#942706;border-color:#e8b8aa}a{color:#a9270c;overflow-wrap:anywhere}small,.muted{color:var(--muted)}.notice{padding:15px 20px;border-left:4px solid #c29140;border-radius:0 9px 9px 0;background:#fff8e9;color:#664d24}.error{padding:16px;background:#fff0ed;color:#9b230c;border:1px solid #edc2b8;border-radius:10px}.badge{display:inline-block;background:#eee8df;padding:8px 18px;border-radius:30px;font-weight:800}.good{background:#e3f5e7;color:#136334}.bad{background:#ffebe5;color:#992910}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{text-align:left;padding:13px 12px;border-bottom:1px solid var(--border)}th{background:#f8f5f1;color:#514c47}td input,td select{min-width:130px}code{overflow-wrap:anywhere}nav{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;border-bottom:1px solid var(--border);padding:0 0 14px;margin-top:20px}nav a{text-decoration:none;font-weight:650;padding:8px 0}nav a:hover{text-decoration:underline;text-underline-offset:7px}.credential{max-width:550px;margin:28px auto;text-align:center;border-top:7px solid var(--gold);padding:30px}.credential dl{margin:20px 0}.credential dt{color:var(--muted);margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.credential dd{margin:7px 0 0;font-size:1.5rem;font-weight:750;overflow-wrap:anywhere}.credential .folio-value{font-size:2rem;letter-spacing:.025em}.verification-heading{font-size:1rem;font-weight:650;margin:10px 0 20px}.verification-seal{display:block;width:85px;height:86px;object-fit:contain;margin:0 auto 10px}.credential .badge{font-size:1.3rem;margin:10px 0}.status-symbol{display:block;font-size:2rem;font-weight:800;line-height:60px;width:60px;height:60px;border-radius:50%;margin:15px auto 3px;background:#e3f5e7;color:#136334}.status-symbol.invalid{background:#ffebe5;color:#992910}.consultation{font-size:.83rem;color:var(--muted);margin:24px 0}.privacy-note{background:#faf6ef;border:1px solid #eee1d0;border-radius:12px;padding:16px;font-size:.86rem;color:#5f5850;text-align:left}.verification-page{max-width:940px}.verification-page .page-subtitle{margin-bottom:20px}.verification-page .credential{margin-left:0;margin-right:auto}#qr{width:256px;max-width:100%;margin:24px auto;background:white}#qr img{margin:auto;max-width:100%;height:auto}footer{background:#ffffffd9;border-top:1px solid var(--border);text-align:center;padding:22px;color:#68606a;font-size:.8rem}footer span{display:block;margin-top:3px}:focus-visible{outline:3px solid #b8791d;outline-offset:3px}input[type=checkbox]{display:inline-block;width:auto;min-height:0;vertical-align:middle;margin:0 8px 0 0}details{padding:16px 0;border-bottom:1px solid var(--border)}summary{cursor:pointer;font-weight:600}details[hidden]{display:none}
@media(max-width:700px){.institutional-strip{text-align:center;font-size:.63rem}.site-header{padding:16px;gap:12px;flex-wrap:wrap}.municipal-logo{width:250px}.header-context{width:100%;justify-content:space-between;text-align:left;font-size:.77rem;gap:10px}.state-logo{width:45px;height:46px}.site-header small{font-size:.72rem}main{margin:28px auto;padding:0 16px}section,.card{padding:20px}.credential{padding:22px 20px}.verification-page .credential{margin-left:auto;margin-right:auto}body:before{right:-170px;top:180px;opacity:.08}.page-subtitle{font-size:.93rem}.credential dd{font-size:1.3rem}.credential .folio-value{font-size:1.8rem}nav{gap:4px 17px;font-size:.88rem}.privacy-note{font-size:.83rem}.grid{gap:16px}}
@media print{.site-header,.institutional-strip,footer,nav,.no-print{display:none!important}body{background:#fff;display:block}body:before{display:none}main{margin:0;padding:0}.credential{box-shadow:none;border:1px solid #888;break-inside:avoid}a{color:#000}}
