/* Responsive overrides loaded after the desktop stylesheet. */
.chat-contact-toggle{display:none}
.chat-contact-dropdown{display:block!important}
.mail-attachment-list{display:grid;gap:7px;min-width:180px}
.mail-attachment-list article{display:grid;gap:5px;padding:7px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:rgba(15,23,42,.58)}
.mail-attachment-list article>span{font-size:.78rem;color:#cbd5e1;overflow-wrap:anywhere}
.mail-no-file{color:#94a3b8;font-size:.84rem}
.login-error:not(:empty){display:block;padding:10px 12px;border:1px solid rgba(248,113,113,.55);border-radius:9px;background:rgba(127,29,29,.32);color:#fecaca;font-weight:700;line-height:1.45}
.login-card button[type=submit]:disabled{cursor:wait;opacity:.72}
@media (max-width: 900px) {
  :root{--mobile-header-height:118px;--mobile-bottom-bar-height:76px}
  html{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none}
  body{width:100%;max-width:100%;margin:0;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom;background-attachment:scroll}
  body>*{max-width:100%}
  .header,.app-container,.mobile-bottom-nav,.view-panel,.workspace-panel{left:0;right:0;max-width:100%;margin-left:0;margin-right:0}
  .header{height:var(--mobile-header-height);min-height:var(--mobile-header-height);grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "user";grid-template-rows:68px 50px;gap:0;padding:env(safe-area-inset-top) 14px 0}
  .brand{grid-area:brand;width:100%;min-width:0;justify-content:flex-start;overflow:hidden}
  .brand>div{min-width:0;max-width:100%}
  .brand-logo{flex:0 0 auto;width:54px;height:54px;object-fit:contain}
  .brand-title{width:auto;max-width:calc(100vw - 102px);margin-left:10px;white-space:normal;overflow-wrap:anywhere;font-size:clamp(1rem,4.4vw,1.45rem);line-height:1.12}
  .brand-subtitle,.nav-tabs,.status-badge{display:none!important}
  .user-area{grid-area:user;width:100%;min-width:0;display:flex;justify-content:flex-end;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;padding:4px 0 7px;scrollbar-width:none}
  .user-area::-webkit-scrollbar{display:none}
  .user-area>*{flex:0 0 auto;min-width:0}
  .user-area button,.user-area .btn,.user-area .header-action{padding:7px 10px;font-size:.78rem;line-height:1.15;white-space:nowrap}
  .app-container{width:100%;height:auto;min-height:calc(100vh - var(--mobile-header-height));min-height:calc(100dvh - var(--mobile-header-height));overflow:visible;padding:14px 12px calc(var(--mobile-bottom-bar-height) + env(safe-area-inset-bottom) + 18px)}
  .view-panel,.workspace-panel,.chat-wrapper,.chat-panel,.ai-chat-layout{width:100%;min-width:0;height:auto;max-height:none;overflow:visible}
  .view-panel.active{min-height:calc(100dvh - var(--mobile-header-height) - var(--mobile-bottom-bar-height))}
  .document-grid{display:grid;flex:none;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;width:100%;height:auto;max-height:none;min-height:0;overflow:visible;align-items:stretch}
  .document-card,.law-card,.profile-card{position:relative;width:100%;min-width:0;height:auto;min-height:0;max-height:none;overflow:hidden;transform:none!important}
  .document-card *,.law-card *,.profile-card *{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .document-card-footer,.document-actions,.card-actions{display:flex;flex-wrap:wrap;gap:8px}
  .filter-tabs,.category-tabs,.quick-filters{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-bottom:5px}
  .filter-tabs>*,.category-tabs>*,.quick-filters>*{flex:0 0 auto;white-space:nowrap}
  .filter-tabs,.category-tabs,.quick-filters,.user-area,.mobile-bottom-nav,.table-wrap,.data-table-wrap,.user-table-wrap{overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom}
  .ai-chat-layout{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}
  .ai-conversation-sidebar{width:100%;max-width:none;max-height:240px;overflow:auto}
  .answer-mode-grid,.ai-mode-grid{grid-template-columns:minmax(0,1fr)}
  .message-list,.chat-messages,.ai-messages{width:100%;height:auto;max-height:none;overflow:visible;padding-left:10px;padding-right:10px}
  .message-item,.chat-message,.ai-message{width:auto;max-width:94%;min-width:0}
  .message-item *,.chat-message *,.ai-message *{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .chat-input-area,.ai-input-area,.composer-bar{position:sticky;z-index:40;bottom:calc(var(--mobile-bottom-bar-height) + env(safe-area-inset-bottom));width:100%}
  .form-grid,.correspondence-filters,.document-form-grid,.case-form-grid{grid-template-columns:minmax(0,1fr)!important}
  .form-grid>*,.correspondence-filters>*,.document-form-grid>*,.case-form-grid>*{grid-column:1/-1!important;min-width:0}
  .table-wrap,.data-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pagination,.pagination-controls{justify-content:center;flex-wrap:wrap;gap:8px}
  .modal-card{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:10px}
  .mobile-bottom-nav{display:grid;grid-template-columns:repeat(8,minmax(68px,1fr));align-items:stretch;width:100%;height:calc(var(--mobile-bottom-bar-height) + env(safe-area-inset-bottom));gap:0;padding:5px 8px env(safe-area-inset-bottom);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
  .mobile-nav-btn{min-width:68px;width:auto;height:100%;padding:5px 3px;font-size:.68rem;line-height:1.05;white-space:normal;overflow-wrap:anywhere}
  .exchange-sidebar{position:relative;padding:12px}
  .chat-contact-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;width:100%;margin-top:10px;padding:12px 13px;border:1px solid rgba(56,189,248,.3);border-radius:11px;background:#0b1424;color:#f8fafc;text-align:left;font-weight:700}
  .chat-contact-toggle b{min-width:27px;padding:2px 7px;border-radius:999px;background:rgba(14,165,233,.18);color:#7dd3fc;text-align:center;font-size:.78rem}
  .chat-contact-toggle i{font-style:normal;transition:transform .18s ease}
  .chat-contact-toggle.open i{transform:rotate(180deg)}
  .chat-contact-dropdown{display:block!important;position:absolute;z-index:170;left:12px;right:12px;top:112px;max-height:min(58dvh,460px);padding:11px;border:1px solid rgba(56,189,248,.34);border-radius:13px;background:#0b1424;box-shadow:0 22px 55px rgba(0,0,0,.58);overflow:hidden}
  .chat-contact-dropdown[hidden]{display:none!important}
  .chat-contact-dropdown .chat-user-search{margin:0 0 8px}
  .chat-contact-dropdown .chat-user-list{max-height:min(45dvh,350px);overflow:auto}
  .correspondence-table{display:block;width:100%;min-width:0}
  .correspondence-table thead{display:none}
  .correspondence-table tbody{display:grid;gap:13px;width:100%}
  .correspondence-table tr{display:grid;width:100%;min-width:0;padding:14px;border:1px solid rgba(56,189,248,.22);border-radius:15px;background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(8,15,28,.94));box-shadow:0 10px 24px rgba(0,0,0,.2)}
  .correspondence-table td{display:grid;grid-template-columns:minmax(112px,34%) minmax(0,1fr);gap:10px;width:100%;min-width:0;padding:9px 0;border:0;border-bottom:1px solid rgba(148,163,184,.12);line-height:1.5;overflow-wrap:anywhere;word-break:normal}
  .correspondence-table td:last-child{border-bottom:0}
  .correspondence-table td::before{content:attr(data-label);color:#7dd3fc;font-size:.76rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
  .correspondence-table td.mail-content-cell{white-space:pre-wrap}
  .correspondence-table td[data-label="Nội dung"]{display:block;padding:12px;margin:5px 0;border:1px solid rgba(148,163,184,.14);border-radius:10px;background:rgba(2,6,23,.35)}
  .correspondence-table td[data-label="Nội dung"]::before{display:block;margin-bottom:7px}
  .correspondence-table .mail-attachment-list{min-width:0}
  .correspondence-table .mail-file-actions{display:grid;grid-template-columns:1fr 1fr}
  .correspondence-table .mail-file-link{text-align:center}
  .correspondence-table .mail-row-actions .btn-secondary{width:100%}
}

@media(max-width:900px){
  .work-schedule-overview{width:100%;min-width:0;padding:13px;border-radius:14px}
  .work-schedule-overview-heading{align-items:flex-start;flex-direction:column}
  .work-schedule-overview-heading .btn-secondary{width:100%}
  .work-schedule-overview-table-wrap{display:none}
  .work-schedule-overview-mobile{display:grid;gap:11px}
  .work-schedule-overview-card{display:grid;gap:9px;padding:12px;border:1px solid rgba(148,163,184,.2);border-radius:13px;background:rgba(8,18,34,.88)}
  .work-schedule-overview-card>div:not(.work-schedule-actions){display:grid;gap:5px;padding:10px;border-radius:10px;background:rgba(15,30,51,.72);min-width:0}
  .work-schedule-overview-card span{color:#7dd3fc;font-size:.78rem;font-weight:800;text-transform:uppercase}
  .work-schedule-overview-card strong,.work-schedule-overview-card .work-schedule-overview-text{color:#f8fafc;font-size:1.06rem;line-height:1.58;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
  .work-schedule-overview-card .work-schedule-actions{padding-top:2px;background:transparent}
  .work-schedule-overview-card .work-schedule-actions button{flex:1}
  .work-assignee-selected{padding:8px;gap:7px}.work-assignee-chip{font-size:1.02rem}.work-assignee-dropdown{max-height:250px}.work-assignee-dropdown button{align-items:flex-start;flex-direction:column;gap:2px}.work-assignee-dropdown button small{white-space:normal}
}

@media(max-width:900px){
  .work-schedule-workspace{gap:13px;padding-left:10px!important;padding-right:10px!important}.work-schedule-filters{grid-template-columns:minmax(0,1fr);gap:9px}.work-schedule-filters>*{min-width:0}.work-schedule-filters select,.work-schedule-filters input{font-size:16px}.work-schedule-entry,.work-schedule-board{width:100%;min-width:0;padding:13px;border-radius:14px}.work-schedule-form .form-grid{gap:12px}.work-schedule-form input,.work-schedule-form textarea{font-size:1.18rem!important;line-height:1.55;padding:13px!important}.work-schedule-form .date-picker-field,.work-schedule-filters .date-picker-field{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;width:100%;min-width:0}.work-schedule-form .calendar-picker-btn,.work-schedule-filters .calendar-picker-btn{width:48px!important;min-width:48px!important;padding:0!important;font-size:22px!important}.work-schedule-range-heading{align-items:flex-start;flex-direction:column}.work-schedule-day-strip{grid-auto-columns:88px;margin:12px 0}.work-schedule-day{min-height:104px;padding:8px 5px}.work-schedule-day-detail>header{align-items:flex-start}.work-schedule-card{grid-template-columns:minmax(0,1fr);padding:12px}.work-schedule-card dl{grid-template-columns:minmax(0,1fr);gap:8px}.work-schedule-card dl>div{padding:11px}.work-schedule-card dt{font-size:.8rem}.work-schedule-card dd{font-size:1.08rem;line-height:1.6;word-break:break-word;overflow-wrap:anywhere}.work-schedule-actions{justify-content:flex-end;flex-wrap:wrap}.work-schedule-actions button{min-width:88px}.work-schedule-day-detail>header>span{font-size:.8rem}
}
@media (max-width:520px){
  :root{--mobile-header-height:112px;--mobile-bottom-bar-height:112px}
  .header{grid-template-rows:64px 48px;padding-left:10px;padding-right:10px}
  .brand-logo{width:48px;height:48px}
  .brand-title{max-width:calc(100vw - 78px);margin-left:8px;font-size:clamp(.98rem,5vw,1.28rem)}
  .user-area{justify-content:flex-start;gap:5px}
  .user-area button,.user-area .btn,.user-area .header-action{padding:7px 8px;font-size:.72rem}
  .app-container{padding-left:9px;padding-right:9px}
  .workspace-panel,.panel,.card,.document-card,.law-card,.profile-card{border-radius:14px}
  .message-item,.chat-message,.ai-message{max-width:96%;padding-left:12px;padding-right:12px}
  .mobile-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,1fr);overflow:hidden;padding:4px 5px calc(env(safe-area-inset-bottom) + 3px)}
  .mobile-nav-btn{min-width:0;padding:3px 2px;font-size:clamp(.58rem,2.7vw,.7rem)}
  .correspondence-table td{grid-template-columns:minmax(96px,35%) minmax(0,1fr);gap:8px;padding:8px 0;font-size:.9rem}
}
