*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--teal:#01708B;--teal-hi:#3eb8d0;--teal-mid:#1a9bb8;--teal-lo:#015a6e;--yellow:#EFDB00;--gray:#686B71;--face:#ECE9D8;--face-hi:#E8E4D0;--face-lo:#D4D0C8;--hilite:#ffffff;--shadow:#808080;--dkshadow:#404040;--ink:#000000;--ok:#217A2B;--mal:#9B1C1C}body,html{height:100%}body{font:11px/1.35 Tahoma,"MS Sans Serif",sans-serif;color:var(--ink);background:#5aa8bc;background-image:radial-gradient(ellipse 120% 70% at 50% -10%,#c5e8f0 0,#7ec8d9 28%,#3aa7bc 52%,transparent 72%),linear-gradient(180deg,#7ec8d9,#2e8aa0 38%,#01708B 62%,#0a4a40);min-height:100vh;overflow:hidden}body:after{content:"";position:fixed;left:-10%;right:-10%;bottom:28px;height:42%;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 90% at 18% 110%,#0d5c48 0,transparent 62%),radial-gradient(ellipse 85% 80% at 78% 120%,#0a4a3c 0,transparent 58%),radial-gradient(ellipse 50% 60% at 50% 130%,#0e6a52 0,transparent 55%)}::selection{background:var(--teal);color:#fff}::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-track{background:var(--face-lo)}::-webkit-scrollbar-button,::-webkit-scrollbar-thumb{background:var(--face);border:2px solid;border-color:var(--hilite) var(--dkshadow) var(--dkshadow) var(--hilite)}::-webkit-scrollbar-button{height:16px;width:16px}::-webkit-scrollbar-corner{background:var(--face)}.xp-desktop{position:relative;z-index:1;min-height:100vh;padding:8px 8px 52px;display:flex;flex-direction:column}.xp-dialog,.xp-window{background:var(--face);border:3px solid var(--teal);border-radius:8px 8px 0 0;box-shadow:inset 1px 1px 0 var(--teal-hi),inset -1px 0 0 var(--teal-lo),2px 2px 8px rgba(0,0,0,.35);overflow:hidden}.xp-window{flex:1 1;min-height:0;display:flex;flex-direction:column}.xp-title{display:flex;align-items:center;gap:6px;height:26px;padding:0 4px 0 6px;color:#fff;font:700 13px/1 Trebuchet MS,Tahoma,sans-serif;letter-spacing:.2px;text-shadow:1px 1px 1px rgba(0,0,0,.45);background:linear-gradient(180deg,#9adfeb 0,#4fc3d8 7%,var(--teal-mid) 18%,var(--teal) 55%,var(--teal) 86%,var(--teal-lo) 100%);-webkit-user-select:none;-moz-user-select:none;user-select:none}.xp-title img{height:16px;width:16px;object-fit:contain}.xp-menubar{display:flex;gap:0;padding:1px 2px 2px;background:var(--face);border-bottom:1px solid var(--face-lo);font:11px Tahoma,sans-serif}.xp-menubar a{color:var(--ink);text-decoration:none;padding:2px 8px;border:1px solid transparent}.xp-menubar a:hover{background:var(--face);border-color:var(--hilite) var(--shadow) var(--shadow) var(--hilite)}.xp-menubar a[aria-current=page]{background:var(--face-lo);border-color:var(--shadow) var(--hilite) var(--hilite) var(--shadow)}.xp-client{flex:1 1;min-height:0;overflow:auto;border:2px solid;border-color:var(--shadow) var(--hilite) var(--hilite) var(--shadow);margin:2px 3px 3px}.xp-client,.xp-status{background:var(--face)}.xp-status{display:flex;gap:2px;padding:1px 2px 2px;font-size:11px;color:#222}.xp-status span{flex:1 1;padding:1px 6px;border:1px solid;border-color:var(--shadow) var(--hilite) var(--hilite) var(--shadow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-pie{position:fixed;left:0;right:0;bottom:0;z-index:100;padding:6px 14px 8px;color:#fff;font:11px/1.35 Tahoma,"MS Sans Serif",sans-serif;text-align:center;text-shadow:0 1px 1px rgba(0,0,0,.35);background:linear-gradient(180deg,#b8eaf4 0,#4fc3d8 8%,var(--teal) 28%,var(--teal-lo) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}.xp-pie p{margin:0}.xp-pie a{color:var(--yellow);text-decoration:none}.xp-pie a:hover{text-decoration:underline}.xp-menubar{position:relative}.xp-salir{margin-left:auto}.xp-menubar .xp-salir button,.xp-menubar .xp-salir button:not(.secundario):not(:disabled){min-width:0;font:11px Tahoma,sans-serif;font-weight:400;color:var(--ink);background:transparent;border:1px solid transparent;padding:2px 8px;box-shadow:none}.xp-menubar .xp-salir button:hover{background:var(--face);border-color:var(--hilite) var(--shadow) var(--shadow) var(--hilite);filter:none}.xp-menubar .xp-salir button:active{padding:2px 8px;border-color:var(--shadow) var(--hilite) var(--hilite) var(--shadow)}.xp-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px 16px 64px}.xp-dialog{width:100%;max-width:400px}.xp-dialog-body{padding:14px 16px 16px}.xp-dialog-body .logo-grande{display:block;width:min(260px,100%);height:auto;margin:2px auto 10px}.xp-dialog h1{font:700 13px Trebuchet MS,Tahoma,sans-serif;color:var(--teal);margin:0 0 4px}.xp-dialog .meta{margin-bottom:10px}main{max-width:1040px;width:100%;margin:0 auto;padding:12px}.tarjeta{background:var(--face);border:1px solid var(--shadow);box-shadow:1px 1px 0 var(--hilite);padding:10px 12px;margin-bottom:10px}.tarjeta h2{margin:0 0 4px;font:700 11px Tahoma,sans-serif;color:var(--teal)}.meta,.tarjeta .meta{color:var(--gray);font-size:11px}.fila{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline}.valor{font:700 16px Tahoma,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--teal)}.badge{display:inline-block;padding:0 6px;font:700 10px Tahoma,sans-serif;text-transform:uppercase;border:1px solid;border-color:var(--hilite) var(--dkshadow) var(--dkshadow) var(--hilite);background:var(--face-lo);color:var(--ink)}.badge.aprobada,.badge.validada{background:var(--teal);color:#fff;border-color:var(--teal-hi) var(--teal-lo) var(--teal-lo) var(--teal-hi)}.badge.pagada{background:var(--ok);color:#fff}.badge.rechazada{background:var(--mal);color:#fff}.badge.recibida{background:var(--yellow);color:var(--ink)}.hallazgo{font-size:11px;padding:4px 6px;margin-top:4px;border:1px solid}.hallazgo.bloquea{background:#e8c8c8;color:var(--mal);border-color:var(--mal)}.hallazgo.avisa{background:#efe8a8;color:#5a5200;border-color:#b8a800}button{font:11px Tahoma,"MS Sans Serif",sans-serif;padding:3px 14px;min-width:75px;min-height:23px;background:var(--face);color:var(--ink);border:2px solid;border-color:var(--hilite) var(--dkshadow) var(--dkshadow) var(--hilite);border-radius:0;box-shadow:none;cursor:pointer}button:hover{background:var(--face-hi)}button:active{border-color:var(--dkshadow) var(--hilite) var(--hilite) var(--dkshadow);padding:4px 13px 2px 15px}button:focus{outline:1px dotted #000;outline-offset:-5px}button.secundario{background:var(--face);color:var(--ink)}button:not(.secundario):not(:disabled){background:var(--yellow);font-weight:700;color:var(--teal)}button:not(.secundario):not(:disabled):hover{filter:brightness(1.06)}button:disabled{color:var(--shadow);background:var(--face);text-shadow:1px 1px 0 var(--hilite);cursor:not-allowed}.acciones{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}input[type=date],input[type=file],input[type=password],input[type=text],select{font:11px Tahoma,"MS Sans Serif",sans-serif;padding:3px 4px;width:100%;background:var(--face-hi);color:var(--ink);border:2px solid;border-color:var(--shadow) var(--hilite) var(--hilite) var(--shadow);border-radius:0;outline:none}input:focus,select:focus{outline:1px dotted var(--teal);outline-offset:-3px}.aviso{background:#efe8a8;color:#5a5200;border:2px solid;border-color:var(--hilite) #b8a800 #b8a800 var(--hilite);padding:6px 8px;margin-bottom:10px;font-size:11px}.error{background:#e8c8c8;color:var(--mal);border-color:var(--hilite) var(--mal) var(--mal) var(--hilite)}.vacio{color:var(--gray);text-align:center;padding:28px 0}.badge.inscrito{background:var(--teal);color:#fff;border-color:var(--teal-hi) var(--teal-lo) var(--teal-lo) var(--teal-hi)}.badge.suspendido{background:var(--mal);color:#fff}.form-grid{display:grid;grid-template-columns:minmax(90px,160px) 1fr;grid-gap:6px 10px;gap:6px 10px;align-items:center;margin-top:8px}.form-grid .ancho{grid-column:1/-1}.form-grid input,.form-grid select{width:100%}a{color:var(--teal)}.xp-link-btn{display:inline-flex;align-items:center;padding:3px 14px;min-height:23px;background:var(--face);color:var(--ink);text-decoration:none;border:2px solid;border-color:var(--hilite) var(--dkshadow) var(--dkshadow) var(--hilite)}code{font-family:Courier New,monospace;font-size:11px}@media (max-width:860px){.xp-desktop{padding:0 0 56px}.xp-window{border-radius:0;border-width:0;box-shadow:none}main{padding:10px}body:after{height:28%}.form-grid{grid-template-columns:1fr}}