html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,.btn,.bottom-nav a{touch-action:manipulation}
input,select,textarea{max-width:100%}
.login-security{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding:12px;border-radius:11px;background:#eef7ff;color:#47617d;font-size:11px;line-height:1.45}
.login-security svg{width:17px;height:17px;flex:none;color:var(--primary)}
.portal-switch{display:block;text-align:center;margin-top:18px;color:var(--primary);font-weight:700}
.phone-content,.section-card,.list-card,.news-card,.menu-list,.shift-card{min-width:0}
.announcement>div,.news-card>div,.request-row>div{min-width:0}
.announcement b,.announcement p,.news-card h2,.news-card p,.request-row p{overflow-wrap:anywhere}
.btn{min-height:42px}
.modal-sheet{padding-bottom:max(22px,env(safe-area-inset-bottom))}
.modal-close{min-width:40px;min-height:40px}
.camera-wrap{width:100%}
.profile-hero,.page-title{overflow:hidden}
.profile-hero h1,.profile-hero p,.page-title h1,.page-title p{overflow-wrap:anywhere}
.bottom-nav a{min-width:0}
.bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:430px){
  .phone-app{box-shadow:none}
  .auth-shell{padding:16px}
  .login-card{padding:28px 22px;border-radius:20px}
  .login-card h1{font-size:25px}
  input,select,textarea{font-size:16px}
}
@media(max-width:380px){
  .home-hero{padding-left:15px;padding-right:15px}
  .shift-card{margin-left:10px;margin-right:10px;padding:16px}
  .shift-card h2{font-size:20px}
  .clock-status{gap:20px;padding:12px 8px}
  .section-card,.list-card,.news-card,.menu-list{margin-left:8px;margin-right:8px;padding:14px}
  .page-title{padding:18px 12px}
  .page-title h1{font-size:20px}
  .two-col,.summary-row{grid-template-columns:1fr}
  .quota-row{gap:6px}
  .quota-row>div{padding:11px 5px}
  .bottom-nav a{font-size:9px}
}
@media(max-width:330px){
  .employee-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .top-greeting h3{font-size:16px}
  .date-line{font-size:12px}
  .profile-photo-form{grid-template-columns:1fr}
}
