/* Dia do Operador — front-end */
.do-app{--do-ink:#1A1C2E;--do-soft:#5B6072;--do-line:#D9DCE6;--do-amber:#E0991A;--do-amber-deep:#B57810;
  --do-ocup:#C9CDD6;--do-ocup-ink:#8A8FA0;--do-success:#1F8A5B;--do-success-bg:#E6F4EC;--do-danger:#C0392B;--do-danger-bg:#FBEAE8;
  font-family:inherit;color:var(--do-ink);max-width:1080px;margin:0 auto;}
.do-app *{box-sizing:border-box;}

.do-head{text-align:center;margin-bottom:22px;}
.do-logo{max-height:90px;margin-bottom:14px;}
.do-title{font-size:28px;font-weight:700;margin:0 0 6px;color:#fff;}
.do-sub{color:#fff;margin:0;}

.do-status{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px;}
.do-pill{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--do-line);border-radius:999px;padding:7px 14px;font-size:13px;box-shadow:0 2px 8px rgba(26,28,46,.06);}
.do-pill .do-dot{width:9px;height:9px;border-radius:50%;background:var(--do-ocup);}
.do-pill.open .do-dot{background:var(--do-success);}

.do-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:18px 0;font-size:13px;color:#fff;}
.do-legend span{display:inline-flex;align-items:center;gap:8px;}
.do-lg{width:20px;height:20px;border-radius:6px;border:1px solid var(--do-line);background:#fff;}
.do-lg.ocupado{background:var(--do-ocup);border-color:var(--do-ocup);}
.do-lg.sel{background:var(--do-amber);border-color:var(--do-amber-deep);}

.do-grid-panel{background:#fff;border:1px solid var(--do-line);border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(26,28,46,.06);}
.do-grid-scroll{max-height:440px;overflow-y:auto;padding:4px;}
.do-grid-scroll.do-noscroll{max-height:none;overflow:visible;}
.do-grid{display:grid;gap:8px;grid-template-columns:repeat(var(--do-cols,15),1fr);}
.do-seat{aspect-ratio:1;border:1px solid var(--do-line);background:#fff;border-radius:7px;font-weight:600;font-size:clamp(10px,2.4vw,13px);line-height:1;color:var(--do-ink);cursor:pointer;transition:.12s;display:flex;align-items:center;justify-content:center;user-select:none;padding:0;}
.do-seat:hover{border-color:var(--do-amber);background:#FDF4E1;transform:translateY(-1px);}
.do-seat.ocupado{background:var(--do-ocup);color:var(--do-ocup-ink);border-color:var(--do-ocup);cursor:not-allowed;}
.do-seat.ocupado:hover{transform:none;background:var(--do-ocup);}

.do-consult-cta{text-align:center;margin-top:18px;}
.do-consult-cta.standalone{margin-top:0;}
.do-consult-cta button{background:#fff;border:1px solid #fff;color:#1A1C2E;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;border-radius:10px;padding:11px 24px;transition:.15s;}
.do-consult-cta button:hover{background:#1F8A5B;border-color:#1F8A5B;color:#fff;}

/* modal */
.do-modal-bg{position:fixed;inset:0;background:rgba(26,28,46,.55);display:none;align-items:center;justify-content:center;z-index:99999;padding:18px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.do-modal-bg.show{display:flex;}
.do-modal{background:#fff;border-radius:18px;width:100%;max-width:430px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.3);overflow:hidden;animation:doPop .2s ease;font-family:inherit;color:#1A1C2E;}
.do-modal,.do-modal *{box-sizing:border-box;}
@keyframes doPop{from{transform:scale(.94);opacity:0;}to{transform:none;opacity:1;}}
.do-modal-head{background:#1A1C2E;color:#fff;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;}
.do-n-label{font-size:12px;color:#A9AEC4;text-transform:uppercase;letter-spacing:.06em;}
.do-n-big{font-weight:700;font-size:30px;line-height:1;}
.do-close{background:none;border:none;color:#A9AEC4;font-size:22px;cursor:pointer;line-height:1;}
.do-modal-body{padding:22px;overflow-y:auto;-webkit-overflow-scrolling:touch;}

.do-field{margin-bottom:14px;}
.do-field label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;}
.do-field label .req{color:#C0392B;}
.do-field input,.do-field select{width:100%;padding:11px 13px;border:1px solid #D9DCE6;border-radius:9px;font-size:14px;font-family:inherit;background:#fff;}
.do-field input:focus,.do-field select:focus{outline:none;border-color:#E0991A;box-shadow:0 0 0 3px rgba(224,153,26,.15);}
.do-field input.ok{border-color:#1F8A5B;background:#E6F4EC;}
.do-field input.bad{border-color:#C0392B;background:#FBEAE8;}
.do-field input:disabled{background:#F1F2F6;color:#5B6072;}
.do-hint{font-size:12px;margin-top:5px;min-height:16px;color:#5B6072;}
.do-hint.ok{color:#1F8A5B;}
.do-hint.bad{color:#C0392B;}
.do-hint.soft{color:#5B6072;}

.do-btn{width:100%;border:none;border-radius:10px;padding:13px;font-weight:600;font-size:15px;cursor:pointer;background:#E0991A;color:#fff;font-family:inherit;transition:.15s;}
.do-btn:hover{background:#B57810;}
.do-btn:disabled{background:#E2C892;cursor:not-allowed;}
.do-btn.ghost{background:#EEF0F5;color:#1A1C2E;}
.do-btn.auto{width:auto;padding:0 18px;}
.do-lgpd{font-size:11px;color:#5B6072;margin-top:12px;text-align:center;}

.do-occ{text-align:center;}
.do-occ-ico{font-size:40px;}
.do-occ h3{margin:10px 0 6px;font-size:19px;}
.do-occ p{color:#5B6072;margin:0 0 18px;font-size:14px;}

.do-ok{text-align:center;}
.do-check{width:62px;height:62px;border-radius:50%;background:#E6F4EC;color:#1F8A5B;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 14px;}
.do-ok h3{font-size:20px;margin:0 0 4px;}
.do-ok-sub{color:#5B6072;font-size:13px;margin-bottom:18px;}
.do-ticket{border:2px dashed #E0991A;border-radius:12px;padding:16px;background:#FDF8EE;margin-bottom:16px;}
.do-tk-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#B57810;}
.do-tk-num{font-weight:700;font-size:46px;line-height:1;color:#1A1C2E;}
.do-tk-code{font-size:12px;color:#5B6072;margin-top:6px;}
.do-tk-data{font-size:13px;margin-top:10px;border-top:1px solid #EBD9AE;padding-top:10px;text-align:left;}
.do-tk-data div{display:flex;justify-content:space-between;padding:2px 0;}
.do-tk-data span{color:#5B6072;}

.do-lk-intro{margin-top:0;color:#5B6072;font-size:13px;}
.do-lk-row{display:flex;gap:8px;margin-bottom:6px;}
.do-lk-row input{flex:1;padding:11px 13px;border:1px solid #D9DCE6;border-radius:9px;font-size:14px;font-family:inherit;}
.do-result{border:1px solid #D9DCE6;border-radius:12px;padding:16px;display:flex;align-items:center;gap:16px;background:#FAFBFD;margin-top:12px;}
.do-rnum{flex:0 0 auto;width:68px;height:68px;border-radius:12px;background:#1A1C2E;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.do-rnum small{font-size:9px;color:#A9AEC4;text-transform:uppercase;}
.do-rnum b{font-size:26px;line-height:1;}
.do-rinfo div{font-size:13px;padding:1px 0;}
.do-rinfo span{color:#5B6072;}

/* trava o scroll do fundo enquanto o modal está aberto */
body.do-modal-open{overflow:hidden;}

/* tablet */
@media(max-width:1024px){
  .do-grid{grid-template-columns:repeat(var(--do-cols-tablet,12),1fr);gap:7px;}
}
/* celular */
@media(max-width:600px){
  .do-grid{grid-template-columns:repeat(var(--do-cols-mobile,10),1fr);gap:5px;}
  .do-grid-panel{padding:12px;}
  .do-grid-scroll{padding:2px;}
  .do-title{font-size:24px;}
  .do-legend{gap:14px;}
  .do-modal-bg{padding:10px;align-items:flex-start;}
  .do-modal{max-width:100%;max-height:94vh;margin-top:auto;margin-bottom:auto;}
  .do-modal-head{padding:14px 18px;}
  .do-n-big{font-size:26px;}
  .do-modal-body{padding:18px;}
  .do-tk-num{font-size:40px;}
}
