:root{font-family:Arial,Helvetica,sans-serif;color:#101511;background:#111914;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid currentColor;border-radius:5px;padding:8px 13px;background:transparent;color:inherit}button:hover{background:#ffffff30}button:focus-visible,input:focus-visible{outline:3px solid #315eff;outline-offset:3px}[hidden]{display:none!important}header{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;color:#fff}.brand{font-size:27px;font-weight:900;letter-spacing:1px;display:flex;align-items:center;gap:18px}.brand span{font-size:14px;letter-spacing:3px;font-weight:400;border-left:1px solid #9caaa1;padding-left:18px}.header-right{display:flex;align-items:center;gap:16px}time{font-size:20px;font-variant-numeric:tabular-nums}#notice{padding:7px 24px;background:#e6e9e6;font-size:15px;min-height:32px}#notice.warning{background:#ffce6b}#notice.demo{background:#cedfff}.board{height:calc(100dvh - 135px);min-height:510px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:45fr 30fr 25fr;gap:3px;padding:3px;background:#19382a}.tile{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:22px;overflow:hidden}.ontime{grid-area:1/1/2/2;background:#00b050}.today{grid-area:1/2/2/3;background:#ffff00}.late{grid-area:2/1/4/2;background:#f00000}.queue{grid-area:2/2/3/3;background:#f3ac82;justify-content:flex-start;padding:16px 24px}.processed{grid-area:3/2/4/3;background:#83df8e}h1,h2,p{margin:0}h1,h2{font-size:clamp(20px,1.9vw,38px);font-weight:500;line-height:1.22}strong{font-size:clamp(65px,7.6vw,150px);font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;margin:10px 0}.tile p{font-size:clamp(18px,1.6vw,32px)}small{font-size:15px;margin-top:10px}.queue-title{display:flex;align-items:center;gap:12px;width:100%;justify-content:space-between;margin-bottom:10px}.queue h2{font-size:clamp(17px,1.35vw,28px);text-align:left}#page{font-size:14px;white-space:nowrap}table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}th{font-size:14px;font-weight:500;padding-bottom:6px;border-bottom:1px solid #0005}td{font-size:clamp(17px,1.6vw,29px);padding:7px 0;border-bottom:1px solid #0002;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th:first-child,td:first-child{width:29%;font-weight:700}th:last-child,td:last-child{text-align:right}#empty{font-size:19px;margin:auto}.processed h2{font-size:clamp(18px,1.7vw,34px)}.processed>div{display:flex;align-items:center;gap:30px}.processed strong{font-size:clamp(45px,5.2vw,100px);margin:3px}.processed small{margin-top:0}.processed button{font-size:15px}footer{display:flex;justify-content:space-between;gap:12px;padding:10px 20px;color:#d3dfd7;font-size:14px}#login{min-height:100dvh;display:grid;place-items:center;padding:20px;color:#fff}form{max-width:420px;width:100%;padding:32px;background:#203329;border:1px solid #43594b;border-radius:12px}form .brand{margin-bottom:38px;font-size:25px}form .brand span{font-size:11px}form h1{font-size:25px;margin-bottom:24px}label{display:block;font-size:16px;margin-top:18px}input{width:100%;display:block;margin-top:8px;padding:13px;border:1px solid #91a699;border-radius:5px}form button{margin-top:24px;width:100%;background:#00b050;color:#07170f;border:0;padding:14px;font-weight:700}#loginError{margin-top:14px;color:#ffbdad;font-size:16px}dialog{width:min(720px,94vw);max-height:85vh;border:0;border-radius:12px;padding:26px;background:#f4faf5}dialog::backdrop{background:#000b}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}dialog p{margin-bottom:18px;font-size:16px}dialog td{font-size:20px}@media(min-height:950px){td{padding:10px 0}}@media(max-width:700px){header{padding:12px;flex-wrap:wrap;gap:12px}.brand{font-size:21px}.header-right{gap:8px}time{font-size:15px}.board{height:auto;min-height:0;display:flex;flex-direction:column}.tile{min-height:230px}.queue{min-height:270px;order:4}.processed{order:5}.tile strong{font-size:76px}h1,h2{font-size:23px}.queue h2{font-size:19px}td{font-size:19px}footer{flex-direction:column;font-size:14px}.processed h2{font-size:22px}#notice{padding:8px 12px}small{font-size:14px}}
.month-total{font-size:14px;text-align:left;white-space:nowrap}.month-total b{display:block;font-size:36px}.period{display:flex;gap:8px;margin-bottom:16px}

/* TV widescreen: quatro indicadores à esquerda e fila em coluna integral. */
@media(min-width:701px){
 #dashboard{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
 .board{height:auto;min-height:0;grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,4fr);grid-template-rows:repeat(2,minmax(0,1fr))}
 .ontime{grid-area:1/1/2/2}.today{grid-area:1/2/2/3}
 .late{grid-area:2/1/3/2}.processed{grid-area:2/2/3/3}
 .queue{grid-area:1/3/3/4;padding:24px;min-height:0}
 .tile h1,.tile h2{font-size:clamp(20px,1.65vw,34px);line-height:1.3}
 .queue h2{font-size:clamp(20px,1.5vw,30px)}
 .queue-title{margin-bottom:24px;align-items:flex-start;gap:20px}
 #page{font-size:18px;padding-top:5px}
 .queue th{font-size:clamp(16px,1.05vw,22px);padding-bottom:14px}
 .queue td{font-size:clamp(18px,1.35vw,28px);padding:12px 0}
 .queue th:first-child,.queue td:first-child{width:24%}
 .queue th:nth-child(2),.queue td:nth-child(2){width:30%}
 .queue th:last-child,.queue td:last-child{width:46%}
 .processed>div{flex-wrap:wrap;justify-content:center;gap:18px 26px;margin:20px 0}
 .processed strong{font-size:clamp(65px,7.6vw,150px)}
 .processed small{font-size:clamp(14px,1vw,20px)}
 .month-total{font-size:clamp(14px,1vw,20px)}
 .month-total b{font-size:clamp(32px,2.7vw,54px)}
}
.queue-list{--queue-font:28px;flex:1;min-height:0;width:100%;overflow:hidden}
.queue-list table{transform-origin:top left}
.queue .queue-list td{font-size:var(--queue-font);line-height:1.15;padding:calc(var(--queue-font)*.19) 0;border:0}
.queue .queue-list tr:nth-child(even){background:#00000008}
.queue-title{flex-shrink:0}
@media(max-width:700px){.queue{height:80dvh;min-height:270px;flex-shrink:0}}
