:root{--ink:#182321;--muted:#687571;--line:#dfe7e3;--paper:#f4f7f5;--white:#fff;--green:#176b52;--green2:#dff3e9;--amber:#b36b17;--red:#aa3a3a;--nav:#132b27}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:var(--green);text-decoration:none}button,.button{font:inherit;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:10px 15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:650}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--nav);padding:27px 18px;color:#fff;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;color:inherit;font-weight:750;font-size:16px}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.58}.brandmark{display:grid;place-items:center;width:42px;height:42px;background:#78d4ad;color:#113e31;border-radius:11px;font-size:12px;letter-spacing:.06em}.sidebar nav{display:grid;gap:5px;margin-top:48px}.sidebar nav a{color:#b9cac5;padding:11px 13px;border-radius:9px}.sidebar nav a:hover,.sidebar nav a.active{background:#21423b;color:#fff}.logout{margin-top:auto}.logout button{width:100%;background:transparent;color:#adc0ba;border-color:#315048}.app{margin-left:244px;padding:48px clamp(28px,5vw,76px);min-height:100vh}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.eyebrow{text-transform:uppercase;color:var(--green);letter-spacing:.14em;font-size:11px;font-weight:800}.pagehead h1{font:700 36px/1.1 Georgia,serif;margin:7px 0}.pagehead p{color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats article,.panel,.update-card{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 24px rgba(24,35,33,.035)}.stats article{padding:22px}.stats span,.stats small{display:block;color:var(--muted)}.stats strong{display:block;font:700 34px Georgia,serif;margin:7px 0}.stats .warning strong{color:var(--red)}.panel{margin-bottom:22px}.panelhead{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.panelhead h2{font:700 20px Georgia,serif;margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 20px;border-bottom:1px solid #edf1ef;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.block{display:block;color:var(--muted)}.badge{display:inline-block;border-radius:99px;background:#edf2ef;padding:3px 9px;font-size:11px;font-weight:700;margin-right:5px}.status-publicada,.status-aplicada,.status-activo{background:var(--green2);color:var(--green)}.status-fallida,.status-retirada,.status-inactivo{background:#fae2e2;color:var(--red)}.status-borrador,.status-disponible,.status-descargada,.status-instalando{background:#f7ead8;color:var(--amber)}.type-seguridad{background:#e3e8f7;color:#41528e}.empty{padding:45px;text-align:center;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.update-card{padding:22px}.update-card h2{font:700 31px Georgia,serif;margin:18px 0 1px}.update-card h3{margin:0 0 12px}.update-card p{color:var(--muted);min-height:45px}.update-card footer{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;color:var(--muted)}.formpanel{padding:25px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.formgrid label,.stackform{display:grid;gap:7px;font-weight:650}.formgrid label small{color:var(--muted);font-weight:400}.span2,.actions,.check{grid-column:1/-1}.check{display:flex!important;align-items:center}.check input{width:auto}input,select,textarea{width:100%;font:inherit;color:var(--ink);border:1px solid #ced8d3;border-radius:8px;padding:11px;background:#fff}textarea{resize:vertical}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:22px}.line{display:flex;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid var(--line)}.inlineform,.stackform{padding:18px;display:flex;gap:8px}.stackform{display:grid}.stackform div{display:flex;gap:8px}.fileicon{display:grid;place-items:center;background:var(--green2);color:var(--green);border-radius:8px;width:32px;height:32px}.tokenbox{padding:28px}.tokenbox>code{display:block;padding:18px;background:#122923;color:#95e1c0;border-radius:10px;font-size:17px;overflow:auto}.flash{margin-bottom:20px;border-radius:9px;padding:13px 16px}.flash.success{background:var(--green2);color:var(--green)}.flash.error{background:#fae2e2;color:var(--red)}.login{min-height:100vh;display:grid;grid-template-columns:minmax(420px,44%) 1fr}.login-card{padding:9vh clamp(35px,8vw,120px);background:#fff}.login-brand{margin-bottom:12vh;color:var(--ink)}.login h1{font:700 40px Georgia,serif;margin:8px 0}.login p{color:var(--muted)}.login form{display:grid;gap:18px;margin-top:32px}.login label{font-weight:650;display:grid;gap:7px}.login-art{padding:10vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#153a32,#176b52);color:#fff}.login-art span{text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:#a8e1c8}.login-art h2{font:700 clamp(36px,5vw,67px)/1.05 Georgia,serif;margin:18px 0}.login-art p{color:#c3ded5}.notfound{text-align:center;padding:20vh}.notfound h1{font:700 80px Georgia;margin:0}@media(max-width:1000px){.stats{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.login-art{display:none}.login{grid-template-columns:1fr}}@media(max-width:720px){.sidebar{position:static;width:auto;height:auto}.sidebar nav{margin-top:20px;grid-template-columns:repeat(4,1fr);overflow:auto}.logout{display:none}.app{margin:0;padding:25px 15px}.pagehead{align-items:start}.stats,.cards,.twocol,.formgrid{grid-template-columns:1fr}.login-card{padding:35px 25px}.span2,.actions,.check{grid-column:auto}}


.updates-list{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 24px rgba(24,35,33,.035)}.updates-list .update-card{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:18px 22px;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,2fr) minmax(180px,.8fr);column-gap:22px;align-items:center}.updates-list .update-card:last-of-type{border-bottom:0}.updates-list .update-card h2{font:700 22px Georgia,serif;margin:8px 0 0}.updates-list .update-card h3{margin:0 0 8px}.updates-list .update-card p{min-height:0;margin:0;color:var(--muted)}.updates-list .update-card footer{grid-column:3;grid-row:1 / span 4;border:0;padding:0;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.updates-list .update-card>div{grid-column:1}.updates-list .update-card h2{grid-column:1}.updates-list .update-card h3,.updates-list .update-card p,.updates-list .update-card>small{grid-column:2}@media(max-width:720px){.updates-list .update-card{display:block}.updates-list .update-card footer{margin-top:14px;align-items:flex-start}}

.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;padding:20px 22px}.detail-grid>div{display:grid;gap:5px}.detail-grid span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.detail-grid strong{font:600 16px/1.35 Inter,Segoe UI,Arial,sans-serif;overflow-wrap:anywhere}@media(max-width:720px){.detail-grid{grid-template-columns:1fr}}
