@font-face{font-family:'Bebas Neue';src:url('bebas-neue.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}:root{--red:#ed1c24;--black:#101010;--paper:#eceae4;--gray:#bebdb7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--black);font-family:Arial,Helvetica,sans-serif;font-size:16px}button,input,select{font:inherit}button{border:2px solid var(--black);background:var(--paper);color:var(--black);padding:12px 16px;font-weight:800;cursor:pointer;min-height:46px}button:hover{background:#d9d6ce}button:disabled{opacity:.45;cursor:wait}button.red{background:var(--red);color:white}header{background:var(--black);border-top:8px solid var(--red);color:white;display:flex;justify-content:space-between;align-items:center;padding:20px 4vw;gap:20px}.brand{font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-size:44px;letter-spacing:-1px;line-height:1}.brand span{display:block;font:700 11px Arial;letter-spacing:2px;margin-top:10px}.tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#connection{font:700 12px Arial}main{padding:28px 4vw;min-height:75vh}h1,h2,h3{font-family:'Bebas Neue',Impact,'Arial Narrow',sans-serif;font-weight:400;line-height:.95;margin:0}h1{font-size:clamp(42px,6vw,76px);letter-spacing:-1px}h2{font-size:30px;margin-bottom:18px}h3{font-size:25px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:900;margin:0 0 12px}.login{max-width:470px;margin:30px auto}.login h1{font-size:90px;margin-bottom:30px}.muted{font-size:14px;color:#575751;line-height:1.5}label{display:block;font-size:13px;font-weight:700;margin:14px 0}input,select{display:block;width:100%;padding:12px;background:#fff;border:2px solid var(--black);border-radius:0;min-height:46px;margin-top:7px}input:focus,select:focus,button:focus-visible{outline:3px solid #225fcd;outline-offset:3px}nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}nav .active{background:var(--black);color:white}#shift-bar{border:2px solid var(--black);padding:15px;margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:15px}#shift-bar .inline{margin:0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-title select{width:auto}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:25px}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-content:start}.locker{aspect-ratio:1;display:flex;flex-direction:column;align-items:start;justify-content:space-between;padding:12px}.locker strong{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;font-size:38px;line-height:1}.locker small{font-size:10px;letter-spacing:1px}.locker.open{background:var(--black);color:white}.locker.selected{outline:4px solid var(--red);outline-offset:0}.locker .value{font-size:14px}.panel,aside{border:2px solid var(--black);padding:22px;background:#f8f7f2;margin-bottom:18px}aside{position:sticky;top:20px;align-self:start;max-height:85vh;overflow:auto}.line{padding:14px 0;border-bottom:1px solid var(--gray);display:flex;justify-content:space-between;gap:12px}.item-name{font-weight:800}.item-controls{display:flex;align-items:center;gap:10px;margin-top:8px}.item-controls button{padding:4px 12px;min-height:38px}.total{font-size:32px;font-weight:900;margin:24px 0}.wide{display:block;width:100%;margin-top:10px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline label{flex:1;margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.card{border:2px solid var(--black);padding:20px}.card strong{display:block;font-size:28px;margin-top:10px}.card small{font-size:11px;font-weight:800}.table-scroll{overflow:auto;margin:15px 0 30px}table{width:100%;border-collapse:collapse;font-size:14px;background:#f8f7f2}th,td{text-align:left;border-bottom:1px solid var(--gray);padding:12px;white-space:nowrap}th{background:var(--black);color:white;font-size:11px;text-transform:uppercase}#notice{position:sticky;top:0;z-index:10;background:#ffe9b2;color:#101010;padding:18px 4vw;border-bottom:3px solid var(--black);font-weight:700}#notice.error{background:#fbc3c6}dialog{max-width:500px;border:3px solid var(--black);background:var(--paper);padding:30px}dialog::backdrop{background:#000a}dialog p{line-height:1.5;white-space:pre-line}footer{display:flex;justify-content:space-between;padding:25px 4vw;background:var(--black);color:white;font-size:11px;font-weight:800;letter-spacing:1px}[hidden]{display:none!important}@media(max-width:1050px){.grid{grid-template-columns:repeat(4,1fr)}.workspace{grid-template-columns:1fr 330px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:740px){header{padding:18px 5vw}.brand{font-size:34px}.tools{justify-content:end}#connection{width:100%;text-align:right}.workspace{grid-template-columns:1fr}.grid{grid-template-columns:repeat(4,1fr)}aside{position:static;max-height:none}.columns{grid-template-columns:1fr}.locker{min-height:100px}.locker strong{font-size:32px}main{padding:22px 5vw}.section-title{align-items:start;flex-direction:column;gap:8px}h1{font-size:48px}#shift-bar{flex-direction:column;align-items:start}.cards .card{padding:15px}.card strong{font-size:24px}.login h1{font-size:76px}}@media print{header,nav,footer,#notice,#shift-bar,.columns,#close-panel,.section-title select,button{display:none!important}main{padding:0}body{background:white}h1{font-size:32px}.cards{grid-template-columns:repeat(4,1fr)}.card{padding:10px}th{background:#ddd;color:black}}
/* Identidad brutalista HARDCORE: cortes rectos, contraste y tipografía condensada. */
.brand{font-size:58px;letter-spacing:0}.login{max-width:490px;border-left:8px solid var(--red);padding-left:26px}.login h1{font-size:112px;line-height:.86;letter-spacing:-1px;margin:24px 0 32px}.login .eyebrow{display:inline-block;background:var(--black);color:white;padding:9px 12px;letter-spacing:1.3px}.login form button{width:100%;font-family:'Bebas Neue',Impact,sans-serif;font-size:30px;letter-spacing:1px;padding:10px}.login label{text-transform:uppercase;letter-spacing:1px}button{border-width:3px;box-shadow:3px 3px 0 var(--black)}button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--black)}button:disabled{box-shadow:none}input,select{border-width:3px}.panel,aside,.card,#shift-bar{border-width:3px}.locker{border-width:3px;box-shadow:4px 4px 0 var(--black)}.section-title{border-bottom:6px solid var(--black);padding-bottom:20px}.section-title h1{font-size:72px}.total{border-top:5px solid var(--black);padding-top:18px}.login .muted{font-size:12px;letter-spacing:.4px}nav button{font-family:'Bebas Neue',Impact,sans-serif;font-size:24px;letter-spacing:.5px}header .tools button{box-shadow:3px 3px 0 var(--red)}@media(max-width:740px){.brand{font-size:42px}.login{padding-left:18px;border-left-width:6px}.login h1{font-size:94px}.section-title h1{font-size:58px}}
