/* Terminal táctil 1.1: sin campos de contraseña ni teclado nativo. */
.terminal-body{min-height:100vh;min-height:100dvh;padding:clamp(12px,2.4vw,32px);padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));gap:clamp(8px,1.5vh,18px);overflow-x:hidden;touch-action:manipulation}
.terminal-brand{position:static;margin:0;text-align:center;max-width:100%;overflow-wrap:anywhere;font-size:clamp(12px,1.8vw,16px)}
.terminal-time{text-align:center;min-width:0}.terminal-clock{font-size:clamp(40px,8vw,80px);line-height:1.05;letter-spacing:-2px}.terminal-date{margin:8px 0 0;font-size:clamp(12px,1.8vw,17px)}
.terminal-card{width:min(100%,520px);padding:clamp(16px,3vw,30px);margin:0;min-width:0}.terminal-card h1{font-size:clamp(21px,3vw,29px);margin-bottom:6px}.terminal-card>p{margin:6px 0 10px}
.pin-display{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(46px,8vh,70px);margin:10px 0 16px;border:1px solid #bdcbc2;border-radius:9px;background:#f7faf7;color:#18312e;font-size:clamp(20px,4vw,30px);letter-spacing:clamp(2px,.8vw,7px);font-variant-numeric:tabular-nums;user-select:none;-webkit-user-select:none}
.keypad{gap:clamp(7px,1.3vw,12px)}.keypad button{height:clamp(44px,8vh,72px);padding:5px;font-size:clamp(23px,3.5vw,32px);border-radius:10px;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.keypad button:active{background:#d5e6dc;transform:scale(.97)}.keypad button:focus-visible{outline:3px solid #b58a49;outline-offset:2px}
.terminal-card .primary,.terminal-card #pause{min-height:44px;font-size:clamp(13px,1.9vw,16px)}.terminal-card #pause{width:100%}.terminal-footer{margin:0;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;text-align:center}.terminal-footer button{padding:7px 10px;font-size:12px;background:transparent;color:#d5e5db;border-color:#587c6a;min-height:36px}.terminal-footer button[hidden]{display:none}.error-text:empty{display:none}.terminal-result{padding:clamp(12px,3vh,30px) 0}
@media(orientation:landscape) and (min-width:700px){.terminal-body{display:grid;grid-template-columns:minmax(200px,1fr) minmax(340px,520px);grid-template-rows:auto 1fr auto;column-gap:clamp(20px,5vw,90px);max-width:1250px;margin-inline:auto;align-items:center;align-content:center}.terminal-brand{grid-column:1;grid-row:1}.terminal-time{grid-column:1;grid-row:2}.terminal-card{grid-column:2;grid-row:1/4;justify-self:center}.terminal-footer{grid-column:1;grid-row:3}.terminal-clock{font-size:clamp(42px,7.6vw,100px)}.keypad button{height:clamp(44px,9vh,72px)}.terminal-date{line-height:1.5}}
@media(max-height:550px){.terminal-body{gap:6px}.terminal-card{padding:12px 18px}.terminal-card h1{font-size:21px}.terminal-card>p{font-size:12px;margin:3px 0}.pin-display{height:40px;margin:6px 0 9px}.keypad{gap:6px}.keypad button{height:44px;font-size:23px}.terminal-card .primary{margin:9px 0 6px}.terminal-card #pause{padding:7px}.terminal-result .success{font-size:32px;margin-bottom:10px}}
