:root{font-family:Tahoma,Verdana,Arial,sans-serif;color:#1e3444;background:#dce4e9;font-size:13px}*{box-sizing:border-box}body{margin:0;height:100dvh;min-height:560px;display:flex;flex-direction:column;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #627b90;border-radius:0;background:linear-gradient(#fff,#d8e6ef);padding:6px 11px;color:#17344c;box-shadow:inset 1px 1px #fff}button:hover{background:linear-gradient(#fff,#bfd7e9)}button:active{background:#b9ccda;box-shadow:inset 1px 1px #8a9fad}input,select,textarea{border:1px solid #7991a5;background:#fff;padding:5px 7px;color:#172e42;min-height:29px}textarea{min-height:58px;resize:vertical}label{display:flex;flex-direction:column;gap:3px;font-weight:bold;font-size:12px}.ribbon{height:22px;flex:0 0 22px;background:#eef4f6;border-bottom:1px solid #adbcc7;color:#586d7d;font-size:10px;letter-spacing:.7px;padding:4px 10px}header{height:62px;flex:0 0 62px;background:linear-gradient(#f4f8fa,#c3d4df);border-bottom:2px solid #829eb2;display:flex;align-items:center;gap:12px;padding:7px 14px;color:#1b3a52}h1{font-family:Georgia,'Times New Roman',serif;margin:0;font-size:22px}header small{display:block;color:#4c6c83}.stretch{flex:1}#userLabel{font-size:11px;color:#39576f}.hidden{display:none!important}.login{flex:1;min-height:0;display:grid;place-items:center;overflow:auto}.login-window{width:min(430px,calc(100vw - 24px))}.window{border:1px solid #7b99ae;background:#f8fbfc;box-shadow:2px 2px 0 #a0adba;margin-bottom:12px}.titlebar{padding:7px 10px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-weight:bold;font-size:15px;background:linear-gradient(#7898b1,#466985);border-bottom:1px solid #31536e;text-shadow:1px 1px #33536c}.pad{padding:12px}.login .pad label{margin:8px 0}.login .primary{width:100%;font-weight:bold;margin-top:10px}.hint{font-size:12px;color:#536c7e;line-height:1.45}.error{color:#b21b1b;min-height:17px}.notice{font-size:12px;min-height:16px;color:#205778}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}nav{width:176px;flex:0 0 176px;padding:9px 7px;background:#d0dce4;border-right:1px solid #94aabd;overflow-y:auto}nav button{display:block;width:100%;text-align:left;margin-bottom:5px;font-weight:bold;font-size:12px;padding:8px 7px}nav button.selected{background:linear-gradient(#7fa1bb,#557996);color:#fff;border-color:#31536e;text-shadow:1px 1px #345}.content{flex:1;min-width:0;overflow:auto;padding:11px 15px}.view{max-width:1200px;margin:auto}.searchline,.actions{display:flex;gap:6px;align-items:end;flex-wrap:wrap}.searchline input{flex:1;min-width:190px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.filters label{min-width:135px;flex:1}.filters input,.filters select{width:100%}.tablewrap{overflow:auto;border:1px solid #adbeca;background:#fff;max-height:260px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{background:#dbe7ef;color:#25465f;border-bottom:1px solid #9fb5c4;text-align:left}th,td{padding:6px 8px;border-right:1px solid #e1e9ee;border-bottom:1px solid #e4ebef}tbody tr:nth-child(even){background:#f2f6f8}tbody tr:hover{background:#dceaf3}td button{padding:3px 6px;font-size:11px}.detail-window{margin-top:14px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:9px}.detail-grid div{border:1px solid #d0dce5;background:#f1f6f8;padding:6px}.detail-grid strong{display:block;font-size:11px;color:#567082}.formgrid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px;align-items:end;max-width:900px}.formgrid label{min-width:0}.formgrid input,.formgrid select,.formgrid textarea{width:100%}.formgrid .wide{grid-column:1/-1}.formgrid button{max-width:210px}.annul-form{margin-top:14px;border-top:1px solid #d2dde4;padding-top:12px}h3{color:#315b79;font-size:14px;margin:14px 0 5px}.console{flex:0 0 32vh;min-height:185px;max-height:44vh;display:flex;flex-direction:column;border-top:4px solid #627f92;background:#0b1116;color:#d3e2eb;box-shadow:inset 0 1px #263b48}.console-head{display:flex;align-items:center;gap:12px;padding:6px 11px;background:#171f27;border-bottom:1px solid #43505b;flex-wrap:wrap}.console-head strong{color:#ecf6fb;font-size:13px}.console-head small{color:#a9c2d1;font-size:11px}.console-head button{background:#263844;color:#e5f3fa;border:1px solid #668399;padding:3px 9px;font-size:11px;box-shadow:none}.console-columns,.log-row{display:grid;grid-template-columns:82px minmax(250px,1fr) 92px 92px 96px 74px;min-width:715px}.console-columns{padding:5px 10px;background:#202b34;color:#9eb7c7;border-bottom:1px solid #374854;font-weight:bold;font-size:11px}.log-rows{flex:1;overflow:auto;min-height:0;background:#0c1319;font:12px Consolas,'Courier New',monospace}.log-row{padding:5px 10px;border-bottom:1px solid #1e2b34;color:#c5d6df}.log-row:nth-child(even){background:#111c24}.log-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.log-row .metric{color:#aee0f9;font-weight:bold}.log-row .total{color:#d8efb2;font-weight:bold}.log-row.error{color:#f6b6aa;background:#271919}.log-row .status{color:#9ad69f}.log-row.error .status{color:#ffa79c}.console-foot{padding:5px 11px;background:#19242c;color:#94acbb;border-top:1px solid #31424d;font-size:10px}.target-ok{color:#a6e7ae!important}.target-bad{color:#ffac9e!important}.verify-page{display:block;height:auto;min-height:100vh;overflow:auto}.verify-card{max-width:540px;margin:60px auto}.sha{overflow-wrap:anywhere;font-family:Consolas,monospace}ol{line-height:1.65;padding-left:24px}li{margin-bottom:8px}code{font-family:Consolas,monospace;background:#e3ecf1;padding:1px 3px}@media(max-width:800px){body{min-height:520px}.workspace{flex-direction:column}nav{width:auto;flex:0 0 auto;display:flex;overflow-x:auto;overflow-y:hidden;gap:4px;padding:5px}nav button{width:auto;white-space:nowrap;margin:0}.content{padding:8px}.detail-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.formgrid{grid-template-columns:repeat(2,minmax(120px,1fr))}.console{flex-basis:30vh;min-height:170px}.console-columns,.log-row{grid-template-columns:68px minmax(160px,1fr) 75px 75px 82px 62px;min-width:522px;font-size:10px}.console-head{gap:6px}.console-head strong{width:100%}.console-foot{font-size:9px}}@media(max-width:470px){.formgrid{grid-template-columns:1fr}.filters label{min-width:120px}header small{display:none}}
:root .attach-form{display:flex;align-items:end;gap:8px;margin-top:14px;border-top:1px solid #d2dde4;padding-top:10px;flex-wrap:wrap}.attach-form input{display:block;margin-top:4px}
@media(max-width:600px){.console-columns,.log-row{grid-template-columns:47px minmax(70px,1fr) 55px 55px 66px;min-width:0;font-size:9px;padding-left:4px;padding-right:4px}.console-columns span:last-child,.log-row span:last-child{display:none}.console-head small{font-size:10px}}


/* Revisión de la demo: tipografía y distribución estable en una pantalla. */
:root{font-family:Arial,Helvetica,sans-serif;font-size:14px}
h1,.titlebar,.log-rows,.sha,code{font-family:Arial,Helvetica,sans-serif}
body{min-height:0}
.ribbon{height:28px;flex-basis:28px;padding:6px 14px;font-size:13px;font-weight:700;letter-spacing:0;color:#24445c}
header{height:68px;flex-basis:68px}
header small{font-size:14px;line-height:1.35;color:#34566d}
nav button{display:flex;align-items:center;gap:9px}
nav animate-icons{display:inline-flex;flex:0 0 17px}
nav button span{min-width:0}
.titlebar{font-size:15px;text-shadow:none}
.console{flex:0 0 clamp(178px,24vh,230px);min-height:0;max-height:none}
.console-head{min-height:39px;flex-wrap:nowrap}
.console-head strong{font-size:15px;white-space:nowrap}
.console-head small{font-size:12px}
.console-columns{font-size:12px}
.log-rows{font-size:12px;font-variant-numeric:tabular-nums}
.console-foot{font-size:11px;line-height:1.35}
#explorar .tablewrap{max-height:clamp(125px,21vh,230px)}
#explorar .detail-window{margin-top:8px}
#explorar .pad{padding:9px 12px}
#explorar .filters{margin:7px 0}
#explorar .hint{margin:6px 0}
.window{margin-bottom:8px;box-shadow:1px 2px 4px #8da0ad55}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #245f88;outline-offset:2px}
@media(max-width:800px){header{height:62px;flex-basis:62px}.console{flex-basis:clamp(166px,25vh,220px)}.console-head{flex-wrap:wrap}.console-head strong{width:auto}.console-foot{font-size:10px}}
@media(max-height:700px){.ribbon{height:24px;flex-basis:24px;padding-top:4px}header{height:54px;flex-basis:54px}.console{flex-basis:170px}#explorar .tablewrap{max-height:130px}}

.titlebar{background:linear-gradient(#416581,#31536e)}
nav button.selected{background:linear-gradient(#416581,#31536e);text-shadow:none}

@media(min-width:801px){.console{flex-basis:clamp(160px,22vh,210px)}#explorar .tablewrap{max-height:clamp(100px,16vh,210px)}}

#explorar .detail-window:has(#assetDetail:empty){display:none}

/* Tipografía de la demo en Windows. */
:root,h1,.titlebar,.log-rows,.sha,code{font-family:"Segoe UI",Arial,sans-serif}
