/* ABC Dochazka - zamestnanecky terminal (mobile-first). */
body.terminal{background:var(--bg);max-width:480px;margin:0 auto;min-height:100vh;position:relative}
.boot{display:flex;align-items:center;justify-content:center;min-height:100vh}
.t-wrap{padding:1.1rem 1rem calc(2rem + env(safe-area-inset-bottom))}

/* header */
.t-head{display:flex;align-items:center;gap:.7rem;padding:.4rem 0 1rem}
.t-head img{max-height:34px;max-width:120px}
.t-head .nm{font-weight:700;font-size:1.05rem}
.t-head .who{margin-left:auto;text-align:right;font-size:.78rem;color:var(--muted)}
.t-head .who b{display:block;color:var(--text);font-size:.85rem}

/* login (name + pin) */
.t-login{display:flex;flex-direction:column;gap:1rem;padding-top:2rem}
.t-login .logo-big{text-align:center;margin-bottom:.5rem}
.t-login .logo-big img{max-height:56px}
.t-login h1{text-align:center;font-size:1.4rem}
.t-login .sub{text-align:center;color:var(--muted);font-size:.88rem;margin-top:-.4rem}
.pin-dots{display:flex;gap:.7rem;justify-content:center;margin:.6rem 0}
.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-strong)}
.pin-dot.on{background:var(--accent);border-color:var(--accent)}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;max-width:300px;margin:0 auto;width:100%}
.key{aspect-ratio:1.6;font-size:1.5rem;font-weight:600;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;font-family:inherit;color:var(--text)}
.key:active{background:var(--accent-soft)}
.key.fn{font-size:1rem;color:var(--muted)}

/* big scan button */
.scan-btn{width:100%;border:none;border-radius:var(--radius-lg);background:var(--accent);color:var(--accent-contrast);
  padding:1.6rem;font-size:1.3rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.6rem;box-shadow:var(--shadow);font-family:inherit}
.scan-btn:active{background:var(--accent-hover)}
.scan-btn svg{width:42px;height:42px}

/* status card */
.status-card{margin-top:1rem;padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:.8rem}
.status-card .dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.status-card.working{border-color:var(--green);background:var(--green-bg)}
.status-card.working .dot{background:var(--green)}
.status-card.idle .dot{background:var(--muted-2)}
.status-card .st-main{flex:1;min-width:0}
.status-card .st-t{font-weight:600}
.status-card .st-s{font-size:.82rem;color:var(--muted)}

.section{margin-top:1.3rem}
.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;margin-bottom:.5rem;display:flex;align-items:center}
.section-title .mini-btn{margin-left:auto;text-transform:none;letter-spacing:0;background:var(--accent-soft);color:var(--accent);border:1px solid var(--border);border-radius:7px;padding:.2rem .55rem;font-size:.78rem;cursor:pointer;font-family:inherit;font-weight:600}

.sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.5rem}
.sum-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .4rem;text-align:center}
.sum-item .v{font-size:1.1rem;font-weight:700}
.sum-item .k{font-size:.68rem;color:var(--muted);margin-top:.1rem}

.list-row{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid var(--border)}
.list-row:last-child{border-bottom:none}
.list-row .main{flex:1;min-width:0}
.list-row .t{font-weight:600;font-size:.9rem}
.list-row .s{font-size:.78rem;color:var(--muted)}

/* scanner overlay */
.scanner-overlay{position:fixed;inset:0;background:#000;z-index:2000;display:none;flex-direction:column;align-items:center;justify-content:center}
.scanner-overlay.show{display:flex}
.scanner-close{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.15);color:#fff;border:none;width:44px;height:44px;border-radius:50%;font-size:1.6rem;cursor:pointer;z-index:5}
.scanner-frame{width:86vw;max-width:380px;aspect-ratio:1;border-radius:18px;overflow:hidden}
#scannerEl{width:100%}
.scanner-hint{color:#fff;margin-top:1.2rem;font-size:.9rem;opacity:.85}

/* scan result */
.result-overlay{position:fixed;inset:0;background:rgba(24,24,27,.55);z-index:2100;display:none;align-items:center;justify-content:center;padding:1.5rem}
.result-overlay.show{display:flex}
.result-card{background:var(--surface);border-radius:var(--radius-lg);padding:2rem 1.6rem;text-align:center;max-width:360px;width:100%;animation:toastIn .2s}
.result-card .big-ico{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.result-card .big-ico svg{width:40px;height:40px;color:#fff}
.result-card.in .big-ico{background:var(--green)}
.result-card.out .big-ico{background:var(--accent)}
.result-card.err .big-ico{background:var(--red)}
.result-card h2{font-size:1.4rem;margin-bottom:.3rem}
.result-card .r-loc{color:var(--muted);margin-bottom:.2rem}
.result-card .r-time{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums}
.result-card .r-worked{margin-top:.4rem;color:var(--muted)}

.install-bar{position:fixed;left:0;right:0;bottom:0;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));display:flex;justify-content:center;z-index:900;pointer-events:none}
.install-bar>*{pointer-events:auto;max-width:440px;width:100%}
.banner.sub-warn{margin-top:1rem}
