/* Stockton Tree Service mobile app navigation; desktop sidebar intentionally unchanged. */
.sts-mobile-header,.sts-mobile-bottom,.sts-mobile-more,.sts-mobile-shade{display:none!important}
@media(max-width:750px){
  html{scroll-padding-top:8px}
  body{overflow-x:hidden}
  #stockton-hub{grid-template-columns:1fr!important;min-width:0;border:0;box-shadow:none}
  #stockton-hub .side{display:none!important}
  #stockton-hub .main{padding:13px 12px calc(112px + env(safe-area-inset-bottom))!important;min-width:0}
  .sts-estimates-layout{display:block!important;min-width:0}
  .sts-estimates-side{display:none!important}
  .sts-estimates-content > header{display:none!important}
  .sts-estimates-content{width:100%!important;padding:13px 12px calc(112px + env(safe-area-inset-bottom))!important}
  /* Logo from the actual approved Stockton Tree Service project asset. */
  .sts-mobile-header{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px 12px;min-height:94px;background:linear-gradient(155deg,#292d30,#141618);border-bottom:3px solid #82b642;box-shadow:0 4px 12px rgba(0,0,0,.19)}
  .sts-mobile-logo{display:block;width:min(57vw,220px);max-height:65px;height:auto;object-fit:contain;object-position:left center}
  .sts-mobile-title{color:#d8dfe0;font:700 10px/1.4 Arial,sans-serif;letter-spacing:2px;text-align:right;max-width:110px}
  .sts-mobile-title span{display:block;color:#9cce63;font:800 9px/1.5 Arial,sans-serif;letter-spacing:1.3px}
  .sts-mobile-bottom{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;position:fixed;z-index:5000;left:0;right:0;bottom:0;padding:9px 8px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#292d30,#151719);border-top:3px solid #7fb53b;box-shadow:0 -4px 20px rgba(0,0,0,.28)}
  .sts-mobile-bottom button,.sts-mobile-bottom a{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:63px;padding:7px 2px!important;margin:0!important;background:linear-gradient(115deg,#323639,#242729)!important;border:1px solid #4d5556!important;border-radius:9px!important;color:#edf1ee!important;text-decoration:none!important;font:700 clamp(10px,2.65vw,12px)/1.15 Arial,sans-serif!important;letter-spacing:0!important;box-shadow:0 2px 7px #0004!important;cursor:pointer;touch-action:manipulation}
  .sts-mobile-bottom .sts-mobile-tab.active{background:linear-gradient(108deg,#4a7820,#2b4426)!important;border:2px solid #a4da61!important;box-shadow:inset 3px 0 #b1e56c,0 2px 8px #0006!important;color:#fff!important}
  .sts-mobile-bottom .sts-mobile-ico{display:flex;align-items:center;justify-content:center;background:#41484a;color:#a5d86b;width:30px;height:29px;border-radius:7px;flex:none}
  .sts-mobile-bottom .sts-mobile-tab.active .sts-mobile-ico{background:rgba(255,255,255,.16);color:#fff}
  .sts-mobile-bottom svg,.sts-mobile-more svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .sts-mobile-bottom .sts-mobile-tab:focus-visible,.sts-mobile-more button:focus-visible{outline:3px solid #cce794;outline-offset:2px}
  .sts-mobile-shade{position:fixed;inset:0;background:#0009;z-index:5001}
  .sts-mobile-shade.open{display:block!important}
  .sts-mobile-more{position:fixed;z-index:5002;left:8px;right:8px;bottom:calc(90px + env(safe-area-inset-bottom));max-height:min(65dvh,560px);overflow-y:auto;background:linear-gradient(155deg,#292d30,#16191b);border:1px solid #779c50;border-radius:16px;box-shadow:0 16px 40px #0008;padding:15px}
  .sts-mobile-more.open{display:block!important}
  .sts-mobile-more-head{display:flex;justify-content:space-between;align-items:center;color:#fff;font:800 15px Arial,sans-serif;margin-bottom:12px}
  .sts-mobile-more-head button{border:1px solid #53605a;background:#33393b;color:#fff;border-radius:7px;padding:8px 12px;min-height:36px;font-size:18px}
  .sts-mobile-more .sts-mobile-extra{display:flex;align-items:center;gap:12px;width:100%;padding:13px 12px;margin:7px 0;color:#f6f7f6;font:700 13px Arial,sans-serif;text-align:left;background:linear-gradient(115deg,#303438,#242729);border:1px solid #454c4d;border-radius:9px;min-height:50px}
  .sts-mobile-more .sts-mobile-extra svg{color:#a5d86b;flex:none}
  .sts-mobile-more .sts-mobile-extra.active{background:linear-gradient(110deg,#456f21,#293b22);border-color:#85ba45}
}
@media print{.sts-mobile-header,.sts-mobile-bottom,.sts-mobile-more,.sts-mobile-shade{display:none!important}}


/* Narrow-screen payroll attendance: prevent date/status collisions and oversized controls. */
@media (max-width:750px){
  #stockton-hub .hr-attendance-controls{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;align-items:stretch!important;
  }
  #stockton-hub .hr-attendance-controls label{
    display:block!important;width:100%!important;min-width:0!important;
    max-width:100%!important;overflow:visible;
  }
  #stockton-hub .hr-attendance-controls input,
  #stockton-hub .hr-attendance-controls select{
    display:block!important;width:100%!important;max-width:none!important;
    min-width:0!important;margin:6px 0 0!important;box-sizing:border-box!important;
    font-size:16px!important;min-height:46px;
  }
  #stockton-hub .hr-form{padding:15px!important;min-width:0!important;max-width:100%!important;}
  #stockton-hub .hr-form > input{box-sizing:border-box!important;max-width:100%!important;}
  #stockton-hub .hr-crew-list,#stockton-hub .hr-crew-row{min-width:0!important;max-width:100%!important;}
  #stockton-hub .hr-crew-row{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;}
  #stockton-hub .hr-crew-times{min-width:0!important;flex-wrap:wrap!important;}
  #stockton-hub .hr-crew-times input{min-width:100px!important;flex:1 1 120px!important;max-width:100%!important;}
  .sts-estimates-content #toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
  .sts-estimates-content #toolbar > a{width:100%;font-size:15px;}
  .sts-estimates-content #toolbar > button{font-size:14px;min-height:44px;margin:0;padding:10px 12px;}
  .sts-estimates-content .panel{padding:15px;max-width:100%;overflow-wrap:anywhere;}
  .sts-estimates-content input,.sts-estimates-content textarea,.sts-estimates-content select{font-size:16px;max-width:100%;}
  .sts-estimates-content{font-size:16px;}
}
