*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.login-page-shell{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:32px 16px}.login-card{width:420px;max-width:100%}.password-change-shell{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:32px 16px}.password-change-card{width:420px;max-width:100%}.admin-layout{min-height:100vh}.app-brand{height:64px;display:flex;align-items:center;padding:0 20px;font-weight:700;border-bottom:1px solid rgba(5,5,5,.06)}.admin-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;height:auto;gap:16px;padding:10px 20px;line-height:normal;overflow:visible;background:#fff;border-bottom:1px solid rgba(5,5,5,.06)}.admin-header-left,.admin-header-right{min-width:0;line-height:normal}.admin-title{line-height:1.3}.admin-content{padding:20px}.admin-breadcrumb{margin-bottom:16px}.admin-user-button{height:auto;padding:4px 8px}.user-avatar-image,.profile-avatar-preview-image{display:block;width:100%;height:100%;object-fit:cover}.profile-avatar-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.profile-avatar-preview{width:96px;height:96px;margin-top:8px;overflow:hidden;border-radius:50%;background:#0505050a}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0)}.units-page-header,.unit-card-title,.accounts-page-header,.account-card-title,.roles-page-header,.role-card-title,.permissions-page-header,.permission-card-title,.rental-house-page-header{width:100%;justify-content:space-between}.unit-filter-bar,.account-filter-bar,.role-filter-bar,.permission-filter-bar,.rental-house-filter-bar,.room-filter-bar{width:100%}.unit-mobile-list,.account-mobile-list,.role-mobile-list,.permission-mobile-list{display:none}.role-permission-group{padding:12px;border:1px solid rgba(5,5,5,.08);border-radius:8px}.role-permission-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid rgba(5,5,5,.06)}.unit-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rental-house-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.rental-area-tree-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}.rental-area-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-mobile-drawer .ant-drawer-body{padding:0}.public-layout{min-height:100vh;display:grid;place-items:center;padding:24px}@media (max-width: 767px){.admin-header{align-items:flex-start;flex-direction:column;height:auto;padding:12px}.admin-header-left,.admin-header-right{width:100%;justify-content:space-between}.admin-header-right .ant-select{flex:1;min-width:0!important}.admin-context-summary{max-width:180px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-content{padding:12px}.login-page-shell{align-items:flex-start;padding:40px 16px 24px}.login-card{width:100%}.password-change-shell{align-items:flex-start;padding:40px 16px 24px}.password-change-card{width:100%}.profile-avatar-panel{grid-template-columns:1fr}.units-page-header,.accounts-page-header,.roles-page-header,.permissions-page-header,.rental-house-page-header{align-items:stretch;flex-direction:column}.unit-table-shell,.account-table-shell,.role-table-shell,.permission-table-shell{display:none}.unit-mobile-list,.account-mobile-list,.role-mobile-list,.permission-mobile-list{display:grid;gap:12px}.unit-filter-bar .ant-input-affix-wrapper,.unit-filter-bar .ant-select,.unit-filter-bar .ant-btn,.account-filter-bar .ant-input-affix-wrapper,.account-filter-bar .ant-select,.account-filter-bar .ant-btn,.role-filter-bar .ant-input-affix-wrapper,.role-filter-bar .ant-select,.role-filter-bar .ant-btn,.permission-filter-bar .ant-input-affix-wrapper,.permission-filter-bar .ant-select,.permission-filter-bar .ant-btn,.rental-house-filter-bar .ant-input,.rental-house-filter-bar .ant-input-affix-wrapper,.rental-house-filter-bar .ant-select,.rental-house-filter-bar .ant-btn,.room-filter-bar .ant-input,.room-filter-bar .ant-input-affix-wrapper,.room-filter-bar .ant-select,.room-filter-bar .ant-input-number,.room-filter-bar .ant-btn{width:100%!important}.role-permission-row{align-items:flex-start;flex-direction:column}.unit-stat-grid,.rental-house-stat-grid,.rental-area-tree-layout,.rental-area-stat-grid{grid-template-columns:1fr}}.room-image-dropzone{border:1px dashed #8c8c8c;padding:24px;text-align:center;cursor:pointer}.room-image-dropzone.is-dragging{border-color:#1677ff;background:#e6f4ff}.room-image-preview{display:block;width:160px;height:120px;object-fit:cover;border-radius:4px}.tenant-document-picker{margin-bottom:16px}.tenant-document-dropzone{border:1px dashed #8c8c8c;border-radius:6px;margin-top:6px;padding:18px;text-align:center;cursor:pointer}.tenant-document-dropzone.is-dragging{border-color:#1677ff;background:#e6f4ff}.tenant-document-dropzone[aria-disabled=true]{cursor:not-allowed;opacity:.55}.tenant-document-preview{display:block;width:180px;max-height:130px;object-fit:contain;border-radius:4px}.tenant-document-viewer{width:100%;min-height:65vh;border:0}.room-image-thumbnail{display:block;width:160px;height:100px;object-fit:cover;border-radius:4px;background:#f5f5f5}.ant-select[aria-label="Nhà trọ"],.ant-select[aria-label=Phòng]{min-width:340px}
