*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,sans-serif}
:root{--g:#1B5E20;--g2:#2E7D32;--g3:#4CAF50;--bg:#f0f4f0;--red:#c62828;--ora:#e65100}
body{background:var(--bg);min-height:100vh}
.screen{display:none;position:fixed;top:0;left:0;right:0;bottom:0;flex-direction:column;background:#f5f5f5;z-index:10;overflow:hidden}
.screen.active{display:flex}
.bar{background:var(--g);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:99;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.bar h1{font-size:18px;font-weight:700}
.bar small{font-size:13px;opacity:.85}
.content{flex:1;overflow-y:auto;padding-bottom:76px}
.nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #ddd;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:99}
.nb{flex:1;min-width:50px;display:flex;flex-direction:column;align-items:center;padding:8px 2px;font-size:11px;background:none;border:none;cursor:pointer;color:#999;gap:2px}
.nb.on,.nb:hover{color:var(--g)}
.nb i{font-size:28px;font-style:normal}
.card{background:#fff;border-radius:12px;margin:10px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.hero{background:var(--g);color:#fff;border-radius:12px;margin:10px;padding:20px}
.btn{display:block;width:100%;padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;margin-top:10px;text-align:center;transition:.15s}
.btn:active{opacity:.8}
.bg{background:var(--g);color:#fff}
.bo{background:#fff;color:var(--g);border:2px solid var(--g)}
.br{background:var(--red);color:#fff}
.by{background:var(--ora);color:#fff}
.bs{display:inline-block;padding:8px 16px;width:auto;margin-top:0;font-size:13px;border-radius:8px}
.inp{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:15px;margin-top:6px;background:#fff;box-sizing:border-box}
.inp:focus{outline:none;border-color:var(--g)}
select.inp{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}
.lbl{font-size:12px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-top:14px;display:block}
.err{color:var(--red);text-align:center;font-size:14px;margin-top:8px;min-height:20px}
.jc{background:#fff;border-radius:12px;margin:8px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.1);cursor:pointer;border-left:5px solid var(--g3);transition:.15s}
.jc:active{transform:scale(.98)}
.jc h3{font-size:16px;font-weight:700;margin-bottom:4px}
.jc p{font-size:13px;color:#666}
.tag{background:#E8F5E9;color:var(--g);padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;display:inline-block}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.cl-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #eee}
.cl-item input{width:22px;height:22px;cursor:pointer;accent-color:var(--g);flex-shrink:0}
.cl-item label{font-size:14px;line-height:1.4;cursor:pointer;flex:1}
.cl-item.done label{text-decoration:line-through;color:#999}
.sep{height:8px;background:var(--bg)}
.sec{font-size:12px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px 4px}
.toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:10px 22px;border-radius:22px;font-size:14px;z-index:999;opacity:0;transition:.3s;white-space:nowrap}
.toast.show{opacity:1}
.back{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0 8px 0 0;line-height:1}
.empty{text-align:center;padding:40px 20px;color:#999}
.empty i{font-size:48px;display:block;margin-bottom:8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}

/* ── Weekly Report ── */
.rpr-card{padding:6px;margin:2px 8px}
.rpr-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.rpr-rate{font-size:12px;color:#888;font-weight:400}
.rpr-table{width:100%;border-collapse:collapse;font-size:12px}
.rpr-day{padding:2px 4px;font-weight:600;width:34px}
.rpr-date{font-size:11px;color:#666;padding:2px 4px;width:52px}
.rpr-h{font-weight:700;color:var(--g);padding:2px 4px}
.rpr-pay{color:#444;font-size:12px;padding:2px 4px}
.rpr-none{color:#ddd;padding:1px 4px;font-size:11px}
.rpr-times-row td{padding-bottom:4px}
.rpr-edit-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px}
.rpr-total-row{border-top:2px solid #eee}
.rpr-total-row td{padding:4px 4px;font-weight:700;color:var(--g)}
.rpr-grand{margin:8px 10px;padding:14px 16px;background:var(--g);border-radius:12px;color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.rpr-grand-h{font-size:22px;font-weight:800;text-align:right}
.rpr-grand-p{font-size:15px;text-align:right}
.rpr-print-btn{margin:8px 10px 24px;width:calc(100% - 20px)}

/* ── Print Styles ── */
@media print {
  #gnav, .bar button, .rpr-edit-btn, .rpr-print-btn, #rp-tc-edit-modal { display:none !important; }
  .bar { box-shadow:none; border-bottom:1px solid #ddd; }
  .screen { position:static !important; overflow:visible !important; }
  .content { overflow:visible !important; padding-bottom:0 !important; }
  .rpr-card { break-inside:avoid; box-shadow:none; border:1px solid #ddd; margin:6px 0; }
  .rpr-grand { background:#333 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  body { font-size:13px; }
}

/* ── Tabela horizontal de relatorio ── */
.rpt-table{width:100%;border-collapse:collapse;font-size:13px}
.rpt-th-name{text-align:left;padding:8px 10px;background:#f0faf0;border-bottom:2px solid var(--g);white-space:nowrap;font-size:12px}
.rpt-th-day{text-align:center;padding:6px 3px;background:#f0faf0;border-bottom:2px solid var(--g);font-size:12px;font-weight:700;min-width:50px}
.rpt-th-date{font-weight:400;color:#888;font-size:10px;display:block}
.rpt-th-tot,.rpt-th-pay{text-align:center;padding:6px 8px;background:#f0faf0;border-bottom:2px solid var(--g);font-size:12px;font-weight:700;white-space:nowrap}
.rpt-emp-row:nth-child(even){background:#fafafa}
.rpt-emp-row:hover{background:#f0fbf0}
.rpt-name{padding:8px 10px;border-right:1px solid #eee;font-size:13px;white-space:nowrap}
.rpt-rate{font-size:11px;color:#888;font-weight:400}
.rpt-cell{text-align:center;padding:6px 3px;border:1px solid #f0f0f0;font-size:12px;vertical-align:middle}
.rpt-none{color:#ccc;font-size:11px}
.rpt-worked{color:var(--g);font-weight:700;cursor:pointer}
.rpt-worked:hover{background:#e8f8e8}
.rpt-open{color:#e53e3e;cursor:pointer}
.rpt-open:hover{background:#fff5f5}
.rpt-cell-pay{font-size:10px;color:#888;font-weight:400}
.rpt-tot{text-align:center;font-weight:700;color:var(--g);padding:6px 8px;border-left:2px solid #e0e0e0;white-space:nowrap}
.rpt-pay-tot{text-align:center;padding:6px 8px;color:#333;white-space:nowrap}
.rpt-grand-row{background:var(--g);color:#fff;font-weight:700}
.rpt-grand-lbl{padding:10px 10px;font-size:13px}
.rpt-grand-tot{text-align:center;font-size:15px;padding:10px 8px;border-left:2px solid rgba(255,255,255,0.3)}
.rpt-grand-pay{text-align:center;font-size:14px;padding:10px 8px}

/* ── Responsive: iPhone (<480px) ── */
@media (max-width:480px){
  .rpt-th-name{padding:6px 6px;min-width:80px;font-size:11px}
  .rpt-th-day{min-width:36px;font-size:10px;padding:4px 2px}
  .rpt-th-date{font-size:9px}
  .rpt-th-tot,.rpt-th-pay{padding:4px 4px;font-size:10px}
  .rpt-name{padding:6px 6px;font-size:11px}
  .rpt-cell{padding:5px 2px;font-size:11px}
  .rpt-cell-pay{font-size:9px}
  .rpt-tot,.rpt-pay-tot{padding:5px 4px;font-size:11px}
  .rpt-grand-lbl{padding:8px 6px;font-size:12px}
  .rpt-grand-tot,.rpt-grand-pay{padding:8px 5px;font-size:12px}
}

/* ── Responsive: iPad (481px–1024px) ── */
@media (min-width:481px) and (max-width:1024px){
  .rpt-th-day{min-width:46px}
  .rpt-table{font-size:13px}
}

/* ── Responsive: Desktop (>1024px) ── */
@media (min-width:1025px){
  .app{max-width:1100px;margin:0 auto}
  .rpt-table{font-size:14px}
  .rpt-th-day{min-width:64px;padding:8px 4px}
  .rpt-cell{padding:8px 4px;font-size:13px}
  .rpt-name{font-size:14px}
  .bar{font-size:16px}
}

/* ── Botoes do relatorio: tamanho consistente ── */
@media (max-width:480px){
  #rp-controls button, #rp-controls input[type=date]{
    font-size:11px;padding:7px 2px
  }
}
@media (min-width:481px) and (max-width:1024px){
  #rp-controls button, #rp-controls input[type=date]{
    font-size:13px;padding:9px 4px
  }
}
@media (min-width:1025px){
  #rp-controls button, #rp-controls input[type=date]{
    font-size:14px;padding:10px 8px
  }
}

/* ── Print ── */
@media print{
  .rpt-worked,.rpt-open{cursor:default}
  .rpt-emp-row:hover{background:inherit}
}

/* ── Botoes padronizados do relatorio ── */
.rp-btn{background:#fff;border:2px solid var(--g);color:var(--g);border-radius:8px;padding:9px 0;font-size:12px;font-weight:700;cursor:pointer;flex:1;text-align:center;min-width:0;line-height:1.2}
.rp-nav-btn{background:#fff;border:2px solid var(--g);color:var(--g);border-radius:8px;padding:9px 16px;font-size:16px;font-weight:700;cursor:pointer;flex-shrink:0;line-height:1}
@media (max-width:480px){
  .rp-btn{font-size:11px;padding:8px 0}
  .rp-nav-btn{padding:8px 12px;font-size:15px}
}
@media (min-width:1025px){
  .rp-btn{font-size:14px;padding:11px 0}
  .rp-nav-btn{padding:11px 20px;font-size:18px}
}

/* ── Relatorio de Jobs ── */
.jrp-section{margin:6px 8px 10px}
.jrp-day-hdr{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;font-weight:700;color:var(--g);font-size:13px;border-bottom:2px solid var(--g);margin-bottom:4px}
.jrp-day-cnt{font-size:11px;font-weight:400;color:#888;background:#f0faf0;padding:2px 8px;border-radius:10px}
.jrp-row{display:flex;align-items:flex-start;gap:8px;padding:8px 4px;border-bottom:1px solid #f5f5f5}
.jrp-row:last-child{border-bottom:none}
.jrp-time{font-size:11px;color:#888;white-space:nowrap;min-width:38px;padding-top:2px}
.jrp-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.jrp-info{flex:1;min-width:0}
.jrp-client{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jrp-addr{font-size:11px;color:#888;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jrp-meta{font-size:11px;color:#aaa;margin-top:2px}
.jrp-notes{font-size:11px;color:#e07000;margin-top:2px;font-style:italic}
.jrp-status{font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;white-space:nowrap;align-self:center;flex-shrink:0}
.jrp-summary{margin:8px 8px 16px;padding:12px 16px;background:var(--g);border-radius:12px;color:#fff;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}

/* ── Notification toggle rows ── */
.toggle-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  font-size: 15px;
  color: #333;
}
.toggle-row:last-child { border-bottom: none; }
.toggle-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--g);
  cursor: pointer;
  flex-shrink: 0;
}
