:root { --ink:#09101a; --slate:#39414e; --blue:#2287a5; --panel:#1e293b; --paper:#f6f8fa; }
* { box-sizing:border-box; }
body.inventory-page { background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; margin:0; }
.shell { width:min(1120px, calc(100% - 48px)); margin:0 auto; }
.site-header { background:#fff; border-top:5px solid var(--blue); }
.header-content { min-height:105px; align-items:center; display:flex; gap:25px; }
.brand img { display:block; height:68px; max-width:235px; }
.header-title { border-left:1px solid #dce2e7; color:var(--slate); line-height:1.3; padding-left:25px; }
.header-title p { font-size:14px; font-weight:bold; letter-spacing:.04em; margin:0; text-transform:uppercase; }
.header-title span { color:var(--blue); font-size:13px; }
.state-logo { height:58px; margin-left:auto; object-fit:contain; width:auto; }
.hero { background:linear-gradient(120deg, var(--ink), var(--panel)); color:#fff; overflow:hidden; padding:72px 0 80px; position:relative; }
.hero:after { background:var(--blue); content:""; height:6px; left:0; position:absolute; bottom:0; width:100%; }
.hero-grid { align-items:center; display:flex; justify-content:space-between; }
.eyebrow { color:#72c8df; font-size:12px; font-weight:bold; letter-spacing:.16em; margin:0 0 14px; text-transform:uppercase; }
.hero h1 { font-size:48px; font-weight:300; letter-spacing:-.03em; line-height:1.02; margin:0; }
.hero h1 strong { font-weight:700; }
.lead { color:#cbd5e1; font-size:17px; line-height:1.55; margin:22px 0 0; max-width:520px; }
.hero-mark { border:2px solid rgba(255,255,255,.22); border-radius:50%; color:rgba(255,255,255,.24); font-size:78px; font-weight:bold; height:176px; line-height:171px; text-align:center; width:176px; }
.access-section { display:grid; gap:28px; grid-template-columns:minmax(0, 1.5fr) minmax(260px, .8fr); margin-top:-32px; padding-bottom:70px; position:relative; }
.access-card { background:#fff; box-shadow:0 14px 32px rgba(9,16,26,.13); padding:36px; }
.card-heading { align-items:center; display:flex; gap:16px; margin-bottom:28px; }
.card-heading h2,.instructions h2 { color:var(--panel); font-size:22px; margin:0 0 5px; }
.card-heading p { color:#637083; font-size:14px; margin:0; }
.step { background:var(--blue); color:#fff; font-size:17px; font-weight:bold; padding:11px 10px; }
label { color:var(--slate); display:block; font-size:13px; font-weight:bold; margin-bottom:9px; text-transform:uppercase; }
.input-row { display:flex; gap:10px; }
input { border:1px solid #cbd5df; color:var(--ink); font-size:20px; letter-spacing:.06em; min-width:0; padding:15px 16px; text-transform:uppercase; width:100%; }
input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(34,135,165,.18); outline:0; }
button { background:var(--blue); border:0; color:#fff; cursor:pointer; font-size:14px; font-weight:bold; padding:0 22px; white-space:nowrap; }
button:hover { background:#176f8a; }
.field-help { color:#718096; font-size:12px; margin:9px 0 0; }
.notice { border-left:4px solid #b54545; background:#fff3f3; color:#8e3030; font-size:14px; margin:0 0 20px; padding:11px 14px; }
.instructions { background:var(--panel); color:#d9e2ec; padding:32px; }
.instructions h2 { color:#fff; font-size:20px; }
.instructions ol { counter-reset:item; list-style:none; margin:21px 0 0; padding:0; }
.instructions li { border-top:1px solid rgba(255,255,255,.15); font-size:14px; line-height:1.45; padding:16px 0 16px 33px; position:relative; }
.instructions li:before { color:#72c8df; content:"0" counter(item); counter-increment:item; font-size:12px; font-weight:bold; left:0; position:absolute; }
.site-footer { background:#fff; border-top:1px solid #dce2e7; color:var(--slate); padding:27px 0; }
.footer-content { align-items:center; display:flex; justify-content:space-between; }
.footer-content strong,.footer-content span { display:block; font-size:13px; }
.footer-content span { color:#7a8796; margin-top:3px; }
.contact { display:flex; gap:20px; }
.contact a { color:var(--blue); font-size:13px; text-decoration:none; }
@media (max-width:700px) { .shell { width:min(100% - 32px,1120px); } .header-content { min-height:88px; gap:12px; } .brand img { height:52px; max-width:160px; } .header-title { display:none; } .state-logo { height:44px; } .hero { padding:52px 0 60px; } .hero h1 { font-size:38px; } .hero-mark { display:none; } .access-section { display:block; margin-top:-20px; padding-bottom:35px; } .access-card,.instructions { padding:25px 20px; } .instructions { margin-top:18px; } .input-row { display:block; } button { height:52px; margin-top:10px; width:100%; } .footer-content,.contact { align-items:flex-start; flex-direction:column; gap:12px; } }

.information-section { display:grid; gap:28px; grid-template-columns:minmax(0, 1.15fr) minmax(300px, .85fr); padding:0 0 70px; }
.information-main { background:#fff; border-top:4px solid var(--blue); box-shadow:0 8px 24px rgba(9,16,26,.08); padding:34px 36px; }
.information-main .eyebrow { color:var(--blue); margin-bottom:10px; }
.information-main h2 { color:var(--panel); font-size:25px; margin:0 0 18px; }
.information-main p { color:#4b5a6b; font-size:14px; line-height:1.6; margin:0 0 12px; }
.information-main a { color:var(--blue); font-weight:bold; }
.download-link { background:#eef7fa; display:inline-block; margin:9px 0 12px; padding:12px 15px; text-decoration:none; }
.updated-date { color:#7a8796 !important; font-size:12px !important; }
.validation-notice { background:#39414e; color:#edf4f7; padding:34px 36px; }
.notice-label { color:#8fd4e7; display:block; font-size:12px; font-weight:bold; letter-spacing:.13em; text-transform:uppercase; }
.validation-notice h3 { color:#fff; font-size:22px; line-height:1.2; margin:12px 0 7px; }
.validation-notice p { font-size:14px; line-height:1.55; margin:13px 0 0; }
.validation-notice .notice-date { color:#8fd4e7; font-size:18px; font-weight:bold; margin-top:0; }
.photo-note { border-top:1px solid rgba(255,255,255,.2); margin-top:19px !important; padding-top:17px; }
@media (max-width:700px) { .information-section { display:block; padding-bottom:35px; } .information-main,.validation-notice { padding:25px 20px; } .validation-notice { margin-top:18px; } }
.hero.hero-compact { padding:18px 0 22px; }
.hero-compact h1 { font-size:20px; letter-spacing:0; line-height:0.1; margin:0; }
/* Ajuste compacto de información institucional. */
.information-section { gap:20px; padding-bottom:45px; }
.information-main { padding:26px 29px; }
.information-main h2 { font-size:22px; margin-bottom:12px; }
.information-main p { line-height:1.45; margin-bottom:8px; }
.download-link { margin:5px 0 8px; padding:10px 13px; }
.validation-notice { padding:26px 29px; }
.validation-notice h3 { font-size:20px; margin:8px 0 4px; }
.validation-notice p { line-height:1.4; margin-top:9px; }
.photo-note { margin-top:13px !important; padding-top:12px; }
@media (max-width:700px) { .information-main,.validation-notice { padding:21px 20px; } .information-section { padding-bottom:28px; } }
/* Portada sin franja de título: espaciado más compacto. */
.header-content { min-height:82px; }
.brand img { height:58px; }
.access-section { margin-top:24px; padding-bottom:36px; }
.access-card { padding:28px; }
.card-heading { margin-bottom:18px; }
.instructions { padding:26px; }
.site-footer { padding:20px 0; }
@media (max-width:700px) { .header-content { min-height:72px; } .brand img { height:47px; } .access-section { margin-top:16px; padding-bottom:24px; } .access-card,.instructions { padding:21px 20px; } }
.updated-inline { color:#7a8796; font-size:12px; margin:6px 0 0; }
