.mobile-install-button{border:1px solid #33507E;border-radius:7px;padding:9px 12px;color:#13294B;background:#FFFFFF;font:inherit;font-size:12.6px;cursor:pointer;min-height:40px}.form-content>.mobile-install-button{margin-top:16px;width:100%}
.mobile-install-dialog{max-width:450px;width:calc(100% - 32px);border:1px solid #D5DCE9;border-radius:16px;padding:24px;color:#13294B;background:#FFFFFF;box-sizing:border-box;font:14px/20px Arial,sans-serif}.mobile-install-dialog::backdrop{background:#13294B99}.mobile-install-dialog h2{font-size:20px;margin-top:0}.mobile-install-dialog li{padding-bottom:12px}.mobile-install-dialog ol{padding-left:23px}.mobile-install-note{color:#334155;font-size:14px}.mobile-install-dialog button{min-height:44px;border-radius:7px;background:#1B3764;color:#FFFFFF;border:0;padding:10px 22px;font:inherit;width:100%}
.mobile-offline{position:fixed;z-index:2100;left:10px;right:10px;bottom:80px;background:#FDE68A;color:#D97706;border:1px solid #D97706;padding:12px 16px;border-radius:9px;font:14px/20px Arial,sans-serif}.mobile-offline[hidden]{display:none}
@media(max-width:650px){
 body{padding-bottom:env(safe-area-inset-bottom,0px)}
 .mobile-offline{bottom:calc(12px + env(safe-area-inset-bottom,0px))}body:has(.mobile-offline:not([hidden])){padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .main-shell{min-width:0}.core-workspace main{padding-left:16px;padding-right:16px}
 .topbar{padding-top:max(12px,env(safe-area-inset-top,0px))}.topbar-right .quick-switch-label,.topbar-right #quick-switch,.topbar-right #today{display:none}
 .mobile-install-button{font-size:12px;padding:8px}
 .capture-detail{grid-template-columns:minmax(0,1fr)}.capture-detail>.panel{min-width:0}.capture-conversation{max-height:none;overflow:visible}.lead-richtext{font-size:14px;line-height:20px}.lead-richtext h3{font-size:15.75px}
 .capture-composer textarea,.core-workspace input,.core-workspace select,.core-workspace textarea{font-size:16px}.capture-composer textarea{min-height:100px}
 .capture-message.user{font-size:14px}.capture-photo-body .notebook-photos img{max-height:280px}.notebook-board{grid-template-columns:repeat(6,minmax(250px,85vw))}
 .mobile-install-dialog{max-height:85vh;max-height:85dvh;overflow:auto}.form-panel{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
}
/* THIEN VAN AI WORKFORCE 2026: băng mất mạng, hộp hướng dẫn cài */
.mobile-offline{background:#FEF3C7;color:#92400E;border-color:#FDE68A;font-family:var(--sapo-font)}.mobile-install-dialog{font-family:var(--sapo-font);color:#0F172A;border-color:#E2E8F0}.mobile-install-dialog button{background:#1B3764;border-radius:10px}.mobile-install-note{color:#64748B}
/* Thanh dưới đã bỏ (28/09/2026): thông báo nhỏ của Membership không còn phải chừa 76px (membership.css), hạ sát đáy, tránh vạch home của iPhone */
@media(max-width:700px){.ms-toast{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}
/* Mất mạng lúc đang mở hộp thoại hoặc màn chụp (28/09/2026): băng lên đầu màn hình, gọn một dòng; hộp thoại và màn chụp chừa chỗ phía trên nên băng không che nút nào (Lưu, Hủy ở dưới; ×, Xong ở trên) */
@media(max-width:760px){
 body:has(.dialog-shade,.ms-guide) .mobile-offline{bottom:auto;top:calc(8px + env(safe-area-inset-top,0px));padding:6px 12px;font-size:12.6px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body:has(.mobile-offline:not([hidden])) .dialog-shade{padding-top:calc(52px + env(safe-area-inset-top,0px))}
 body:has(.mobile-offline:not([hidden])) .dialog{max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 body:has(.mobile-offline:not([hidden])) .ms-guide-in{padding-top:calc(env(safe-area-inset-top,0px) + 52px)}
}
/* Máy tính bảng, cửa sổ nửa màn hình, máy tính nhỏ (761–1279 px): thanh trên không làm cả trang cuộn ngang. Gộp 2 lần soát
   29/09/2026 (nhánh tinh-gia-2-9-0 đo tới 1279 px, 768 px trước đây rộng 940 so với 753; nhánh phan-quyen-2-9-0 tới 1180 px).
   Cả khoảng: bỏ ngày, nhãn "Đi đến", chữ vai trò; đường dẫn trang một dòng, co lại, cắt bằng dấu "…"; ô "Đi nhanh" hẹp lại.
   Tới 1180 px: bỏ nhóm của đường dẫn. Dưới 960 px: bỏ tên người dùng (còn ô tròn chữ tắt và nút đăng xuất), nút cài gọn lại. */
@media(min-width:761px) and (max-width:1279px){
 .topbar-left{min-width:0;flex:1 1 auto}.breadcrumb{min-width:0;overflow:hidden;white-space:nowrap;display:flex;align-items:baseline}
 #breadcrumb-group{flex-shrink:0}.breadcrumb strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .topbar-right{flex-shrink:0;gap:10px}.topbar-right #today,.topbar-right .quick-switch-label{display:none}
 .topbar-right #quick-switch{width:180px;max-width:180px}
 .topbar-user .user-details span{display:none}
}
@media(min-width:761px) and (max-width:1180px){#breadcrumb-group,.breadcrumb-separator{display:none}.topbar-right{gap:8px}.topbar-right #quick-switch{width:160px;max-width:160px}}
@media(min-width:761px) and (max-width:960px){.topbar-user .user-details{display:none}.mobile-install-button{padding:8px 10px;font-size:12px}.topbar-right #quick-switch{width:140px;max-width:140px}}
/* Soát giao diện 29/09/2026: Lịch công (#attendance) ở điện thoại. Lịch 7 cột rộng 770 px trong khung 356 px chỉ thấy Thứ Hai–Thứ Tư, phải
   vuốt ngang trong bảng. Từ 760 px trở xuống: danh sách ngày dọc (thứ, ngày, trạng thái, nút Ghi công), ô chọn tháng / nhân viên chiếm cả hàng. */
@media(max-width:760px){
  .people-loc .field-grid{grid-template-columns:1fr}
  .people-loc select,.people-loc input{width:100%;max-width:100%}
  .people-lich .table-wrap{overflow:visible}
  .people-lich table,.people-lich tbody,.people-lich tr{display:block;width:100%;min-width:0;white-space:normal}
  .people-lich thead,.people-lich td:not(.people-calendar-day){display:none}
  /* Mỗi ngày một dòng: THỨ | ngày | trạng thái (các dòng con xếp dọc) | nút Ghi công. Ghi đè ô lịch máy tính (rộng 14,28%, cao 140 px). */
  .people-lich td.people-calendar-day{display:grid;grid-template-columns:62px 28px minmax(0,1fr) auto;align-items:center;gap:2px 8px;width:auto;min-width:0;height:auto;padding:10px 4px!important;border-bottom:1px solid #E6EBF3}
  .people-lich td.people-calendar-day::before{content:attr(data-thu);grid-column:1;grid-row:1;font-size:12px;color:#5B6B82}
  .people-lich td.people-calendar-day>strong{grid-column:2;grid-row:1;margin:0;font-family:var(--sapo-font);font-size:15.75px}
  .people-lich td.people-calendar-day>:not(strong):not(.btn){grid-column:3;margin-top:0}
  .people-lich td.people-calendar-day>.btn{grid-column:4;grid-row:1;margin:0;white-space:nowrap}
  .people-lich tr:last-child td.people-calendar-day:last-child{border-bottom:0}
}
/* Soát giao diện 29/09/2026: ở điện thoại nút đóng × của hộp thoại rớt xuống dòng riêng dưới phụ đề, lệch trái. Ghim góc trên bên phải. */
@media(max-width:760px){
  .dialog .panel-head{flex-wrap:nowrap;align-items:flex-start}
  .dialog .panel-head>div{min-width:0;flex:1 1 auto}
  .dialog .panel-head>.dialog-close{margin-left:auto;align-self:flex-start}
}
